MobiariDocs
Admin APIProducts

Set a product's specification value

PUT
/stores/{store_id}/products/{product_id}/specs/{field_id}

Sets, replaces or clears one field. An empty payload (no terms, no collections, blank text) clears it and answers 204. The field's kind decides what is accepted:

  • taxonomy: term_ids (at most one unless the field is multiple), an optional value_text override, and value_texts when the field has allow_freeform.
  • collection_ref: collection_ids of the store's collections; this writes the product's collection membership.
  • anything else: value_text.

Authorization

bearer_auth
AuthorizationBearer <token>

Authorization: Bearer <token>. Either a session access token from POST /auth/login (refresh it with POST /auth/refresh) or a store API token (mobi_st_…). A store API token works only for the store it was issued in, and can do at most what its issuing user can there, narrowed to the scopes it was issued with.

In: header

Path Parameters

store_id*string

Store id

Formatuuid
product_id*string

Product id

Formatuuid
field_id*string

Spec field id

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/stores/497f6eca-6276-4993-bfeb-53cbbbba6f08/products/497f6eca-6276-4993-bfeb-53cbbbba6f08/specs/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{
  "collection_ids": [
    "555d9eae-f239-41bc-a2cb-66d805f87d95"
  ],
  "field_id": "e68e30b1-d177-4632-b748-463bcd0eedc6",
  "term_ids": [
    "dcde83ad-4a95-4487-8dbb-e48cdabb3db2"
  ],
  "value_text": "string",
  "value_texts": [
    "string"
  ]
}
Empty
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}