SlashID Super Admin Management API
The Super Admin Management API from SlashID — 3 operation(s) for super admin management.
The Super Admin Management API from SlashID — 3 operation(s) for super admin management.
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