Blog Categories

Create, read, update, delete, bulk manage, translate, and subscribe to blog categories through the Store API.

Blog categories group posts and provide category listing pages. Reads require read_blog; writes require write_blog. Categories have names, slugs, descriptions, SEO fields, and a storefront template. An omitted create slug is generated from the name; an update slug must be non-empty.

A category assigned to posts cannot be deleted until those assignments are removed. Menu links can require deletion confirmation. Bulk deletion reports deleted IDs and failures separately. Translate names, slugs, descriptions, and SEO fields through Blog Category translations.

Endpoints#

Blog Category limits

GET read_blog

Fetch Blog Category limits and per-field constraints.

Returns the per-field maximum lengths and request caps that apply to Blog Category endpoints. Useful for clients to validate inputs before sending them and to size UIs. max_per_store is this store's plan cap, count is how many exist now, and usage is the localized label.

Headers

Name Type Description
Authorization required string

Bearer Store API token.

List blog categories

GET read_blog

List blog categories for the store.

Returns paginated Blog Categories. total counts matches for the current filters; store_total counts all records in the store and can be compared with the store capacity returned by the limits endpoint. Use search to filter by name or slug. Invalid pagination and unsupported sort values are rejected. storefront_url is the canonical absolute URL on the store's primary domain. storefront_path is the domain-independent baseline route; join it to the storefront address you are targeting. Hosted storefront responses apply translated slugs and locale/country prefixes.

Query parameters

Name Type Description
page integer

Page number.

Example: 1
limit integer

Page size, up to list_max_limit from the Blog Category limits.

Example: 20
search string

Search Blog Categories by name or slug.

Example: company-news
sort_by string

Sort field from the Blog Category list contract.

Allowed values
namepost_countcreated_atupdated_at
Example: name
sort_direction string

Sort direction from the Blog Category list contract.

Allowed values
ascdesc
Example: asc

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Errors

  • 400 VALIDATION_LIST_INVALID_PAGE

    Page must be a positive integer.

  • 400 VALIDATION_LIST_INVALID_LIMIT

    Limit must be a positive integer within the contract cap.

  • 400 VALIDATION_LIST_INVALID_SORT_BY

    Sort field is not supported for this endpoint.

  • 400 VALIDATION_LIST_INVALID_SORT_DIRECTION

    Sort direction must be asc or desc.

  • 400 BLOG_CATEGORY_SEARCH_TOO_LONG

    Search exceeds the Blog Category contract max length.

Get a blog category

GET read_blog

Fetch one blog category by id.

Returns the Blog Category if it belongs to the token's store. storefront_url is the canonical absolute URL on the store's primary domain. storefront_path is the domain-independent baseline route; join it to the storefront address you are targeting. Hosted storefront responses apply translated slugs and locale/country prefixes.

Path parameters

Name Type Description
id required uuid

Blog Category id.

Example: 5ff7d4ea-3250-4a4d-9d26-07f64d917d31

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Errors

  • 400 STORE_API_INVALID_CATEGORY_ID

    Blog Category id is not a valid UUID.

  • 404 NOT_FOUND

    Blog Category does not exist in this store.

List blog category metafields

GET read_blog

List custom-data values visible to the token.

Definitions are filtered through the token's access rules.

Path parameters

Name Type Description
id required uuid

Blog Category id.

Example: 5ff7d4ea-3250-4a4d-9d26-07f64d917d31

Query parameters

Name Type Description
page integer

Page number (default 1).

limit integer

Page size; capped by the metafield list limit.

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Errors

  • 400 VALIDATION_LIST_INVALID_PAGE

    Page must be a positive integer.

  • 400 VALIDATION_LIST_INVALID_LIMIT

    Limit must be a positive integer.

  • 404 NOT_FOUND

    The resource does not exist in this store.

Set blog category metafields

PUT write_blog

Create, update, or delete custom-data values.

Send namespace-and-key entries. A string value creates or replaces a value; null or an empty string deletes it. The complete value change succeeds or fails together. Omitted entries are preserved.

Path parameters

Name Type Description
id required uuid

Blog Category id.

Example: 5ff7d4ea-3250-4a4d-9d26-07f64d917d31

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
metafields required array<object>

Entries shaped as {namespace, key, value}. value is required in every entry; send null or an empty string to delete the stored value.

Example: [{"namespace":"details","key":"subtitle","value":"Company"}]

Errors

  • 400 STORE_API_INVALID_REQUEST_BODY

    The body or entry shape is invalid. Each entry requires an explicit value, including null for deletion.

  • 400 METAFIELD_NO_WRITES

    Provide at least one metafield entry.

  • 400 METAFIELD_DUPLICATE_WRITE

    A namespace and key occur more than once.

  • 400 PRODUCT_METAFIELD_DEF_NOT_FOUND

    The namespace and key do not identify a definition visible to this token. For an app token only its own definitions count: merchant-owned and other apps' definitions return this code.

  • 403 METAFIELD_WRITE_MERCHANT_READ_ONLY

    The definition does not grant value write access.

  • 403 STORE_API_SCOPE_REQUIRED

    Binding a nonempty file_reference or list.file_reference also requires read_files. Clearing a reference does not.

  • 404 NOT_FOUND

    The resource does not exist in this store. A file reference names a file that does not exist in this store.

  • 400 METAFIELD_VALUE_TOO_LONG

    The value exceeds its size limit: the definition's max_value_length, or the platform value size limit for the type.

  • 400 METAFIELD_VALUE_STRING_TOO_LONG

    A string value exceeds the definition's max_value_length or the platform string limit.

  • 400 METAFIELD_VALUE_TOO_SHORT

    A string value is shorter than the definition's min_length rule.

  • 400 METAFIELD_VALUE_PATTERN_MISMATCH

    A string value does not match the definition's pattern rule.

  • 400 METAFIELD_VALUE_INTEGER_INVALID

    An integer value is not a whole number in the 64-bit range.

  • 400 METAFIELD_VALUE_INTEGER_TOO_LONG

    An integer value has more digits than the definition or the platform integer limit allows.

  • 400 METAFIELD_VALUE_DECIMAL_INVALID

    A decimal value is not a finite decimal number.

  • 400 METAFIELD_VALUE_DECIMAL_TOO_LONG

    A decimal value, written out in full, is longer than the definition or the platform decimal limit allows.

  • 400 METAFIELD_VALUE_BELOW_MIN

    An integer or decimal value is below the definition's min rule.

  • 400 METAFIELD_VALUE_ABOVE_MAX

    An integer or decimal value is above the definition's max rule.

  • 400 METAFIELD_VALUE_BOOLEAN_INVALID

    A boolean value is not true or false.

  • 400 METAFIELD_VALUE_DATE_INVALID

    A date value is not a calendar date in YYYY-MM-DD form.

  • 400 METAFIELD_VALUE_DATETIME_INVALID

    A datetime value is not YYYY-MM-DDTHH:mm, YYYY-MM-DDTHH:mm:ss or an RFC 3339 timestamp.

  • 400 METAFIELD_VALUE_JSON_INVALID

    A json value is not valid JSON.

  • 400 METAFIELD_VALUE_JSON_UNSAFE_LINK

    A json value contains a link whose scheme is not http, https, mailto or tel.

  • 400 METAFIELD_VALUE_URL_INVALID

    A url value, or an item of a list.url value, is not an absolute URL with a host.

  • 400 METAFIELD_VALUE_URL_SCHEME

    A url value, or an item of a list.url value, does not use http or https.

  • 400 METAFIELD_VALUE_URL_TOO_LONG

    A url value, or an item of a list.url value, exceeds the definition's max_value_length or the platform URL limit.

  • 400 METAFIELD_VALUE_NOT_IN_CHOICES

    A single_select value is not one of the definition's choice keys.

  • 400 METAFIELD_LIST_CHOICE_INVALID

    An item of a list.single_select value is not one of the definition's choice keys; the message names the item.

  • 400 METAFIELD_LIST_STRINGS_INVALID

    A list.string or list.single_select value is not a JSON array of strings.

  • 400 METAFIELD_LIST_URLS_INVALID

    A list.url value is not a JSON array of strings.

  • 400 METAFIELD_LIST_FILES_INVALID

    A list.file_reference value is not a JSON array of strings.

  • 400 METAFIELD_LIST_IDS_INVALID

    A list.product_reference or list.variant_reference value is not a JSON array of integers.

  • 400 METAFIELD_LIST_EMPTY

    A list value other than list.string is an empty array. Send null or an empty string to remove the value instead.

  • 400 METAFIELD_LIST_TOO_MANY

    A list value has more items than the definition's max_list_items or the platform list limit for the type.

  • 400 METAFIELD_LIST_ITEM_EMPTY

    An item of a list.string value is empty or only whitespace; the message names the item.

  • 400 METAFIELD_LIST_ITEM_TOO_LONG

    An item of a list.string value exceeds the definition's max_value_length or the platform string limit; the message names the item.

  • 400 METAFIELD_VALUE_FILE_UUID_INVALID

    A file_reference value, or an item of a list.file_reference value, is not a file UUID.

  • 400 METAFIELD_VALUE_ID_INVALID

    A product_reference or variant_reference value is not an integer ID.

  • 400 METAFIELD_VALUE_ID_POSITIVE

    A product_reference or variant_reference value is not a positive integer.

  • 400 METAFIELD_VALUE_ID_TOO_LONG

    A product_reference or variant_reference value exceeds the platform reference ID limit.

  • 400 METAFIELD_LIST_ITEMS_POSITIVE

    An item of a list.product_reference or list.variant_reference value is not a positive integer.

  • 400 METAFIELD_REFERENCE_PRODUCT_MISSING

    A product reference names a product that does not exist in this store.

  • 400 METAFIELD_REFERENCE_VARIANT_MISSING

    A variant reference names a variant that does not exist in this store.

  • 400 INVALID_INPUT

    A file reference names a file that is not an uploaded file.

Create a blog category

POST write_blog

Create a blog category.

Creates a Blog Category. name is required. slug is optional on create; when omitted or empty, the backend generates it from the name. Optional SEO and template fields follow the Blog Category resource contract. storefront_url is the canonical absolute URL on the store's primary domain. storefront_path is the domain-independent baseline route; join it to the storefront address you are targeting. Hosted storefront responses apply translated slugs and locale/country prefixes.

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
name required string

Blog Category name.

Example: Company News
slug string

Optional slug. Omit to generate from name.

Example: company-news
description string

Optional plain-text description.

Example: Updates and announcements from the company.
seo_title string

Optional SEO title.

Example: Company News
seo_description string

Optional SEO description.

Example: Read company updates, product notes, and announcements.
template_handle string

Template assignment. On create, omitting this field or sending an empty string assigns default_blog_category. Use default_blog_category for the default Blog Category template, or pass an alternate Blog Category template handle configured for the store. On update, omit template_handle to leave the assignment unchanged, use default_blog_category to reset it to default, and do not send an empty string.

Example: default_blog_category

Errors

  • 400 STORE_API_INVALID_REQUEST_BODY

    Request body is not valid JSON.

  • 400 BLOG_CATEGORY_NAME_REQUIRED

    Name is empty after normalization.

  • 400 BLOG_CATEGORY_NAME_TOO_LONG

    Name exceeds the Blog Category contract max length.

  • 400 BLOG_CATEGORY_SLUG_FORMAT

    Slug is not valid for Blog Category URLs.

  • 400 BLOG_CATEGORY_SLUG_TOO_LONG

    Slug exceeds the Blog Category contract max length.

  • 400 BLOG_CATEGORY_SLUG_GENERATION_FAILED

    A slug could not be generated from the supplied name.

  • 400 BLOG_CATEGORY_UNIQUE_SLUG_GENERATION_FAILED

    A unique generated slug could not be found; supply a slug explicitly.

  • 400 BLOG_CATEGORY_DESCRIPTION_TOO_LONG

    Description exceeds the Blog Category contract max length.

  • 400 BLOG_CATEGORY_SEO_TITLE_TOO_LONG

    SEO title exceeds the Blog Category contract max length.

  • 400 BLOG_CATEGORY_SEO_DESCRIPTION_TOO_LONG

    SEO description exceeds the Blog Category contract max length.

  • 400 BLOG_CATEGORY_LIMIT_REACHED

    Store Blog Category cap has been reached.

  • 400 TEMPLATE_HANDLE_INVALID

    Template handle is not valid for Blog Category templates.

  • 400 TEMPLATE_HANDLE_NOT_FOUND

    Template handle does not exist on the store's primary active theme for Blog Category.

  • 409 BLOG_CATEGORY_DUPLICATE

    Name or slug already exists in this store.

  • 400 BLOG_CATEGORY_PLAN_LIMIT_REACHED

    This store is at its plan blog category cap.

Update a blog category

PUT write_blog

Update a blog category.

Updates provided Blog Category fields. Omitted fields are left unchanged. When slug is provided it must be non-empty and valid; create is the only path that auto-generates a blank slug from the name. storefront_url is the canonical absolute URL on the store's primary domain. storefront_path is the domain-independent baseline route; join it to the storefront address you are targeting. Hosted storefront responses apply translated slugs and locale/country prefixes.

Path parameters

Name Type Description
id required uuid

Blog Category id.

Example: 5ff7d4ea-3250-4a4d-9d26-07f64d917d31

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
name string

Blog Category name.

Example: Company News
slug string

New slug. Omit to leave the current slug unchanged; an empty value is invalid.

Example: company-news
description string

Optional plain-text description.

Example: Updates and announcements from the company.
seo_title string

Optional SEO title.

Example: Company News
seo_description string

Optional SEO description.

Example: Read company updates, product notes, and announcements.
template_handle string

Template assignment. On create, omitting this field or sending an empty string assigns default_blog_category. Use default_blog_category for the default Blog Category template, or pass an alternate Blog Category template handle configured for the store. On update, omit template_handle to leave the assignment unchanged, use default_blog_category to reset it to default, and do not send an empty string.

Example: default_blog_category
create_redirect boolean

When slug changes, create a redirect from the previous slug.

Example: true

Errors

  • 400 STORE_API_INVALID_CATEGORY_ID

    Blog Category id is not a valid UUID.

  • 400 STORE_API_INVALID_REQUEST_BODY

    Request body is not valid JSON.

  • 409 TRANSLATION_SOURCE_FIELD_HAS_TRANSLATIONS

    Clearing a source field is blocked while translated values exist.

  • 404 NOT_FOUND

    Blog Category does not exist in this store.

  • 400 BLOG_CATEGORY_NAME_REQUIRED

    Name is empty after normalization.

  • 400 BLOG_CATEGORY_NAME_TOO_LONG

    Name exceeds the Blog Category contract max length.

  • 400 BLOG_CATEGORY_SLUG_FORMAT

    Slug is not valid for Blog Category URLs.

  • 400 BLOG_CATEGORY_SLUG_TOO_LONG

    Slug exceeds the Blog Category contract max length.

  • 400 BLOG_CATEGORY_SLUG_GENERATION_FAILED

    A slug could not be generated from the supplied name.

  • 400 BLOG_CATEGORY_UNIQUE_SLUG_GENERATION_FAILED

    A unique generated slug could not be found; supply a slug explicitly.

  • 400 BLOG_CATEGORY_DESCRIPTION_TOO_LONG

    Description exceeds the Blog Category contract max length.

  • 400 BLOG_CATEGORY_SEO_TITLE_TOO_LONG

    SEO title exceeds the Blog Category contract max length.

  • 400 BLOG_CATEGORY_SEO_DESCRIPTION_TOO_LONG

    SEO description exceeds the Blog Category contract max length.

  • 400 BLOG_CATEGORY_LIMIT_REACHED

    Store Blog Category cap has been reached.

  • 400 TEMPLATE_HANDLE_INVALID

    Template handle is not valid for Blog Category templates.

  • 400 TEMPLATE_HANDLE_NOT_FOUND

    Template handle does not exist on the store's primary active theme for Blog Category.

  • 409 BLOG_CATEGORY_DUPLICATE

    Name or slug already exists in this store.

  • 400 BLOG_CATEGORY_NAME_EMPTY

    A provided update name is empty after normalization.

  • 400 BLOG_CATEGORY_SLUG_REQUIRED

    Slug is empty on update. Blank slug auto-generation is only available on create.

Delete a blog category

DELETE write_blog

Delete a blog category.

Deletes a Blog Category only when no blog posts are assigned to it. Assigned posts block deletion. If menus link to it, the first request returns CONFIRMATION_REQUIRED listing the menu links that will be removed; retry with the returned token to delete.

Path parameters

Name Type Description
id required uuid

Blog Category id.

Example: 5ff7d4ea-3250-4a4d-9d26-07f64d917d31

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
confirmed boolean

Set true only when retrying after CONFIRMATION_REQUIRED.

Example: true
confirmation_token string

Token returned by CONFIRMATION_REQUIRED.

Example: confirm_...

Errors

  • 400 STORE_API_INVALID_CATEGORY_ID

    Blog Category id is not a valid UUID.

  • 404 NOT_FOUND

    Blog Category does not exist in this store.

  • 409 BLOG_CATEGORY_HAS_POSTS

    Blog Category is assigned to blog posts and cannot be deleted until posts are removed from it.

  • 409 CONFIRMATION_REQUIRED

    Menus link to the blog category. Review the warning and retry with the returned token.

  • 400 BLOG_CATEGORY_CONFIRMATION_INVALID

    The confirmation token is missing, expired, or does not match this delete.

Bulk delete blog categories

POST write_blog

Delete multiple blog categories.

Deletes unassigned Blog Categories together. Any that are missing, or still assigned to blog posts, are reported as failures and left in place. If menus link to the rest, the first request returns CONFIRMATION_REQUIRED; retry the same IDs with the returned token.

Headers

Name Type Description
Authorization required string

Bearer Store API token.

Body parameters

Name Type Description
category_ids required array<uuid>

Blog Category ids to delete.

Example: ["5ff7d4ea-3250-4a4d-9d26-07f64d917d31"]
confirmed boolean

Set true only when retrying after CONFIRMATION_REQUIRED.

Example: true
confirmation_token string

Token returned by CONFIRMATION_REQUIRED.

Example: confirm_...

Errors

  • 400 STORE_API_INVALID_REQUEST_BODY

    Request body is not valid JSON.

  • 400 STORE_API_INVALID_CATEGORY_ID

    One category id is not a valid UUID.

  • 400 BLOG_CATEGORY_BULK_NO_IDS

    No Blog Category ids were provided.

  • 400 BLOG_CATEGORY_BULK_DELETE_TOO_MANY

    Batch exceeds the Blog Category bulk delete cap.

  • 409 BLOG_CATEGORY_BULK_RACED

    Blog Category changed during deletion. Retry with fresh data.

  • 409 CONFIRMATION_REQUIRED

    Menus link to selected blog categories. Review the warning and retry the same IDs with the returned token.

  • 400 BLOG_CATEGORY_CONFIRMATION_INVALID

    The confirmation token is missing, expired, or does not match the selected IDs.

Fields#

Field

Type

Create

Update

Required

Translatable

name

string

Yes

Yes

create

Yes

slug

string

Yes

Yes

Yes

description

string

Yes

Yes

Yes

seo_title

string

Yes

Yes

Yes

seo_description

string

Yes

Yes

Yes

template_handle

string

Yes

Yes

No

create_redirect

boolean

No

Yes

No

post_count

integer

No

No

No

created_at

string (RFC 3339)

No

No

No

updated_at

string (RFC 3339)

No

No

No

storefront_url

url

No

No

No

No

storefront_path

string

No

No

No

No

Webhook events#

Subscribe to these events to keep your integration in sync with blog categories. Each event shows the required Store API scope and store permission, the available payload fields, and an example payload. Subscription setup is validated against those permissions; delivery is always restricted to the subscription's store.

Metafield events are filtered for every subscriber. An app receives events for definitions it owns. With the event's required scope, it also receives merchant-owned definitions and definitions shared by another app through app_access: shared; another app's private definitions are not delivered. A store-level webhook endpoint receives merchant-owned definitions and app-owned definitions unless merchant_access is hidden. If an event cannot identify the definition owner or its access settings, Tringify does not deliver it.

Blog category created

EVENT blog_categories/create App scope: read_blog Staff permission: blog:write

Fired when a blog category is created.

Payload fields

Field Type Description
blog_category.id string Always present
blog_category.name string Selectable in the Payload builder
blog_category.slug string Selectable in the Payload builder
blog_category.description string Selectable in the Payload builder
blog_category.seo_title string Selectable in the Payload builder
blog_category.seo_description string Selectable in the Payload builder
blog_category.template_handle string Selectable in the Payload builder
blog_category.post_count integer Selectable in the Payload builder
blog_category.created_at string Selectable in the Payload builder
blog_category.updated_at string Selectable in the Payload builder

Blog category updated

EVENT blog_categories/update App scope: read_blog Staff permission: blog:write

Fired when a blog category is updated.

Payload fields

Field Type Description
blog_category.id string Always present
blog_category.name string Selectable in the Payload builder
blog_category.slug string Selectable in the Payload builder
blog_category.description string Selectable in the Payload builder
blog_category.seo_title string Selectable in the Payload builder
blog_category.seo_description string Selectable in the Payload builder
blog_category.template_handle string Selectable in the Payload builder
blog_category.post_count integer Selectable in the Payload builder
blog_category.created_at string Selectable in the Payload builder
blog_category.updated_at string Selectable in the Payload builder

Blog category deleted

EVENT blog_categories/delete App scope: read_blog Staff permission: blog:write

Fired when a blog category is deleted.

Payload fields

Field Type Description
blog_category.id string Always present
blog_category.name string Selectable in the Payload builder
blog_category.slug string Selectable in the Payload builder

Blog category metafield value created

EVENT blog_category_metafields/create App scope: read_blog Staff permission: blog:write

Fired when a blog category metafield value is created.

Payload fields

Field Type Description
blog_category.id string Always present
blog_category.name string Selectable in the Payload builder
blog_category.slug string Selectable in the Payload builder
metafield.definition.id string Selectable in the Payload builder
metafield.definition.owner_type string Selectable in the Payload builder
metafield.definition.namespace string Selectable in the Payload builder
metafield.definition.key string Selectable in the Payload builder
metafield.definition.name string Selectable in the Payload builder
metafield.definition.description string Selectable in the Payload builder
metafield.definition.type string Selectable in the Payload builder
metafield.definition.is_translatable boolean Selectable in the Payload builder
metafield.definition.max_value_length integer Selectable in the Payload builder
metafield.definition.max_list_items integer Selectable in the Payload builder
metafield.definition.sort_order integer Selectable in the Payload builder
metafield.definition.app_id string Selectable in the Payload builder
metafield.definition.app_access string Selectable in the Payload builder
metafield.definition.merchant_access string Selectable in the Payload builder
metafield.definition.created_at string Selectable in the Payload builder
metafield.definition.updated_at string Selectable in the Payload builder
metafield.definition.usage_count integer Selectable in the Payload builder
metafield.value string Selectable in the Payload builder
metafield.display_value string Selectable in the Payload builder
metafield.display_value_map object Selectable in the Payload builder
metafield.created_at string Selectable in the Payload builder
metafield.updated_at string Selectable in the Payload builder

Blog category metafield value updated

EVENT blog_category_metafields/update App scope: read_blog Staff permission: blog:write

Fired when a blog category metafield value changes.

Possible changed_fields values

The changed_fields array names exactly which of these changed in this event — use it to skip processing updates your integration doesn't care about.

value

Payload fields

Field Type Description
blog_category.id string Always present
blog_category.name string Selectable in the Payload builder
blog_category.slug string Selectable in the Payload builder
previous.definition.id string Selectable in the Payload builder
previous.definition.owner_type string Selectable in the Payload builder
previous.definition.namespace string Selectable in the Payload builder
previous.definition.key string Selectable in the Payload builder
previous.definition.name string Selectable in the Payload builder
previous.definition.description string Selectable in the Payload builder
previous.definition.type string Selectable in the Payload builder
previous.definition.is_translatable boolean Selectable in the Payload builder
previous.definition.max_value_length integer Selectable in the Payload builder
previous.definition.max_list_items integer Selectable in the Payload builder
previous.definition.sort_order integer Selectable in the Payload builder
previous.definition.app_id string Selectable in the Payload builder
previous.definition.app_access string Selectable in the Payload builder
previous.definition.merchant_access string Selectable in the Payload builder
previous.definition.created_at string Selectable in the Payload builder
previous.definition.updated_at string Selectable in the Payload builder
previous.definition.usage_count integer Selectable in the Payload builder
previous.value string Selectable in the Payload builder
previous.display_value string Selectable in the Payload builder
previous.display_value_map object Selectable in the Payload builder
previous.created_at string Selectable in the Payload builder
previous.updated_at string Selectable in the Payload builder
current.definition.id string Selectable in the Payload builder
current.definition.owner_type string Selectable in the Payload builder
current.definition.namespace string Selectable in the Payload builder
current.definition.key string Selectable in the Payload builder
current.definition.name string Selectable in the Payload builder
current.definition.description string Selectable in the Payload builder
current.definition.type string Selectable in the Payload builder
current.definition.is_translatable boolean Selectable in the Payload builder
current.definition.max_value_length integer Selectable in the Payload builder
current.definition.max_list_items integer Selectable in the Payload builder
current.definition.sort_order integer Selectable in the Payload builder
current.definition.app_id string Selectable in the Payload builder
current.definition.app_access string Selectable in the Payload builder
current.definition.merchant_access string Selectable in the Payload builder
current.definition.created_at string Selectable in the Payload builder
current.definition.updated_at string Selectable in the Payload builder
current.definition.usage_count integer Selectable in the Payload builder
current.value string Selectable in the Payload builder
current.display_value string Selectable in the Payload builder
current.display_value_map object Selectable in the Payload builder
current.created_at string Selectable in the Payload builder
current.updated_at string Selectable in the Payload builder
changed_fields array Selectable in the Payload builder

Blog category metafield value deleted

EVENT blog_category_metafields/delete App scope: read_blog Staff permission: blog:write

Fired when a blog category metafield value is deleted, including when its blog category is deleted.

Payload fields

Field Type Description
blog_category.id string Always present
blog_category.name string Selectable in the Payload builder
blog_category.slug string Selectable in the Payload builder
metafield.definition.id string Selectable in the Payload builder
metafield.definition.owner_type string Selectable in the Payload builder
metafield.definition.namespace string Selectable in the Payload builder
metafield.definition.key string Selectable in the Payload builder
metafield.definition.name string Selectable in the Payload builder
metafield.definition.description string Selectable in the Payload builder
metafield.definition.type string Selectable in the Payload builder
metafield.definition.is_translatable boolean Selectable in the Payload builder
metafield.definition.max_value_length integer Selectable in the Payload builder
metafield.definition.max_list_items integer Selectable in the Payload builder
metafield.definition.sort_order integer Selectable in the Payload builder
metafield.definition.app_id string Selectable in the Payload builder
metafield.definition.app_access string Selectable in the Payload builder
metafield.definition.merchant_access string Selectable in the Payload builder
metafield.definition.created_at string Selectable in the Payload builder
metafield.definition.updated_at string Selectable in the Payload builder
metafield.definition.usage_count integer Selectable in the Payload builder
metafield.value string Selectable in the Payload builder
metafield.display_value string Selectable in the Payload builder
metafield.display_value_map object Selectable in the Payload builder
metafield.created_at string Selectable in the Payload builder
metafield.updated_at string Selectable in the Payload builder