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 ` 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 `. '