Skip to content
zublms
Documentation
Documentation/API reference
← All API operations
GETSession requiredLearning plans

Read owned or manager-scoped pathway progress

/api/v1/pathways/assignments

Use this operation within the authenticated workflow described in the relevant feature guide.

Authentication does not grant every action. Company scope, roles and current record access still apply. Protected writes require CSRF verification; company writes also require recent sign-in. Read the authentication guide.

Example request
// Run only in your authorised same-origin test application.
const csrf = document.cookie.split('; ').find(c =>
  c.startsWith('__Host-csrf='))?.slice('__Host-csrf='.length);
if (!csrf) throw new Error('Sign in again before continuing.');
const response = await fetch('/api/v1/pathways/assignments', {
  method: 'GET',
  credentials: 'same-origin',
  headers: { 'X-CSRF-Token': decodeURIComponent(csrf) },
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
// Inspect Content-Type before reading JSON, text or a download.
// A 204 response has no body. Handle errors using the feature guide.

Request parameters

NameLocationRequirementSchema
__Host-sessioncookieRequired{"type":"string"}
__Host-csrfcookieRequired{"type":"string"}
X-CSRF-TokenheaderRequired{"type":"string"}
OriginheaderRequired{"type":"string"}

Responses

200 OK
{
  "Cache-Control": {
    "schema": {
      "type": "string"
    }
  }
}

application/json

Schema: PlanAssignmentsView

$schema string · optional
A URL to the JSON Schema for this object.
items array | null · required
See the definition for constraints and nested fields.
limited boolean · required
See the definition for constraints and nested fields.
Complete schema definition
{
  "additionalProperties": false,
  "properties": {
    "$schema": {
      "description": "A URL to the JSON Schema for this object.",
      "examples": [
        "https://example.com/schemas/PlanAssignmentsView.json"
      ],
      "format": "uri",
      "readOnly": true,
      "type": "string"
    },
    "items": {
      "items": {
        "$ref": "#/components/schemas/PlanAssignment"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "limited": {
      "type": "boolean"
    }
  },
  "required": [
    "items",
    "limited"
  ],
  "type": "object"
}
default Error

application/problem+json

Schema: ErrorModel

$schema string · optional
A URL to the JSON Schema for this object.
detail string · optional
A human-readable explanation specific to this occurrence of the problem.
errors array | null · optional
Optional list of individual error details
instance string · optional
A URI reference that identifies the specific occurrence of the problem.
status integer · optional
HTTP status code
title string · optional
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
type string · optional
A URI reference to human-readable documentation for the error.
Complete schema definition
{
  "additionalProperties": false,
  "properties": {
    "$schema": {
      "description": "A URL to the JSON Schema for this object.",
      "examples": [
        "https://example.com/schemas/ErrorModel.json"
      ],
      "format": "uri",
      "readOnly": true,
      "type": "string"
    },
    "detail": {
      "description": "A human-readable explanation specific to this occurrence of the problem.",
      "examples": [
        "Property foo is required but is missing."
      ],
      "type": "string"
    },
    "errors": {
      "description": "Optional list of individual error details",
      "items": {
        "$ref": "#/components/schemas/ErrorDetail"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "instance": {
      "description": "A URI reference that identifies the specific occurrence of the problem.",
      "examples": [
        "https://example.com/error-log/abc123"
      ],
      "format": "uri",
      "type": "string"
    },
    "status": {
      "description": "HTTP status code",
      "examples": [
        400
      ],
      "format": "int64",
      "type": "integer"
    },
    "title": {
      "description": "A short, human-readable summary of the problem type. This value should not change between occurrences of the error.",
      "examples": [
        "Bad Request"
      ],
      "type": "string"
    },
    "type": {
      "default": "about:blank",
      "description": "A URI reference to human-readable documentation for the error.",
      "examples": [
        "https://example.com/errors/example"
      ],
      "format": "uri",
      "type": "string"
    }
  },
  "type": "object"
}

The default error response can cover several status codes. Read error handling and retry guidance.

Referenced schemas

Expand a named definition to inspect nested fields and references. The download contains the complete OpenAPI document.

ErrorDetail
{
  "additionalProperties": false,
  "properties": {
    "location": {
      "description": "Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'",
      "type": "string"
    },
    "message": {
      "description": "Error message text",
      "type": "string"
    },
    "value": {
      "description": "The value at the given location"
    }
  },
  "type": "object"
}
ErrorModel
{
  "additionalProperties": false,
  "properties": {
    "$schema": {
      "description": "A URL to the JSON Schema for this object.",
      "examples": [
        "https://example.com/schemas/ErrorModel.json"
      ],
      "format": "uri",
      "readOnly": true,
      "type": "string"
    },
    "detail": {
      "description": "A human-readable explanation specific to this occurrence of the problem.",
      "examples": [
        "Property foo is required but is missing."
      ],
      "type": "string"
    },
    "errors": {
      "description": "Optional list of individual error details",
      "items": {
        "$ref": "#/components/schemas/ErrorDetail"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "instance": {
      "description": "A URI reference that identifies the specific occurrence of the problem.",
      "examples": [
        "https://example.com/error-log/abc123"
      ],
      "format": "uri",
      "type": "string"
    },
    "status": {
      "description": "HTTP status code",
      "examples": [
        400
      ],
      "format": "int64",
      "type": "integer"
    },
    "title": {
      "description": "A short, human-readable summary of the problem type. This value should not change between occurrences of the error.",
      "examples": [
        "Bad Request"
      ],
      "type": "string"
    },
    "type": {
      "default": "about:blank",
      "description": "A URI reference to human-readable documentation for the error.",
      "examples": [
        "https://example.com/errors/example"
      ],
      "format": "uri",
      "type": "string"
    }
  },
  "type": "object"
}
PlanAssignment
{
  "additionalProperties": false,
  "properties": {
    "assignedAt": {
      "type": "string"
    },
    "canCancel": {
      "type": "boolean"
    },
    "completed": {
      "format": "int64",
      "type": "integer"
    },
    "dueAt": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "pathwayId": {
      "type": "string"
    },
    "progress": {
      "format": "int64",
      "type": "integer"
    },
    "required": {
      "format": "int64",
      "type": "integer"
    },
    "stages": {
      "items": {
        "$ref": "#/components/schemas/PlanStageProgress"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "state": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "userId": {
      "type": "string"
    },
    "userName": {
      "type": "string"
    },
    "version": {
      "format": "int64",
      "type": "integer"
    },
    "versionId": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "pathwayId",
    "versionId",
    "version",
    "title",
    "userId",
    "userName",
    "assignedAt",
    "dueAt",
    "state",
    "required",
    "completed",
    "progress",
    "stages",
    "canCancel"
  ],
  "type": "object"
}
PlanAssignmentsView
{
  "additionalProperties": false,
  "properties": {
    "$schema": {
      "description": "A URL to the JSON Schema for this object.",
      "examples": [
        "https://example.com/schemas/PlanAssignmentsView.json"
      ],
      "format": "uri",
      "readOnly": true,
      "type": "string"
    },
    "items": {
      "items": {
        "$ref": "#/components/schemas/PlanAssignment"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "limited": {
      "type": "boolean"
    }
  },
  "required": [
    "items",
    "limited"
  ],
  "type": "object"
}
PlanCourseProgress
{
  "additionalProperties": false,
  "properties": {
    "credited": {
      "type": "boolean"
    },
    "enrolmentId": {
      "type": "string"
    },
    "id": {
      "format": "uuid",
      "type": "string"
    },
    "required": {
      "type": "boolean"
    },
    "state": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "versionId": {
      "type": "string"
    }
  },
  "required": [
    "state",
    "enrolmentId",
    "credited",
    "id",
    "title",
    "versionId",
    "required"
  ],
  "type": "object"
}
PlanStageProgress
{
  "additionalProperties": false,
  "properties": {
    "courses": {
      "items": {
        "$ref": "#/components/schemas/PlanCourseProgress"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "dueAt": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "title": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "title",
    "dueAt",
    "state",
    "courses"
  ],
  "type": "object"
}

Operation ID: learning-pathwayassignments · Contract 0.0.0-dev

Documentation reviewed 3 November 2026 · Current implementation snapshot

Need account help? Contact your company administrator. Planning a rollout? Talk to us.