Skip to content

Apiera REST API (1.1.0)

The Apiera REST API provides programmatic access to the Apiera platform, enabling seamless integration with your existing systems and workflows.

Download OpenAPI description
Languages
Servers
Mock server
https://docs.apiera.io/_mock/openapi
Production
https://api.apiera.io

Asset Collections

An asset collection links an asset to a collection, enabling assets to be organized into flexible groupings.

Operations

Assets

An asset represents a managed file such as an image, video, or document. Each asset tracks its category, storage location, and descriptive metadata.

Operations

List assets

Request

Retrieves a paginated list of assets.

Security
Bearer
Query
uuids[eq]Array of strings(uuid)
statuses[eq]Array of strings(AssetStatus)
Items Enum ValueDescription
draft

The initial state of the asset.

published

The asset is visible to consumers.

unpublished

The asset is no longer visible to consumers.

archived

The asset is archived and no longer in active use.

removed

The asset has been soft-deleted.

status[order]string
categories[eq]Array of strings(AssetCategory)
Items Enum ValueDescription
image

Static visual content such as photos, illustrations, or graphics.

video

Moving visual content such as clips, animations, or recordings.

audio

Sound content such as music, voiceovers, or sound effects.

document

Text-based content such as PDFs, manuals, or specifications.

design

Source design files such as PSD, AI, or Sketch files.

archive

Compressed file bundles such as ZIP or RAR archives.

data

Structured data files such as CSV, JSON, or XML.

category[order]string
storageLocations[eq]Array of strings(StorageLocation)
Items ValueDescription
s3

Amazon S3 object storage.

collectionUuids[eq]Array of strings(uuid)
names[eq]Array of strings
name[contains]string
name[starts]string
name[ends]string
name[order]string
createdAt[eq]string(date-time)
Example: createdAt[eq]=2025-11-23T14:15:22.123456Z
createdAt[min]string(date-time)
Example: createdAt[min]=2025-11-23T14:15:22.123456Z
createdAt[max]string(date-time)
Example: createdAt[max]=2025-11-23T14:15:22.123456Z
createdAt[order]string
updatedAt[eq]string(date-time)
Example: updatedAt[eq]=2025-11-23T14:15:22.123456Z
updatedAt[min]string(date-time)
Example: updatedAt[min]=2025-11-23T14:15:22.123456Z
updatedAt[max]string(date-time)
Example: updatedAt[max]=2025-11-23T14:15:22.123456Z
updatedAt[order]string
isArchived[eq]boolean
isRemoved[eq]boolean
pageinteger(int32)
sizeinteger(int32)
include[metadata]boolean
expand[metadata]boolean
include[files]boolean
expand[files]boolean
curl -i -X GET \
  'https://docs.apiera.io/_mock/openapi/v1/assets?uuids%5Beq%5D=497f6eca-6276-4993-bfeb-53cbbbba6f08&statuses%5Beq%5D=draft&status%5Border%5D=string&categories%5Beq%5D=image&category%5Border%5D=string&storageLocations%5Beq%5D=s3&collectionUuids%5Beq%5D=497f6eca-6276-4993-bfeb-53cbbbba6f08&names%5Beq%5D=string&name%5Bcontains%5D=string&name%5Bstarts%5D=string&name%5Bends%5D=string&name%5Border%5D=string&createdAt%5Beq%5D=2025-11-23T14%3A15%3A22.123456Z&createdAt%5Bmin%5D=2025-11-23T14%3A15%3A22.123456Z&createdAt%5Bmax%5D=2025-11-23T14%3A15%3A22.123456Z&createdAt%5Border%5D=string&updatedAt%5Beq%5D=2025-11-23T14%3A15%3A22.123456Z&updatedAt%5Bmin%5D=2025-11-23T14%3A15%3A22.123456Z&updatedAt%5Bmax%5D=2025-11-23T14%3A15%3A22.123456Z&updatedAt%5Border%5D=string&isArchived%5Beq%5D=true&isRemoved%5Beq%5D=true&page=0&size=0&include%5Bmetadata%5D=true&expand%5Bmetadata%5D=true&include%5Bfiles%5D=true&expand%5Bfiles%5D=true' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

A paginated list of assets.

Bodyapplication/json
itemsArray of objects(AssetHydratedResponse)required
items[].​uuidstring(uuid)required

Unique identifier for this asset.

items[].​createdAtstring(date-time)required

Timestamp when this asset was created.

Example: "2025-11-23T14:15:22.123456Z"
items[].​updatedAtstring(date-time)required

Timestamp when this asset was last modified.

Example: "2025-11-23T14:15:22.123456Z"
items[].​removedAtstring or null(date-time)

Timestamp when this asset was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
items[].​archivedAtstring or null(date-time)

Timestamp when this asset was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
items[].​statusstring(AssetStatus)required

Lifecycle status of an asset.

Enum ValueDescription
draft

The initial state of the asset.

published

The asset is visible to consumers.

unpublished

The asset is no longer visible to consumers.

archived

The asset is archived and no longer in active use.

removed

The asset has been soft-deleted.

items[].​categorystring(AssetCategory)required

Content category classification for an asset.

Enum ValueDescription
image

Static visual content such as photos, illustrations, or graphics.

video

Moving visual content such as clips, animations, or recordings.

audio

Sound content such as music, voiceovers, or sound effects.

document

Text-based content such as PDFs, manuals, or specifications.

design

Source design files such as PSD, AI, or Sketch files.

archive

Compressed file bundles such as ZIP or RAR archives.

data

Structured data files such as CSV, JSON, or XML.

items[].​storageLocationstring(StorageLocation)required

Storage backend where asset files are stored.

ValueDescription
s3

Amazon S3 object storage.

items[].​namestring or null

Display name for this asset.

items[].​descriptionstring or null

Optional detailed description for this asset.

items[].​altTextstring or null

Alternative text for accessibility and SEO purposes.

items[].​fileUuidsArray of strings or null(uuid)

Collection of file UUIDs associated with this asset. Populated when include[files]=true.

items[].​filesArray of objects or null(FileResponse)

Collection of expanded file objects. Populated when expand[files]=true.

paginationobject(PaginationResult)required
pagination.​pageinteger(int32)required
pagination.​sizeinteger(int32)required
pagination.​totalItemsinteger(int32)required
pagination.​totalPagesinteger(int32)required
Response
application/json
{ "items": [ { … } ], "pagination": { "page": 0, "size": 0, "totalItems": 0, "totalPages": 0 } }

Create an asset

Request

Creates a new asset. The asset is created in draft status.

Security
Bearer
Bodyapplication/jsonrequired
categorystring(AssetCategory)required

Content category classification for an asset.

Enum ValueDescription
image

Static visual content such as photos, illustrations, or graphics.

video

Moving visual content such as clips, animations, or recordings.

audio

Sound content such as music, voiceovers, or sound effects.

document

Text-based content such as PDFs, manuals, or specifications.

design

Source design files such as PSD, AI, or Sketch files.

archive

Compressed file bundles such as ZIP or RAR archives.

data

Structured data files such as CSV, JSON, or XML.

storageLocationstring(StorageLocation)required

Storage backend where asset files are stored.

ValueDescription
s3

Amazon S3 object storage.

namestring or null[ 1 .. 255 ] characters

Display name for the new asset.

descriptionstring or null<= 1000 characters

Optional detailed description for the new asset.

altTextstring or null<= 500 characters

Optional alternative text for accessibility and SEO purposes.

curl -i -X POST \
  https://docs.apiera.io/_mock/openapi/v1/assets \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "category": "image",
    "storageLocation": "s3",
    "name": "string",
    "description": "string",
    "altText": "string"
  }'

Responses

The created asset.

Bodyapplication/json
uuidstring(uuid)required

Unique identifier for this asset.

createdAtstring(date-time)required

Timestamp when this asset was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this asset was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this asset was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this asset was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(AssetStatus)required

Lifecycle status of an asset.

Enum ValueDescription
draft

The initial state of the asset.

published

The asset is visible to consumers.

unpublished

The asset is no longer visible to consumers.

archived

The asset is archived and no longer in active use.

removed

The asset has been soft-deleted.

categorystring(AssetCategory)required

Content category classification for an asset.

Enum ValueDescription
image

Static visual content such as photos, illustrations, or graphics.

video

Moving visual content such as clips, animations, or recordings.

audio

Sound content such as music, voiceovers, or sound effects.

document

Text-based content such as PDFs, manuals, or specifications.

design

Source design files such as PSD, AI, or Sketch files.

archive

Compressed file bundles such as ZIP or RAR archives.

data

Structured data files such as CSV, JSON, or XML.

storageLocationstring(StorageLocation)required

Storage backend where asset files are stored.

ValueDescription
s3

Amazon S3 object storage.

namestring or null

Display name for this asset.

descriptionstring or null

Optional detailed description for this asset.

altTextstring or null

Alternative text for accessibility and SEO purposes.

Response
application/json
{ "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "createdAt": "2025-01-15T10:30:00.000000Z", "updatedAt": "2025-01-15T10:30:00.000000Z", "status": "draft", "category": "image", "storageLocation": "s3", "name": "product-hero", "description": "Hero image for the product listing page.", "altText": "A red sneaker on a white background." }

Get an asset

Request

Retrieves a single asset by its unique identifier.

Security
Bearer
Path
assetUuidstring(uuid)required

The unique identifier of the asset.

Query
include[metadata]boolean
expand[metadata]boolean
include[files]boolean
expand[files]boolean
curl -i -X GET \
  'https://docs.apiera.io/_mock/openapi/v1/assets/{assetUuid}?include%5Bmetadata%5D=true&expand%5Bmetadata%5D=true&include%5Bfiles%5D=true&expand%5Bfiles%5D=true' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The requested asset.

Bodyapplication/json
uuidstring(uuid)required

Unique identifier for this asset.

createdAtstring(date-time)required

Timestamp when this asset was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this asset was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this asset was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this asset was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(AssetStatus)required

Lifecycle status of an asset.

Enum ValueDescription
draft

The initial state of the asset.

published

The asset is visible to consumers.

unpublished

The asset is no longer visible to consumers.

archived

The asset is archived and no longer in active use.

removed

The asset has been soft-deleted.

categorystring(AssetCategory)required

Content category classification for an asset.

Enum ValueDescription
image

Static visual content such as photos, illustrations, or graphics.

video

Moving visual content such as clips, animations, or recordings.

audio

Sound content such as music, voiceovers, or sound effects.

document

Text-based content such as PDFs, manuals, or specifications.

design

Source design files such as PSD, AI, or Sketch files.

archive

Compressed file bundles such as ZIP or RAR archives.

data

Structured data files such as CSV, JSON, or XML.

storageLocationstring(StorageLocation)required

Storage backend where asset files are stored.

ValueDescription
s3

Amazon S3 object storage.

namestring or null

Display name for this asset.

descriptionstring or null

Optional detailed description for this asset.

altTextstring or null

Alternative text for accessibility and SEO purposes.

fileUuidsArray of strings or null(uuid)

Collection of file UUIDs associated with this asset. Populated when include[files]=true.

filesArray of objects or null(FileResponse)

Collection of expanded file objects. Populated when expand[files]=true.

Response
application/json
{ "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "createdAt": "2025-01-15T10:30:00.000000Z", "updatedAt": "2025-01-15T10:30:00.000000Z", "status": "draft", "category": "image", "storageLocation": "s3", "name": "product-hero", "description": "Hero image for the product listing page.", "altText": "A red sneaker on a white background." }

Update an asset

Request

Updates an existing asset.

Security
Bearer
Path
assetUuidstring(uuid)required

The unique identifier of the asset to update.

Bodyapplication/jsonrequired
namestring or null[ 1 .. 255 ] characters

Updated display name for the asset.

descriptionstring or null<= 1000 characters

Updated detailed description for the asset.

altTextstring or null<= 500 characters

Updated alternative text for the asset.

curl -i -X PATCH \
  'https://docs.apiera.io/_mock/openapi/v1/assets/{assetUuid}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "description": "string",
    "altText": "string"
  }'

Responses

The updated asset.

Bodyapplication/json
uuidstring(uuid)required

Unique identifier for this asset.

createdAtstring(date-time)required

Timestamp when this asset was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this asset was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this asset was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this asset was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(AssetStatus)required

Lifecycle status of an asset.

Enum ValueDescription
draft

The initial state of the asset.

published

The asset is visible to consumers.

unpublished

The asset is no longer visible to consumers.

archived

The asset is archived and no longer in active use.

removed

The asset has been soft-deleted.

categorystring(AssetCategory)required

Content category classification for an asset.

Enum ValueDescription
image

Static visual content such as photos, illustrations, or graphics.

video

Moving visual content such as clips, animations, or recordings.

audio

Sound content such as music, voiceovers, or sound effects.

document

Text-based content such as PDFs, manuals, or specifications.

design

Source design files such as PSD, AI, or Sketch files.

archive

Compressed file bundles such as ZIP or RAR archives.

data

Structured data files such as CSV, JSON, or XML.

storageLocationstring(StorageLocation)required

Storage backend where asset files are stored.

ValueDescription
s3

Amazon S3 object storage.

namestring or null

Display name for this asset.

descriptionstring or null

Optional detailed description for this asset.

altTextstring or null

Alternative text for accessibility and SEO purposes.

Response
application/json
{ "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "createdAt": "2025-01-15T10:30:00.000000Z", "updatedAt": "2025-01-15T10:30:00.000000Z", "status": "draft", "category": "image", "storageLocation": "s3", "name": "product-hero", "description": "Hero image for the product listing page.", "altText": "A red sneaker on a white background." }

Delete an asset

Request

Permanently deletes an asset.

Security
Bearer
Path
assetUuidstring(uuid)required

The unique identifier of the asset to delete.

curl -i -X DELETE \
  'https://docs.apiera.io/_mock/openapi/v1/assets/{assetUuid}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The asset was successfully deleted.

Response
No content

Bulk create assets

Request

Creates multiple assets in a single operation. All assets are created in draft status.

Security
Bearer
Bodyapplication/jsonrequiredArray [
categorystring(AssetCategory)required

Content category classification for an asset.

Enum ValueDescription
image

Static visual content such as photos, illustrations, or graphics.

video

Moving visual content such as clips, animations, or recordings.

audio

Sound content such as music, voiceovers, or sound effects.

document

Text-based content such as PDFs, manuals, or specifications.

design

Source design files such as PSD, AI, or Sketch files.

archive

Compressed file bundles such as ZIP or RAR archives.

data

Structured data files such as CSV, JSON, or XML.

storageLocationstring(StorageLocation)required

Storage backend where asset files are stored.

ValueDescription
s3

Amazon S3 object storage.

namestring or null[ 1 .. 255 ] characters

Display name template for the new assets.

descriptionstring or null<= 1000 characters

Optional detailed description for the new assets.

altTextstring or null<= 500 characters

Optional alternative text for the new assets.

]
curl -i -X POST \
  https://docs.apiera.io/_mock/openapi/v1/assets/bulk \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "category": "image",
      "storageLocation": "s3",
      "name": "string",
      "description": "string",
      "altText": "string"
    }
  ]'

Responses

The created assets.

Bodyapplication/jsonArray [
uuidstring(uuid)required

Unique identifier for this asset.

createdAtstring(date-time)required

Timestamp when this asset was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this asset was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this asset was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this asset was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(AssetStatus)required

Lifecycle status of an asset.

Enum ValueDescription
draft

The initial state of the asset.

published

The asset is visible to consumers.

unpublished

The asset is no longer visible to consumers.

archived

The asset is archived and no longer in active use.

removed

The asset has been soft-deleted.

categorystring(AssetCategory)required

Content category classification for an asset.

Enum ValueDescription
image

Static visual content such as photos, illustrations, or graphics.

video

Moving visual content such as clips, animations, or recordings.

audio

Sound content such as music, voiceovers, or sound effects.

document

Text-based content such as PDFs, manuals, or specifications.

design

Source design files such as PSD, AI, or Sketch files.

archive

Compressed file bundles such as ZIP or RAR archives.

data

Structured data files such as CSV, JSON, or XML.

storageLocationstring(StorageLocation)required

Storage backend where asset files are stored.

ValueDescription
s3

Amazon S3 object storage.

namestring or null

Display name for this asset.

descriptionstring or null

Optional detailed description for this asset.

altTextstring or null

Alternative text for accessibility and SEO purposes.

]
Response
application/json
[ { "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f", "createdAt": "2025-11-23T14:15:22.123456Z", "updatedAt": "2025-11-23T14:15:22.123456Z", "removedAt": "2025-11-23T14:15:22.123456Z", "archivedAt": "2025-11-23T14:15:22.123456Z", "status": "draft", "category": "image", "storageLocation": "s3", "name": "string", "description": "string", "altText": "string" } ]

Bulk update assets

Request

Updates multiple assets in a single operation.

Security
Bearer
Bodyapplication/jsonrequiredArray [
uuidstring(uuid)required

Identifier of the asset to update.

namestring or null[ 1 .. 255 ] characters

Updated display name for the asset.

descriptionstring or null<= 1000 characters

Updated detailed description for the asset.

altTextstring or null<= 500 characters

Updated alternative text for the asset.

]
curl -i -X PATCH \
  https://docs.apiera.io/_mock/openapi/v1/assets/bulk \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
      "name": "string",
      "description": "string",
      "altText": "string"
    }
  ]'

Responses

The updated assets.

Bodyapplication/jsonArray [
uuidstring(uuid)required

Unique identifier for this asset.

createdAtstring(date-time)required

Timestamp when this asset was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this asset was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this asset was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this asset was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(AssetStatus)required

Lifecycle status of an asset.

Enum ValueDescription
draft

The initial state of the asset.

published

The asset is visible to consumers.

unpublished

The asset is no longer visible to consumers.

archived

The asset is archived and no longer in active use.

removed

The asset has been soft-deleted.

categorystring(AssetCategory)required

Content category classification for an asset.

Enum ValueDescription
image

Static visual content such as photos, illustrations, or graphics.

video

Moving visual content such as clips, animations, or recordings.

audio

Sound content such as music, voiceovers, or sound effects.

document

Text-based content such as PDFs, manuals, or specifications.

design

Source design files such as PSD, AI, or Sketch files.

archive

Compressed file bundles such as ZIP or RAR archives.

data

Structured data files such as CSV, JSON, or XML.

storageLocationstring(StorageLocation)required

Storage backend where asset files are stored.

ValueDescription
s3

Amazon S3 object storage.

namestring or null

Display name for this asset.

descriptionstring or null

Optional detailed description for this asset.

altTextstring or null

Alternative text for accessibility and SEO purposes.

]
Response
application/json
[ { "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f", "createdAt": "2025-11-23T14:15:22.123456Z", "updatedAt": "2025-11-23T14:15:22.123456Z", "removedAt": "2025-11-23T14:15:22.123456Z", "archivedAt": "2025-11-23T14:15:22.123456Z", "status": "draft", "category": "image", "storageLocation": "s3", "name": "string", "description": "string", "altText": "string" } ]

Transition asset lifecycle

Request

Transitions an asset to a different lifecycle state.

Security
Bearer
Path
assetUuidstring(uuid)required

The unique identifier of the asset to transition.

Bodyapplication/jsonrequired
transitionstring(AssetTransition)required

Lifecycle transition to apply to an asset.

Enum ValueDescription
remove

Removes the asset.

restore

Restores the asset.

publish

Publishes the asset.

unpublish

Unpublishes the asset.

archive

Archives the asset.

unarchive

Unarchives the asset.

curl -i -X PATCH \
  'https://docs.apiera.io/_mock/openapi/v1/assets/{assetUuid}/actions/lifecycle' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "transition": "remove"
  }'

Responses

The asset after the lifecycle transition.

Bodyapplication/json
uuidstring(uuid)required

Unique identifier for this asset.

createdAtstring(date-time)required

Timestamp when this asset was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this asset was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this asset was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this asset was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(AssetStatus)required

Lifecycle status of an asset.

Enum ValueDescription
draft

The initial state of the asset.

published

The asset is visible to consumers.

unpublished

The asset is no longer visible to consumers.

archived

The asset is archived and no longer in active use.

removed

The asset has been soft-deleted.

categorystring(AssetCategory)required

Content category classification for an asset.

Enum ValueDescription
image

Static visual content such as photos, illustrations, or graphics.

video

Moving visual content such as clips, animations, or recordings.

audio

Sound content such as music, voiceovers, or sound effects.

document

Text-based content such as PDFs, manuals, or specifications.

design

Source design files such as PSD, AI, or Sketch files.

archive

Compressed file bundles such as ZIP or RAR archives.

data

Structured data files such as CSV, JSON, or XML.

storageLocationstring(StorageLocation)required

Storage backend where asset files are stored.

ValueDescription
s3

Amazon S3 object storage.

namestring or null

Display name for this asset.

descriptionstring or null

Optional detailed description for this asset.

altTextstring or null

Alternative text for accessibility and SEO purposes.

Response
application/json
{ "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "createdAt": "2025-01-15T10:30:00.000000Z", "updatedAt": "2025-01-15T10:30:00.000000Z", "status": "published", "category": "image", "storageLocation": "s3", "name": "product-hero", "description": "Hero image for the product listing page.", "altText": "A red sneaker on a white background." }

Bulk transition asset lifecycle

Request

Transitions multiple assets to a different lifecycle state in a single operation.

Security
Bearer
Bodyapplication/jsonrequired
transitionstring(AssetTransition)required

Lifecycle transition to apply to an asset.

Enum ValueDescription
remove

Removes the asset.

restore

Restores the asset.

publish

Publishes the asset.

unpublish

Unpublishes the asset.

archive

Archives the asset.

unarchive

Unarchives the asset.

uuidsArray of strings(uuid)required

List of asset identifiers to transition.

curl -i -X PATCH \
  https://docs.apiera.io/_mock/openapi/v1/assets/bulk/actions/lifecycle \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "transition": "remove",
    "uuids": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ]
  }'

Responses

The assets after the lifecycle transition.

Bodyapplication/jsonArray [
uuidstring(uuid)required

Unique identifier for this asset.

createdAtstring(date-time)required

Timestamp when this asset was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this asset was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this asset was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this asset was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(AssetStatus)required

Lifecycle status of an asset.

Enum ValueDescription
draft

The initial state of the asset.

published

The asset is visible to consumers.

unpublished

The asset is no longer visible to consumers.

archived

The asset is archived and no longer in active use.

removed

The asset has been soft-deleted.

categorystring(AssetCategory)required

Content category classification for an asset.

Enum ValueDescription
image

Static visual content such as photos, illustrations, or graphics.

video

Moving visual content such as clips, animations, or recordings.

audio

Sound content such as music, voiceovers, or sound effects.

document

Text-based content such as PDFs, manuals, or specifications.

design

Source design files such as PSD, AI, or Sketch files.

archive

Compressed file bundles such as ZIP or RAR archives.

data

Structured data files such as CSV, JSON, or XML.

storageLocationstring(StorageLocation)required

Storage backend where asset files are stored.

ValueDescription
s3

Amazon S3 object storage.

namestring or null

Display name for this asset.

descriptionstring or null

Optional detailed description for this asset.

altTextstring or null

Alternative text for accessibility and SEO purposes.

]
Response
application/json
[ { "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f", "createdAt": "2025-11-23T14:15:22.123456Z", "updatedAt": "2025-11-23T14:15:22.123456Z", "removedAt": "2025-11-23T14:15:22.123456Z", "archivedAt": "2025-11-23T14:15:22.123456Z", "status": "draft", "category": "image", "storageLocation": "s3", "name": "string", "description": "string", "altText": "string" } ]

Attribute Contents

Attribute content provides locale-specific labels and descriptions for an attribute. Each content entry localizes the attribute for a specific locale, enabling multilingual attribute presentation.

Operations

Attributes

An attribute drives filtering and variants for products, such as color, size, or material. Each attribute defines a finite set of values that products can be classified and filtered by.

Operations

Brand Contents

Brand content provides locale-specific labels and descriptions for a brand. Each content entry localizes the brand for a specific locale, enabling multilingual brand presentation.

Operations

Brands

A brand identifies the manufacturer or label associated with products. Brands support localized content through brand content entries.

Operations

Category Contents

Category content provides locale-specific labels and descriptions for a category. Each content entry localizes the category for a specific locale, enabling multilingual category presentation.

Operations

Categories

A category groups products that share similar characteristics. Categories can be organized into hierarchies through parent-child relationships.

Operations

Channels

A channel is a market distribution template that defines the requirements products must meet to be published to a specific sales context or geographic market.

Operations

Channel Input Types

A channel input type is an association between a channel and an input type, defining the requirement level and scoping behavior for that input type within the channel.

Operations

Collections

A collection is a flexible grouping mechanism for organizing assets. Collections support hierarchical structures through parent-child relationships and follow a lifecycle model with draft, active, inactive, and removed states.

Operations

Family Asset Types

A family asset type is an association between a family and an asset type, defining count constraints and applicability to parent and variant products.

Operations

Family Attributes

A family attribute is an association between a family and an attribute, defining the requirement level and auto-population behavior for that attribute within the family.

Operations

Family Categories

A family category is an association between a family and a category, defining the requirement level and auto-population behavior for that category within the family.

Operations

Families

A family is a product blueprint that defines the structure and requirements for a specific type of product, ensuring consistency and data quality across all products of the same type.

Operations

Family Input Types

A family input type is an association between a family and an input type, defining the requirement level and applicability to parent and variant products.

Operations

Family Relation Types

A family relation type is an association between a family and a relation type, defining count constraints for product relations within the family.

Operations

Asset Files

A file represents an individual version or variation of an asset, such as an original upload, a thumbnail, or a web-optimized rendition. Files are uploaded through a two-step process of initiation and completion.

Operations

Input Types

An input type defines a data entry field within a type group, such as a product description, regular price, or SEO metadata. Each input type specifies its data type and validation constraints for the values captured against it.

Operations

Locales

A locale defines a language and region combination used for localizing content across the system. One locale can be designated as the default for the tenant.

Operations

Product Assets

A product asset is an association between a product and an asset, classified by asset type and ordered by display priority.

Operations

Product Asset Types

A product asset type classifies the different kinds of assets that can be attached to products and controls featured asset selection.

Operations

Product Attributes

A product attribute is an association between a product and an attribute, indicating whether it is used for variant differentiation.

Operations

Product Categories

A product category is an association between a product and a category, used for organizing products into groups.

Operations

Product Channel Publications

A product channel publication represents the publication state of a product for a specific channel.

Operations

Product Channel Publication Schedules

A product channel publication schedule automates lifecycle transitions for a channel publication at a specified time.

Operations

Products

A product is the central entity that holds enriched content, attributes, assets, categories, and relations. Products can be simple, variant parents, or variants.

Operations

Product Input Values

A product input value holds the actual data entered for a product's input type, optionally scoped to a specific channel and locale.

Operations

Product Relations

A product relation is a typed link between two products, classified by a product relation type.

Operations

Product Relation Types

A product relation type defines a named, directional relationship that can exist between products, supporting both one-way and two-way relations.

Operations

Product Tags

A product tag is an association between a product and a tag, used for flexible cross-cutting classification.

Operations

Product Terms

A product term is an association between a product attribute and a specific term value selected from the attribute's term set.

Operations

Tag Contents

Tag content provides locale-specific labels and descriptions for a tag. Each content entry localizes the tag for a specific locale, enabling multilingual tag presentation.

Operations

Tags

A tag is a lightweight label used to classify and organize products. Tags support localized content through tag content entries.

Operations

Attribute Term Contents

Operations

Attribute Terms

A term defines a discrete value within an attribute, such as Red, Blue, or XL. Terms provide the selectable options used for product filtering and variant differentiation.

Operations

Type Groups

A type group is a logical grouping of input types for a single entity type, such as product specifications or product dimensions. Each type group belongs to one entity type and organizes related input types under a common category.

Operations

Webhook Delivery Attempts

Webhook delivery attempts represent individual HTTP requests made to deliver a webhook event. Each delivery may have multiple attempts with detailed response information.

Operations

Webhook Deliveries

Webhook deliveries represent individual delivery attempts of webhook events to a subscription's target URL. Deliveries are read-only and provide visibility into delivery status and retry history.

Operations

Webhook Event Types

Webhook event types represent the types of events that can trigger webhook deliveries. These are platform-managed and available as read-only to all authenticated users.

Operations

Webhook Subscriptions

A webhook subscription defines a target URL that receives HTTP callbacks when specific events occur in the system. Subscriptions can be activated, deactivated, and configured with specific event types to listen for.

Operations

Webhook Subscription Event Types

Webhook subscription event types define which event types a webhook subscription listens for. Adding an event type to a subscription means the subscription will receive callbacks when that event occurs.

Operations