Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
id-match-api/id-match-api.json
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
746 lines (746 sloc)
15.9 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"openapi": "3.0.0", | |
"info": { | |
"version": "1.2.2", | |
"title": "ID Match API", | |
"description": "ID Match API Specification from Internet2 Trust and Identity, and Spherical Cow Group" | |
}, | |
"security": [ | |
{ | |
"accessCode": [ | |
"read", | |
"write" | |
] | |
} | |
], | |
"servers": [ | |
{ | |
"url": "https://virtserver.swaggerhub.com/I2/api/idMatch/v1", | |
"description": "SwaggerHub API Auto Mocking" | |
} | |
], | |
"paths": { | |
"/people/{sorLabel}/{sorId}": { | |
"post": { | |
"tags": [ | |
"idMatch" | |
], | |
"summary": "POST-based; Search only, similar to a regular request, except that a new identity will never be created as a result of the request", | |
"operationId": "requestSerchOnlyPost", | |
"parameters": [ | |
{ | |
"name": "sorLabel", | |
"in": "path", | |
"description": "The official designation of the requesting SOR", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "sorId", | |
"in": "path", | |
"description": "The SOR-assigned identifier for the person", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/people" | |
}, | |
"example": { | |
"names": [ | |
{ | |
"type": "official", | |
"given": "Pat", | |
"family": "Lee" | |
} | |
], | |
"dateOfBirth": "1983-03-18", | |
"identifiers": [ | |
{ | |
"type": "national", | |
"identifier": "3B902AE12DF55196" | |
} | |
], | |
"telephoneNumbers": [ | |
{ | |
"type": "mobile", | |
"number": 8185551234 | |
} | |
] | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "Return referenceId for a person known to ID Match", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/people" | |
}, | |
"example": { | |
"names": [ | |
{ | |
"type": "official", | |
"given": "Pat", | |
"family": "Lee" | |
} | |
], | |
"dateOfBirth": "1983-03-18", | |
"identifiers": [ | |
{ | |
"type": "national", | |
"identifier": "3B902AE12DF55196" | |
} | |
], | |
"telephoneNumbers": [ | |
{ | |
"type": "mobile", | |
"number": 8185551234 | |
} | |
], | |
"referenceId": "M523441767" | |
} | |
} | |
} | |
}, | |
"201": { | |
"description": "Return new referenceId for a person new to ID Match", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/people" | |
}, | |
"example": { | |
"names": [ | |
{ | |
"type": "official", | |
"given": "Pat", | |
"family": "Lee" | |
} | |
], | |
"dateOfBirth": "1983-03-18", | |
"identifiers": [ | |
{ | |
"type": "national", | |
"identifier": "3B902AE12DF55196" | |
} | |
], | |
"telephoneNumbers": [ | |
{ | |
"type": "mobile", | |
"number": 8185551234 | |
} | |
], | |
"referenceId": "M523441767" | |
} | |
} | |
} | |
}, | |
"202": { | |
"description": "Accepted. Candidates sent for manual resolution", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"matchRequest": { | |
"type": "string" | |
} | |
}, | |
"description": "Optionally returns a matchRequest ID for this pending case" | |
}, | |
"example": { | |
"matchRequest": 1009 | |
} | |
} | |
} | |
}, | |
"300": { | |
"description": "Multiple Choices", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/candidateMatches" | |
}, | |
"example": { | |
"matchRequest": "1009", | |
"candidates": [ | |
{ | |
"confidence": "85", | |
"referenceId": "M219488003", | |
"explanation": "Family name exact match, given name initial match", | |
"attributes": [ | |
{ | |
"sor": "HRMS", | |
"identifiers": [ | |
{ | |
"type": "sor", | |
"identifier": 4115 | |
}, | |
{ | |
"type": "network", | |
"identifier": "pl292" | |
} | |
], | |
"names": [ | |
{ | |
"type": "official", | |
"given": "Patricia", | |
"family": "Lee" | |
} | |
], | |
"ou": "Biomedical Informatics" | |
}, | |
{ | |
"sor": "Alumni", | |
"identifiers": [ | |
{ | |
"type": "sor", | |
"identifier": "A330-200" | |
}, | |
{ | |
"type": "network", | |
"identifier": "pl292" | |
} | |
], | |
"names": [ | |
{ | |
"type": "official", | |
"given": "Patricia", | |
"family": "Lee" | |
} | |
], | |
"ou": "Class of 1997" | |
} | |
], | |
"identifiers": [ | |
{ | |
"type": "network", | |
"identifier": "pl292" | |
}, | |
{ | |
"type": "enterprise", | |
"identifier": "905008772" | |
} | |
] | |
}, | |
{ | |
"confidence": "71", | |
"referenceId": "M523441767", | |
"attributes": [ | |
{ | |
"sor": "guest", | |
"identifiers": [ | |
{ | |
"type": "sor", | |
"identifier": "pl388" | |
}, | |
{ | |
"type": "network", | |
"identifier": "pl388" | |
} | |
], | |
"names": [ | |
{ | |
"type": "official", | |
"given": "Patricia", | |
"family": "Lee" | |
} | |
], | |
"telephoneNumbers": [ | |
{ | |
"type": "mobile", | |
"number": "8185551234" | |
} | |
] | |
} | |
], | |
"identifiers": [ | |
{ | |
"type": "network", | |
"identifier": "pl388" | |
}, | |
{ | |
"type": "enterprise", | |
"identifier": "905003148" | |
} | |
] | |
}, | |
{ | |
"referenceId": "new", | |
"attributes": [ | |
{ | |
"sor": "SIS", | |
"identifiers": [ | |
{ | |
"type": "sor", | |
"identifier": "971194843" | |
} | |
], | |
"names": [ | |
{ | |
"type": "official", | |
"given": "Pat", | |
"family": "Lee" | |
} | |
], | |
"telephoneNumbers": [ | |
{ | |
"type": "mobile", | |
"number": "8185551234" | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
} | |
} | |
}, | |
"400": { | |
"$ref": "#/components/responses/400Error" | |
} | |
} | |
}, | |
"put": { | |
"tags": [ | |
"idMatch Reconciliation" | |
], | |
"summary": "Forced reconciliation (when presented with multiple candidates, this is the operation to specify which candidate to select)", | |
"operationId": "forcedReconciliation", | |
"parameters": [ | |
{ | |
"name": "sorLabel", | |
"in": "path", | |
"description": "The official designation of the requesting SOR", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
}, | |
{ | |
"name": "sorId", | |
"in": "path", | |
"description": "The SOR-assigned identifier for the person", | |
"required": true, | |
"schema": { | |
"type": "string" | |
} | |
} | |
], | |
"requestBody": { | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/candidateMatches" | |
}, | |
"example": { | |
"matchRequest": "1009", | |
"candidates": [ | |
{ | |
"confidence": "85", | |
"referenceId": "M219488003", | |
"explanation": "Family name exact match, given name initial match", | |
"attributes": [ | |
{ | |
"sor": "HRMS", | |
"identifiers": [ | |
{ | |
"type": "sor", | |
"identifier": 4115 | |
}, | |
{ | |
"type": "network", | |
"identifier": "pl292" | |
} | |
], | |
"names": [ | |
{ | |
"type": "official", | |
"given": "Patricia", | |
"family": "Lee" | |
} | |
], | |
"ou": "Biomedical Informatics" | |
}, | |
{ | |
"sor": "Alumni", | |
"identifiers": [ | |
{ | |
"type": "sor", | |
"identifier": "A330-200" | |
}, | |
{ | |
"type": "network", | |
"identifier": "pl292" | |
} | |
], | |
"names": [ | |
{ | |
"type": "official", | |
"given": "Patricia", | |
"family": "Lee" | |
} | |
], | |
"ou": "Class of 1997" | |
} | |
], | |
"identifiers": [ | |
{ | |
"type": "network", | |
"identifier": "pl292" | |
}, | |
{ | |
"type": "enterprise", | |
"identifier": "905008772" | |
} | |
] | |
} | |
] | |
} | |
} | |
} | |
}, | |
"responses": { | |
"200": { | |
"description": "Return referenceId for the person indicated in the reconciliation request", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/people" | |
}, | |
"example": { | |
"names": [ | |
{ | |
"type": "official", | |
"given": "Pat", | |
"family": "Lee" | |
} | |
], | |
"dateOfBirth": "1983-03-18", | |
"identifiers": [ | |
{ | |
"type": "national", | |
"identifier": "3B902AE12DF55196" | |
} | |
], | |
"telephoneNumbers": [ | |
{ | |
"type": "mobile", | |
"number": 8185551234 | |
} | |
], | |
"referenceId": "M523441767" | |
} | |
} | |
} | |
}, | |
"201": { | |
"description": "Return referenceId for the new person specified in the reconciliation request", | |
"content": { | |
"application/json": { | |
"schema": { | |
"$ref": "#/components/schemas/people" | |
}, | |
"example": { | |
"names": [ | |
{ | |
"type": "official", | |
"given": "Pat", | |
"family": "Lee" | |
} | |
], | |
"dateOfBirth": "1983-03-18", | |
"identifiers": [ | |
{ | |
"type": "national", | |
"identifier": "3B902AE12DF55196" | |
} | |
], | |
"telephoneNumbers": [ | |
{ | |
"type": "mobile", | |
"number": 8185551234 | |
} | |
], | |
"referenceId": "M523441767" | |
} | |
} | |
} | |
}, | |
"400": { | |
"$ref": "#/components/responses/400Error" | |
}, | |
"409": { | |
"$ref": "#/components/responses/409Error" | |
} | |
} | |
} | |
}, | |
"/ping": { | |
"get": { | |
"summary": "Server heartbeat operation", | |
"description": "This operation shows how to override the global security defined above as we want to open it up for all users.", | |
"security": [], | |
"responses": { | |
"200": { | |
"description": "OK" | |
} | |
} | |
} | |
} | |
}, | |
"components": { | |
"securitySchemes": { | |
"accessCode": { | |
"type": "oauth2", | |
"flows": { | |
"authorizationCode": { | |
"authorizationUrl": "http://example.com/oauth/auth", | |
"tokenUrl": "http://example.com/oauth/token", | |
"scopes": { | |
"write": "allows modifying resources", | |
"read": "allows reading resources" | |
} | |
} | |
} | |
} | |
}, | |
"schemas": { | |
"people": { | |
"type": "object", | |
"properties": { | |
"sorLabel": { | |
"type": "string" | |
}, | |
"sorId": { | |
"type": "string" | |
}, | |
"dateOfBirth": { | |
"type": "string" | |
}, | |
"names": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"given": { | |
"type": "string" | |
}, | |
"family": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"address": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"country": { | |
"type": "string" | |
}, | |
"formatted": { | |
"type": "string" | |
}, | |
"language": { | |
"type": "string" | |
}, | |
"locality": { | |
"type": "string" | |
}, | |
"postalCode": { | |
"type": "string" | |
}, | |
"region": { | |
"type": "string" | |
}, | |
"room": { | |
"type": "string" | |
}, | |
"streetAddress": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"verified": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"emailAddress": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"address": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
}, | |
"verified": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"identifier": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"id": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"primaryAffiliation": { | |
"type": "string" | |
}, | |
"gender": { | |
"type": "string" | |
}, | |
"telephoneNumber": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"number": { | |
"type": "string" | |
}, | |
"type": { | |
"type": "string" | |
} | |
} | |
} | |
}, | |
"referenceId": { | |
"type": "string" | |
} | |
} | |
}, | |
"candidateMatches": { | |
"type": "object", | |
"properties": { | |
"matchRequest": { | |
"type": "string" | |
}, | |
"candidates": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"confidence": { | |
"type": "integer" | |
}, | |
"referenceId": { | |
"type": "string" | |
}, | |
"explanation": { | |
"type": "string", | |
"description": "optional; rationale for including this candidate" | |
}, | |
"attributes": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"schema": { | |
"$ref": "#/components/schemas/people" | |
} | |
} | |
} | |
}, | |
"identifiers": { | |
"type": "array", | |
"items": { | |
"type": "object", | |
"properties": { | |
"type": { | |
"type": "string" | |
}, | |
"identifier": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"parameters": { | |
"PageLimit": { | |
"name": "limit", | |
"in": "query", | |
"description": "Limits the number of items on a page", | |
"schema": { | |
"type": "integer" | |
} | |
}, | |
"PageOffset": { | |
"name": "offset", | |
"in": "query", | |
"description": "Specifies the page number of the artists to be displayed", | |
"schema": { | |
"type": "integer" | |
} | |
} | |
}, | |
"responses": { | |
"400Error": { | |
"description": "Invalid request", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"message": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"409Error": { | |
"description": "A forced reconciliation request is being attempted using out of date information", | |
"content": { | |
"application/json": { | |
"schema": { | |
"type": "object", | |
"properties": { | |
"message": { | |
"type": "string" | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} |