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