Adobe Captivate Catalogs API

Manage content catalogs that organize learning objects

OpenAPI Specification

adobe-captivate-catalogs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Adobe Captivate Prime API (Learning Manager) Account Catalogs API
  description: The Adobe Learning Manager (formerly Captivate Prime) API v2 provides programmatic access to the Learning Management System for managing learning objects, courses, users, enrollments, certifications, skills, badges, gamification, catalogs, and user groups. The API follows the JSON:API specification and uses OAuth 2.0 for authentication. It enables integration with third-party systems for automating learner management, content delivery, and reporting.
  version: '2'
  contact:
    name: Adobe Learning Manager Support
    url: https://helpx.adobe.com/learning-manager/kb/helpdesk.html
  termsOfService: https://www.adobe.com/legal/terms.html
  license:
    name: Adobe Terms of Use
    url: https://www.adobe.com/legal/terms.html
servers:
- url: https://learningmanager.adobe.com/primeapi/v2
  description: Adobe Learning Manager Production API
security:
- oauth2: []
tags:
- name: Catalogs
  description: Manage content catalogs that organize learning objects
paths:
  /catalogs:
    get:
      operationId: getCatalogs
      summary: Adobe Captivate List Catalogs
      description: Retrieves a paginated list of catalogs available to the authenticated user. Catalogs organize learning objects and control visibility.
      tags:
      - Catalogs
      parameters:
      - $ref: '#/components/parameters/pageOffset'
      - $ref: '#/components/parameters/pageLimit'
      - name: include
        in: query
        description: 'Comma-separated list of related resources to include. Valid values: learningObjects'
        schema:
          type: string
      responses:
        '200':
          description: List of catalogs
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/CatalogListResponse'
              examples:
                getCatalogs200Example:
                  summary: Default getCatalogs 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - example
                    links:
                      self: https://example.com/path/abc123
                      next: https://example.com/path/abc123
                      prev: https://example.com/path/abc123
        '401':
          description: Unauthorized
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                getCatalogs401Example:
                  summary: Default getCatalogs 401 response
                  x-microcks-default: true
                  value:
                    source:
                      info: example
                    status: active
                    title: example
                    detail: example
                    code: example
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /catalogs/{catalogId}:
    get:
      operationId: getCatalog
      summary: Adobe Captivate Get a Catalog
      description: Retrieves a single catalog by its ID.
      tags:
      - Catalogs
      parameters:
      - $ref: '#/components/parameters/catalogId'
      - name: include
        in: query
        description: Comma-separated list of related resources to include
        schema:
          type: string
      responses:
        '200':
          description: Catalog details
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/CatalogResponse'
              examples:
                getCatalog200Example:
                  summary: Default getCatalog 200 response
                  x-microcks-default: true
                  value:
                    data:
                      id: abc123
                      type: standard
                      attributes:
                        dateCreated: '2025-03-15T14:30:00Z'
                        dateUpdated: '2025-03-15T14:30:00Z'
                        description: Example description
                        isDefault: true
                        isInternallySearchable: true
                      relationships:
                        learningObjects: example
        '404':
          description: Catalog not found
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                getCatalog404Example:
                  summary: Default getCatalog 404 response
                  x-microcks-default: true
                  value:
                    source:
                      info: example
                    status: active
                    title: example
                    detail: example
                    code: example
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    CatalogResponse:
      type: object
      description: Single catalog response
      properties:
        data:
          $ref: '#/components/schemas/Catalog'
    Relationship:
      type: object
      description: A JSON:API relationship object
      properties:
        data:
          oneOf:
          - $ref: '#/components/schemas/ResourceIdentifier'
          - type: array
            items:
              $ref: '#/components/schemas/ResourceIdentifier'
        links:
          type: object
          properties:
            related:
              type: string
              format: uri
              description: URL to fetch the related resource
    ErrorResponse:
      type: object
      description: Error response following JSON:API error format
      properties:
        source:
          type: object
          properties:
            info:
              type: string
              description: URL to the API documentation
        status:
          type: string
          description: HTTP status code
        title:
          type: string
          description: Short error title
        detail:
          type: string
          description: Human-readable error description
        code:
          type: string
          description: Machine-readable error code
    Catalog:
      type: object
      description: A catalog that organizes and controls access to learning objects
      properties:
        id:
          type: string
          description: Unique catalog identifier
        type:
          type: string
          const: catalog
        attributes:
          type: object
          properties:
            dateCreated:
              type: string
              format: date-time
              description: Timestamp when the catalog was created
            dateUpdated:
              type: string
              format: date-time
              description: Timestamp of the last update
            description:
              type: string
              description: Catalog description
            isDefault:
              type: boolean
              description: Whether this is the default catalog
            isInternallySearchable:
              type: boolean
              description: Whether learning objects in this catalog appear in search
            name:
              type: string
              description: Catalog name
            state:
              type: string
              description: Catalog state
              enum:
              - Enabled
              - Disabled
        relationships:
          type: object
          properties:
            learningObjects:
              $ref: '#/components/schemas/Relationship'
    ResourceIdentifier:
      type: object
      description: JSON:API resource identifier
      required:
      - id
      - type
      properties:
        id:
          type: string
          description: Resource identifier
        type:
          type: string
          description: Resource type name
    PaginationLinks:
      type: object
      description: Pagination links following JSON:API conventions
      properties:
        self:
          type: string
          format: uri
          description: URL for the current page
        next:
          type: string
          format: uri
          description: URL for the next page
        prev:
          type: string
          format: uri
          description: URL for the previous page
    CatalogListResponse:
      type: object
      description: Paginated list of catalogs
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Catalog'
        links:
          $ref: '#/components/schemas/PaginationLinks'
  parameters:
    pageLimit:
      name: page[limit]
      in: query
      description: Maximum number of records to return per page (max 10)
      schema:
        type: integer
        default: 10
        maximum: 10
    pageOffset:
      name: page[offset]
      in: query
      description: The offset for pagination (number of records to skip)
      schema:
        type: integer
        default: 0
        minimum: 0
    catalogId:
      name: catalogId
      in: path
      required: true
      description: The unique identifier of the catalog
      schema:
        type: string
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authentication via Adobe IMS. Supports authorization code flow for user-context access and client credentials flow for application-level access.
      flows:
        authorizationCode:
          authorizationUrl: https://learningmanager.adobe.com/oauth/o/authorize
          tokenUrl: https://learningmanager.adobe.com/oauth/token
          refreshUrl: https://learningmanager.adobe.com/oauth/token/refresh
          scopes:
            learner:read: Read access to learner data
            learner:write: Write access to learner data
            admin:read: Read access to admin data
            admin:write: Write access to admin data
        clientCredentials:
          tokenUrl: https://learningmanager.adobe.com/oauth/token
          scopes:
            learner:read: Read access to learner data
            admin:read: Read access to admin data
            admin:write: Write access to admin data
externalDocs:
  description: Adobe Learning Manager API v2 Documentation
  url: https://captivateprime.adobe.com/docs/primeapi/v2/