Tray.ai Projects API

Manage projects and solutions for environment promotion, including creating, exporting, and importing project versions.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

tray-ai-projects-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Tray.ai Embedded Authentication Projects API
  description: 'The Tray.ai Embedded API is a GraphQL-based API that allows partners and customers to present in-app embedded integration experiences using Tray''s UI components. It provides programmatic access to manage users, solutions, solution instances, authentications, workflows, and connector operations. All API calls are made via HTTP POST to the GraphQL endpoint with Bearer token authentication. The API supports two token types: master tokens (for admin operations like managing users) and user tokens (for user-scoped operations like managing solution instances). This is a backend-only API; client-side JavaScript calls are blocked by CORS.'
  version: 1.0.0
  contact:
    name: Tray.ai Support
    url: https://tray.ai
  termsOfService: https://tray.ai/terms
  license:
    name: Proprietary
    url: https://tray.ai/terms
servers:
- url: https://tray.io
  description: US Region (Default)
- url: https://eu1.tray.io
  description: EU Region
- url: https://ap1.tray.io
  description: APAC Region
security:
- bearerAuth: []
tags:
- name: Projects
  description: Manage projects and solutions for environment promotion, including creating, exporting, and importing project versions.
paths:
  /projects/{projectId}/export:
    post:
      operationId: exportProject
      summary: Tray.ai Export Project
      description: Exports a project version for environment promotion, such as moving from staging to production workspaces.
      tags:
      - Projects
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
        description: The unique identifier for the project
      responses:
        '200':
          description: Project exported successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  exportedData:
                    type: string
                    description: Serialized project data for import
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Project not found
  /projects/import:
    post:
      operationId: importProject
      summary: Tray.ai Import Project
      description: Imports a project version from exported data into the target workspace for environment promotion.
      tags:
      - Projects
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - exportedData
              properties:
                exportedData:
                  type: string
                  description: Serialized project data from export
                workspaceId:
                  type: string
                  description: Target workspace ID for the import
      responses:
        '200':
          description: Project imported successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  projectId:
                    type: string
                    description: The ID of the imported project
        '400':
          description: Invalid import data
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Authentication failed. The bearer token is missing, invalid, or does not have sufficient permissions for the requested operation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error type
        message:
          type: string
          description: Human-readable error message
        statusCode:
          type: integer
          description: HTTP status code
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Use either a master token (obtained from Tray Embedded UI settings) or a user token (obtained via the authorize mutation). Master tokens are required for admin operations like managing users. User tokens are required for user-scoped operations like managing solution instances.