{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/snyk/main/json-schema/snyk-users-progress-response-schema.json", "title": "UsersProgressResponse", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/snyk-learn-progress-api-openapi.yml#/components/schemas/UsersProgressResponse", "properties": { "data": { "items": { "$ref": "#/$defs/UsersProgress" }, "type": "array" }, "jsonapi": { "$ref": "#/$defs/JsonApi" }, "links": { "$ref": "#/$defs/PaginatedLinks" } }, "required": [ "jsonapi", "links", "data" ], "type": "object", "$defs": { "CatalogRelationship": { "properties": { "data": { "properties": { "attributes": { "properties": { "cves": { "items": { "type": "string" }, "type": "array" }, "cwes": { "items": { "type": "string" }, "type": "array" }, "slug": { "type": "string" }, "title": { "type": "string" } }, "required": [ "title", "slug", "cwes", "cves" ], "type": "object" }, "id": { "type": "string" }, "type": { "enum": [ "lesson", "learning_path" ], "type": "string" } }, "required": [ "type", "id", "attributes" ], "type": "object" }, "links": { "properties": { "self": { "type": "string" } }, "required": [ "self" ], "type": "object" } }, "required": [ "links", "data" ], "type": "object" }, "JsonApi": { "additionalProperties": false, "properties": { "version": { "description": "Version of the JSON API specification this server supports.", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$", "type": "string" } }, "required": [ "version" ], "type": "object" }, "LinkProperty": { "oneOf": [ { "description": "A string containing the link’s URL.", "type": "string" }, { "additionalProperties": false, "properties": { "href": { "description": "A string containing the link’s URL.", "type": "string" }, "meta": { "additionalProperties": true, "description": "Free-form object that may contain non-standard information.", "type": "object" } }, "required": [ "href" ], "type": "object" } ] }, "PaginatedLinks": { "additionalProperties": false, "properties": { "first": { "$ref": "#/$defs/LinkProperty" }, "last": { "$ref": "#/$defs/LinkProperty" }, "next": { "$ref": "#/$defs/LinkProperty" }, "prev": { "$ref": "#/$defs/LinkProperty" }, "self": { "$ref": "#/$defs/LinkProperty" } }, "type": "object" }, "ProgressRelationships": { "properties": { "catalog": { "$ref": "#/$defs/CatalogRelationship" }, "user": { "$ref": "#/$defs/UserRelationship" } }, "required": [ "user", "catalog" ], "type": "object" }, "UserRelationship": { "properties": { "data": { "properties": { "attributes": { "properties": { "email": { "type": "string" }, "username": { "type": "string" } }, "required": [ "email", "username" ], "type": "object" }, "id": { "type": "string" }, "type": { "enum": [ "user" ], "type": "string" } }, "required": [ "type", "id", "attributes" ], "type": "object" }, "links": { "$ref": "#/$defs/PaginatedLinks" } }, "required": [ "links", "data" ], "type": "object" }, "UsersProgress": { "properties": { "attributes": { "$ref": "#/$defs/UsersProgressAttributes" }, "id": { "format": "uuid", "type": "string" }, "relationships": { "$ref": "#/$defs/ProgressRelationships" }, "type": { "enum": [ "progress" ], "type": "string" } }, "required": [ "id", "type", "attributes", "relationships" ], "type": "object" }, "UsersProgressAttributes": { "properties": { "completion_date": { "format": "date-time", "type": "string" }, "completion_history": { "items": { "format": "date-time", "type": "string" }, "type": "array" }, "is_expired": { "type": "boolean" }, "resource": { "enum": [ "learning_path", "lesson" ], "type": "string" }, "status": { "enum": [ "completed", "inProgress", "todo" ], "type": "string" } }, "required": [ "status", "resource", "completion_history" ], "type": "object" } } }