BeyondTrust Authentication API

API authentication and authorization

OpenAPI Specification

beyondtrust-authentication-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: BeyondTrust Password Safe Authentication API
  description: The BeyondTrust Password Safe API provides programmatic access to privileged credential management, secrets management, session management, and access request workflows. It enables developers to integrate privileged account security into CI/CD pipelines, automation frameworks, and enterprise applications.
  version: v3
  contact:
    name: BeyondTrust Support
    url: https://docs.beyondtrust.com/
  x-generated-from: documentation
servers:
- url: https://{hostname}/BeyondTrust/api/public/v3
  description: BeyondTrust Password Safe API v3
  variables:
    hostname:
      default: beyondtrust.example.com
      description: Your BeyondTrust appliance hostname
security:
- apiKeyAuth: []
tags:
- name: Authentication
  description: API authentication and authorization
paths:
  /auth/signappin:
    post:
      operationId: signAppIn
      summary: BeyondTrust Sign App In
      description: Authenticates an application and creates a session. Returns a session token for subsequent API calls.
      tags:
      - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SignAppInRequest'
            examples:
              SignAppInRequestExample:
                summary: Default signAppIn request
                x-microcks-default: true
                value:
                  ApplicationID: myapp-api
                  APIKey: a1b2c3d4-e5f6-7890-abcd-ef1234567890
      responses:
        '200':
          description: Authentication successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionResponse'
              examples:
                SignAppIn200Example:
                  summary: Default signAppIn 200 response
                  x-microcks-default: true
                  value:
                    UserId: 42
                    EmailAddress: apiuser@example.com
                    UserName: api-service-account
                    Name: API Service Account
        '401':
          description: Authentication failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /auth/signappout:
    post:
      operationId: signAppOut
      summary: BeyondTrust Sign App Out
      description: Terminates the current application session.
      tags:
      - Authentication
      responses:
        '200':
          description: Sign out successful.
        '401':
          description: Not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    SignAppInRequest:
      title: Sign App In Request
      description: Authentication credentials for API sign-in.
      type: object
      required:
      - ApplicationID
      - APIKey
      properties:
        ApplicationID:
          type: string
          description: The Application ID registered in BeyondTrust.
          example: myapp-api
        APIKey:
          type: string
          description: The API key for the application.
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
    ErrorResponse:
      title: Error Response
      description: Standard BeyondTrust API error response.
      type: object
      properties:
        Message:
          type: string
          description: Human-readable error message.
          example: Access denied
        ErrorCode:
          type: integer
          description: Numeric error code.
          example: 4003
    SessionResponse:
      title: Session Response
      description: Authenticated user session details.
      type: object
      properties:
        UserId:
          type: integer
          description: Internal user ID.
          example: 42
        EmailAddress:
          type: string
          format: email
          description: Email address of the authenticated user.
          example: apiuser@example.com
        UserName:
          type: string
          description: Username of the authenticated user.
          example: api-service-account
        Name:
          type: string
          description: Display name of the authenticated user.
          example: API Service Account
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: PS-Auth key={APIKey}; runas={AppID}. Authenticate by first calling /auth/signappin to get a session cookie, then use PS-Auth header for subsequent requests.