---
title: "Consume a Studio action"
method: POST
path: "/api/v1/studio/actions/consume"
tags: ["Studio"]
---

# Consume a Studio action

`POST /api/v1/studio/actions/consume`

## Request

- Base URL: `https://api.sudomock.com`
- URL: `https://api.sudomock.com/api/v1/studio/actions/consume`
- Auth: API key in header `x-api-key`

Server-only exactly-once confirmation of a Studio action against its bound successful render.

## Request body

- StudioActionRequest
  - `version` 1, required: Version of the Studio action message format.
  - `request_id` string, uuid, required: Identifier of the action message, so a repeated call returns the same receipt.
  - `message_session_id` string, uuid, required: Identifier of the Studio session that emitted the action.
  - `type` 'studio.mockup-saved' | 'studio.design-submitted', required: Studio result this request confirms.
  - `payload` StudioActionPayload, required
    - `mockup_uuid` string, uuid, required: Identifier of the mockup the action was produced from.
    - `render_uuid` string, uuid, required: Identifier of the successful render this action confirms.
    - `action_id` string, nullable: Routing identifier the session was opened with.
    - `action_context` StudioActionContext
      - `shop` string, nullable: Store domain the session was opened for.
      - `product_id` string, nullable: Product identifier from your store platform.
      - `variant_id` string, nullable: Variant identifier from your store platform.
    - `render_parameters` object, nullable: Source-safe PSD or photo mockup render parameters emitted by the completed customize action.
    - `artwork_sources` StudioArtworkSource[], nullable: Public artwork URLs per target, as emitted by Studio. Forwarded unchanged from the editor message; echoed back on the receipt.
      - `uuid` string, nullable: Print area this artwork was placed on.
      - `surface_uuid` string, nullable: Product surface this artwork covers.
      - `smart_object_uuid` string, nullable: Smart object this artwork was placed on.
      - `url` string, required: Public URL of the artwork image the shopper ended up with.

## Response `200`

Successful Response

- StudioActionResponse
  - `success` true: Always true when the action was confirmed.
  - `replayed` boolean, required: True when this action was already confirmed and its receipt is returned again.
  - `receipt` StudioActionReceipt, required
    - `version` 1, required: Version of the Studio action receipt format.
    - `request_id` string, uuid, required: Identifier of the action message this receipt answers.
    - `message_session_id` string, uuid, required: Identifier of the Studio session the action came from.
    - `type` 'studio.mockup-saved' | 'studio.design-submitted', required: Studio result this receipt confirms.
    - `mockup_type` 'psd' | '2d', required: Kind of mockup the confirmed action belongs to.
    - `session_kind` 'setup' | 'customize', required: Kind of Studio session the action came from.
    - `action_id` string, nullable: Routing identifier the session was opened with.
    - `action_context` StudioActionContext, required
      - `shop` string, nullable: Store domain the session was opened for.
      - `product_id` string, nullable: Product identifier from your store platform.
      - `variant_id` string, nullable: Variant identifier from your store platform.
    - `mockup_uuid` string, uuid, required: Identifier of the mockup the confirmed render belongs to.
    - `render_uuid` string, uuid, required: Identifier of the render this receipt confirms.
    - `render_parameters` object, nullable: Server-confirmed, source-safe PSD or 2D parameters bound to the successful render.
    - `artwork_sources` StudioArtworkSource[], nullable: The artwork URLs supplied with this action, returned unchanged. Not stored and not server-confirmed: on a replayed action this echoes what the replay attempt sent, and a differing value does not make the action conflict.
      - `uuid` string, nullable: Print area this artwork was placed on.
      - `surface_uuid` string, nullable: Product surface this artwork covers.
      - `smart_object_uuid` string, nullable: Smart object this artwork was placed on.
      - `url` string, required: Public URL of the artwork image the shopper ended up with.
  - `order_assets` StudioOrderAssets: Links to keep on the order line of a confirmed add-to-cart action.
    - `preview_url` string, nullable: Link to the preview image the shopper approved.
    - `artwork_urls` string[]: Links to the artwork files kept for the order.
    - `print_file_urls` string[]: Links to the full-resolution print files kept for the order, one per smart object whose inner layers were filled or hidden. Left out when there are none.

---

[API](https://skmtc.dev/sudomock/apis/sudomock-api.md) · [All operations](https://skmtc.dev/sudomock/apis/sudomock-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sudomock/apis/sudomock-api/revisions/c1cc24006c60?raw)
