Media Object Rejected Payload
Emitted when a pending media object cannot be processed (pending -> rejected). Its uploaded file is removed; an owning service holding a reference should drop it.
| $id | https://schemas.texecom-prod.com/v2/events/payload/service/media/object/rejected/v1.0.0.json |
| $schema | http://json-schema.org/draft-07/schema |
Properties
mediaId
| Description |
UUID of the media object (media.objects.id). Also the envelope's sourceDetails[0].guid. |
| Type | String |
| Required |
Yes |
| Format |
uuid |
ownerAccountId
| Description |
UUID of the identity account that owns the object (media.objects.owner_account_id). |
| Type | String |
| Required |
Yes |
| Format |
uuid |
kind
| Description |
Media kind (media.objects.kind), e.g. avatar. Kinds are media-service configuration, so a new kind is not a schema change. |
| Type | String |
| Required |
Yes |
| Min Length |
1 |
reason
| Description |
Why the object was rejected. unsupported_type: the bytes are not an allowed image type for the kind. too_large: over the kind's size limit. empty: a zero-byte upload. undecodable: the image could not be decoded. upload_not_received: no upload arrived before the presigned POST expired, or S3 refused it against the POST policy (over the size limit, wrong Content-Type), which produces no S3 event; rejected by media-service's reaper. An oversize upload therefore usually surfaces as upload_not_received, not too_large. |
| Type | String |
| Required |
Yes |
| Enum |
- unsupported_type
- too_large
- empty
- undecodable
- upload_not_received
|
Schema
{
"$id": "https://schemas.texecom-prod.com/v2/events/payload/service/media/object/rejected/v1.0.0.json",
"$schema": "http://json-schema.org/draft-07/schema",
"title": "Media Object Rejected Payload",
"description": "Emitted when a pending media object cannot be processed (pending -> rejected). Its uploaded file is removed; an owning service holding a reference should drop it.",
"type": "object",
"properties": {
"mediaId": {
"description": "UUID of the media object (media.objects.id). Also the envelope's sourceDetails[0].guid.",
"type": "string",
"format": "uuid"
},
"ownerAccountId": {
"description": "UUID of the identity account that owns the object (media.objects.owner_account_id).",
"type": "string",
"format": "uuid"
},
"kind": {
"description": "Media kind (media.objects.kind), e.g. avatar. Kinds are media-service configuration, so a new kind is not a schema change.",
"type": "string",
"minLength": 1
},
"reason": {
"description": "Why the object was rejected. unsupported_type: the bytes are not an allowed image type for the kind. too_large: over the kind's size limit. empty: a zero-byte upload. undecodable: the image could not be decoded. upload_not_received: no upload arrived before the presigned POST expired, or S3 refused it against the POST policy (over the size limit, wrong Content-Type), which produces no S3 event; rejected by media-service's reaper. An oversize upload therefore usually surfaces as upload_not_received, not too_large.",
"type": "string",
"enum": [
"unsupported_type",
"too_large",
"empty",
"undecodable",
"upload_not_received"
]
}
},
"required": [
"mediaId",
"ownerAccountId",
"kind",
"reason"
],
"additionalProperties": false
}