Squadcast Authentication API

Token exchange endpoints

OpenAPI Specification

squadcast-authentication-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Squadcast Public Authentication API
  description: 'Public REST API for the Squadcast (SolarWinds Incidents Cloud) incident

    response and on-call management platform. The API exposes incident

    management operations — including bulk acknowledge/resolve, individual

    incident lookup, reassignment, priority updates, exports, and request

    status checks.


    Authentication uses HTTP Bearer access tokens. Access tokens are

    short-lived and exchanged from a long-lived refresh token via the

    `/oauth/access-token` endpoint on the auth host. Send subsequent API

    requests with `Authorization: Bearer <access_token>` against the regional

    API host.

    '
  version: 3.0.0
  contact:
    name: Squadcast Support
    url: https://support.squadcast.com/
servers:
- url: https://api.squadcast.com
  description: US region API host
- url: https://api.eu.squadcast.com
  description: EU region API host
- url: https://auth.squadcast.com
  description: US region auth host (used only for /oauth/access-token)
- url: https://auth.eu.squadcast.com
  description: EU region auth host (used only for /oauth/access-token)
security:
- bearerAuth: []
tags:
- name: Authentication
  description: Token exchange endpoints
paths:
  /oauth/access-token:
    get:
      tags:
      - Authentication
      summary: Exchange refresh token for access token
      description: 'Exchange a long-lived refresh token (passed in the `X-Refresh-Token`

        header) for a short-lived bearer access token used on all other API

        calls. Call this against the auth host (`auth.squadcast.com` or

        `auth.eu.squadcast.com`).

        '
      operationId: getAccessToken
      security: []
      parameters:
      - name: X-Refresh-Token
        in: header
        required: true
        description: Long-lived refresh token issued from the Squadcast console.
        schema:
          type: string
      responses:
        '200':
          description: Access token issued successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessTokenResponse'
        '401':
          description: Invalid or missing refresh token
components:
  schemas:
    AccessTokenResponse:
      type: object
      properties:
        access_token:
          type: string
          description: Bearer token to use for subsequent API calls.
        expires_at:
          type: string
          format: date-time
          description: Expiration timestamp of the access token.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'Bearer access token obtained via the `/oauth/access-token` endpoint on

        the auth host. Send as `Authorization: Bearer <access_token>`.

        '