Skip to content

List a template's attachments

Open .md

GET/v2/api/store/{team_slug}/setting/message_template/{hash_id}/internal_attachment

v2Operation ID v2_public_message_template_internal_attachment_index

Returns the attachments a message template adds when it is sent. The path takes the template's id. Attachment type values: order (the sales order or quote PDF), order_compact (its compact PDF), so_jobs_with_mockup and so_jobs_without_mockup (job sheets), so_invoices and so_compact_invoices (its invoices), purchase_order (the purchase order PDF), and media or reference_media (a file, by media_id). A template accepts only the values in its supported_attachments: purchase order templates take purchase_order, media and reference_media.

Permission

Any member of the team, whatever their role. This is wider than the web app, whose Settings pages need Manage Settings: on the API only changes need it.

Path parameters

  • team_slugstringrequired

    Your team slug, shown as Team ID next to your API key in Profile.

    • Example your-team
  • hash_idstringrequired

    The message template. Its hash id from an earlier answer; there is no unique key for it.

    • Example DVubREua5aJkwh

Request body

This operation takes no request body.

Response

200Successful response.

  • dataarray of objectsrequired
    Fields of each item (13)
    • created_atstring (date-time)required
    • detailstring | nullrequired

      For a document attachment, defaults to its kind, such as Sales Order/Quote (PDF).

    • idstringrequired
    • mediaobject | nullrequired

      For a media or reference_media attachment, the file: id, name, file_name, mime_type, size, a download url, a signed view_url and more. Null for document attachments.

    • media_idstring | nullrequired
    • namestring | nullrequired
    • optionsstring | nullrequired

      The attachment's options as a JSON-encoded string, not an object: "[]", or for job sheets "{\"show_mockup\":true}". "null" for a media or reference_media file. Decode it before use.

    • order_idstring | nullrequired
    • order_scoped_idstring | integer | nullrequired
    • purchase_order_idstring | nullrequired
    • purchase_order_scoped_idstring | integer | nullrequired
    • typestringrequired
    • updated_atstring (date-time)required
  • statusintegerrequired
  • successbooleanrequired

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, with unauthorized or user_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.