Skip to main content
Eleven paths still answer under their earlier names. They keep serving the same operations, on the same data, and nothing you have already shipped needs to change today. They are marked deprecated in the OpenAPI spec and left out of the reference navigation, so new code lands on the current name. Left out of the navigation, not left out of the spec: download the spec and the eleven are still in it, with deprecated: true on each, so a generated client keeps every method it has and your linter is the one that tells you which to move off.

Photo mockups

Everything under /api/v1/sudoai/2d-mockups is the same operation as its /api/v1/photo-mockups twin, on the same data. Moving is a string swap. The headers, the body and the response are identical.
The current render path

PSD mockups

Four paths under /api/v1/mockups are earlier names for the PSD mockup collection.

Two paths that no longer answer

The singular render paths were retired and currently return 404: the singular /api/v1/sudoai/2d-mockup/render and its older alias /api/v1/sudoai/render. The mockup id moved out of the request body and into the URL, so the body now carries only print_areas and export_options.
404 Not Found
If you see this on a path you believe is current, check that the id in the URL belongs to your account before changing anything else. See Render artwork for the shape the body takes now.

The job kind follows the path

A job accepted on /api/v1/sudoai/2d-mockups reports kind as 2d_create or 2d_render. The same job accepted on /api/v1/photo-mockups reports photo_mockup_create or photo_mockup_render. Code that compares the kind literally should accept both spellings while you move.
Accept either spelling

Webhook endpoints keep their spelling

A webhook endpoint created before the current names were introduced is pinned to the earlier spelling and keeps receiving the same five events as 2d_mockup.ready, 2d_mockup.rejected, 2d_mockup.failed, 2d_render.succeeded and 2d_render.failed. The kind inside a payload always follows the endpoint, whichever path accepted the job.
A pinned endpoint's payload
The endpoint object reports which spelling it receives in event_naming. New endpoints are created as current. Move an existing one once your handler reads the new names. Move an endpoint to the current names
Change the handler before the endpoint. The switch takes effect on the next delivery, and a handler that still matches only on 2d_render.succeeded will stop recognising its own renders.

Next

Photo mockups

The current two step flow, end to end.

Webhooks

Event names, payloads and signature verification.