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

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

List webhook subscriptions

Request

Retrieves a paginated list of webhook subscriptions.

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

The subscription is active and will receive deliveries.

inactive

The subscription is disabled and will not receive deliveries.

suspended

The subscription has been automatically suspended due to repeated failures.

status[order]string
targetUrl[contains]string
targetUrl[starts]string
targetUrl[ends]string
targetUrl[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
pageinteger(int32)
sizeinteger(int32)
curl -i -X GET \
  'https://docs.apiera.io/_mock/openapi/v1/webhook-subscriptions?uuids%5Beq%5D=497f6eca-6276-4993-bfeb-53cbbbba6f08&statuses%5Beq%5D=active&status%5Border%5D=string&targetUrl%5Bcontains%5D=string&targetUrl%5Bstarts%5D=string&targetUrl%5Bends%5D=string&targetUrl%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&page=0&size=0' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

A paginated list of webhook subscriptions.

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

Unique identifier for this webhook subscription.

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

Timestamp when this webhook subscription was created.

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

Timestamp when this webhook subscription was last modified.

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

Status of a webhook subscription.

Enum ValueDescription
active

The subscription is active and will receive deliveries.

inactive

The subscription is disabled and will not receive deliveries.

suspended

The subscription has been automatically suspended due to repeated failures.

items[].​displayNamestringrequired

A human-readable name for this webhook subscription.

items[].​targetUrlstringrequired

The URL that will receive webhook HTTP callbacks.

items[].​requestTimeoutMsinteger(int32)required

Timeout in milliseconds for webhook delivery HTTP requests.

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 a webhook subscription

Request

Creates a new webhook subscription. The subscription is created in inactive status.

Security
Bearer
Bodyapplication/jsonrequired
displayNamestring<= 255 charactersrequired

A human-readable name for the webhook subscription.

targetUrlstring<= 2048 charactersrequired

The URL that receives webhook HTTP callbacks.

requestTimeoutMsinteger or null(int32)

Timeout in milliseconds for webhook delivery HTTP requests.

curl -i -X POST \
  https://docs.apiera.io/_mock/openapi/v1/webhook-subscriptions \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "displayName": "string",
    "targetUrl": "string",
    "requestTimeoutMs": 0
  }'

Responses

The created webhook subscription.

Bodyapplication/json
uuidstring(uuid)required

Unique identifier for this webhook subscription.

createdAtstring(date-time)required

Timestamp when this webhook subscription was created.

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

Timestamp when this webhook subscription was last modified.

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

Status of a webhook subscription.

Enum ValueDescription
active

The subscription is active and will receive deliveries.

inactive

The subscription is disabled and will not receive deliveries.

suspended

The subscription has been automatically suspended due to repeated failures.

displayNamestringrequired

A human-readable name for this webhook subscription.

targetUrlstringrequired

The URL that will receive webhook HTTP callbacks.

requestTimeoutMsinteger(int32)required

Timeout in milliseconds for webhook delivery HTTP requests.

secretstringrequired

The HMAC secret for verifying webhook payloads.

Response
application/json
{ "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "createdAt": "2025-01-15T10:30:00.000000Z", "updatedAt": "2025-01-15T10:30:00.000000Z", "status": "inactive", "displayName": "Product sync notifications", "targetUrl": "https://example.com/webhooks", "requestTimeoutMs": 10000, "secret": "whsec_abc123def456..." }

Get a webhook subscription

Request

Retrieves a single webhook subscription by its unique identifier.

Security
Bearer
Path
webhookSubscriptionUuidstring(uuid)required

The unique identifier of the webhook subscription.

curl -i -X GET \
  'https://docs.apiera.io/_mock/openapi/v1/webhook-subscriptions/{webhookSubscriptionUuid}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The requested webhook subscription.

Bodyapplication/json
uuidstring(uuid)required

Unique identifier for this webhook subscription.

createdAtstring(date-time)required

Timestamp when this webhook subscription was created.

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

Timestamp when this webhook subscription was last modified.

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

Status of a webhook subscription.

Enum ValueDescription
active

The subscription is active and will receive deliveries.

inactive

The subscription is disabled and will not receive deliveries.

suspended

The subscription has been automatically suspended due to repeated failures.

displayNamestringrequired

A human-readable name for this webhook subscription.

targetUrlstringrequired

The URL that will receive webhook HTTP callbacks.

requestTimeoutMsinteger(int32)required

Timeout in milliseconds for webhook delivery HTTP requests.

Response
application/json
{ "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "createdAt": "2025-01-15T10:30:00.000000Z", "updatedAt": "2025-01-15T10:30:00.000000Z", "status": "inactive", "displayName": "Product sync notifications", "targetUrl": "https://example.com/webhooks", "requestTimeoutMs": 10000 }

Update a webhook subscription

Request

Updates an existing webhook subscription.

Security
Bearer
Path
webhookSubscriptionUuidstring(uuid)required

The unique identifier of the webhook subscription to update.

Bodyapplication/jsonrequired
displayNamestring or null<= 255 characters

Updated display name for the webhook subscription.

targetUrlstring or null<= 2048 characters

Updated target URL for the webhook subscription.

requestTimeoutMsinteger or null(int32)

Updated timeout in milliseconds for webhook delivery HTTP requests.

curl -i -X PATCH \
  'https://docs.apiera.io/_mock/openapi/v1/webhook-subscriptions/{webhookSubscriptionUuid}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "displayName": "string",
    "targetUrl": "string",
    "requestTimeoutMs": 0
  }'

Responses

The updated webhook subscription.

Bodyapplication/json
uuidstring(uuid)required

Unique identifier for this webhook subscription.

createdAtstring(date-time)required

Timestamp when this webhook subscription was created.

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

Timestamp when this webhook subscription was last modified.

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

Status of a webhook subscription.

Enum ValueDescription
active

The subscription is active and will receive deliveries.

inactive

The subscription is disabled and will not receive deliveries.

suspended

The subscription has been automatically suspended due to repeated failures.

displayNamestringrequired

A human-readable name for this webhook subscription.

targetUrlstringrequired

The URL that will receive webhook HTTP callbacks.

requestTimeoutMsinteger(int32)required

Timeout in milliseconds for webhook delivery HTTP requests.

Response
application/json
{ "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "createdAt": "2025-01-15T10:30:00.000000Z", "updatedAt": "2025-01-15T10:30:00.000000Z", "status": "inactive", "displayName": "Product sync notifications", "targetUrl": "https://example.com/webhooks", "requestTimeoutMs": 10000 }

Delete a webhook subscription

Request

Permanently deletes a webhook subscription.

Security
Bearer
Path
webhookSubscriptionUuidstring(uuid)required

The unique identifier of the webhook subscription to delete.

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

Responses

The webhook subscription was successfully deleted.

Response
No content

Transition webhook subscription lifecycle

Request

Transitions a webhook subscription to a different lifecycle state.

Security
Bearer
Path
webhookSubscriptionUuidstring(uuid)required

The unique identifier of the webhook subscription to transition.

Bodyapplication/jsonrequired
transitionstring(WebhookSubscriptionTransition)required

Lifecycle transition to apply to a webhook subscription.

Enum ValueDescription
activate

Activates the webhook subscription.

deactivate

Deactivates the webhook subscription.

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

Responses

The webhook subscription after the lifecycle transition.

Bodyapplication/json
uuidstring(uuid)required

Unique identifier for this webhook subscription.

createdAtstring(date-time)required

Timestamp when this webhook subscription was created.

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

Timestamp when this webhook subscription was last modified.

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

Status of a webhook subscription.

Enum ValueDescription
active

The subscription is active and will receive deliveries.

inactive

The subscription is disabled and will not receive deliveries.

suspended

The subscription has been automatically suspended due to repeated failures.

displayNamestringrequired

A human-readable name for this webhook subscription.

targetUrlstringrequired

The URL that will receive webhook HTTP callbacks.

requestTimeoutMsinteger(int32)required

Timeout in milliseconds for webhook delivery HTTP requests.

Response
application/json
{ "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "createdAt": "2025-01-15T10:30:00.000000Z", "updatedAt": "2025-01-15T10:30:00.000000Z", "status": "active", "displayName": "Product sync notifications", "targetUrl": "https://example.com/webhooks", "requestTimeoutMs": 10000 }

Rotate webhook subscription secret

Request

Rotates the HMAC secret of a webhook subscription.

Security
Bearer
Path
webhookSubscriptionUuidstring(uuid)required

The unique identifier of the webhook subscription whose secret to rotate.

curl -i -X PATCH \
  'https://docs.apiera.io/_mock/openapi/v1/webhook-subscriptions/{webhookSubscriptionUuid}/actions/rotate-secret' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The webhook subscription with the new secret.

Bodyapplication/json
uuidstring(uuid)required

Unique identifier for this webhook subscription.

createdAtstring(date-time)required

Timestamp when this webhook subscription was created.

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

Timestamp when this webhook subscription was last modified.

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

Status of a webhook subscription.

Enum ValueDescription
active

The subscription is active and will receive deliveries.

inactive

The subscription is disabled and will not receive deliveries.

suspended

The subscription has been automatically suspended due to repeated failures.

displayNamestringrequired

A human-readable name for this webhook subscription.

targetUrlstringrequired

The URL that will receive webhook HTTP callbacks.

requestTimeoutMsinteger(int32)required

Timeout in milliseconds for webhook delivery HTTP requests.

secretstringrequired

The new HMAC secret for verifying webhook payloads.

Response
application/json
{ "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "createdAt": "2025-01-15T10:30:00.000000Z", "updatedAt": "2025-01-15T12:00:00.000000Z", "status": "active", "displayName": "Product sync notifications", "targetUrl": "https://example.com/webhooks", "requestTimeoutMs": 10000, "secret": "whsec_xyz789ghi012..." }

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