openapi: 3.2.0 info: title: Sumo Logic Content Permissions 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: Content Permissions description: 'Content permissions API. You can share your folders, searches, and dashboards with specific users or roles. For more information, see Share Content. You can perform the request as a Content Administrator by using the `isAdminMode` parameter. For more information, see Admin Mode.' x-displayName: Permissions paths: /v2/content/{id}/permissions: get: tags: - Content Permissions summary: Get Permissions Of A Content Item description: Returns content permissions of a content item with the given identifier. operationId: getContentPermissions parameters: - name: id in: path description: The identifier of the content item. required: true schema: type: string - name: explicitOnly in: query description: 'There are two permission types: explicit and implicit. Permissions specifically assigned to the content item are explicit. Permissions derived from a parent content item, like a folder are implicit. To return only explicit permissions set this to true.' schema: type: boolean default: false - name: isAdminMode in: header description: Set this to "true" if you want to perform the request as a Content Administrator. required: false schema: type: string responses: '200': description: A list of permissions for the requested content item. content: application/json: schema: $ref: '#/components/schemas/ContentPermissionResult' default: description: Operation failed with an error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v2/content/{id}/permissions/add: put: tags: - Content Permissions summary: Add Permissions To A Content Item description: Add permissions to a content item with the given identifier. operationId: addContentPermissions parameters: - name: id in: path description: The identifier of the content item. required: true schema: type: string - name: isAdminMode in: header description: Set this to "true" if you want to perform the request as a Content Administrator. required: false schema: type: string requestBody: description: New permissions to add to the content item with the given identifier. content: application/json: schema: $ref: '#/components/schemas/ContentPermissionUpdateRequest' required: true responses: '200': description: Updated permission object for the requested content item. content: application/json: schema: $ref: '#/components/schemas/ContentPermissionResult' default: description: Operation failed with an error. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /v2/content/{id}/permissions/remove: put: tags: - Content Permissions summary: Remove Permissions From A Content Item description: Remove permissions from a content item with the given identifier. operationId: removeContentPermissions parameters: - name: id in: path description: The identifier of the content item. required: true schema: type: string - name: isAdminMode in: header description: Set this to "true" if you want to perform the request as a Content Administrator. required: false schema: type: string requestBody: description: Permissions to remove from a content item with the given identifier. content: application/json: schema: $ref: '#/components/schemas/ContentPermissionUpdateRequest' required: true responses: '200': description: Updated permissions for the requested content item. content: application/json: schema: $ref: '#/components/schemas/ContentPermissionResult' default: description: Operation failed with an error. Check that your request is valid. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: ErrorResponse: required: - errors - id type: object properties: id: type: string description: An identifier for the error; this is unique to the specific API request. example: IUUQI-DGH5I-TJ045 errors: type: array description: A list of one or more causes of the error. example: - code: auth:password_too_short message: Your password was too short. - code: auth:password_character_classes message: Your password did not contain any non-alphanumeric characters items: $ref: '#/components/schemas/ErrorDescription' ErrorDescription: required: - code - message type: object properties: code: type: string description: An error code describing the type of error. example: auth:password_too_short message: type: string description: A short English-language description of the error. example: Your password was too short. 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. meta: type: object description: An optional list of metadata about the error. example: minLength: 12 actualLength: 5 ContentPermissionUpdateRequest: required: - contentPermissionAssignments - notificationMessage - notifyRecipients type: object properties: contentPermissionAssignments: type: array description: Content permissions to be updated. items: $ref: '#/components/schemas/ContentPermissionAssignment' notifyRecipients: type: boolean description: Set this to "true" to notify the users who had a permission update. notificationMessage: type: string description: The notification message sent to the users who had a permission update. ContentPermissionResult: required: - explicitPermissions type: object properties: explicitPermissions: type: array description: Explicitly assigned content permissions. items: $ref: '#/components/schemas/ContentPermissionAssignment' implicitPermissions: type: array description: Implicitly inherited content permissions. items: $ref: '#/components/schemas/ContentPermissionAssignment' ContentPermissionAssignment: required: - contentId - permissionName - sourceId - sourceType type: object properties: permissionName: pattern: ^(View|GrantView|Edit|GrantEdit|Manage|GrantManage)$ type: string description: 'Content permission name. Valid values are: `View`, `GrantView`, `Edit`, `GrantEdit`, `Manage`, and `GrantManage`.' x-pattern-message: 'must be one of the following: `View`, `GrantView`, `Edit`, `GrantEdit`, `Manage`, `GrantManage`' sourceType: pattern: ^(user|role|org)$ type: string description: 'Type of source for the permission. Valid values are: `user`, `role`, and `org`.' example: role x-pattern-message: 'must be one of the following: `user`, `role`, `org`' sourceId: type: string description: An identifier that belongs to the source type chosen above. For e.g. if the sourceType is set to "user", sourceId should be identifier of a user (same goes for `role` and `org` sourceType) contentId: type: string description: Unique identifier for the content item. 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