openapi: 3.0.0 info: title: Common Room Core Activities SCIM API version: 1.0.0 description: "Common Room Core REST APIs for getting data in to Common Room.\n

\nFor SCIM APIs see the SCIM documentation.\n

\nFor New, V2 APIs see the V2 API documentation.\n

\nTo use the Common Room API, or get started with the Common Room Zapier integration, you will need to create an API token.\nTo create an API token:\n
    \n
  1. Navigate to Setting | API tokens\n
  2. Create a “New Token\"\n
\n\n# Authentication\n\n" x-logo: url: /common-room-api-logo.svg servers: - url: https://api.commonroom.io/community/v1 description: Common Room Core API v1 tags: - name: SCIM paths: /users: summary: Represents Common Room users description: 'Represents users with a valid login. Community owners are returned ' parameters: - in: query name: startIndex schema: type: integer example: 1 - in: query name: count schema: type: integer example: 15 - in: query name: filter schema: type: string description: filter on the userName. example: userName eq 'test.user@domain.io' get: summary: Active contacts by role description: Returns the list of active owners, filtered based on the query parameters tags: - SCIM responses: '200': description: OK content: application/json: schema: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:api:messages:2.0:ListResponse Resources: type: array items: $ref: '#/components/schemas/User' totalResults: type: integer description: Number of resources in the list itemsPerPage: type: integer description: Constant number of items per page startIndex: type: integer description: 1-based index for the returned list post: summary: Creates the contact with specific role description: Creates the contact with owner role tags: - SCIM requestBody: required: true content: application/scim+json; charset=utf-8: schema: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:schemas:core:2.0:User userName: type: string example: test.user@domain.io name: type: object properties: givenName: type: string example: John familyName: type: string example: Doe emails: type: array items: type: object properties: value: type: string example: user@domain.com primary: type: boolean example: true type: type: string example: work active: type: boolean example: true description: Indicates whether the user has a login account in the community responses: '201': description: Created content: application/json: schema: type: object $ref: '#/components/schemas/User' '400': description: BadRequest content: application/json: schema: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:schemas:core:2.0:Error detail: type: string example: Failed to create user /users/{email}: summary: Represents a specific user description: Retrieves or updates the specific user parameters: - in: path name: email required: true schema: type: string example: User accounts' identifier. Typically the email address get: summary: Retrieves a specific user account tags: - SCIM responses: '200': description: OK content: application/json: schema: type: object $ref: '#/components/schemas/User' '404': description: Not Found content: application/json: schema: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:schemas:core:2.0:Error detail: type: string example: 'No user found for user: {userName}' patch: summary: Updates an user account description: Updates the user account specified in the query tags: - SCIM requestBody: required: true content: application/scim+json; charset=utf-8: schema: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:schemas:core:2.0:PatchOp Operations: type: array items: type: object properties: op: type: string example: replace value: type: object properties: active: type: boolean example: true description: 'Will upgrade or downgrade user account''s role based on this property. When set to false user account is downgraded ' responses: '200': description: OK content: application/json: schema: type: object $ref: '#/components/schemas/User' '404': description: Not Found content: application/json: schema: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:schemas:core:2.0:Error detail: type: string example: 'No user found for user: {userName}' components: schemas: User: type: object description: 'Represents the user account in the Common Room community This account is used for identity mangement via SCIM Specification can be found at https://datatracker.ietf.org/doc/html/rfc7643#section-4.1 ' properties: id: type: string example: user@domain.com userName: type: string example: user@domain.com name: type: object properties: givenName: type: string example: John familyName: type: string example: Doe emails: type: array items: type: object properties: value: type: string example: user@domain.com primary: type: boolean example: true type: type: string example: work active: type: boolean example: true description: Indicates whether the user has a login account in the community schemas: type: array items: type: string example: urn:ietf:params:scim:api:messages:2.0:User securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT description: "Use a Core API JWT as a Bearer token in the Authentication header.\n\nTokens can be created by room Admins through https://app.commonroom.io/\n\nExample:\n\n```\ncurl -H \"Authorization: Bearer abcd123.xzy\" \\\n https://api.commonroom.io/community/v1/api-token-status\n````\n"