SecureAuth (incl. Cloudentity) Scopes API

The scopes API from SecureAuth (incl. Cloudentity) — 4 operation(s) for scopes.

Operations 6

POST /scopes Create scope #
DELETE /scopes/{scp} Delete scope #
GET /scopes/{scp} Get scope #
PUT /scopes/{scp} Update scope #
GET /servers/{wid}/scopes List scopes #
GET /scopes/{wid} List scopes for authorization server #

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/secureauth:secureauth-scopes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

secureauth-scopes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Secureauth Scopes API
  version: latest
  description: 'Operations tagged scopes across 2 of this provider''s published API definitions: secureauth-admin-openapi.yml, secureauth-system-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://localhost:8443/api/admin/default
- url: https://localhost:8443/api/system/default
tags:
- name: Scopes
paths:
  /scopes:
    post:
      description: 'Scope name is required. If scope id is not provided, will be generated.

        If you want to assign scope to a service, provide service id.'
      operationId: createScope
      parameters:
      - description: A server will only return requested resources if the resource matches one of the listed ETag value
        in: header
        name: if-match
        schema:
          type: string
          format: etag
      - description: Unique identifier included in audit events for request tracking
        in: header
        name: x-correlation-id
        schema:
          type: string
      - description: Key used to safely retry failed requests without duplicate processing
        in: header
        name: x-idempotency-key
        schema:
          type: string
      responses:
        '201':
          $ref: '#/components/responses/Scope'
        '400':
          $ref: '#/components/responses/badRequestHTTPError'
        '401':
          $ref: '#/components/responses/unauthorizedHTTPError'
        '403':
          $ref: '#/components/responses/forbiddenHTTPError'
        '404':
          $ref: '#/components/responses/notFoundHTTPError'
        '409':
          $ref: '#/components/responses/conflictHTTPError'
        '422':
          $ref: '#/components/responses/unprocessableEntityHTTPError'
        '429':
          $ref: '#/components/responses/tooManyRequestsHTTPError'
      security:
      - admin: []
      summary: Create scope
      tags:
      - Scopes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScopeWithServiceID'
    servers:
    - url: https://localhost:8443/api/admin/default
  /scopes/{scp}:
    delete:
      description: Delete scope.
      operationId: deleteScope
      parameters:
      - description: A server will only return requested resources if the resource matches one of the listed ETag value
        in: header
        name: if-match
        schema:
          type: string
          format: etag
      - description: Unique identifier included in audit events for request tracking
        in: header
        name: x-correlation-id
        schema:
          type: string
      - description: Key used to safely retry failed requests without duplicate processing
        in: header
        name: x-idempotency-key
        schema:
          type: string
      - in: path
        name: scp
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ' Scope has been deleted'
        '401':
          $ref: '#/components/responses/unauthorizedHTTPError'
        '403':
          $ref: '#/components/responses/forbiddenHTTPError'
        '404':
          $ref: '#/components/responses/notFoundHTTPError'
        '429':
          $ref: '#/components/responses/tooManyRequestsHTTPError'
      security:
      - admin: []
      summary: Delete scope
      tags:
      - Scopes
    get:
      description: Get scope.
      operationId: getScope
      parameters:
      - description: A server will only return requested resources if the resource matches one of the listed ETag value
        in: header
        name: if-match
        schema:
          type: string
          format: etag
      - description: Unique identifier included in audit events for request tracking
        in: header
        name: x-correlation-id
        schema:
          type: string
      - description: Key used to safely retry failed requests without duplicate processing
        in: header
        name: x-idempotency-key
        schema:
          type: string
      - in: path
        name: scp
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/ScopeWithService'
        '401':
          $ref: '#/components/responses/unauthorizedHTTPError'
        '403':
          $ref: '#/components/responses/forbiddenHTTPError'
        '404':
          $ref: '#/components/responses/notFoundHTTPError'
        '429':
          $ref: '#/components/responses/tooManyRequestsHTTPError'
      security:
      - admin: []
      summary: Get scope
      tags:
      - Scopes
    put:
      description: Update scope.
      operationId: updateScope
      parameters:
      - description: A server will only return requested resources if the resource matches one of the listed ETag value
        in: header
        name: if-match
        schema:
          type: string
          format: etag
      - description: Unique identifier included in audit events for request tracking
        in: header
        name: x-correlation-id
        schema:
          type: string
      - description: Key used to safely retry failed requests without duplicate processing
        in: header
        name: x-idempotency-key
        schema:
          type: string
      - in: path
        name: scp
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/Scope'
        '400':
          $ref: '#/components/responses/badRequestHTTPError'
        '401':
          $ref: '#/components/responses/unauthorizedHTTPError'
        '403':
          $ref: '#/components/responses/forbiddenHTTPError'
        '404':
          $ref: '#/components/responses/notFoundHTTPError'
        '422':
          $ref: '#/components/responses/unprocessableEntityHTTPError'
        '429':
          $ref: '#/components/responses/tooManyRequestsHTTPError'
      security:
      - admin: []
      summary: Update scope
      tags:
      - Scopes
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Scope'
    servers:
    - url: https://localhost:8443/api/admin/default
  /servers/{wid}/scopes:
    get:
      description: List scopes.
      operationId: listScopes
      parameters:
      - description: A server will only return requested resources if the resource matches one of the listed ETag value
        in: header
        name: if-match
        schema:
          type: string
          format: etag
      - description: Unique identifier included in audit events for request tracking
        in: header
        name: x-correlation-id
        schema:
          type: string
      - description: Key used to safely retry failed requests without duplicate processing
        in: header
        name: x-idempotency-key
        schema:
          type: string
      - description: Authorization server id
        in: path
        name: wid
        required: true
        schema:
          type: string
          default: default
      responses:
        '200':
          $ref: '#/components/responses/ScopesWithServices'
        '401':
          $ref: '#/components/responses/unauthorizedHTTPError'
        '403':
          $ref: '#/components/responses/forbiddenHTTPError'
        '429':
          $ref: '#/components/responses/tooManyRequestsHTTPError'
      security:
      - admin: []
      summary: List scopes
      tags:
      - Scopes
    servers:
    - url: https://localhost:8443/api/admin/default
  /scopes/{wid}:
    get:
      description: This API lists scopes for a given authorization server
      operationId: listScopesSystem
      parameters:
      - description: Workspace id
        in: path
        name: wid
        required: true
        schema:
          type: string
          default: default
      responses:
        '200':
          description: ScopesWithServices
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScopesWithServices'
        '401':
          $ref: '#/components/responses/unauthorizedHTTPError'
        '403':
          $ref: '#/components/responses/forbiddenHTTPError'
        '404':
          $ref: '#/components/responses/notFoundHTTPError'
        '429':
          $ref: '#/components/responses/tooManyRequestsHTTPError'
      security:
      - system:
        - view_scopes
      summary: List scopes for authorization server
      tags:
      - Scopes
    servers:
    - url: https://localhost:8443/api/system/default
components:
  responses:
    tooManyRequestsHTTPError:
      description: Too many requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    unprocessableEntityHTTPError:
      description: Unprocessable entity
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    forbiddenHTTPError:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    notFoundHTTPError:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    conflictHTTPError:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ScopesWithServices:
      description: Scopes with services
      headers:
        etag:
          description: 'The ETag HTTP header is an identifier for a specific version of a resource


            in:header'
          schema:
            type: string
            format: etag
        x-external-error:
          description: 'Indicates that a 5xx error was caused by tenant-provided code


            in:header'
          schema:
            type: string
        x-trace-id:
          description: 'OpenTelemetry trace identifier


            in:header'
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ScopesWithServices'
    Scope:
      description: Scope
      headers:
        etag:
          description: 'The ETag HTTP header is an identifier for a specific version of a resource


            in:header'
          schema:
            type: string
            format: etag
        x-external-error:
          description: 'Indicates that a 5xx error was caused by tenant-provided code


            in:header'
          schema:
            type: string
        x-trace-id:
          description: 'OpenTelemetry trace identifier


            in:header'
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ScopeWithServiceID'
    unauthorizedHTTPError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ScopeWithService:
      description: Scope with service
      headers:
        etag:
          description: 'The ETag HTTP header is an identifier for a specific version of a resource


            in:header'
          schema:
            type: string
            format: etag
        x-external-error:
          description: 'Indicates that a 5xx error was caused by tenant-provided code


            in:header'
          schema:
            type: string
        x-trace-id:
          description: 'OpenTelemetry trace identifier


            in:header'
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ScopeWithService'
    badRequestHTTPError:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    ScopeWithServiceID:
      properties:
        authorization_server_id:
          description: Authorization server identifier
          example: my-server
          format: serverID
          type: string
        description:
          description: The scope description displayed as a hint on a consent page
          example: This scope value requests offline access using refresh token
          type: string
        display_name:
          description: The scope name displayed on a consent page
          example: Offline Access
          type: string
        id:
          description: Scope identifier
          example: scope-1
          format: scopeID
          type: string
        implicit:
          description: Request this scope by default for all clients who subscribed to this scope
          type: boolean
        implicit_grant:
          description: Do not ask for consent for this scope
          type: boolean
        metadata:
          $ref: '#/components/schemas/Metadata'
        name:
          description: Scope name
          example: offline_access
          format: scopeName
          type: string
        service_id:
          description: optional service id
          example: '1'
          format: serviceID
          type: string
        tenant_id:
          description: Tenant identifier
          example: my-company
          format: tenantID
          type: string
        transient:
          description: Disable storage of scope grants
          type: boolean
      type: object
    Scope:
      properties:
        authorization_server_id:
          description: Authorization server identifier
          example: my-server
          format: serverID
          type: string
        description:
          description: The scope description displayed as a hint on a consent page
          example: This scope value requests offline access using refresh token
          type: string
        display_name:
          description: The scope name displayed on a consent page
          example: Offline Access
          type: string
        id:
          description: Scope identifier
          example: scope-1
          format: scopeID
          type: string
        implicit:
          description: Request this scope by default for all clients who subscribed to this scope
          type: boolean
        implicit_grant:
          description: Do not ask for consent for this scope
          type: boolean
        metadata:
          $ref: '#/components/schemas/Metadata'
        name:
          description: Scope name
          example: offline_access
          format: scopeName
          type: string
        tenant_id:
          description: Tenant identifier
          example: my-company
          format: tenantID
          type: string
        transient:
          description: Disable storage of scope grants
          type: boolean
      type: object
    Error:
      description: HTTP error response
      properties:
        details:
          type: object
        error:
          type: string
        error_code:
          type: string
        status_code:
          format: int64
          type: integer
      type: object
    Metadata:
      additionalProperties:
        type: object
      type: object
    Service:
      properties:
        audience_mode:
          description: Controls which audience is injected into access tokens for scopes mapped to this service
          enum:
          - spiffe
          - custom
          - none
          example: spiffe
          type: string
        authorization_server_id:
          description: Authorization server identifier
          example: my-server
          format: serverID
          type: string
        capabilities:
          description: Service capabilities
          items:
            $ref: '#/components/schemas/ServiceCapability'
          type: array
        custom_audience:
          description: Custom service audience
          example: https://api.example.com
          type: string
        description:
          description: Service description
          example: Service description
          type: string
        gateway_id:
          description: Gateway identifier
          example: gateway-1
          format: gatewayID
          type: string
        id:
          description: A unique identifier of a service
          example: service-1
          format: serviceID
          type: string
        name:
          description: Service name
          example: My service
          type: string
        system:
          description: '`true` when the service is a system service'
          example: false
          type: boolean
        tenant_id:
          description: Tenant identifier
          example: my-company
          format: tenantID
          type: string
        type:
          default: user
          description: Service type
          enum:
          - oauth2
          - oidc
          - system
          - user
          - openbanking
          type: string
        updated_at:
          description: The date of service update
          format: date-time
          type: string
        with_specification:
          description: '`true` when the service has the OpenAPI 3.0 specification'
          type: boolean
      type: object
    ServiceCapability:
      type: string
    ScopeWithService:
      properties:
        authorization_server_id:
          description: Authorization server identifier
          example: my-server
          format: serverID
          type: string
        description:
          description: The scope description displayed as a hint on a consent page
          example: This scope value requests offline access using refresh token
          type: string
        display_name:
          description: The scope name displayed on a consent page
          example: Offline Access
          type: string
        id:
          description: Scope identifier
          example: scope-1
          format: scopeID
          type: string
        implicit:
          description: Request this scope by default for all clients who subscribed to this scope
          type: boolean
        implicit_grant:
          description: Do not ask for consent for this scope
          type: boolean
        metadata:
          $ref: '#/components/schemas/Metadata'
        name:
          description: Scope name
          example: offline_access
          format: scopeName
          type: string
        service:
          $ref: '#/components/schemas/Service'
        tenant_id:
          description: Tenant identifier
          example: my-company
          format: tenantID
          type: string
        transient:
          description: Disable storage of scope grants
          type: boolean
        with_service:
          type: boolean
      type: object
    ScopesWithServices:
      properties:
        scopes:
          items:
            $ref: '#/components/schemas/ScopeWithService'
          type: array
      type: object
  securitySchemes:
    admin:
      type: oauth2
      flows:
        authorizationCode:
          scopes: {}
          authorizationUrl: /default/admin/oauth2/authorize
          tokenUrl: /default/admin/oauth2/token
    system:
      type: oauth2
      flows:
        authorizationCode:
          scopes:
            introspect_tokens: introspect_tokens
            manage_clients: manage_clients
            manage_configuration: manage_configuration
            manage_consents: manage_consents
            manage_idps: manage_idps
            manage_logins: manage_logins
            manage_post_authn: manage_post_authn
            manage_scope_grants: manage_scope_grants
            push_gateway_requests: push_gateway_requests
            read_configuration: read_configuration
            read_gateway_configuration: read_gateway_configuration
            view_audit_events: view_audit_events
            view_clients: view_clients
            view_consents: view_consents
            write_gateway_configuration: write_gateway_configuration
          authorizationUrl: /default/system/oauth2/authorize
          tokenUrl: /default/system/oauth2/token
x-refined-from:
- secureauth-admin-openapi.yml
- secureauth-system-openapi.yml