Sumo Logic Service Account Management API

APIs to manage service accounts

Business capability
Identity & Access Management BC-620.20

Operations 10

GET /v1/serviceAccounts Get A List Of Service Accounts #
POST /v1/serviceAccounts Create A New Service Account #
GET /v1/serviceAccounts/{id} Get A Service Account #
PUT /v1/serviceAccounts/{id} Update A Service Account #
DELETE /v1/serviceAccounts/{id} Delete A Service Account #
GET /v1/serviceAccounts/{serviceAccountId}/accessKeys List Access Keys For A Service Account #
POST /v1/serviceAccounts/{serviceAccountId}/accessKeys Create A New Access Key For A Service Account #
GET /v1/serviceAccounts/{serviceAccountId}/accessKeys/{accessId} Get An Access Key Of A Service Account #
PUT /v1/serviceAccounts/{serviceAccountId}/accessKeys/{accessId} Update An Access Key Of A Service Account #
DELETE /v1/serviceAccounts/{serviceAccountId}/accessKeys/{accessId} Delete An Access Key Of A Service Account #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sumo-logic-serviceaccountmanagement-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sumo-logic-serviceaccountmanagement-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sumo Logic Service Account 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: serviceAccountManagement
  description: APIs to manage service accounts
  x-displayName: Service Accounts
paths:
  /v1/serviceAccounts:
    get:
      tags:
      - serviceAccountManagement
      summary: Get A List Of Service Accounts
      description: Get a list of all service accounts in the organization.
      operationId: listServiceAccounts
      responses:
        '200':
          description: A list of service accounts in the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListServiceAccountModelsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - serviceAccountManagement
      summary: Create A New Service Account
      description: Create a new service account in the organization.
      operationId: createServiceAccount
      parameters: []
      requestBody:
        description: Information about the new service account.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateServiceAccountDefinition'
        required: true
      responses:
        '200':
          description: A service account has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceAccountModel'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/serviceAccounts/{id}:
    get:
      tags:
      - serviceAccountManagement
      summary: Get A Service Account
      description: Get a service account with the given identifier from the organization.
      operationId: getServiceAccount
      parameters:
      - name: id
        in: path
        description: Identifier of service account to return.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Service account object that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceAccountModel'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - serviceAccountManagement
      summary: Update A Service Account
      description: Update an existing service account in the organization.
      operationId: updateServiceAccount
      parameters:
      - name: id
        in: path
        description: Identifier of the service account to update.
        required: true
        schema:
          type: string
      requestBody:
        description: Information to update about the service account.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateServiceAccountDefinition'
        required: true
      responses:
        '200':
          description: The service account was successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceAccountModel'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
      - serviceAccountManagement
      summary: Delete A Service Account
      description: Delete a service account with the given identifier from the organization and transfer its content to a user or a service account with the identifier specified in "transferTo".
      operationId: deleteServiceAccount
      parameters:
      - name: id
        in: path
        description: Identifier of the service account to delete.
        required: true
        schema:
          type: string
      - name: transferTo
        in: query
        description: Identifier of a user/service account to receive the transfer of content from the deleted service account. <br> **Note:** If `deleteContent` is not set to `true`, and no user identifier is specified in `transferTo`, content from the deleted service account is transferred to the executing user.
        required: false
        schema:
          type: string
      - name: deleteContent
        in: query
        description: Whether to delete content from the deleted service account or not. <br> **Warning:** If `deleteContent` is set to `true`, all of the content for the service account being  deleted is permanently deleted and cannot be recovered.
        required: false
        schema:
          type: boolean
      responses:
        '204':
          description: Service account was deleted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/serviceAccounts/{serviceAccountId}/accessKeys:
    get:
      tags:
      - serviceAccountManagement
      summary: List Access Keys For A Service Account
      description: List all access keys of a service account.
      operationId: listAccessKeysForServiceAccount
      parameters:
      - name: serviceAccountId
        in: path
        description: Identifier of the service account.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A list of all access keys within the organization of a service account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAccessKeysResult'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - serviceAccountManagement
      summary: Create A New Access Key For A Service Account
      description: Creates a new access ID and key pair for a service account.
      operationId: createAccessKeyForServiceAccount
      parameters:
      - name: serviceAccountId
        in: path
        description: Identifier of the service account.
        required: true
        schema:
          type: string
      requestBody:
        description: Information about the new access key of a service account.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessKeyCreateRequest'
        required: true
      responses:
        '200':
          description: The access key has been created for a service account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessKey'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/serviceAccounts/{serviceAccountId}/accessKeys/{accessId}:
    get:
      tags:
      - serviceAccountManagement
      summary: Get An Access Key Of A Service Account
      description: Get an access key with the given identifier from the organization of a service account.
      operationId: getAccessKeyByIdOfAServiceAccount
      parameters:
      - name: serviceAccountId
        in: path
        description: Identifier of the service account.
        required: true
        schema:
          type: string
      - name: accessId
        in: path
        description: Identifier of an access key to return.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Access key object that was requested of a service account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessKeyPublic'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
      - serviceAccountManagement
      summary: Update An Access Key Of A Service Account
      description: Updates the properties of existing accessKey by Id of a service account.
      operationId: updateAccessKeyOfAServiceAccount
      parameters:
      - name: serviceAccountId
        in: path
        description: Identifier of the service account.
        required: true
        schema:
          type: string
      - name: accessId
        in: path
        description: The id of an access key to update of a service account.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessKeyUpdateRequest'
        required: true
      responses:
        '200':
          description: Access key of a service account updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessKeyPublic'
        default:
          description: Access key updation of a service account failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
      - serviceAccountManagement
      summary: Delete An Access Key Of A Service Account
      description: Deletes the access key with the given Id of a service account.
      operationId: deleteAccessKeyOfAServiceAccount
      parameters:
      - name: serviceAccountId
        in: path
        description: Identifier of the service account.
        required: true
        schema:
          type: string
      - name: accessId
        in: path
        description: The Id of the access key to delete of a service account.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Access key deletion of a service account completed successfully.
        default:
          description: Access key deletion of a service account failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    MetadataModel:
      required:
      - createdAt
      - createdBy
      - modifiedAt
      - modifiedBy
      type: object
      properties:
        createdAt:
          type: string
          description: Creation timestamp in UTC in [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
          example: 2018-10-16 09:10:00+00:00
        createdBy:
          type: string
          description: Identifier of the user who created the resource.
          example: 0000000006743FDD
        modifiedAt:
          type: string
          description: Last modification timestamp in UTC.
          format: date-time
          example: 2018-10-16 09:10:00+00:00
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the resource.
          example: 0000000006743FE8
    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
    ServiceAccountModel:
      type: object
      allOf:
      - $ref: '#/components/schemas/CreateServiceAccountDefinition'
      - $ref: '#/components/schemas/MetadataModel'
      - required:
        - id
        properties:
          id:
            type: string
            description: Unique identifier for the service account.
            example: 000000000FE20FE2
          isActive:
            type: boolean
            description: True if the service account is active.
            example: true
    ListAccessKeysResult:
      required:
      - data
      type: object
      properties:
        data:
          type: array
          description: An array of access keys.
          items:
            $ref: '#/components/schemas/AccessKeyPublic'
      description: List of access keys.
    CreateServiceAccountDefinition:
      required:
      - email
      - name
      - roleIds
      type: object
      properties:
        name:
          maxLength: 128
          minLength: 0
          type: string
          description: Name of the service account.
          example: Service Account
        email:
          maxLength: 255
          type: string
          description: Email address of the service account.
          format: email
          example: johndoe@acme.com
        roleIds:
          type: array
          description: List of roleIds associated with the service account.
          example:
          - 00000000000001DF
          - 00000000000002D2
          items:
            type: string
    AccessKeyCreateRequest:
      required:
      - label
      type: object
      properties:
        label:
          maxLength: 128
          type: string
          description: A name for the access key to be created.
          example: automation access key
        corsHeaders:
          maxItems: 20
          type: array
          description: "An array of domains for which the access key is valid. Whether Sumo Logic accepts or rejects an API request\ndepends on whether it contains an ORIGIN header and the entries in the allowlist.\nSumo Logic will reject:\n  1. Requests with an ORIGIN header but the allowlist is empty.\n  2. Requests with an ORIGIN header that don't match any entry in the allowlist."
          example:
          - https://my-app.com
          - https://mail.my-app.com
          items:
            type: string
        scopes:
          type: array
          description: "Scopes assigned to the key.\n### Alerting\n  - adminMonitorsV2\n  - viewMonitorsV2\n  - manageMonitorsV2\n\n### Data Management\n  - manageApps\n  - viewCollectors\n  - manageCollectors\n  - viewConnections\n  - manageConnections\n  - contentAdmin\n  - viewFieldExtractionRules\n  - manageFieldExtractionRules            \n  - viewFields\n  - manageFields\n  - manageBudgets\n  - viewLibrary\n  - manageLibrary\n  - viewPartitions\n  - managePartitions\n  - manageS3DataForwarding\n  - viewScheduledViews\n  - manageScheduledViews\n  - manageTokens\n\n### Logs\n  - runLogSearch\n\n### Metrics\n  - runMetricsQuery \n\n### Reliability Management\n  - viewSlos\n  - manageSlos\n\n### Security\n  - manageAccessKeys\n  - viewPersonalAccessKeys\n  - managePersonalAccessKeys\n\n### UserManagement\n  - viewUsersAndRoles\n  - manageUsersAndRoles"
          example:
          - manageUsersAndRoles
          - viewCollectors
          items:
            type: string
    ListServiceAccountModelsResponse:
      required:
      - data
      type: object
      properties:
        data:
          type: array
          description: List of service accounts.
          items:
            $ref: '#/components/schemas/ServiceAccountModel'
    AccessKeyPublic:
      required:
      - createdAt
      - createdBy
      - disabled
      - id
      - label
      - modifiedAt
      - modifiedBy
      type: object
      properties:
        id:
          type: string
          description: Identifier of the access key.
          example: su0w3Q37CBzHUM
        label:
          type: string
          description: The name of the access key.
          example: collector access key
        corsHeaders:
          type: array
          description: "An array of domains for which the access key is valid. Whether Sumo Logic accepts or rejects an API request depends on whether it contains an ORIGIN header and the entries in the allowlist. Sumo Logic will reject:\n  1. Requests with an ORIGIN header but the allowlist is empty.\n  2. Requests with an ORIGIN header that don't match any entry in the allowlist."
          example:
          - https://my-app.com
          - https://mail.my-app.com
          items:
            type: string
        disabled:
          type: boolean
          description: Indicates whether the access key is disabled or not.
          example: false
        createdAt:
          type: string
          description: Creation timestamp in UTC in [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
          example: 2018-10-16 09:10:00+00:00
        createdBy:
          type: string
          description: Identifier of the user who created the access key.
          example: 0000000006743FDD
        modifiedAt:
          type: string
          description: Last modification timestamp in UTC.
          format: date-time
          example: 2018-10-16 09:10:00+00:00
        modifiedBy:
          type: string
          description: Identifier of the user who modified the access key.
          example: 0000000006743FDD
        serviceAccountId:
          type: string
          description: Identifier of the service account who owns the access key.
          example: 0000000006743FDA
        lastUsed:
          type: string
          description: Last used timestamp in UTC.  <br> **Note:** Property not in use, it is part of an upcoming feature.
          format: date-time
          example: 2018-10-16 09:10:00+00:00
        scopes:
          type: array
          description: "Scopes assigned to the key.\n### Alerting\n  - adminMonitorsV2\n  - viewMonitorsV2\n  - manageMonitorsV2\n\n### Data Management\n  - manageApps\n  - viewCollectors\n  - manageCollectors\n  - viewConnections\n  - manageConnections\n  - contentAdmin\n  - viewFieldExtractionRules\n  - manageFieldExtractionRules            \n  - viewFields\n  - manageFields\n  - manageBudgets\n  - viewLibrary\n  - manageLibrary\n  - viewPartitions\n  - managePartitions \n  - manageS3DataForwarding\n  - viewScheduledViews\n  - manageScheduledViews\n  - manageTokens\n\n### Logs\n  - runLogSearch\n\n### Metrics\n  - runMetricsQuery \n\n### Reliability Management\n  - viewSlos\n  - manageSlos\n\n### Security\n  - manageAccessKeys\n  - viewPersonalAccessKeys\n  - managePersonalAccessKeys\n\n### UserManagement\n  - viewUsersAndRoles\n  - manageUsersAndRoles"
          example:
          - manageUsersAndRoles
          - viewCollectors
          items:
            type: string
        effectiveScopes:
          type: array
          description: Effective scopes based on the intersection of the user's RBAC capabilities and the assigned scopes.
          example:
          - manageUsersAndRoles
          - viewCollectors
          items:
            type: string
    AccessKey:
      allOf:
      - $ref: '#/components/schemas/AccessKeyPublic'
      - required:
        - key
        type: object
        properties:
          key:
            type: string
            description: The key for the created access key. This field will have values only in the response for an access key create request. The value will be an empty string while listing all keys.
            example: F9GZvb4fISxUZHM7pqHCsGXGWf4OArgmt9Tz8ewZ
    UpdateServiceAccountDefinition:
      type: object
      properties:
        name:
          maxLength: 128
          minLength: 0
          type: string
          description: Name of the service account.
          example: Service Account
        isActive:
          type: boolean
          description: This has the value `true` if the service account is active and `false` if it has been deactivated.
          example: true
        roleIds:
          type: array
          description: List of role identifiers associated with the service account.
          example:
          - 00000000000001DF
          - 00000000000002D2
          items:
            type: string
        email:
          maxLength: 255
          type: string
          description: New email address of the service account.
          format: email
          example: johndoe@acme.com
    AccessKeyUpdateRequest:
      required:
      - disabled
      type: object
      properties:
        disabled:
          type: boolean
          description: Indicates whether the access key is disabled or not.
          example: true
        corsHeaders:
          maxItems: 20
          type: array
          description: "An array of domains for which the access key is valid. Whether Sumo Logic accepts or rejects an API request depends on whether it contains an ORIGIN header and the entries in the allowlist. Sumo Logic will reject:\n  1. Requests with an ORIGIN header but the allowlist is empty.\n  2. Requests with an ORIGIN header that don't match any entry in the allowlist."
          example:
          - https://my-app.com
          - https://mail.my-app.com
          items:
            type: string
        scopes:
          type: array
          description: "Scopes assigned to the key. <br><br> Note: Updates to scopes will take up to 5m to reflect due to caching in the system.\n### Alerting\n  - adminMonitorsV2\n  - viewMonitorsV2\n  - manageMonitorsV2\n\n### Data Management\n  - manageApps\n  - viewCollectors\n  - manageCollectors\n  - viewConnections\n  - manageConnections\n  - contentAdmin\n  - viewFieldExtractionRules\n  - manageFieldExtractionRules            \n  - viewFields\n  - manageFields\n  - manageBudgets\n  - viewLibrary\n  - manageLibrary\n  - viewPartitions\n  - managePartitions\n  - manageS3DataForwarding\n  - viewScheduledViews\n  - manageScheduledViews\n  - manageTokens\n\n### Logs\n  - runLogSearch\n\n### Metrics\n  - runMetricsQuery \n\n### Reliability Management\n  - viewSlos\n  - manageSlos\n\n### Security\n  - manageAccessKeys\n  - viewPersonalAccessKeys\n  - managePersonalAccessKeys\n\n### UserManagement\n  - viewUsersAndRoles\n  - manageUsersAndRoles"
          example:
          - manageUsersAndRoles
          - viewCollectors
          items:
            type: string
  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