Skip to content

Upload a media

View as Markdown
post /api/medias

Creates a Media resource.

Creates a media by uploading a file. This endpoint takes a multipart/form-data body (not JSON): send the binary in a file field. The response describes the stored media - its contentUrl, mimeType, derived type, hash and, for images, dimensions.

Request body

PropertyTypeRequiredDescription
filestring-Upload file (max size: 5M for general files, 100M for videos)

Response

201 - Media resource created

Content-Type: application/ld+json

PropertyTypeRequiredDescription
@contextstring | object-
@idstringrequired
@typestringrequired
contentUrlstring | null-The URL to fetch the uploaded file.
createdAtstring | null-
dimensionsEmbeddedImageDimensionResource | null-Image dimensions (width and height in pixels). Only present for image files.
Show dimensions fields
PropertyTypeRequiredDescription
heightintegerrequiredImage height in pixels
widthintegerrequiredImage width in pixels
hashstring | null-SHA256 hash of the file
idstring-The resource's unique identifier (UUID).
mimeTypestring | null-MIME type of the file
type"image" | "video" | "file"-Media type based on MIME type (image, video, or file)
updatedAtstring | null-

Errors

400 - Invalid input

PropertyTypeRequiredDescription
@contextstring | object-
@idstringrequired
@typestringrequired
codestring-Stable identifier of the error in the error code catalogue (see /api/error-codes). Present on catalogued errors only.
descriptionstring | null-
detailstring | null-A human-readable explanation specific to this occurrence of the problem.
instancestring | null-A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
messagestring-End-user message localized in the request locale, with this occurrence's values substituted. Present on catalogued errors only.
slugstring-Stable, readable key of the error in the error code catalogue. Present on catalogued errors only.
statusinteger | null-
titlestring | null-A short, human-readable summary of the problem. For a catalogued error it repeats the slug.
typestring-A URI reference that identifies the problem type. For a catalogued error it is the error code resource, /api/error-codes/{code}.

403 - Access denied. The caller is missing one or more permissions required for this operation.

Content-Type: application/problem+json

PropertyTypeRequiredDescription
@contextstring | object-
@idstringrequired
@typestringrequired
detailstring-
missingPermissionsstring[]-Permissions that the caller is missing for this operation. Present only when the 403 is caused by a denied permission.
statusinteger-
titlestring-
typestring-

422 - An error occurred

PropertyTypeRequiredDescription
@contextstring | object-
@idstringrequired
@typestringrequired
descriptionstring-
detailstring-
instancestring | null-
statusinteger-
titlestring | null-
typestring-
violationsobject[]-
Show violations fields
PropertyTypeRequiredDescription
codestring-The code of the violation
hintstring-An extra hint to understand the violation
messagestringrequiredThe message associated with the violation
parametersobject-Dynamic placeholder values for the violation message template (substitute into the code catalogue message).
payloadobject-The serialized payload of the violation
propertyPathstringrequiredThe property path of the violation
slugstring-Stable centralized error-code slug for this violation (see /api/error-codes).