Adobe Captivate · Arazzo Workflow

Adobe Learning Manager Enroll a Learner in a Course

Version 1.0.0

Resolve a course, pick an available instance, enroll a learner, and confirm the enrollment.

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

Provider

adobe-captivate

Workflows

enroll-learner-in-course
Enroll a learner into a specific instance of a learning object.
Confirms the learning object exists, selects an instance offering, creates the enrollment for the supplied learner, and reads the enrollment back to verify it was created.
4 steps inputs: accessToken, learnerId, learningObjectId outputs: enrollmentId, instanceId, progressPercent
1
getCourse
Load the learning object by id to confirm it exists before attempting to enroll a learner into one of its instances.
2
listInstances
List the instances of the learning object and select the first available instance to enroll the learner into.
3
createEnrollment
Create an enrollment binding the learner to the selected learning object instance using JSON:API relationships.
4
confirmEnrollment
Read the freshly created enrollment back by id to confirm it persisted and to capture its progress and dates.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Adobe Learning Manager Enroll a Learner in a Course
  summary: Resolve a course, pick an available instance, enroll a learner, and confirm the enrollment.
  description: >-
    A core Adobe Learning Manager (Captivate Prime) flow. The workflow loads a
    learning object by id to confirm it exists, lists its instances to select a
    specific offering to enroll into, creates an enrollment for the learner
    against that instance, and finally reads the new enrollment back to confirm
    its state. 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: enroll-learner-in-course
  summary: Enroll a learner into a specific instance of a learning object.
  description: >-
    Confirms the learning object exists, selects an instance offering, creates
    the enrollment for the supplied learner, and reads the enrollment back to
    verify it was created.
  inputs:
    type: object
    required:
    - accessToken
    - learningObjectId
    - learnerId
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer access token issued via Adobe IMS.
      learningObjectId:
        type: string
        description: The id of the course / learning object to enroll into.
      learnerId:
        type: string
        description: The id of the user (learner) to enroll.
  steps:
  - stepId: getCourse
    description: >-
      Load the learning object by id to confirm it exists before attempting to
      enroll a learner into one of its instances.
    operationId: getLearningObject
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: learningObjectId
      in: path
      value: $inputs.learningObjectId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      courseId: $response.body#/data/id
  - stepId: listInstances
    description: >-
      List the instances of the learning object and select the first available
      instance to enroll the learner into.
    operationId: getLearningObjectInstances
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: learningObjectId
      in: path
      value: $inputs.learningObjectId
    - name: page[limit]
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      instanceId: $response.body#/data/0/id
  - stepId: createEnrollment
    description: >-
      Create an enrollment binding the learner to the selected learning object
      instance using JSON:API relationships.
    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
  - stepId: confirmEnrollment
    description: >-
      Read the freshly created enrollment back by id to confirm it persisted and
      to capture its progress and dates.
    operationId: getEnrollment
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: enrollmentId
      in: path
      value: $steps.createEnrollment.outputs.enrollmentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      enrollmentId: $response.body#/data/id
      dateEnrolled: $response.body#/data/attributes/dateEnrolled
      progressPercent: $response.body#/data/attributes/progressPercent
  outputs:
    enrollmentId: $steps.confirmEnrollment.outputs.enrollmentId
    instanceId: $steps.listInstances.outputs.instanceId
    progressPercent: $steps.confirmEnrollment.outputs.progressPercent

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-enroll-learner-in-course-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.