Adobe Captivate · Arazzo Workflow

Adobe Learning Manager Unenroll a Learner from a Course

Version 1.0.0

Find a learner's enrollment in a course, confirm it, and remove it if present.

1 workflow 1 source API 1 provider
View Spec View on GitHub AuthoringEducationE-LearningLMSSCORMTrainingxAPIArazzoWorkflows

Provider

adobe-captivate

Workflows

unenroll-learner
Remove a learner's enrollment in a given learning object if one exists.
Searches enrollments for the learner and learning object, and when a match is found confirms the enrollment and deletes it; otherwise ends without changes.
3 steps inputs: accessToken, learnerId, learningObjectId outputs: removedEnrollmentId
1
findEnrollment
List enrollments filtered to the learner and learning object, returning at most one match, and branch on whether an enrollment exists.
2
confirmEnrollment
Read the matched enrollment by id to confirm it still exists before deleting it.
3
removeEnrollment
Delete the enrollment to unenroll the learner from the learning object instance.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Adobe Learning Manager Unenroll a Learner from a Course
  summary: Find a learner's enrollment in a course, confirm it, and remove it if present.
  description: >-
    A cleanup flow for Adobe Learning Manager (Captivate Prime). The workflow
    lists enrollments filtered to a specific learner and learning object,
    branches on whether a matching enrollment exists, reads it back to confirm,
    and then deletes it to unenroll the learner. 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-enrollments-api-openapi.yml
      confidence: 0.88
    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
workflows:
- workflowId: unenroll-learner
  summary: Remove a learner's enrollment in a given learning object if one exists.
  description: >-
    Searches enrollments for the learner and learning object, and when a match
    is found confirms the enrollment and deletes it; otherwise ends without
    changes.
  inputs:
    type: object
    required:
    - accessToken
    - learnerId
    - learningObjectId
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 bearer access token issued via Adobe IMS.
      learnerId:
        type: string
        description: The id of the learner whose enrollment should be removed.
      learningObjectId:
        type: string
        description: The id of the learning object to unenroll the learner from.
  steps:
  - stepId: findEnrollment
    description: >-
      List enrollments filtered to the learner and learning object, returning at
      most one match, and branch on whether an enrollment exists.
    operationId: getEnrollments
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: filter.userId
      in: query
      value: $inputs.learnerId
    - name: filter.loId
      in: query
      value: $inputs.learningObjectId
    - name: page[limit]
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      enrollmentId: $response.body#/data/0/id
    onSuccess:
    - name: enrollmentFound
      type: goto
      stepId: confirmEnrollment
      criteria:
      - context: $response.body
        condition: $.data.length > 0
        type: jsonpath
    - name: enrollmentMissing
      type: end
      criteria:
      - context: $response.body
        condition: $.data.length == 0
        type: jsonpath
  - stepId: confirmEnrollment
    description: >-
      Read the matched enrollment by id to confirm it still exists before
      deleting it.
    operationId: getEnrollment
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: enrollmentId
      in: path
      value: $steps.findEnrollment.outputs.enrollmentId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      enrollmentId: $response.body#/data/id
  - stepId: removeEnrollment
    description: >-
      Delete the enrollment to unenroll the learner from the learning object
      instance.
    operationId: unenrollUser
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: enrollmentId
      in: path
      value: $steps.confirmEnrollment.outputs.enrollmentId
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      removedEnrollmentId: $steps.confirmEnrollment.outputs.enrollmentId
  outputs:
    removedEnrollmentId: $steps.removeEnrollment.outputs.removedEnrollmentId

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-unenroll-learner-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.