openapi: 3.2.0 info: title: SCIM v2 SCIM 2.0 Group Management API description: Manage your users and groups using SCIM 2.0. contact: name: Talend Support license: name: Apache License Version 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.txt version: 2021-03 servers: - url: https://api.eu.cloud.talend.com description: URL for the AWS Europe region x-talend: isPublished: true - url: https://api.ap.cloud.talend.com description: URL for the AWS Asia Pacific region x-talend: isPublished: true - url: https://api.us.cloud.talend.com description: URL for the AWS United States East region x-talend: isPublished: true - url: https://api.au.cloud.talend.com description: URL for the AWS Australia region x-talend: isPublished: true - url: https://api.us-west.cloud.talend.com description: URL for the Azure United States West region x-talend: isPublished: true security: - Public: [] tags: - name: SCIM 2.0 Group Management paths: /scim/v2/Groups: summary: Operations on groups description: 'Groups map to Talend groups with the following attributes: | Talend user field | SCIM attribute | Attribute type |Required| | -------- | -------- | -------- | -------- | | name | displayName | Singular | **Required** | | userIds | members.value | Multi-Valued | | Requires the permission **Groups - Manage** (**TMC_GROUP_MANAGEMENT**).' x-talend: section: Groups get: tags: - SCIM 2.0 Group Management summary: Get groups description: 'Returns a paginated list of groups, 100 user per page by default. `count` and `startIndex` parameters can be updated to get larger pages or to retrive other pages. It is possible to use `filter` parameter to return a list of specific users (see SCIMv2 specification for details). It is also possible to sort the results using the parameters `sortBy` and `sortOrder`. The attributes `attributes` and `excludedAttributes` can be set to select or exclude specific attributes.' operationId: getAll_2 parameters: - name: attributes in: query schema: type: string - name: startIndex in: query schema: type: integer format: int32 default: 1 - name: count in: query schema: type: integer format: int32 default: 100 - name: sortOrder in: query schema: type: string - name: sortBy in: query schema: type: string - name: filter in: query schema: type: string - name: excludedAttributes in: query schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ListResponseGenericScimResource' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '429': $ref: '#/components/responses/429TooManyRequests' '500': $ref: '#/components/responses/500InternalServerError' post: tags: - SCIM 2.0 Group Management summary: Create a new group description: 'Create and retrieve a group resource. It is possible to select or exlude attributes using `attributes` and `excludedAttributes` query parameters.' operationId: create_2 parameters: - name: attributes in: query schema: type: string - name: excludedAttributes in: query schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupResource' responses: '201': description: Created content: '*/*': schema: $ref: '#/components/schemas/GenericScimResource' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '429': $ref: '#/components/responses/429TooManyRequests' '500': $ref: '#/components/responses/500InternalServerError' /scim/v2/Groups/{id}: summary: Operations on specific groups description: 'Groups map to Talend groups with the following attributes: | Talend user field | SCIM attribute | Attribute type |Required| | -------- | -------- | -------- | -------- | | name | displayName | Singular | **Required** | | userIds | members.value | Multi-Valued | | Requires the permission **Groups - Manage** (**TMC_GROUP_MANAGEMENT**).' parameters: - name: id in: path required: true schema: type: string x-talend: section: Groups get: tags: - SCIM 2.0 Group Management summary: Get specific group description: 'Retrieve a single group resource. The value of the {id} should be a UUID. It is possible to select or exlude attributes using `attributes` and `excludedAttributes` query parameters.' operationId: get_2 parameters: - name: attributes in: query schema: type: string - name: excludedAttributes in: query schema: type: string responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/GenericScimResource' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '404': $ref: '#/components/responses/404NotFound' '429': $ref: '#/components/responses/429TooManyRequests' '500': $ref: '#/components/responses/500InternalServerError' put: tags: - SCIM 2.0 Group Management summary: Update specific group description: 'Update and retrieve a single group resource. The value of the {id} should be a UUID. It is possible to select or exlude attributes using `attributes` and `excludedAttributes` query parameters.' operationId: update_2 parameters: - name: attributes in: query schema: type: string - name: excludedAttributes in: query schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GroupResource' responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/GenericScimResource' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '404': $ref: '#/components/responses/404NotFound' '429': $ref: '#/components/responses/429TooManyRequests' '500': $ref: '#/components/responses/500InternalServerError' delete: tags: - SCIM 2.0 Group Management summary: Delete specific group description: Delete a single group resource. The value of the {id} should be a UUID. operationId: delete_2 responses: '204': description: No Content '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '404': $ref: '#/components/responses/404NotFound' '429': $ref: '#/components/responses/429TooManyRequests' '500': $ref: '#/components/responses/500InternalServerError' patch: tags: - SCIM 2.0 Group Management summary: Update partially specific group description: 'Update partially and retrieve a single group resource. The value of the {id} should be a UUID. It is possible to select or exlude attributes using `attributes` and `excludedAttributes` query parameters.' operationId: patch_2 parameters: - name: attributes in: query schema: type: string - name: excludedAttributes in: query schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchRequest' responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/GenericScimResource' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '404': $ref: '#/components/responses/404NotFound' '429': $ref: '#/components/responses/429TooManyRequests' '500': $ref: '#/components/responses/500InternalServerError' /scim/v2/Groups/.search: description: Requires the permission **Groups - Manage** (**TMC_GROUP_MANAGEMENT**). x-talend: section: Groups post: tags: - SCIM 2.0 Group Management summary: Search groups description: 'Returns a paginated list of users, 100 user per page by default. `count` and `startIndex` parameters can be updated to get larger pages or to retrive other pages. It is possible to use `filter` parameter to return a list of specific users (see SCIMv2 specification for details). It is also possible to sort the results using the parameters `sortBy` and `sortOrder`. The attributes `attributes` and `excludedAttributes` can be set to select or exclude specific attributes.' operationId: search_2 requestBody: content: application/json: schema: $ref: '#/components/schemas/SearchRequest' example: "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:SearchRequest\"\n ],\n \"attributes\": [\n \"displayName\"\n ],\n \"filter\": \"displayName sw \\\"group\\\"\",\n \"sortBy\": \"displayName\",\n \"sortOrder\": \"ascending\",\n \"startIndex\": 1,\n \"count\": 10\n}" responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ListResponseGenericScimResource' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '429': $ref: '#/components/responses/429TooManyRequests' '500': $ref: '#/components/responses/500InternalServerError' components: schemas: AddOperation: allOf: - $ref: '#/components/schemas/PatchOperation' - type: object properties: value: $ref: '#/components/schemas/JsonNode' x-talend: section: Common ReplaceOperation: allOf: - $ref: '#/components/schemas/PatchOperation' - type: object properties: value: $ref: '#/components/schemas/JsonNode' x-talend: section: Common GenericScimResource: type: object properties: objectNode: type: object id: type: string meta: $ref: '#/components/schemas/Meta' externalId: type: string schemaUrns: type: array items: type: string x-talend: section: Common PatchRequest: type: object required: - Operations properties: schemas: type: array items: type: string uniqueItems: true id: type: string externalId: type: string Operations: type: array items: oneOf: - $ref: '#/components/schemas/AddOperation' - $ref: '#/components/schemas/RemoveOperation' - $ref: '#/components/schemas/ReplaceOperation' meta: $ref: '#/components/schemas/Meta' x-talend: section: Common JsonNode: type: object x-talend: section: Common Meta: type: object properties: resourceType: type: string created: type: string format: date-time lastModified: type: string format: date-time location: type: string version: type: string x-talend: section: Common SearchRequest: type: object properties: schemas: type: array items: type: string uniqueItems: true id: type: string externalId: type: string attributes: type: array items: type: string uniqueItems: true excludedAttributes: type: array items: type: string uniqueItems: true filter: type: string sortBy: type: string sortOrder: type: string enum: - ascending - descending startIndex: type: integer format: int32 count: type: integer format: int32 meta: $ref: '#/components/schemas/Meta' x-talend: section: Common PatchOperation: type: object required: - op properties: path: type: string op: type: string x-talend: section: Common RemoveOperation: allOf: - $ref: '#/components/schemas/PatchOperation' - type: object properties: value: $ref: '#/components/schemas/JsonNode' x-talend: section: Common GroupResource: type: object properties: schemas: type: array items: type: string uniqueItems: true id: type: string externalId: type: string meta: $ref: '#/components/schemas/Meta' displayName: type: string members: type: array items: $ref: '#/components/schemas/Member' x-talend: section: Groups Member: type: object properties: value: type: string display: type: string $ref: type: string x-talend: section: Groups ListResponseGenericScimResource: type: object required: - Resources - totalResults properties: schemas: type: array items: type: string uniqueItems: true id: type: string externalId: type: string meta: $ref: '#/components/schemas/Meta' totalResults: type: integer format: int64 Resources: type: array items: $ref: '#/components/schemas/GenericScimResource' startIndex: type: integer format: int32 itemsPerPage: type: integer format: int32 x-talend: section: Common responses: 500InternalServerError: description: The server encountered an unexpected condition that prevented it from fulfilling the request. 429TooManyRequests: description: Too many requests were sent. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers. 404NotFound: description: Resource not found. 400BadRequest: description: Invalid request body. The message varies depending on the cause of the bad request. For example, the cause could be a malformed body or parameter. 401Unauthorized: description: The system failed to authenticate the user. Either the Authorization header was missing or the provided token was incorrect. 403Forbidden: description: The system failed to authorize the user. The provided token was recognized but did not have the rights to perform the action. Contact your security administrator to get the appropriate rights. securitySchemes: Public: type: http scheme: bearer bearerFormat: Bearer x-talend: sections: Discovery: {} Users: description: "As you might expect, users map to the individuals of your account (domain). Each user contains properties called attributes. You can list users, filter by attribute, add new users, update a user's profile information, or remove a user entirely.\n\nAttributes are the details associated with a user's account. These are the details that someone would typically set in their profile. The following table maps SCIM attributes with Talend Cloud user attributes:\n\n| Talend user field | SCIM attribute | Attribute type |Required|\n| -------- | -------- | -------- | -------- |\n| login | userName | Singular | **Required** |\n| firstName | name.givenName | Singular | **Required** |\n| middleName | name.middleName | Singular | |\n| lastName | name.familyName | Singular | **Required** |\n| email | \temails\\[primary=true\\].value | Multi-Valued | |\n| phone | phoneNumbers\\[type='work'\\].value | Multi-Valued | |\n| active | active | Singular | |\n| password | password | Singular | |\n| title | title | Singular | |\n| preferredLanguage | preferredLanguage | Singular | |\n| timezone | timezone | Singular | |\n| groups | groups | Multi-Valued | |\n| roles | roles | Multi-Valued | |\n\nRequires the permission **Users - Manage** (**TMC_USER_MANAGEMENT**)." Groups: description: 'Groups map to Talend groups with the following attributes: | Talend user field | SCIM attribute | Attribute type |Required| | -------- | -------- | -------- | -------- | | name | displayName | Singular | **Required** | | userIds | members.value | Multi-Valued | | Requires the permission **Groups - Manage** (**TMC_GROUP_MANAGEMENT**).' Roles: description: 'Roles map to Talend roles with the following attributes: | Talend user field | SCIM attribute | Attribute type |Required| | -------- | -------- | -------- | -------- | | name | name | Singular | **Required** | | permissions | entitlements | Multi-Valued | **Required**| Requires the permission **Roles - Manage** (**TMC_ROLE_MANAGEMENT**).' Common: {}