Prismatic Authentication API

Authentication endpoints for obtaining, refreshing, and revoking JWT tokens used to access the Prismatic API

OpenAPI Specification

prismatic-authentication-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Prismatic GraphQL Authentication API
  description: Prismatic provides a GraphQL-based API for building, deploying, and supporting integrations programmatically. The API allows you to manage customers, integrations, instances, components, and other resources. GraphQL operations include queries (pulling data) and mutations (creating, modifying, or deleting data). The API endpoint accepts GraphQL queries via HTTP POST requests. Authentication is handled via JWT bearer tokens obtained through the Prismatic web app or CLI tool.
  version: 1.0.0
  contact:
    name: Prismatic
    url: https://prismatic.io
  license:
    name: Proprietary
    url: https://prismatic.io/legal/terms/
  x-topics:
  - Integrations
  - Embedded SaaS Integration
  - Workflows
  - Connectors
  - GraphQL
servers:
- url: https://app.prismatic.io
  description: Prismatic Production API
tags:
- name: Authentication
  description: Authentication endpoints for obtaining, refreshing, and revoking JWT tokens used to access the Prismatic API
paths:
  /auth/refresh:
    post:
      operationId: refreshAuthToken
      summary: Prismatic Refresh Authentication Token
      description: Refresh an expired or expiring access token using a valid refresh token. Returns a new access token that can be used to authenticate against the GraphQL API. Refreshed tokens are valid for 7 days.
      tags:
      - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefreshTokenRequest'
      responses:
        '200':
          description: Successfully refreshed token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
        '401':
          description: Invalid or expired refresh token
  /auth/revoke:
    post:
      operationId: revokeAuthToken
      summary: Prismatic Revoke Refresh Token
      description: Revoke a refresh token to prevent it from being used to generate new access tokens. Use this endpoint if you believe a refresh token has been compromised.
      tags:
      - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefreshTokenRequest'
      responses:
        '200':
          description: Successfully revoked refresh token
        '401':
          description: Invalid refresh token
  /get_auth_token/:
    get:
      operationId: getAuthToken
      summary: Prismatic Get Short-Lived Auth Token
      description: Retrieve a short-lived authentication token while logged in to the Prismatic web application. This endpoint is accessed via browser and returns a JWT that can be used for API queries.
      tags:
      - Authentication
      security:
      - cookieAuth: []
      responses:
        '200':
          description: Returns a short-lived JWT token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
        '401':
          description: Not authenticated - must be logged in to web application
components:
  schemas:
    TokenResponse:
      type: object
      properties:
        access_token:
          type: string
          description: JWT access token for authenticating API requests
        refresh_token:
          type: string
          description: Refresh token for obtaining new access tokens
        token_type:
          type: string
          description: Type of token, typically Bearer
        expires_in:
          type: integer
          description: Token expiration time in seconds
    RefreshTokenRequest:
      type: object
      required:
      - refresh_token
      properties:
        refresh_token:
          type: string
          description: The refresh token to use for obtaining a new access token or to revoke
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token obtained via the Prismatic web app, CLI tool (me:token subcommand), or the /auth/refresh endpoint. Pass as Authorization Bearer header.
    cookieAuth:
      type: apiKey
      in: cookie
      name: session
      description: Session cookie from Prismatic web application login