Exec Collections API

The Collections API from Exec — 1 operation(s) for collections.

OpenAPI Specification

exec-collections-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Exec Collections API
  version: '1.0'
  description: 'REST API for programmatic access to your Exec workspace.


    Use the Exec API to read workspace data, list members, retrieve group information,

    and create interactive scenario creation sessions.


    ## Authentication

    All requests require a valid API key passed in the Authorization header:

    ```

    Authorization: Bearer exec_live_...

    ```


    Create API keys in your workspace settings under **Settings > API**.

    '
servers:
- url: https://api.exec.com/rest/v1
  description: Production
security:
- bearerAuth: []
tags:
- name: Collections
paths:
  /collections:
    get:
      operationId: listCollections
      summary: List collections
      description: 'Returns a paginated list of collections in the workspace, ordered

        alphabetically by name.


        Collections group related scenarios together (e.g. "Procurement Scenarios",

        "Onboarding"). Use collection IDs to filter sessions, skills, and scenario

        analytics by collection.

        '
      tags:
      - Collections
      parameters:
      - name: page
        in: query
        description: Page number (1-indexed)
        schema:
          type: integer
          default: 1
          minimum: 1
      - name: page_size
        in: query
        description: Number of results per page (max 100)
        schema:
          type: integer
          default: 50
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: Paginated list of collections
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Collection'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
              example:
                data:
                - id: r1a2b3c4d5e6
                  name: Procurement Scenarios
                  slug: procurement-scenarios
                  description: Practice scenarios for procurement conversations.
                  scenario_count: 4
                  created_at: '2026-01-10T09:00:00Z'
                pagination:
                  page: 1
                  page_size: 50
                  total_count: 1
                  total_pages: 1
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationErrorDetail'
          example:
            error:
              type: authentication_error
              code: invalid_api_key
              message: Invalid or inactive API key
  schemas:
    Pagination:
      type: object
      properties:
        page:
          type: integer
          description: Current page number
        page_size:
          type: integer
          description: Number of items per page
        total_count:
          type: integer
          description: Total number of items
        total_pages:
          type: integer
          description: Total number of pages
    ValidationErrorDetail:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              description: Error category (e.g., "invalid_request")
            code:
              type: string
              description: Specific error code (e.g., "user_not_found")
            message:
              type: string
              description: Human-readable error message
    Collection:
      type: object
      description: A collection that groups related scenarios together.
      properties:
        id:
          type: string
          description: Unique collection identifier
        name:
          type: string
          description: Collection name
        slug:
          type: string
          description: URL-friendly collection identifier
        description:
          type: string
          nullable: true
          description: Collection description
        scenario_count:
          type: integer
          description: Number of scenarios in this collection
        created_at:
          type: string
          format: date-time
          description: When the collection was created
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'API key created in Settings > API.


        Format: `exec_live_` followed by 40 alphanumeric characters.

        '