Prismatics GraphQL API

Prismatic provides a GraphQL-based API for you to build, deploy, and support your integrations programmatically. While Prismatic recommends that new users use the web app or Prismatic CLI tool (prism) to manage Prismatic resources, developer users will likely want to use the API to script integration management, embed in CI/CD pipelines, and drive multi-tenant deployments.

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-schema/customer.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-schema/integration.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-schema/instance.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-schema/component.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-schema/flow.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-schema/config-variable.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-schema/user.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-schema/alert-monitor.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-schema/execution.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-structure/customer.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-structure/integration.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-structure/instance.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-structure/component.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-structure/flow.json

Other Resources

🔗
Pagination
https://prismatic.io/docs/api/pagination/
🔗
Explorer
https://prismatic.io/docs/explorer/
🔗
SpectralRules
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/rules/prismatic-graphql-api-rules.yml
🔗
Vocabulary
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/vocabulary/prismatic-vocabulary.yml
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/json-ld/prismatic-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/examples/list-customers-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/examples/list-integrations-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/examples/list-components-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/examples/list-instances-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/examples/create-customer-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/examples/refresh-token-example.json
🔗
GraphQL
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/graphql/prismatic-graphql.md
🔗
APIsJSON
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/apis.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/arazzo/prismatic-browser-session-list-components-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/arazzo/prismatic-create-customer-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/arazzo/prismatic-list-integrations-and-instances-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/arazzo/prismatic-onboard-and-verify-customer-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/arazzo/prismatic-refresh-and-list-customers-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/arazzo/prismatic-rotate-refresh-token-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/prismatic/refs/heads/main/arazzo/prismatic-tenant-inventory-snapshot-workflow.yml

OpenAPI Specification

prismatic-graphql-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Prismatic Authentication GraphQL 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: GraphQL
  description: GraphQL API endpoint for querying and mutating Prismatic resources including customers, integrations, instances, and components
paths:
  /api:
    post:
      operationId: executeGraphQLQuery
      summary: Prismatic Execute GraphQL Query or Mutation
      description: Execute a GraphQL query or mutation against the Prismatic API. This endpoint accepts standard GraphQL request bodies containing a query string, optional variables, and an optional operation name. Use queries to retrieve data about customers, integrations, instances, components, and other resources. Use mutations to create, update, or delete resources. Rate limited to 20 requests per second.
      tags:
      - GraphQL
      security:
      - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GraphQLRequest'
            examples:
              listCustomers:
                summary: List all customers
                value:
                  query: "query listCustomers {\n  customers {\n    nodes {\n      id\n      name\n      externalId\n    }\n  }\n}"
              listIntegrations:
                summary: List all integrations
                value:
                  query: "query listIntegrations {\n  integrations {\n    nodes {\n      id\n      name\n      description\n    }\n  }\n}"
              listComponents:
                summary: List all components
                value:
                  query: "query listComponents {\n  components {\n    nodes {\n      id\n      label\n      description\n      key\n      authorizationRequired\n    }\n  }\n}"
              listInstances:
                summary: List all instances
                value:
                  query: "query listInstances {\n  instances {\n    nodes {\n      id\n      name\n      customer {\n        id\n        name\n      }\n      integration {\n        id\n        name\n      }\n    }\n  }\n}"
              createCustomer:
                summary: Create a new customer
                value:
                  query: "mutation createCustomer($name: String!, $externalId: String) {\n  createCustomer(input: { name: $name, externalId: $externalId }) {\n    customer {\n      id\n      name\n      externalId\n    }\n  }\n}"
                  variables:
                    name: Acme Corp
                    externalId: acme-123
      responses:
        '200':
          description: GraphQL response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GraphQLResponse'
        '401':
          description: Unauthorized - invalid or expired JWT token
        '429':
          description: Rate limit exceeded - maximum 20 requests per second
components:
  schemas:
    GraphQLResponse:
      type: object
      properties:
        data:
          type: object
          description: The result data from the GraphQL query or mutation. Structure matches the shape of the query.
          additionalProperties: true
        errors:
          type: array
          description: Array of error objects if the query or mutation encountered errors.
          items:
            $ref: '#/components/schemas/GraphQLError'
    GraphQLError:
      type: object
      properties:
        message:
          type: string
          description: Human-readable error message
        locations:
          type: array
          description: Locations in the query where the error occurred
          items:
            type: object
            properties:
              line:
                type: integer
              column:
                type: integer
        path:
          type: array
          description: Path to the field that caused the error
          items:
            type: string
        extensions:
          type: object
          description: Additional error information
          additionalProperties: true
    GraphQLRequest:
      type: object
      required:
      - query
      properties:
        query:
          type: string
          description: The GraphQL query or mutation string. Queries retrieve data while mutations create, update, or delete resources.
        variables:
          type: object
          description: Optional variables to pass to the GraphQL query or mutation. Variables are referenced in the query string using the $ prefix.
          additionalProperties: true
        operationName:
          type: string
          description: Optional name of the operation to execute if the query string contains multiple named operations.
  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