{ "openapi": "3.0.1", "info": { "title": "Track Apprenticeship Progress API Sandbox", "description": "Share data on the progress of your apprenticeships", "version": "1" }, "servers": [ { "url": "https://api-sandbox.apprenticeships.education.gov.uk/trackprogress" } ], "paths": { "/apprenticeships/{uln}/{plannedStartDate}/progress": { "post": { "tags": [ "TrackProgress" ], "summary": "POST Record data on the progress of your apprenticeships.", "description": "Save the progress for a specific apprenticeship. This will record the progress of your KSBs for this apprenticeship. The progress of KSBs can\r\nbe updated using this endpoint and additional KSBs can be submitted.\r\n \r\nThe overall progress of this apprenticeship will be constructed from these submissions.", "operationId": "post-apprenticeships-uln-plannedstartdate-progress", "parameters": [ { "name": "uln", "in": "path", "description": "Format - int64. The unique learner number of the apprentice undertaking the apprenticeship as recorded on the Apprenticeship Service.", "required": true, "schema": { "minimum": 1.0, "type": "integer", "format": "int64" } }, { "name": "X-Version", "in": "header", "schema": { "type": "string" }, "required": true, "example": "1" }, { "name": "plannedStartDate", "in": "path", "description": "Format - date-time (as date-time in RFC3339). The planned start date of the apprenticeship (employment) as recorded on the Apprenticeship Service.", "required": true, "schema": { "type": "string", "format": "date-time" } } ], "requestBody": { "description": "The taxonomy content.Accepts an array of KSB progress percentiles.\r\n \r\n The \"id\" field must be the GUID identifier of the KSB for the apprenticeship's course.\r\n \r\n The \"value\" field must be the percentile range 0-100, denoting what percentage of the KSB has been completed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProgressDto" }, "example": { "progress": { "ksbs": [ { "id": "string", "value": 0 } ] } } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProgressDto" }, "example": { "progress": { "ksbs": [ { "id": "string", "value": 0 } ] } } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ProgressDto" }, "example": { "progress": { "ksbs": [ { "id": "string", "value": 0 } ] } } } } }, "responses": { "201": { "description": "Created", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/TrackProgressResponse" }, "examples": { "default": { "value": null } } }, "application/json": { "schema": { "$ref": "#/components/schemas/TrackProgressResponse" }, "example": { "progressId": 0 } }, "text/json": { "schema": { "$ref": "#/components/schemas/TrackProgressResponse" }, "example": { "progressId": 0 } } } }, "404": { "description": "Not Found", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" }, "examples": { "default": { "value": null } } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" }, "example": { "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" }, "example": { "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string" } } } }, "400": { "description": "Bad Request", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/ProblemDetails" }, "examples": { "default": { "value": null } } }, "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" }, "example": { "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" }, "example": { "type": "string", "title": "string", "status": 0, "detail": "string", "instance": "string" } } } } } } } }, "components": { "schemas": { "Ksb": { "type": "object", "properties": { "id": { "type": "string", "description": "The ID of the Knowledge, Skill or Behaviour that progress is being recorded for, as defined by IFATE within the IFATE public API (e.g. 0475bd24-fb07-4059-a37d-6463de10b45c).", "nullable": true }, "value": { "type": "integer", "description": "The current progress made toward completing the KSB identified by the ID. Value must be in the range of 0 to 100 as described below.\r\n \r\n0 - not started\r\n \r\n2-99 - in progress (higher number denotes more progress toward completion)\r\n \r\n100 - completed and signed off", "format": "int32", "nullable": true } }, "additionalProperties": false }, "ProblemDetails": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "status": { "type": "integer", "format": "int32", "nullable": true }, "detail": { "type": "string", "nullable": true }, "instance": { "type": "string", "nullable": true } }, "additionalProperties": {} }, "ProgressDetails": { "type": "object", "properties": { "ksbs": { "type": "array", "items": { "$ref": "#/components/schemas/Ksb" }, "nullable": true } }, "additionalProperties": false }, "ProgressDto": { "type": "object", "properties": { "progress": { "$ref": "#/components/schemas/ProgressDetails" } }, "additionalProperties": false }, "TrackProgressResponse": { "type": "object", "properties": { "progressId": { "type": "integer", "format": "int64" } }, "additionalProperties": false } }, "securitySchemes": { "apiKeyHeader": { "type": "apiKey", "name": "Ocp-Apim-Subscription-Key", "in": "header" } } }, "security": [ { "apiKeyHeader": [] } ] }