SlashID Super Admin Management API

The Super Admin Management API from SlashID — 3 operation(s) for super admin management.

OpenAPI Specification

slashid-super-admin-management-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: SlashID Groups Super Admin Management API
  description: "This is the [OpenAPI](https://www.openapis.org/) specification for communicating with the [SlashID](https://www.slashid.dev/) service.\n\nThe latest version of the OpenAPI API spec can be fetched from [our CDN](https://cdn.slashid.com/slashid-openapi-latest.yaml).\n\nWe recommend you use an [OpenAPI SDK generator](https://openapi.tools/#sdk) to create a client library in your programming language,\nbut you can also use this documentation to make HTTP calls directly.\n\n> **Compatibility note**: We aim to keep wire compatibility whenever we update the API, but parts of the specification may occasionally be refactored.\n  If you use an SDK generator, your code may require minor changes between versions.\n"
  version: '1.1'
  termsOfService: https://www.slashid.dev/terms-of-use/
  contact:
    name: API Support
    email: contact@slashid.dev
servers:
- url: https://api.slashid.com
  description: Production
- url: https://api.sandbox.slashid.com
  description: Sandbox
security:
- ApiKeyAuth: []
tags:
- name: Super Admin Management
paths:
  /super-admins:
    parameters:
    - $ref: '#/components/parameters/OrgIDHeader'
    post:
      operationId: PostSuperAdmins
      x-super-admin: true
      tags:
      - Super Admin Management
      summary: Create a super-admin
      description: 'Add a person to the super-admins table. Only existing super-admins can create new super-admins. The person must already exist in the system.

        '
      requestBody:
        description: Super-admin creation request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SuperAdminCreateReq'
      responses:
        '201':
          description: Super-admin created successfully
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/APIResponseBase'
                - type: object
                  properties:
                    result:
                      $ref: '#/components/schemas/SuperAdmin'
                  required:
                  - result
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          $ref: '#/components/responses/Conflict'
    get:
      operationId: GetSuperAdmins
      x-super-admin: true
      tags:
      - Super Admin Management
      summary: List all super-admins
      description: Retrieve a list of all super-admins in the system. Only super-admins can view this list
      responses:
        '200':
          description: List of super-admins
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/APIResponseBase'
                - type: object
                  properties:
                    result:
                      type: array
                      items:
                        $ref: '#/components/schemas/SuperAdmin'
                  required:
                  - result
        '403':
          $ref: '#/components/responses/Forbidden'
  /super-admins/{person_id}:
    parameters:
    - name: person_id
      in: path
      required: true
      description: External person ID (UUID)
      schema:
        type: string
        format: uuid
    - $ref: '#/components/parameters/OrgIDHeader'
    delete:
      operationId: DeleteSuperAdminsPersonId
      x-super-admin: true
      tags:
      - Super Admin Management
      summary: Remove super-admin access
      description: 'Remove a person from the super-admins table by their external person ID. Only existing super-admins can revoke super-admin access.

        '
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /super-admins/audit-logs:
    parameters:
    - $ref: '#/components/parameters/OrgIDHeader'
    - name: limit
      in: query
      description: Maximum number of audit log entries to return
      schema:
        type: integer
        default: 100
        minimum: 1
        maximum: 1000
    - name: offset
      in: query
      description: Number of audit log entries to skip
      schema:
        type: integer
        default: 0
        minimum: 0
    - name: person_id
      in: query
      description: Filter by super-admin person ID
      schema:
        type: string
        format: uuid
    - name: organization_id
      in: query
      description: Filter by organization ID
      schema:
        type: string
        format: uuid
    get:
      operationId: GetSuperAdminsAuditLogs
      x-super-admin: true
      tags:
      - Super Admin Management
      summary: Get super-admin audit logs
      description: 'Retrieve audit logs of super-admin actions. Only super-admins can view audit logs.

        '
      responses:
        '200':
          description: List of audit log entries
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/APIResponseBase'
                - type: object
                  properties:
                    result:
                      type: array
                      items:
                        $ref: '#/components/schemas/SuperAdminAuditLog'
                    meta:
                      $ref: '#/components/schemas/APIMeta'
                  required:
                  - result
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  responses:
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/APIResponseBase'
    NoContent:
      description: No content
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/APIResponseBase'
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/APIResponseBase'
    Conflict:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/APIResponseBase'
  schemas:
    EntityLink:
      type: object
      required:
      - entity_class
      - entity_id
      properties:
        entity_class:
          $ref: '#/components/schemas/EntityClass'
        entity_id:
          type: string
        identifier:
          type: string
    APIResponseError:
      type: object
      properties:
        httpcode:
          type: integer
        message:
          type: string
    APICursorPagination:
      type: object
      required:
      - limit
      - cursor
      - total_count
      properties:
        limit:
          type: integer
        cursor:
          type: string
        total_count:
          type: integer
          format: int64
    APIResponseBase:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/APIMeta'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/APIResponseError'
    OrganizationID:
      type: string
    APIMeta:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/APIPagination'
        cursor_pagination:
          $ref: '#/components/schemas/APICursorPagination'
    SuperAdminCreateReq:
      type: object
      required:
      - person_id
      properties:
        person_id:
          $ref: '#/components/schemas/PersonID'
    EntityClass:
      type: string
      enum:
      - unknown
      - identity
      - credential
      - policy
      - resource
      - application
      - canonical_application
      - canonical_identity
      - sensor
      - person
    SuperAdmin:
      type: object
      required:
      - person
      - created_at
      properties:
        person:
          $ref: '#/components/schemas/EntityLink'
          description: Link to the person with this super-admin access
        created_at:
          type: string
          format: date-time
          description: Timestamp when super-admin was created
        created_by:
          $ref: '#/components/schemas/EntityLink'
          description: Link to the person who created this super-admin (if available)
    APIPagination:
      type: object
      required:
      - limit
      - offset
      - total_count
      properties:
        limit:
          type: integer
        offset:
          type: integer
        total_count:
          type: integer
          format: int64
    SuperAdminAuditLog:
      type: object
      required:
      - audit_id
      - request_method
      - request_path
      - created_at
      properties:
        audit_id:
          type: string
          format: uuid
          description: Unique identifier for the audit log entry
        super_admin:
          $ref: '#/components/schemas/EntityLink'
          description: Super-admin who performed the action (may be null if the super-admin has been deleted)
        request_method:
          type: string
          description: HTTP method of the request
        request_path:
          type: string
          description: Path of the endpoint accessed
        organization_id:
          $ref: '#/components/schemas/OrganizationID'
        organization_name:
          type: string
          description: Name of the organization where the action was performed
        metadata:
          type: object
          description: Additional metadata about the request
        created_at:
          type: string
          format: date-time
          description: Timestamp of the action
    PersonID:
      type: string
      description: Person ID
      example: 064b7b63-ea43-76e5-b208-1900795bc5b7
  parameters:
    OrgIDHeader:
      name: SlashID-OrgID
      in: header
      schema:
        type: string
      required: true
      description: The organization ID
      example: af5fbd30-7ce7-4548-8b30-4cd59cb2aba1
  securitySchemes:
    ApiKeyAuth:
      description: Authorizes the request with the organization's API Key.
      x-svc-um-api: true
      type: apiKey
      in: header
      name: SlashID-API-Key
    OAuth2ClientIdSecret:
      description: Authorizes the request with a client ID/client secret pair
      type: http
      scheme: basic
    OAuth2AccessTokenBearer:
      description: Authorizes the request with an Access Token for the current user.
      type: http
      scheme: bearer
      bearerFormat: opaque