Adobe Captivate · Arazzo Workflow

Adobe Learning Manager Search and Enroll

Version 1.0.0

Search the catalog by text, pick the top course, choose an instance, and enroll a learner.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub AuthoringEducationE-LearningLMSSCORMTrainingxAPIArazzoWorkflows

Provider

adobe-captivate

Workflows

search-and-enroll
Find a course by search query and enroll a learner into its first instance.
Searches learning objects for a query string, takes the top result, lists its instances, and creates an enrollment for the learner against the first instance.
3 steps inputs: accessToken, learnerId, loTypes, query outputs: enrollmentId, learningObjectId
1
searchCourses
Run a text search across learning objects and select the top matching result to enroll into.
2
listInstances
List the instances of the top search result and pick the first available instance to enroll into.
3
enrollLearner
Enroll the learner into the selected instance of the matched learning object.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Adobe Learning Manager Search and Enroll
  summary: Search the catalog by text, pick the top course, choose an instance, and enroll a learner.
  description: >-
    A discovery-driven enrollment flow for Adobe Learning Manager (Captivate
    Prime). The workflow runs a full-text search across learning objects,
    selects the top matching course, lists that course's instances to choose an
    offering, and enrolls the supplied learner against the chosen instance.
    Every step spells out its request inline so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-300.40
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-300.40
      capability_name: Learning & Development Management
      spec: adobe-captivate-learning-objects-api-openapi.yml
      confidence: 0.85
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: enrollmentsApi
  url: ../openapi/adobe-captivate-enrollments-api-openapi.yml
  type: openapi
- name: learningObjectsApi
  url: ../openapi/adobe-captivate-learning-objects-api-openapi.yml
  type: openapi
workflows:
- workflowId: search-and-enroll
  summary: Find a course by search query and enroll a learner into its first instance.
  description: >-
    Searches learning objects for a query string, takes the top result, lists
    its instances, and creates an enrollment for the learner against the first
    instance.
  inputs:
    type: object
    required:
    - accessToken
    - query
    - learnerId
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer access token issued via Adobe IMS.
      query:
        type: string
        description: The text search query to match learning objects against.
      learnerId:
        type: string
        description: The id of the user (learner) to enroll.
      loTypes:
        type: string
        description: Optional comma-separated learning object types to restrict the search to.
  steps:
  - stepId: searchCourses
    description: >-
      Run a text search across learning objects and select the top matching
      result to enroll into.
    operationId: searchLearningObjects
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: query
      in: query
      value: $inputs.query
    - name: filter.loTypes
      in: query
      value: $inputs.loTypes
    - name: page[limit]
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      learningObjectId: $response.body#/data/0/id
    onSuccess:
    - name: hasMatch
      type: goto
      stepId: listInstances
      criteria:
      - context: $response.body
        condition: $.data.length > 0
        type: jsonpath
  - stepId: listInstances
    description: >-
      List the instances of the top search result and pick the first available
      instance to enroll into.
    operationId: getLearningObjectInstances
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: learningObjectId
      in: path
      value: $steps.searchCourses.outputs.learningObjectId
    - name: page[limit]
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      instanceId: $response.body#/data/0/id
  - stepId: enrollLearner
    description: >-
      Enroll the learner into the selected instance of the matched learning
      object.
    operationId: createEnrollment
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/vnd.api+json
      payload:
        data:
          type: enrollment
          attributes:
            loInstanceId: $steps.listInstances.outputs.instanceId
          relationships:
            loInstance:
              data:
                id: $steps.listInstances.outputs.instanceId
                type: learningObjectInstance
            learner:
              data:
                id: $inputs.learnerId
                type: user
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      enrollmentId: $response.body#/data/id
      dateEnrolled: $response.body#/data/attributes/dateEnrolled
  outputs:
    learningObjectId: $steps.searchCourses.outputs.learningObjectId
    enrollmentId: $steps.enrollLearner.outputs.enrollmentId

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/adobe-captivate-search-and-enroll-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.