Skip to content
cursareDocs
Sign inGet started
Documentation
  • Overview
  • Index2
  • Organization17
  • Sales6
  • Insights8
  • Reports and safety7
  • Minor accounts8
  • Minor safety3
  • Offers11
  • Media1
  • Contents10
  • Learner delivery1
  • Learner runtime5
  • Learners12
  • Cohorts12
  • Intake forms5
  • Campaigns4
  • Teams8
  • Affiliates7
  • Links7
  • Reviews1
  • Integrations26
  • MCP2
  • Webhooks6

Minor safety

Minor safety operations.

3 endpoints

Create a child-safety case

POST/minor-safety/cases

Creates a child-safety case scoped to the caller's visible child or organization context.

Request body

categoryenumrequired

safetyprivacyage_errorguardian_relationshipcontent

severityenumrequired

lowmediumhighcritical

organizationIdstring | null
subjectChildUserIdstring | null
targetIdstring | null
targetTypeenum | null

contentofferorganizationaccountrelationship

Responses

201Create a child-safety case.
400Validation failed or the request body is malformed.
401Missing, invalid or revoked API key.
403The key's organization does not own this resource.
429Rate limit exceeded (240 reads/min, 60 writes/min per key).
500Unexpected server error.
curl https://api.cursare.com/v1/minor-safety/cases \
  --request POST \
  --header 'Authorization: Bearer cr_live_…' \
  --header 'Content-Type: application/json' \
  --data '{
  "category": "safety",
  "severity": "low",
  "organizationId": "string",
  "subjectChildUserId": "string",
  "targetId": "string",
  "targetType": "content"
}'
{
  "data": {
    "id": "string"
  }
}

List scoped child-safety cases

GET/minor-safety/cases

Lists child-safety cases visible to the caller, optionally filtered by child and status.

Query parameters

childUserIdstring
cursorCreatedAtdate-time
cursorIdstring
limitinteger
statusenum

opentriagedactionedclosedescalated

Responses

200List scoped child-safety cases.
400Validation failed or the request body is malformed.
401Missing, invalid or revoked API key.
403The key's organization does not own this resource.
429Rate limit exceeded (240 reads/min, 60 writes/min per key).
500Unexpected server error.
curl https://api.cursare.com/v1/minor-safety/cases \
  --header 'Authorization: Bearer cr_live_…'
{
  "data": {
    "items": [
      {
        "assignedToUserId": "string",
        "authorityReference": "string",
        "category": "safety",
        "closedAt": "2026-01-31T12:00:00.000Z",
        "createdAt": "2026-01-31T12:00:00.000Z",
        "id": "string",
        "organizationId": "string",
        "reporterUserId": "string",
        "resolutionCode": "string",
        "severity": "low",
        "status": "open",
        "subjectChildUserId": "string",
        "targetId": "string",
        "targetType": "content",
        "updatedAt": "2026-01-31T12:00:00.000Z"
      }
    ],
    "nextCursor": {
      "createdAt": "2026-01-31T12:00:00.000Z",
      "id": "string"
    }
  }
}

Triage or resolve a child-safety case

PATCH/minor-safety/cases/{id}

Updates triage and resolution fields for a child-safety case visible to the caller.

Path parameters

idstring

Safety case id.

Request body

statusenumrequired

opentriagedactionedclosedescalated

assignedToUserIdstring | null
authorityReferencestring | null
resolutionCodestring | null

Responses

200Triage or resolve a child-safety case.
400Validation failed or the request body is malformed.
401Missing, invalid or revoked API key.
403The key's organization does not own this resource.
404The resource does not exist (or belongs to another org).
429Rate limit exceeded (240 reads/min, 60 writes/min per key).
500Unexpected server error.
curl https://api.cursare.com/v1/minor-safety/cases/{id} \
  --request PATCH \
  --header 'Authorization: Bearer cr_live_…' \
  --header 'Content-Type: application/json' \
  --data '{
  "status": "open",
  "assignedToUserId": "string",
  "authorityReference": "string",
  "resolutionCode": "string"
}'
{
  "data": {
    "assignedToUserId": "string",
    "authorityReference": "string",
    "category": "safety",
    "closedAt": "2026-01-31T12:00:00.000Z",
    "createdAt": "2026-01-31T12:00:00.000Z",
    "id": "string",
    "organizationId": "string",
    "reporterUserId": "string",
    "resolutionCode": "string",
    "severity": "low",
    "status": "open",
    "subjectChildUserId": "string",
    "targetId": "string",
    "targetType": "content",
    "updatedAt": "2026-01-31T12:00:00.000Z"
  }
}

Your privacy choices

The technical Tag Manager container is required to apply your choices. Analytics and marketing cookies and storage remain optional and stay off until you authorize them. Privacy Policy.

Sign-in, security, core functions and consent enforcement.

Audience measurement such as Google Analytics.

Marketing storage, campaign attribution and optional tags.