openapi: 3.2.0 info: title: Sumo Logic SCIM User Management API description: '# Getting Started Welcome to the Sumo Logic API reference.' version: 1.0.0 x-logo: url: ./sumologic_logo.png servers: - url: https://api.au.sumologic.com/api/ description: AU deployment API server - url: https://api.ca.sumologic.com/api/ description: CA deployment API server - url: https://api.de.sumologic.com/api/ description: DE deployment API server - url: https://api.eu.sumologic.com/api/ description: EU deployment API server - url: https://api.fed.sumologic.com/api/ description: FED deployment API server - url: https://api.jp.sumologic.com/api/ description: JP deployment API server - url: https://api.kr.sumologic.com/api/ description: KR deployment API server - url: https://api.in.sumologic.com/api/ description: IN deployment API server - url: https://api.sumologic.com/api/ description: US1 deployment API server - url: https://api.us2.sumologic.com/api/ description: US2 deployment API server security: - basicAuth: [] tags: - name: SCIM User Management description: APIs to manage scim based users. x-displayName: SCIM User Management paths: /v1/scim/Users: get: tags: - SCIM User Management summary: List SCIM Users description: Retrieves a list of users in the SCIM system, with optional pagination operationId: listSCIMUsers parameters: - name: startIndex in: query description: The index of the first result to return. Defaults to 1 if not specified, a value less than 1 SHALL be interpreted as 1 required: false schema: minimum: 1 type: integer format: int32 default: 1 - name: count in: query description: The maximum number of results to return. Defaults to 100 required: false schema: maximum: 1000 minimum: 1 type: integer default: 100 - name: filter in: query description: Find user with the given email address required: false schema: minLength: 1 type: string example: emails.value eq "john@doe.com" - name: sortOrder in: query description: The sort order. Use "ascending" or "descending" required: false schema: type: string example: descending enum: - ascending - descending - name: sortBy in: query description: Sort the list of users by the `givenName`, `familyName`, or `emails` field required: false schema: type: string example: givenName responses: '200': description: A paginated list of users in the organization content: application/scim+json: schema: $ref: '#/components/schemas/ListSCIMUserModelsResponse' application/json: schema: $ref: '#/components/schemas/ListSCIMUserModelsResponse' default: description: Operation failed with an error content: application/scim+json: schema: $ref: '#/components/schemas/ErrorResponseScim' application/json: schema: $ref: '#/components/schemas/ErrorResponseScim' post: tags: - SCIM User Management summary: Create SCIM User description: Creates a new user in the SCIM system operationId: createSCIMUser requestBody: content: application/scim+json: schema: $ref: '#/components/schemas/SCIMCreateUserDefinition' application/json: schema: $ref: '#/components/schemas/ListSCIMUserModelsResponse' required: true responses: '201': description: The user has been created successfully content: application/scim+json: schema: $ref: '#/components/schemas/SCIMUserModel' application/json: schema: $ref: '#/components/schemas/SCIMUserModel' default: description: Operation failed with an error content: application/scim+json: schema: $ref: '#/components/schemas/ErrorResponseScim' application/json: schema: $ref: '#/components/schemas/ErrorResponseScim' /v1/scim/Users/{id}: get: tags: - SCIM User Management summary: Get A SCIM User description: Fetches the details of a SCIM user by their unique identifier operationId: getSCIMUserById parameters: - name: id in: path description: Unique identifier of the SCIM user required: true schema: type: string responses: '200': description: User details retrieved successfully content: application/scim+json: schema: $ref: '#/components/schemas/SCIMUserModel' application/json: schema: $ref: '#/components/schemas/SCIMUserModel' default: description: Operation failed with an error content: application/scim+json: schema: $ref: '#/components/schemas/ErrorResponseScim' application/json: schema: $ref: '#/components/schemas/ErrorResponseScim' put: tags: - SCIM User Management summary: Update SCIM User description: Updates an existing user's attributes in the SCIM system operationId: updateSCIMUser parameters: - name: id in: path description: Unique identifier of the SCIM user required: true schema: type: string requestBody: content: application/scim+json: schema: $ref: '#/components/schemas/SCIMUpdateUserDefinition' application/json: schema: $ref: '#/components/schemas/ListSCIMUserModelsResponse' required: true responses: '200': description: The user has been updated successfully content: application/scim+json: schema: $ref: '#/components/schemas/SCIMUserModel' application/json: schema: $ref: '#/components/schemas/SCIMUserModel' default: description: Operation failed with an error content: application/scim+json: schema: $ref: '#/components/schemas/ErrorResponseScim' application/json: schema: $ref: '#/components/schemas/ErrorResponseScim' delete: tags: - SCIM User Management summary: Delete SCIM User description: Deletes a SCIM user by their unique identifier operationId: deleteSCIMUserById parameters: - name: id in: path description: Unique identifier of the SCIM user to delete required: true schema: type: string responses: '204': description: User was deleted successfully default: description: Operation failed with an error content: application/scim+json: schema: $ref: '#/components/schemas/ErrorResponseScim' application/json: schema: $ref: '#/components/schemas/ErrorResponseScim' patch: tags: - SCIM User Management summary: Update SCIM User Attributes description: Updates specific attributes of an existing user in the SCIM system operationId: patchSCIMUser parameters: - name: id in: path description: Unique identifier of the SCIM user required: true schema: type: string requestBody: content: application/scim+json: schema: $ref: '#/components/schemas/SCIMPatchUserDefinition' application/json: schema: $ref: '#/components/schemas/ListSCIMUserModelsResponse' required: true responses: '200': description: The user attributes updated successfully content: application/scim+json: schema: $ref: '#/components/schemas/SCIMUserModel' application/json: schema: $ref: '#/components/schemas/SCIMUserModel' default: description: Operation failed with an error content: application/scim+json: schema: $ref: '#/components/schemas/ErrorResponseScim' application/json: schema: $ref: '#/components/schemas/ErrorResponseScim' components: schemas: SCIMUpdateUserDefinition: required: - active - emails - name - roles - schemas type: object properties: schemas: type: array description: Defines the SCIM schemas for the user example: - urn:ietf:params:scim:schemas:core:2.0:User items: type: string name: $ref: '#/components/schemas/NameInfo' active: type: boolean description: Indicates if the user is active example: true emails: type: array description: Sumo logic accepts only one email address items: type: object properties: value: type: string format: email example: jdoe@example.com type: type: string example: work primary: type: boolean example: true default: true roles: type: array description: roles should exactly match with role names within sumologic. `roles` can be either `Array of strings` or `Array of objects` as shown in the payload. `primary` always set to 'true' as sumologic doesn't have a concept of primary/secondary roles example: - - role1 - role2 - - value: role1 primary: true - value: role2 primary: true items: {} ResourceData: type: object properties: resourceType: type: string description: The name of the resource type of the resource example: User created: type: string description: Creation timestamp in date-time format format: date-time example: 2024-01-01 12:00:00+00:00 lastModified: type: string description: Last modification timestamp in date-time format format: date-time example: 2024-01-01 12:00:00+00:00 description: Resource meta data of a user SCIMCreateUserDefinition: required: - emails - name - roles - schemas - userName type: object properties: schemas: type: array description: Defines the SCIM schemas for the user example: - urn:ietf:params:scim:schemas:core:2.0:User items: type: string userName: maxLength: 64 type: string description: Unique identifier for the user (email) example: jdoe@example.com name: $ref: '#/components/schemas/NameInfo' emails: type: array description: Sumo logic accepts only one email address items: type: object properties: value: type: string format: email example: jdoe@example.com type: type: string example: work primary: type: boolean example: true default: true roles: type: array description: roles should exactly match with role names within sumologic. `roles` can be either `Array of strings` or `Array of objects` as shown in the payload. `primary` always set to 'true' as sumologic doesn't have a concept of primary/secondary roles example: - - role1 - role2 - - value: role1 primary: true - value: role2 primary: true items: {} NameInfo: required: - familyName - givenName type: object properties: givenName: type: string description: Given name of the user (firstName) example: John familyName: type: string description: Family name of the user (lastName) example: Doe ListSCIMUserModelsResponse: type: object properties: totalResults: type: integer description: Total number of users that match the filter criteria example: 100 startIndex: minimum: 0 type: integer description: The index of the first returned result format: int32 example: 0 default: 0 itemsPerPage: type: integer description: The number of results returned in this page example: 10 Resources: type: array description: List of SCIM user resources items: $ref: '#/components/schemas/SCIMUserModel' SCIMUserModel: type: object allOf: - $ref: '#/components/schemas/SCIMCreateUserDefinition' - required: - id properties: id: type: string description: Unique SCIM identifier for the user example: 000000000FE20FE2 active: type: boolean description: True if the user is active example: true meta: $ref: '#/components/schemas/ResourceData' SCIMPatchUserDefinition: required: - Operations - schemas type: object properties: schemas: type: array description: Defines the SCIM schemas for the patch operation example: - urn:ietf:params:scim:api:messages:2.0:PatchOp items: type: string Operations: type: array description: Updates one or more attributes of a SCIM resource using a sequence of operations items: type: object properties: op: pattern: (?i)^(replace|add|remove)$ type: string description: Supports 'add', 'replace' and 'remove' operations example: replace x-pattern-message: '`replace`, `add`, `remove`' path: type: string description: Attribute path to modify example: name.familyName value: type: object allOf: - type: object properties: value: type: string - type: object properties: value: type: array items: type: string ErrorResponseScim: required: - schemas - status type: object properties: status: type: integer description: The HTTP status code. example: 409 schemas: type: array description: Defines the SCIM schemas for the user example: - urn:ietf:params:scim:schemas:core:2.0:User items: type: string scimType: type: string description: A SCIM detail error keyword. example: uniqueness detail: type: string description: An optional fuller English-language description of the error. example: Your password was 5 characters long, the minimum length is 12 characters. See http://example.com/password for more information. securitySchemes: basicAuth: type: http scheme: basic x-tagGroups: - name: Archive Management tags: - archiveManagement - name: Health Events tags: - healthEvents - name: Infrequent Data Tier tags: - logSearchesEstimatedUsage - name: Ingest Budgets Management V2 tags: - ingestBudgetManagementV2 - name: Library Management tags: - appManagement - appManagementV2 - contentManagement - dashboardManagement - folderManagement - lookupManagement - contentPermissions - logSearchesManagement - parsersLibraryManagement - name: Metrics tags: - metricsSearchesManagement - transformationRuleManagement - metricsQuery - metricsSearchesManagementV2 - name: Security Management tags: - accessKeyManagement - oauthManagement - accountManagement - passwordPolicy - policiesManagement - samlConfigurationManagement - serviceAllowlistManagement - serviceAccountManagement - scimUserManagement - name: Organizations Management tags: - orgsManagement - name: Settings Management tags: - connectionManagement - dynamicParsingRuleManagement - extractionRuleManagement - fieldManagementV1 - partitionManagement - scheduledViewManagement - logsDataForwardingManagement - dataDeletionRules - name: Tokens Management tags: - tokensLibraryManagement - name: Tracing tags: - traces - spanAnalytics - serviceMap - name: Users and Roles Management tags: - roleManagement - roleManagementV2 - userManagement - name: Threat Intel Ingest Management tags: - threatIntelIngest - threatIntelIngestProducer - name: OpenTelemetry Collector Management tags: - otCollectorManagementExternal - name: Source Template Management tags: - sourceTemplateManagementExternal - name: Schema Base Management tags: - schemaBaseManagement - name: Event Analytics Management tags: - eventAnalytics - name: Budget Management tags: - budgetManagement - name: Macro Management tags: - macroManagement - name: Muting Schedules Management tags: - mutingSchedulesLibraryManagement - name: SLO Management tags: - slosLibraryManagement - name: Monitor Management tags: - monitorsLibraryManagement