Skip to content
Permalink
master
Go to file
 
 
Cannot retrieve contributors at this time
439 lines (436 sloc) 9.96 KB
{
"asyncapi": "2.0.0",
"info": {
"title": "Federation Manager Async API",
"description": "Draft 08: Specification of the Async API for TAP-ICP Federation Manager Messaging",
"termsOfService": "https://fm.incommon.org/terms/",
"contact": {
"name": "API Support",
"url": "https://incommon.org/help",
"email": "help@incommon.org"
},
"license": {
"name": "Apache 2.0",
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
},
"version": "1.0.0"
},
"channels": {
"fmPerson": {
"publish": {
"message": {
"$ref": "#/components/messages/fmPerson"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
},
"subscribe": {
"message": {
"$ref": "#/components/messages/fmPerson"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
}
},
"fmOrg": {
"publish": {
"message": {
"$ref": "#/components/messages/fmOrg"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
},
"subscribe": {
"message": {
"$ref": "#/components/messages/fmOrg"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
}
},
"fmRole": {
"publish": {
"message": {
"$ref": "#/components/messages/fmRole"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
},
"subscribe": {
"message": {
"$ref": "#/components/messages/fmRole"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
}
},
"fmAssignment": {
"publish": {
"message": {
"$ref": "#/components/messages/fmAssignment"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
},
"subscribe": {
"message": {
"$ref": "#/components/messages/fmAssignment"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
}
}
},
"components": {
"schemas": {
"headers": {
"type": "object",
"properties": {
"header": {
"type": "string"
},
"lastModified": {
"type": "string"
},
"schemas": {
"type": "string"
},
"eventType": {
"type": "string",
"enum": [
"create",
"read",
"update",
"delete",
"personadd",
"personremove"
]
}
}
},
"fmRole": {
"type": "object",
"properties": {
"resourceType": {
"type": "string"
},
"resourceTypeVersion": {
"type": "string"
},
"roleName": {
"$ref": "#/components/schemas/roleName"
},
"identifier": {
"$ref": "#/components/schemas/identifier"
}
}
},
"fmOrg": {
"type": "object",
"properties": {
"resourceType": {
"type": "string"
},
"resourceTypeVersion": {
"type": "string"
},
"orgName": {
"$ref": "#/components/schemas/orgName"
},
"orgUrl": {
"$ref": "#/components/schemas/url"
},
"identifier": {
"$ref": "#/components/schemas/identifier"
}
}
},
"fmPerson": {
"type": "object",
"properties": {
"resourceType": {
"type": "string"
},
"resourceTypeVersion": {
"type": "string"
},
"name": {
"$ref": "#/components/schemas/name"
},
"identifier": {
"$ref": "#/components/schemas/identifier"
},
"email": {
"$ref": "#/components/schemas/email"
},
"telephoneNumber": {
"$ref": "#/components/schemas/telephoneNumber"
},
"fmIsIdentityProofed": {
"$ref": "#/components/schemas/fmIsIdentityProofed"
}
}
},
"fmAssignment": {
"type": "object",
"properties": {
"resourceType": {
"type": "string"
},
"resourceTypeVersion": {
"type": "string"
},
"identifier": {
"$ref": "#/components/schemas/identifier"
},
"role": {
"$ref": "#/components/schemas/fmRole"
},
"org": {
"$ref": "#/components/schemas/fmOrg"
},
"person": {
"type": "array",
"items": {
"$ref": "#/components/schemas/fmPerson"
}
}
}
},
"identifier": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"fm-user-pk",
"fm-role-pk",
"fm-org-pk",
"fm-assignment-pk"
]
}
}
},
"email": {
"type": "array",
"description": "same as emailAddress in Core Attribute Specification",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"type": {
"type": "string"
},
"verified": {
"type": "boolean"
}
}
}
},
"url": {
"type": "string"
},
"name": {
"type": "array",
"items": {
"type": "object",
"properties": {
"family": {
"type": "string"
},
"given": {
"type": "string"
},
"middle": {
"type": "string"
},
"displayName": {
"type": "string"
},
"type": {
"type": "string"
}
}
}
},
"orgName": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"legal",
"display",
"canonical"
]
}
}
},
"roleName": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"exec",
"site-admin",
"delegated-admin",
"registration-authority-admin",
"cert-rao"
]
},
"description": {
"type": "string"
}
}
},
"telephoneNumber": {
"type": "array",
"description": "same as telephoneNumber in Core Attribute Specification",
"items": {
"type": "object",
"properties": {
"number": {
"type": "string"
},
"type": {
"type": "string"
},
"verified": {
"type": "boolean"
}
}
}
},
"fmIsIdentityProofed": {
"type": "boolean"
}
},
"messages": {
"fmPerson": {
"summary": "Action taken on a Federation Manager person",
"description": "Describes a CRUD action on a person by the Federation Manager",
"tags": [
{
"name": "person"
},
{
"name": "fedMgr"
}
],
"bindings": {
"amqp": {
"clientId": "fmPersonCrudClient"
}
},
"headers": {
"$ref": "#/components/schemas/headers"
},
"payload": {
"$ref": "#/components/schemas/fmPerson"
}
},
"fmOrg": {
"summary": "Action taken on a Federation Manager organization",
"description": "Describes a CRUD action on an organization by the Federation Manager",
"tags": [
{
"name": "org"
},
{
"name": "fedMgr"
}
],
"bindings": {
"amqp": {
"clientId": "fmOrgCrudClient"
}
},
"headers": {
"$ref": "#/components/schemas/headers"
},
"payload": {
"$ref": "#/components/schemas/fmOrg"
}
},
"fmRole": {
"summary": "Action taken on a Federation Manager role",
"description": "Describes a CRUD action on a role by the Federation Manager",
"tags": [
{
"name": "role"
},
{
"name": "fedMgr"
}
],
"bindings": {
"amqp": {
"clientId": "fmRoleCrudClient"
}
},
"headers": {
"$ref": "#/components/schemas/headers"
},
"payload": {
"$ref": "#/components/schemas/fmRole"
}
},
"fmAssignment": {
"summary": "Action taken on a Federation Manager role assognment",
"description": "Describes a CRUD action on a role assignment by the Federation Manager",
"tags": [
{
"name": "assignment"
},
{
"name": "fedMgr"
}
],
"bindings": {
"amqp": {
"clientId": "fmAssignmentCrudClient"
}
},
"headers": {
"$ref": "#/components/schemas/headers"
},
"payload": {
"$ref": "#/components/schemas/fmAssignment"
}
}
}
}
}
You can’t perform that action at this time.