Educational Contents

POST /educational-contents

Create an educational content. Requires educational-contents.create permission.

Query parameters

Name Type Required Description
fields[] string[] no Select which fields to include in the response. When omitted, all fields are returned. When provided, only the specified fields are included. (e.g., ?fields[]=id&fields[]=title) One of: active, body, canonicalId, completionStrategy, confirmedAt, coverImagePath, createdAt, id, intervalDays, isCurrent, isFeatured, status, title, updatedAt, version, video.
with[] string[] no Include related resources in the response. Pass multiple values as separate query parameters (e.g., ?with[]=createdBy&with[]=updatedBy). One of: confirmedBy, createdBy, safetyRequirements, updatedBy.

Request body

Required.

application/json

  • active boolean
  • isFeatured boolean
  • body string
  • completionStrategy string
  • intervalDays integer
  • minimumWatchPercentage integer
  • status string
  • title string · required
  • videoProvider string
  • videoUrl string
{
    "active": true,
    "isFeatured": false,
    "body": "Rich text content describing safety procedures...",
    "completionStrategy": "every_time",
    "intervalDays": 30,
    "minimumWatchPercentage": 90,
    "status": "draft",
    "title": "Introduction to Workplace Safety",
    "videoProvider": "youtube",
    "videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
}

Responses

Status Description
201 A json object describing the newly created educational content
400 The request was rejected
403 The requesting user lacks appropriate permissions
422 Validation errors

Response 201 body

  • data object · required — When fields[] is not provided, all properties are returned. When fields[] is provided, only the requested properties are included.
  • meta object · required
{
    "data": {
        "id": "019222d4-1d93-7d47-a3c4-b547e009a0f7",
        "active": true,
        "body": "Rich text content describing safety procedures...",
        "canonicalId": "019222d4-1d93-7d47-a3c4-b547e009a0f7",
        "completionStrategy": "every_time",
        "confirmedAt": "string",
        "confirmedBy": {
            "id": "019222d9-d87d-7724-bba6-ba91503ea311",
            "firstName": "John",
            "lastName": "Doe"
        },
        "coverImagePath": "/storage/covers/image.jpg",
        "createdAt": "2024-06-30T19:00:00Z",
        "createdBy": {
            "id": "019222d9-d87d-7724-bba6-ba91503ea311",
            "firstName": "John",
            "lastName": "Doe"
        },
        "intervalDays": 30,
        "isCurrent": true,
        "isFeatured": false,
        "safetyRequirements": [
            {
                "id": "string",
                "name": "string"
            }
        ],
        "status": "draft",
        "title": "Introduction to Workplace Safety",
        "updatedAt": "2024-06-30T19:00:00Z",
        "updatedBy": {
            "id": "019222d9-d87d-7724-bba6-ba91503ea311",
            "firstName": "John",
            "lastName": "Doe"
        },
        "version": 1,
        "video": {
            "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
            "provider": "youtube",
            "minimumWatchPercentage": 90
        }
    },
    "meta": {
        "requestId": "019a3a60-6328-7075-8a41-76ff545ca5d3",
        "userId": "019a3a60-929c-7820-9b35-bf79a8bf83a6",
        "organizationId": "019a3a60-8175-7a68-88da-ecb4a7040b86"
    }
}