Easy2257
ApiSolo accounts

Confirm Compliance Copy

POST /api/v1/solo-accounts/{accountId}/content/{externalContentId}/compliance-copy: confirm the uploaded copy of a depiction.

Order of operations. POST .../content with complianceCopy declared, PUT the file to the returned URL, then this call. A 409 NOT_UPLOADED means the PUT has not landed; SIZE_MISMATCH or TYPE_MISMATCH means the object differed from the declaration and was discarded. Idempotent: confirming a stored copy returns the recorded digest.

POST
/api/v1/solo-accounts/{accountId}/content/{externalContentId}/compliance-copy

Authorization

BearerAuth
AuthorizationBearer <token>

Partner API key from partner.easy2257.com/api-keys. Only ez_live_ keys are accepted. A key beginning with ez_test_ is rejected with 403 and code TEST_MODE_UNAVAILABLE before any handler runs: there is no sandbox, and every handler writes production records, provisions real users, and sends real email. New partner accounts start with a test key, so create a live key before your first call.

In: header

Path Parameters

accountId*string
externalContentId*string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://easy2257.com/api/v1/solo-accounts/cmd4k2x9p0001qz8h3v7ftg2a/content/video_abc123/compliance-copy"
{
  "depictionId": "cmd4k7b2r0004qz8h0m2c8t1v",
  "contentLogId": "cmd4k7b2r0003qz8hd1n5wq9e",
  "complianceCopy": {
    "state": "stored",
    "sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
    "bytes": 48213377,
    "mimeType": "video/mp4",
    "storedAt": "2026-08-21T18:04:11Z"
  }
}
{
  "error": "The compliance copy has not been uploaded yet. PUT the file to the upload URL, then confirm.",
  "code": "NOT_UPLOADED",
  "complianceCopyUpload": {
    "url": "http://example.com",
    "method": "PUT",
    "headers": {
      "Content-Type": "video/mp4"
    },
    "expiresAt": "2026-08-21T18:15:00Z",
    "maxBytes": 48213377
  }
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}
{
  "error": "The compliance copy has not been uploaded yet. PUT the file to the upload URL, then confirm.",
  "code": "NOT_UPLOADED",
  "complianceCopyUpload": {
    "url": "http://example.com",
    "method": "PUT",
    "headers": {
      "Content-Type": "video/mp4"
    },
    "expiresAt": "2026-08-21T18:15:00Z",
    "maxBytes": 48213377
  }
}
{
  "error": "Too many requests. Please slow down.",
  "retryAfter": 14,
  "limit": 60,
  "remaining": 0,
  "reset": 1714000060000
}
{
  "error": "email, externalUserId, and callbackUrl are required",
  "code": "missing_parameter",
  "field": "contentType"
}