Created
May 8, 2016 00:43
-
-
Save bsavage/3e0798fd0e8341b823adc78848c77f77 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
| swagger: '2.0' | |
| schemes: | |
| - http | |
| - https | |
| host: tier.internet2.edu | |
| basePath: /tier/v2 | |
| info: | |
| contact: | |
| email: [email protected] | |
| name: TIER API Working Group | |
| url: 'https://spaces.internet2.edu/display/DSAWG' | |
| description: "The TIER APIs helps education and research organizations with Identity and Access Management (IAM) challenges. This API definition represents the first few group-related operations using SCIM-compliant responses including eduPerson extension (as provided by PennState at https://github.com/PennState/tier)" | |
| termsOfService: 'http://www.internet2.edu/policies/intellectual-property-framework/' | |
| title: TIER Basic Operations with SCIM-compatible response (including eduPersonExtension) | |
| version: 1.0.0 | |
| externalDocs: | |
| url: 'https://spaces.internet2.edu/display/DSAWG/' | |
| consumes: | |
| - application/json | |
| produces: | |
| - application/json | |
| tags: | |
| - description: Users representation operations | |
| name: Users | |
| - description: Groups representation operations | |
| name: Groups | |
| paths: | |
| '/Users/{userId}/Groups': | |
| get: | |
| summary: Get groups to which the specified user belongs | |
| description: Retrieve groups to which a user belongs. | |
| parameters: | |
| - name: userId | |
| description: Id of user | |
| in: path | |
| type: string | |
| required: true | |
| - name: startIndex | |
| description: Starting index for results | |
| in: query | |
| type: integer | |
| required: false | |
| - name: count | |
| description: Maximum number of results requested | |
| in: query | |
| type: integer | |
| required: false | |
| responses: | |
| '200': | |
| description: The request has succeeded | |
| schema: | |
| $ref: '#/definitions/UserGroupList' | |
| '400': | |
| description: Invalid request | |
| '401': | |
| description: Unauthorized request | |
| '404': | |
| description: Representation not found | |
| '500': | |
| description: Internal server error | |
| tags: | |
| - Users | |
| '/Groups/{groupId}/Members': | |
| get: | |
| summary: Get members of a group. | |
| description: Get members for the group specified. | |
| parameters: | |
| - name: groupId | |
| description: Id of group | |
| in: path | |
| type: string | |
| required: true | |
| responses: | |
| '200': | |
| description: The request has succeeded. | |
| schema: | |
| $ref: '#/definitions/SCIMUserList' | |
| '400': | |
| description: Invalid request | |
| '401': | |
| description: Unauthorized request | |
| '404': | |
| description: Representation not found | |
| '500': | |
| description: Internal server error | |
| tags: | |
| - Groups | |
| '/Groups/{groupId}/Members/{userId}': | |
| get: | |
| summary: Determine if user specified is in group specified. | |
| description: Check group for presence of member. | |
| parameters: | |
| - name: groupId | |
| description: Id of group | |
| in: path | |
| type: string | |
| required: true | |
| - name: userId | |
| description: Id of user | |
| in: path | |
| type: string | |
| required: true | |
| responses: | |
| '200': | |
| description: The request has succeeded. | |
| schema: | |
| $ref: '#/definitions/SCIMUserList' | |
| '400': | |
| description: Invalid request | |
| '401': | |
| description: Unauthorized request | |
| '500': | |
| description: Internal server error | |
| tags: | |
| - Groups | |
| definitions: | |
| UserGroupList: | |
| description: | | |
| Describes a group list response for a user. Based upon spaces.internet2.edu/display/DSAWG/TIER+API+SCIM+user+groups | |
| properties: | |
| totalResults: | |
| description: Total users returned | |
| type: integer | |
| startIndex: | |
| description: Staring index of results | |
| type: integer | |
| itemsPerPage: | |
| description: Total users per page | |
| type: integer | |
| schemas: | |
| description: Array of schema related to response | |
| type: array | |
| items: | |
| type: string | |
| Resources: | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| value: | |
| description: GroupId | |
| type: string | |
| systemName: | |
| description: Group name | |
| type: string | |
| display: | |
| description: Group display name | |
| type: string | |
| SCIMUserList: | |
| description: | | |
| Describes the members contains within a specified group. Based upon Penn State worked example at https://github.com/PennState/tier | |
| properties: | |
| totalResults: | |
| description: Total users returned | |
| type: integer | |
| startIndex: | |
| description: Staring index of results | |
| type: integer | |
| itemsPerPage: | |
| description: Total users per page | |
| type: integer | |
| schemas: | |
| description: Array of schema related to response | |
| type: array | |
| items: | |
| type: string | |
| Resources: | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| meta: | |
| type: object | |
| properties: | |
| version: | |
| type: string | |
| required: | |
| - version | |
| id: | |
| type: string | |
| externalId: | |
| type: string | |
| active: | |
| type: boolean | |
| addresses: | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| type: | |
| type: string | |
| display: | |
| type: string | |
| primary: | |
| type: boolean | |
| country: | |
| type: string | |
| formatted: | |
| type: 'null' | |
| locality: | |
| type: string | |
| postalCode: | |
| type: string | |
| region: | |
| type: string | |
| streetAddress: | |
| type: string | |
| required: | |
| - type | |
| - display | |
| - primary | |
| - country | |
| - formatted | |
| - locality | |
| - postalCode | |
| - region | |
| - streetAddress | |
| displayName: | |
| type: string | |
| emails: | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| type: | |
| type: string | |
| value: | |
| type: string | |
| display: | |
| type: string | |
| primary: | |
| type: boolean | |
| required: | |
| - type | |
| - value | |
| - display | |
| - primary | |
| groups: | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| value: | |
| type: string | |
| $ref: | |
| type: string | |
| display: | |
| type: string | |
| type: | |
| type: string | |
| required: | |
| - value | |
| - $ref | |
| - display | |
| - type | |
| locale: | |
| type: string | |
| name: | |
| type: object | |
| properties: | |
| formatted: | |
| type: string | |
| familyName: | |
| type: string | |
| givenName: | |
| type: string | |
| middleName: | |
| type: string | |
| honorificPrefix: | |
| type: string | |
| honorificSuffix: | |
| type: string | |
| required: | |
| - formatted | |
| - familyName | |
| - givenName | |
| - middleName | |
| - honorificPrefix | |
| - honorificSuffix | |
| nickName: | |
| type: string | |
| phoneNumbers: | |
| type: array | |
| items: | |
| type: object | |
| properties: | |
| value: | |
| type: string | |
| display: | |
| type: string | |
| type: | |
| type: string | |
| primary: | |
| type: boolean | |
| required: | |
| - value | |
| - display | |
| - type | |
| - primary | |
| preferredLanguage: | |
| type: string | |
| timezone: | |
| type: string | |
| title: | |
| type: string | |
| userName: | |
| type: string | |
| userType: | |
| type: string | |
| schemas: | |
| type: array | |
| items: | |
| type: string | |
| urn:internet2:params:scim:schemas:EduPersonExtension: | |
| type: object | |
| properties: | |
| eduPersonAffiliation: | |
| type: array | |
| items: | |
| type: string | |
| eduPersonNickname: | |
| type: array | |
| items: | |
| type: string | |
| eduPersonPrimaryAffiliation: | |
| type: string | |
| eduPersonPrincipalName: | |
| type: string | |
| audio: | |
| type: string | |
| cn: | |
| type: string | |
| description: | |
| type: string | |
| displayName: | |
| type: string | |
| facsimileTelephoneNumber: | |
| type: array | |
| items: | |
| type: string | |
| givenName: | |
| type: array | |
| items: | |
| type: string | |
| homePhone: | |
| type: array | |
| items: | |
| type: string | |
| homePostalAddress: | |
| type: array | |
| items: | |
| type: string | |
| initials: | |
| type: array | |
| items: | |
| type: string | |
| locality: | |
| type: array | |
| items: | |
| type: string | |
| mail: | |
| type: array | |
| items: | |
| type: string | |
| manager: | |
| type: array | |
| items: | |
| type: string | |
| mobile: | |
| type: array | |
| items: | |
| type: string | |
| postalCode: | |
| type: array | |
| items: | |
| type: string | |
| preferredLanguage: | |
| type: string | |
| street: | |
| type: array | |
| items: | |
| type: string | |
| telephoneNumber: | |
| type: array | |
| items: | |
| type: string | |
| title: | |
| type: array | |
| items: | |
| type: string | |
| o: | |
| type: array | |
| items: | |
| type: string | |
| ou: | |
| type: array | |
| items: | |
| type: string | |
| sn: | |
| type: array | |
| items: | |
| type: string | |
| st: | |
| type: array | |
| items: | |
| type: string | |
| required: | |
| - eduPersonAffiliation | |
| - eduPersonNickname | |
| - eduPersonPrimaryAffiliation | |
| - eduPersonPrincipalName | |
| - audio | |
| - cn | |
| - description | |
| - displayName | |
| - facsimileTelephoneNumber | |
| - givenName | |
| - homePhone | |
| - homePostalAddress | |
| - initials | |
| - locality | |
| - manager | |
| - mobile | |
| - postalCode | |
| - preferredLanguage | |
| - street | |
| - telephoneNumber | |
| - title | |
| - o | |
| - ou | |
| - sn | |
| - st | |
| required: | |
| - meta | |
| - id | |
| - externalId | |
| - active | |
| - addresses | |
| - displayName | |
| - emails | |
| - groups | |
| - locale | |
| - name | |
| - nickName | |
| - phoneNumbers | |
| - preferredLanguage | |
| - timezone | |
| - title | |
| - userName | |
| - userType | |
| - schemas | |
| - urn:internet2:params:scim:schemas:EduPersonExtension | |
| required: | |
| - totalResults | |
| - startIndex | |
| - itemsPerPage | |
| - schemas | |
| - Resources |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment