Get the approvals on an approval's order
AI agents: read /llms.txt; add .md to any page URL. This page as Markdown: /reference/approvals/v1-approvals-show.md. Index of every page and the rules for every call: /llms.txt. Guides and concepts in one file: /llms-full.txt. OpenAPI: /openapi.json.
GET/
Looks up the approval, then returns every approval on the same order or quote, as a list: job and order approvals, completed or not. Find the one you asked for by id.
Each item has the approval's notes, status and signature, and who completed it: approved_by is contact, with approved_by_contact_id, when a Customer Portal contact did. Job approvals also have items (each mockup or design with its own status and the customer's notes) and mockup (the images).
Path parameters
Your team slug, shown as Team ID next to your API key in Profile.
- Example
your-team
- Example
The approval's
id, from the approvals list. A hash id; unique keys and document numbers are refused with 404.- Example
Fi0zPeMlwKadEo
- Example
Request body
This operation takes no request body.
Response
200Successful response.
Fields of each item (26)
approved_bystringcontactwhen a Customer Portal contact completed it (approved_by_contact_id).userwhen a team member completed it. Otherwisecustomer, even before anyone has approved it.- One of:
"contact","user","customer"
- One of:
approved_by_contact_idstring | nullThe contact who completed it in the Customer Portal, when YoPrint knows which contact it was. Null otherwise.
approved_by_userstring | nullThe hash id of the team member who completed it on the customer's behalf, if any.
completedbooleanTrue once the customer finished, whether they approved or asked for changes.
completed_atstring (date-time) | nullcreated_atstring (date-time)customer_last_viewed_contact_idstring | nullThe last contact known to have opened it in the Customer Portal. Null when none is known.
customer_last_viewed_datestring (date-time) | nullidstringitemsarray of objectsJob approvals: each mockup file or design, in order, with its own status and notes.
mediaitems also carry the file's details and expiring links;mockup_designitems carry the design's revision and page previews. An empty list for order approvals.Fields of each item (9)
idstringThe item's id.
media_idstring | nullmediaitems: the file's id.mockup_design_idstring | nullmockup_designitems: the design's id.namestring | nullnotes_from_customerstring | nullnotes_to_customerstring | nullpositionintegerstatusstring- One of:
"pending-approval","approved","need-changes"
- One of:
typestringmedia: an uploaded mockup file.mockup_design: a design made in the mockup designer.- One of:
"media","mockup_design"
- One of:
job_idstring | nullJob approvals only.
job_namestringAn empty string for order approvals.
job_scoped_idstringThe job number, such as
JOB-1001. An empty string for order approvals.mockuparray of objects | nullJob approvals: the uploaded mockup files only (designs are only in
items); an empty list when there are none. Null for order approvals.Fields of each item (11)
created_atstring (date-time)file_namestringidstringThe same id as the matching
mediaitem initems.media_idstringThe file's id.
mime_typestringnamestringnotes_from_customerstring | nullnotes_to_customerstring | nullpositionintegerstatusstring- One of:
"pending-approval","approved","need-changes"
- One of:
urlstringA signed download link. It expires; don't store it.
notes_from_customerstring | nullnotes_to_customerstring | nullorder_external_typestring | nullorder_idstring | nullorder_object_typestring | nullsales_orderorquote.- One of:
"sales_order","quote"
- One of:
order_quotebooleanTrue when the approval is on a quote.
order_scoped_idstringThe order or quote number.
request_bystring | nullA team member's hash id, or null. Approvals created in the web app or through the API are null here: neither records who requested them.
signaturestring | nullThe customer's signature, when they signed.
signed_terms_textstring | nullThe terms the customer agreed to when signing.
statusstringpending: not sent yet.sent-to-customer: emailed.viewed-by-customer: the customer opened it.need-changes: the customer finished and asked for changes ("Review requested").completed: approved.- One of:
"pending","sent-to-customer","viewed-by-customer","need-changes","completed"
- One of:
typestringjob: artwork approval for one job's mockups.order: approval of the whole order.- One of:
"job","order"
- One of:
Errors
401The API key is missing or wrong (
unauthenticated).403You are not allowed to do this.
api_access_not_in_plan: your team's plan doesn't include API access (Pro and above, with an active subscription or trial), so every request answers this until the team upgrades. When your role lacks the permission the operation needs, the body is only{"message": "Insufficient Permission"}. Other refusals use the error envelope, withunauthorizedoruser_is_not_authorized.404Not found.
page_not_found: the team slug is unknown, you are not a member of the team, or an id in the path is not one of this team's.code: null, with a message that starts "No query results for": there is no record with that id.- When
- No approval of this team has this id, or its order came from Shopify.
- Fix
- Use an
idfrom the approvals list.
Notes
- Unlike the list, this includes approvals on draft orders.
Related
- GETList approvals
/v1/ api/ store/ {team_slug}/ approvals - GETGet an order approval
/v2/ api/ store/ {team_slug}/ v2/ sales_order/ {hash_id}/ approval/ {hash_id2}
