Zywave Course API

The Course API from Zywave — 2 operation(s) for course.

Operations 2

GET /v3/clientEngagement/v1.0/org/{organizationId}/agency/{agencyId}/course/{id} Retrieves a course by its unique identifier #
GET /v3/clientEngagement/v1.0/org/{organizationId}/agency/{agencyId}/course Retrieves a paginated list of courses for the specified organization and agency #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-account-contact-info-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-account-info-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-account-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-account-contact-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-paged-result-of-account-external-reference-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-paged-result-of-account-contact-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-account-contact-driver-info-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-paged-result-of-account-contact-driver-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-agency-user-info-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-agency-user-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-paged-result-of-agency-user-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-agency-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-agency-collection-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-activity-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-carrier-contact-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-commission-schedule-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-broker-contact-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-plan-rate-metadata-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-file-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-paged-result-of-carrier-company-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-paged-result-of-carrier-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-carrier-company-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-carrier-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-invite-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-employee-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-tool-package-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-employee-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-tool-package-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-paged-result-of-employee-group-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-paged-result-of-company-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-loss-event-details-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-company-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-program-assessment-search-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-loss-event-data-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-rpm-data-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-download-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-paged-result-of-content-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-content-aggregation-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-content-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-recommended-content-info-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-file-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-welfare-summary-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-commercial-details-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-commercial-summary-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-company-contacts-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-company-details-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-paged-result-of-feature-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-paged-result-of-license-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-feature-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-license-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-feature-license-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-user-principal-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-paged-result-of-user-principal-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-quote-info-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-refresh-quote-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-plan-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-search-result-of-quoted-plan-with-member-rates-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-search-result-of-coverage-group-quoted-plan-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-search-result-of-plan-with-rates-schema.json
📊
JSONSchema
https://artifacts.apis.io/zywave/json-schema/zywave-policy-info-schema.json

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/zywave:zywave-course-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.

OpenAPI Specification

zywave-course-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Client Engagement API v1.0 Course API
  version: v1.0
servers:
- url: https://api.zywave.com
tags:
- name: Course
paths:
  /v3/clientEngagement/v1.0/org/{organizationId}/agency/{agencyId}/course/{id}:
    get:
      tags:
      - Course
      summary: Retrieves a course by its unique identifier
      description: 'Sample request:


        GET /v3/clientEngagement/v1.0/org/11111111-1111-1111-1111-111111111111/agency/123/course/11111111-1111-1111-1111-111111111111'
      operationId: Course_GetCourse
      parameters:
      - name: id
        in: path
        required: true
        description: The unique identifier of the course.
        schema:
          type: string
          format: guid
        x-position: 1
      - name: organizationId
        in: path
        required: true
        description: The organization ID associated with the course.
        schema:
          type: string
          format: guid
        x-position: 2
      - name: agencyId
        in: path
        required: true
        description: The agency ID associated with the course.
        schema:
          type: integer
          format: int32
        x-position: 3
      responses:
        '200':
          description: Returns the course.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Course'
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Course not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /v3/clientEngagement/v1.0/org/{organizationId}/agency/{agencyId}/course:
    get:
      tags:
      - Course
      summary: Retrieves a paginated list of courses for the specified organization and agency
      description: 'Sample request:


        GET /v3/clientEngagement/v1.0/org/11111111-1111-1111-1111-111111111111/agency/123/course'
      operationId: Course_GetCourses
      parameters:
      - name: organizationId
        in: path
        required: true
        description: The organization ID associated with the courses.
        schema:
          type: string
          format: guid
        x-position: 1
      - name: agencyId
        in: path
        required: true
        description: The agency ID associated with the courses.
        schema:
          type: integer
          format: int32
        x-position: 2
      - name: $filter
        x-originalName: filter
        in: query
        description: OData filter expression.
        schema:
          type:
          - string
          - 'null'
        x-position: 3
      - name: $orderBy
        x-originalName: orderBy
        in: query
        description: OData orderBy expression.
        schema:
          type:
          - string
          - 'null'
        x-position: 4
      - name: $skip
        x-originalName: skip
        in: query
        description: Number of records to skip for pagination.
        schema:
          type: integer
          format: int32
          default: 0
        x-position: 5
      - name: $top
        x-originalName: top
        in: query
        description: Maximum number of records to return.
        schema:
          type: integer
          format: int32
          default: 0
        x-position: 6
      - name: includeReadOnly
        in: query
        description: Include read only courses.
        schema:
          type: boolean
          default: true
        x-position: 7
      responses:
        '200':
          description: Returns a paginated list of courses.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedResultOfCourse'
        '400':
          description: Invalid query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    ProblemDetails:
      type: object
      additionalProperties: {}
      properties:
        type:
          type:
          - string
          - 'null'
        title:
          type:
          - string
          - 'null'
        status:
          type:
          - integer
          - 'null'
          format: int32
        detail:
          type:
          - string
          - 'null'
        instance:
          type:
          - string
          - 'null'
    CourseContentType:
      type: string
      description: ''
      x-enumNames:
      - SCORM
      - AICC
      - XAPI
      - CMI5
      - PDF
      - MP4
      - MP3
      - YouTube
      enum:
      - SCORM
      - AICC
      - XAPI
      - CMI5
      - PDF
      - MP4
      - MP3
      - YouTube
    PagedResultOfCourse:
      type: object
      description: A page of results from a larger result set, along with paging metadata.
      additionalProperties: false
      required:
      - items
      properties:
        hasMoreResults:
          type: boolean
          description: A value indicating whether the larger result set has more results.
        skip:
          type: integer
          description: A value indicating how many of the previous values in the larger result set were omitted.
          format: int32
          maximum: 2147483647
          minimum: 0
        take:
          type: integer
          description: The number of records retrieved from the larger result set.
          format: int32
          maximum: 2147483647
          minimum: 0
        totalCount:
          type: integer
          description: The total number of records in the larger result set.
          format: int32
          maximum: 2147483647
          minimum: 0
        items:
          type: array
          description: The records retrieved from the larger result set.
          items:
            $ref: '#/components/schemas/Course'
    Course:
      allOf:
      - $ref: '#/components/schemas/CourseCreateInfo'
      - type: object
        additionalProperties: false
        required:
        - id
        - isReadOnly
        properties:
          id:
            type: string
            format: guid
          isReadOnly:
            type: boolean
          isProcessing:
            type: boolean
          categories:
            type: array
            items:
              type: string
          createdDateTime:
            type:
            - string
            - 'null'
            format: date-time
          createdUserPrincipalId:
            type:
            - string
            - 'null'
            format: guid
          updatedDateTime:
            type:
            - string
            - 'null'
            format: date-time
          updatedUserPrincipalId:
            type:
            - string
            - 'null'
            format: guid
    CourseAudience:
      type: string
      description: ''
      x-enumNames:
      - Employees
      - Managers
      enum:
      - Employees
      - Managers
    CourseCreateInfo:
      allOf:
      - $ref: '#/components/schemas/CourseUpdateInfo'
      - type: object
        additionalProperties: false
        properties:
          accountId:
            type:
            - integer
            - 'null'
            format: int32
    ValidationProblemDetails:
      allOf:
      - $ref: '#/components/schemas/HttpValidationProblemDetails'
      - type: object
        additionalProperties: {}
        properties:
          errors:
            type: object
            additionalProperties:
              type: array
              items:
                type: string
    CourseUpdateInfo:
      type: object
      additionalProperties: false
      required:
      - name
      - language
      properties:
        name:
          type: string
          maxLength: 255
          minLength: 1
        hasClosedCaptions:
          type: boolean
        language:
          type: string
          maxLength: 10
          minLength: 1
        audience:
          oneOf:
          - $ref: '#/components/schemas/CourseAudience'
        description:
          type:
          - string
          - 'null'
          maxLength: 1000
        durationInMinutes:
          type:
          - integer
          - 'null'
          format: int32
        categoryIds:
          type:
          - array
          - 'null'
          items:
            type: integer
            format: int32
        contentType:
          oneOf:
          - $ref: '#/components/schemas/CourseContentType'
    HttpValidationProblemDetails:
      allOf:
      - $ref: '#/components/schemas/ProblemDetails'
      - type: object
        additionalProperties: {}
        properties:
          errors:
            type: object
            additionalProperties:
              type: array
              items:
                type: string