Contents

Email

ShootProof helps brands keep in touch with their customers through sending email messages to event visitors, contacts attached to an event or invoice, and more.

In addition to sending email messages on demand, ShootProof allows brands to set up automated emails that are sent whenever certain activities take place, and each brand has full control over when these are sent and for what activities they are sent.

Send an email message to a contact

post
/studio/brand/{brandId}/contact/{contactId}/email

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

contactId required

The contact identifier.

Header Parameters

Property Description
Authentication required

The bearer token used to make authenticated requests to the ShootProof Studio API. See the authorization guide for more information on how to obtain and use bearer tokens.

Request Body

application/vnd.shootproof+json
Property Description
body

The message to include in the body of the email.

headline

The headline to use in the email body.

subject

The subject line for the email message.

type

The type of resource represented.

OpenAPI Schema

The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.

{
  "content": {
    "application/vnd.shootproof+json": {
      "schema": {
        "allOf": [
          {
            "properties": {
              "buttonText": {
                "readOnly": true
              },
              "recipientEmails": {
                "readOnly": true
              }
            }
          },
          {
            "$ref": "#/components/schemas/StudioToClientEmail"
          }
        ]
      }
    }
  },
  "required": true
}

202 Accepted

On success, we respond with the contact to whom the email message was sent.

Headers
Header Description
Content-Location

The URL to the contact that is located in the response body.

Response Body

When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.

Properties
Property Description
address required nullable

The address for this contact.

birthDate nullable

The date on which this contact was born.

businessName nullable

The name for the business with which this contact is associated.

created read-only

The date on which this contact was created

email

The email address for this contact.

firstName nullable

The first name for this contact.

id

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

lastName nullable

The last name for this contact.

links required read-only

Each property defines a hypertext link relationship as indicated by a link object or array of link objects. The target URL of each hypertext link relationship is related to the current resource according to the defined semantics of the link relationship property name.

name nullable

The full name for this contact.

notes nullable

Notes made by the studio about this contact.

phone nullable

The phone number for this contact.

refereeContacts read-only

Contacts that have been referred by this contact.

referringContact nullable read-only

The contact who referred this contact.

referringContactId nullable

The identifier for the contact who referred this contact.

resourceCounts read-only
Property Description
numContracts

The number of contracts with which this contact is associated.

numEvents

The number of events with which this contact is associated.

numInvoices

The number of invoices with which this contact is associated.

tags

Tags describing this contact.

thirdPartyId nullable

The identifier for this contact in the source system from which it originated.

type

The type of resource represented.

400 Bad Request

Validation error response. Check the info.errors property in the response for more details.

Response Body

When the Content-Type of the response is application/problem+json, the following properties will be available in the response body.

Properties
Property Description
detail

A longer description of of the error encountered.

info

Additional information that may be provided to aid in error resolution.

Property Description
errors

If the error response is a result of validation errors, it will most likely be a 400 Bad Request response and contain this info.errors property. Each property name in the errors object is a property that failed validation. These properties contain objects with property names in the form of internal validation error message slugs paired with human-readable string values describing the validation failure. Each property may have multiple validation failure messages.

reason

An optional reason for the error response.

In some cases, more information is required to convey information about the error to the client. In these cases, one of the following reason slugs may be used.

Reason Slug Description
contract-not-ready-to-countersign The contract is in a state that does not allow countersigning. Its status must be ready-to-countersign to perform this action.
event-photo-count-limit The event has reached the maximum number of photos allowed.
plan-does-not-allow-uploads The studio is in a plan that does not allow uploads or they have reached the limit of photos the plan allows.
status

The HTTP status code associated with this error.

title

A short description of the error encountered.

type

A namespace URI uniquely identifying the error type.

OpenAPI Schema

The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.

{
  "202": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/Contact"
        }
      }
    },
    "description": "On success, we respond with the contact to whom the email message was\nsent.",
    "headers": {
      "Content-Location": {
        "description": "The URL to the contact that is located in the response body.",
        "schema": {
          "format": "uri",
          "type": "string"
        }
      }
    }
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  }
}

Send an email message to a contract’s contacts

post
/studio/brand/{brandId}/contract/{contractId}/email

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

contractId required

A contract identifier.

Header Parameters

Property Description
Authentication required

The bearer token used to make authenticated requests to the ShootProof Studio API. See the authorization guide for more information on how to obtain and use bearer tokens.

Request Body

The contract email object used to send an email message.

application/vnd.shootproof+json
Property Description
body

The message to include in the body of the email.

buttonText

The text for the call-to-action button in the email body.

headline

The headline to use in the email body.

recipientEmails

Email address(es) to send the email to. If provided, must be an array of valid email addresses. Optional, but may be required by child schemas.

subject

The subject line for the email message.

type

The type of resource represented.

OpenAPI Schema

The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.

{
  "content": {
    "application/vnd.shootproof+json": {
      "schema": {
        "$ref": "#/components/schemas/ContractEmail"
      }
    }
  },
  "description": "The contract email object used to send an email message.",
  "required": true
}

202 Accepted

On success, we respond with the contract for which the email message was sent.

Headers
Header Description
Content-Location

The URL to the contract that is located in the response body.

Response Body

When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.

Properties
Property Description
activity read-only

A list of activities that have occurred with this contract.

bodyContainsMagicBlank read-only

Indicates if the HTML body of the contract contains one or more 'magic blank' placeholder strings.

bodyHtml

The HTML body of the contract.

brandTheme read-only

A brand theme.

brandThemeId

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

cancelationMessage nullable

Optional cancelation message to include in studio-to-client email sent when contract status moves to canceled state. As of this writing, value only used on PATCH requests.

contact required read-only

The base definition for a contact.

contactId

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

contractStatus

The current status of the contract.

Status Description
draft The contract is a draft and has not been sent to the client.
awaiting-client-signature The contract has been sent to the client and is awaiting their signature.
awaiting-studio-countersign The client has signed the contract, and it is ready for the studio to countersign.
completed The client and studio have both signed the contract.
canceled The studio has canceled the contract.
expired The expiration date specified on the contract has passed while the contract was in the draft or awaiting-client-signature states.
contractTemplate required read-only
contractTemplateId nullable

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

created read-only

The creation date of this contract.

expirationDate

The date on which this contract expires.

id

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

invoices read-only

An array of linked invoices.

isHidden

Whether the contract has been marked 'hidden'.

languageCode

The Unicode CLDR language tag for the language used in this contract.

links required read-only

Each property defines a hypertext link relationship as indicated by a link object or array of link objects. The target URL of each hypertext link relationship is related to the current resource according to the defined semantics of the link relationship property name.

name

The name for this contract.

publicId read-only

The public identifier for this contract (may be used in the portal website).

shootDate nullable

This contract covers a photo shoot or event that took place on this date.

signatureClient nullable read-only

The contract signature for the client.

signatureStudio nullable read-only

The contract signature for the studio.

type

The type of resource represented.

400 Bad Request

Validation error response. Check the info.errors property in the response for more details.

Response Body

When the Content-Type of the response is application/problem+json, the following properties will be available in the response body.

Properties
Property Description
detail

A longer description of of the error encountered.

info

Additional information that may be provided to aid in error resolution.

Property Description
errors

If the error response is a result of validation errors, it will most likely be a 400 Bad Request response and contain this info.errors property. Each property name in the errors object is a property that failed validation. These properties contain objects with property names in the form of internal validation error message slugs paired with human-readable string values describing the validation failure. Each property may have multiple validation failure messages.

reason

An optional reason for the error response.

In some cases, more information is required to convey information about the error to the client. In these cases, one of the following reason slugs may be used.

Reason Slug Description
contract-not-ready-to-countersign The contract is in a state that does not allow countersigning. Its status must be ready-to-countersign to perform this action.
event-photo-count-limit The event has reached the maximum number of photos allowed.
plan-does-not-allow-uploads The studio is in a plan that does not allow uploads or they have reached the limit of photos the plan allows.
status

The HTTP status code associated with this error.

title

A short description of the error encountered.

type

A namespace URI uniquely identifying the error type.

OpenAPI Schema

The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.

{
  "202": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/Contract"
        }
      }
    },
    "description": "On success, we respond with the contract for which the email message\nwas sent.",
    "headers": {
      "Content-Location": {
        "description": "The URL to the contract that is located in the response body.",
        "schema": {
          "format": "uri",
          "type": "string"
        }
      }
    }
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  }
}

List a brand’s email automation groups

get
/studio/brand/{brandId}/email/automation-group

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

Header Parameters

Property Description
Authentication required

The bearer token used to make authenticated requests to the ShootProof Studio API. See the authorization guide for more information on how to obtain and use bearer tokens.

200 OK

Email automation groups

Response Body

When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.

Properties
Property Description
items

A collection of resources returned in the current result set.

Property Description
created read-only

The date on which the entity was created.

id

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

links required read-only

Each property defines a hypertext link relationship as indicated by a link object or array of link objects. The target URL of each hypertext link relationship is related to the current resource according to the defined semantics of the link relationship property name.

name

The name for this email automation group.

type

The type of resource represented.

links required read-only

Each property defines a hypertext link relationship as indicated by a link object or array of link objects. The target URL of each hypertext link relationship is related to the current resource according to the defined semantics of the link relationship property name.

meta read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

rows

The number of rows returned per page for the current result set.

totalItems

The total number of items in the result set. This may be affected by active search/filter parameters.

totalPages

The total number of pages in the result set. This is affected by the rows parameter (totalItems / rows == totalPages).

type

The type of resource represented.

OpenAPI Schema

The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/EmailAutomationGroupCollection"
        }
      }
    },
    "description": "Email automation groups"
  }
}

Get an email automation group

get
/studio/brand/{brandId}/email/automation-group/{emailAutomationGroupId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

emailAutomationGroupId required

An email automation group identifier.

Header Parameters

Property Description
Authentication required

The bearer token used to make authenticated requests to the ShootProof Studio API. See the authorization guide for more information on how to obtain and use bearer tokens.

200 OK

Email automation group

Response Body

When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.

Properties
Property Description
created read-only

The date on which the entity was created.

id

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

links required read-only

Each property defines a hypertext link relationship as indicated by a link object or array of link objects. The target URL of each hypertext link relationship is related to the current resource according to the defined semantics of the link relationship property name.

name

The name for this email automation group.

type

The type of resource represented.

OpenAPI Schema

The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/EmailAutomationGroup"
        }
      }
    },
    "description": "Email automation group"
  }
}

List a brand’s email templates

get
/studio/brand/{brandId}/email/template

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

Header Parameters

Property Description
Authentication required

The bearer token used to make authenticated requests to the ShootProof Studio API. See the authorization guide for more information on how to obtain and use bearer tokens.

200 OK

Email templates

Response Body

When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.

Properties
Property Description
items

A collection of resources returned in the current result set.

Property Description
body

The user-entered body content of the email message, in HTML format.

buttonText

If a call-to-action button is displayed in the email, this is the text label that will appear on the button.

created read-only

The date on which the entity was created.

emailTemplateType

The constant ShootProof identifier for the email template type.

ShootProof Identifier Description
contract-ready Describes an email template that may be sent to a studio's client when a contract is ready to view.
documents-ready Describes an email template that may be sent to a studio's client when they have documents (i.e., invoice and contract) ready to view.
email-admin-access-url-to-linked-contact Describes an email template that may be used to give a linked contact access to an event while it's in pre-release.
email-event-album-link Describes an email template that may be used to share a specific album within an event.
email-event-link Describes an email template that may be used to share an event.
email-mobile-app-link Describes an email template that may be used to share a link to a mobile app with a studio's client.
event-expiring-notice Describes an email template that may be used to notify event visitors of an upcoming event expiration.
event-released-to-linked-contact Describes an email template that may be used to notify an event's linked contact that an event is now active.
event-released-to-visitors Describes an email template that may be used to notify event visitors that an event is now active.
event-upload-complete Describes an email template that may be used as an internal notification to the studio user that an upload is complete in their ShootProof account.
event-visitor-message Describes an email template that may be used to send general messages to event visitors.
invoice-final-payment-due-remainder Describes an email template that may be used to notify a studio's client that their final invoice payment will be due soon.
invoice-message Describes an email template that may be used to send general messages about an invoice to a studio's client.
invoice-past-due-notice Describes an email template that may be used to notify a studio's client that their invoice is past due.
invoice-ready Describes an email template that may be sent to a studio's client when an invoice is ready to view.
order-status-notice Describes an email template that may be sent to a studio's client when the status of their order changes.
headline

If a headline is displayed in the email, this is the text of that headline.

htmlEmail read-only

The full HTML email template, complete with in-lined CSS, headers, and footers. This may be used to render a representation of the email message, allowing the studio user an opportunity to preview their message before sending it.

htmlEmailCss read-only

CSS styles that may be used to style a representation of the email message, providing the studio user an opportunity to preview their message before sending it.

id

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

links required read-only

Each property defines a hypertext link relationship as indicated by a link object or array of link objects. The target URL of each hypertext link relationship is related to the current resource according to the defined semantics of the link relationship property name.

name

The name of this email template.

resourceType nullable read-only

If present, this describes the type of resource represented by this email template.

subject

The email subject line to use for this template.

type

The type of object represented.

links required read-only

Each property defines a hypertext link relationship as indicated by a link object or array of link objects. The target URL of each hypertext link relationship is related to the current resource according to the defined semantics of the link relationship property name.

meta read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

rows

The number of rows returned per page for the current result set.

totalItems

The total number of items in the result set. This may be affected by active search/filter parameters.

totalPages

The total number of pages in the result set. This is affected by the rows parameter (totalItems / rows == totalPages).

type

The type of resource represented.

OpenAPI Schema

The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/EmailTemplateCollection"
        }
      }
    },
    "description": "Email templates"
  }
}

Get an email template

If the resourceType and resourceId query string parameters are present in the request, the variables within the email template properties will be replaced with appropriate values for the specified resource. This is provided for convenience to allow the studio user to view an email template as it might appear when sent to their clients.

get
/studio/brand/{brandId}/email/template/{emailTemplateId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

emailTemplateId required

An email template identifier.

Query Parameters

Property Description
resourceId

The identifier of the resourceType that you wish to use when replacing variables in email template properties. If no resourceType is provided, then variables will appear in the properties unchanged.

resourceType

Identifies the resource type for the given resourceId. If no resourceId is provided, then variables will appear in the properties unchanged.

The resourceType must be valid for the template type requested.

Header Parameters

Property Description
Authentication required

The bearer token used to make authenticated requests to the ShootProof Studio API. See the authorization guide for more information on how to obtain and use bearer tokens.

200 OK

An email template

Response Body

When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.

Properties
Property Description
body

The user-entered body content of the email message, in HTML format.

buttonText

If a call-to-action button is displayed in the email, this is the text label that will appear on the button.

created read-only

The date on which the entity was created.

emailTemplateType

The constant ShootProof identifier for the email template type.

ShootProof Identifier Description
contract-ready Describes an email template that may be sent to a studio's client when a contract is ready to view.
documents-ready Describes an email template that may be sent to a studio's client when they have documents (i.e., invoice and contract) ready to view.
email-admin-access-url-to-linked-contact Describes an email template that may be used to give a linked contact access to an event while it's in pre-release.
email-event-album-link Describes an email template that may be used to share a specific album within an event.
email-event-link Describes an email template that may be used to share an event.
email-mobile-app-link Describes an email template that may be used to share a link to a mobile app with a studio's client.
event-expiring-notice Describes an email template that may be used to notify event visitors of an upcoming event expiration.
event-released-to-linked-contact Describes an email template that may be used to notify an event's linked contact that an event is now active.
event-released-to-visitors Describes an email template that may be used to notify event visitors that an event is now active.
event-upload-complete Describes an email template that may be used as an internal notification to the studio user that an upload is complete in their ShootProof account.
event-visitor-message Describes an email template that may be used to send general messages to event visitors.
invoice-final-payment-due-remainder Describes an email template that may be used to notify a studio's client that their final invoice payment will be due soon.
invoice-message Describes an email template that may be used to send general messages about an invoice to a studio's client.
invoice-past-due-notice Describes an email template that may be used to notify a studio's client that their invoice is past due.
invoice-ready Describes an email template that may be sent to a studio's client when an invoice is ready to view.
order-status-notice Describes an email template that may be sent to a studio's client when the status of their order changes.
headline

If a headline is displayed in the email, this is the text of that headline.

htmlEmail read-only

The full HTML email template, complete with in-lined CSS, headers, and footers. This may be used to render a representation of the email message, allowing the studio user an opportunity to preview their message before sending it.

htmlEmailCss read-only

CSS styles that may be used to style a representation of the email message, providing the studio user an opportunity to preview their message before sending it.

id

An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string.

links required read-only

Each property defines a hypertext link relationship as indicated by a link object or array of link objects. The target URL of each hypertext link relationship is related to the current resource according to the defined semantics of the link relationship property name.

name

The name of this email template.

resourceType nullable read-only

If present, this describes the type of resource represented by this email template.

subject

The email subject line to use for this template.

type

The type of object represented.

Error Response

API errors come in two kinds of varieties: 400s and 500s.

Any error with a status code of 400 to 499 is considered a client error. This means it’s usually an error you can handle in your app, and then resend a modified request to the ShootProof API to get a successful response.

An error in the range of 500 to 599, on the other hand, is a different story. These errors usually mean that a problem occured on the server and resending the request with modifications will not fix the issue.

Pay careful attention to the status codes. We try to stick as close as possible to their defined semantics. For a complete list of HTTP status codes, take a look at the official HTTP Status Code Registry.

Check out our errors guide for more information.

Response Body

When the Content-Type of the response is application/problem+json, the following properties will be available in the response body.

Properties
Property Description
detail

A longer description of of the error encountered.

info

Additional information that may be provided to aid in error resolution.

Property Description
reason

An optional reason for the error response.

In some cases, more information is required to convey information about the error to the client. In these cases, one of the following reason slugs may be used.

Reason Slug Description
contract-not-ready-to-countersign The contract is in a state that does not allow countersigning. Its status must be ready-to-countersign to perform this action.
event-photo-count-limit The event has reached the maximum number of photos allowed.
plan-does-not-allow-uploads The studio is in a plan that does not allow uploads or they have reached the limit of photos the plan allows.
status

The HTTP status code associated with this error.

title

A short description of the error encountered.

type

A namespace URI uniquely identifying the error type.

Validation Error Example
{
  "detail": "There was a problem with your request. Please see `info` for more information.",
  "info": {
    "errors": {
      "type": {
        "isEmpty": "Value is required and can't be empty"
      }
    }
  },
  "status": 400,
  "title": "Bad Request",
  "type": "https://developer.shootproof.com/errors#error-bad-request"
}
Forbidden Error Example
{
  "detail": "You do not have permission to access the requested resource.",
  "status": 403,
  "title": "Forbidden",
  "type": "https://developer.shootproof.com/errors#error-forbidden"
}
Not Found Error Example
{
  "detail": "The requested resource could not be found.",
  "status": 404,
  "title": "Not Found",
  "type": "https://developer.shootproof.com/errors#error-not-found"
}
Server Error Example
{
  "detail": "An error occurred on the server. If this error continues to occur, please contact support.",
  "status": 500,
  "title": "Internal Server Error",
  "type": "https://developer.shootproof.com/errors#error-server-error"
}
Unauthorized Error Example
{
  "detail": "No authorization credentials provided. You must provide an authorization token for this request.",
  "status": 401,
  "title": "Unauthorized",
  "type": "https://developer.shootproof.com/errors#error-unauthorized"
}

OpenAPI Schema

The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/EmailTemplate"
        }
      }
    },
    "description": "An email template"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Get a list of email template types

get
/studio/email/template-type

Example Request

Header Parameters

Property Description
Authentication required

The bearer token used to make authenticated requests to the ShootProof Studio API. See the authorization guide for more information on how to obtain and use bearer tokens.

200 OK

Email template types

Response Body

When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.

Properties
Property Description
items

A collection of resources returned in the current result set.

Property Description
defaults nullable

The system default values for this email template type.

Property Description
body nullable

The default message body of this email template type. The message body includes HTML tags.

buttonText nullable

The default text label for the button used in the body of the email template.

buttonTextHelper nullable

Helper text provided to help the studio user understand the action taken when their client clicks on the button in the email message.

description nullable

A description of this email template type.

headline nullable

The default headline used in the body of the email template.

htmlEmail nullable

The full HTML email template, complete with in-lined CSS, headers, and footers.

htmlEmailCss nullable

The CSS that will be used to style the email message.

subject nullable

The default subject line for this email template type.

emailTemplateType

The constant ShootProof identifier for the email template type.

ShootProof Identifier Description
contract-ready Describes an email template that may be sent to a studio's client when a contract is ready to view.
documents-ready Describes an email template that may be sent to a studio's client when they have documents (i.e., invoice and contract) ready to view.
email-admin-access-url-to-linked-contact Describes an email template that may be used to give a linked contact access to an event while it's in pre-release.
email-event-album-link Describes an email template that may be used to share a specific album within an event.
email-event-link Describes an email template that may be used to share an event.
email-mobile-app-link Describes an email template that may be used to share a link to a mobile app with a studio's client.
event-expiring-notice Describes an email template that may be used to notify event visitors of an upcoming event expiration.
event-released-to-linked-contact Describes an email template that may be used to notify an event's linked contact that an event is now active.
event-released-to-visitors Describes an email template that may be used to notify event visitors that an event is now active.
event-upload-complete Describes an email template that may be used as an internal notification to the studio user that an upload is complete in their ShootProof account.
event-visitor-message Describes an email template that may be used to send general messages to event visitors.
invoice-final-payment-due-remainder Describes an email template that may be used to notify a studio's client that their final invoice payment will be due soon.
invoice-message Describes an email template that may be used to send general messages about an invoice to a studio's client.
invoice-past-due-notice Describes an email template that may be used to notify a studio's client that their invoice is past due.
invoice-ready Describes an email template that may be sent to a studio's client when an invoice is ready to view.
order-status-notice Describes an email template that may be sent to a studio's client when the status of their order changes.
links required read-only

Each property defines a hypertext link relationship as indicated by a link object or array of link objects. The target URL of each hypertext link relationship is related to the current resource according to the defined semantics of the link relationship property name.

resourceType nullable

If present, this describes the type of resource represented by this email template.

type

The type of resource represented.

links required read-only

Each property defines a hypertext link relationship as indicated by a link object or array of link objects. The target URL of each hypertext link relationship is related to the current resource according to the defined semantics of the link relationship property name.

meta read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

rows

The number of rows returned per page for the current result set.

totalItems

The total number of items in the result set. This may be affected by active search/filter parameters.

totalPages

The total number of pages in the result set. This is affected by the rows parameter (totalItems / rows == totalPages).

type

The type of resource represented.

OpenAPI Schema

The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/EmailTemplateTypeCollection"
        }
      }
    },
    "description": "Email template types"
  }
}

Returns an email template type

If the resourceType and resourceId query string parameters are present in the request, the variables within the properties of the defaults will be replaced with appropriate values for the specified resource. This is provided for convenience to allow the studio user to view an email template as it might appear when sent to their clients.

get
/studio/email/template-type/{emailTemplateTypeId}

Example Request

Path Parameters

Property Description
emailTemplateTypeId required

An email template type identifier.

Query Parameters

Property Description
resourceId

The identifier of the resourceType that you wish to use when replacing variables in the system default values. If no resourceType is provided, then only the system default values are returned.

resourceType

Identifies the resource type for the given resourceId. If no resourceId is provided, then only the system default values are returned.

The resourceType must be valid for the template type requested.

Header Parameters

Property Description
Authentication required

The bearer token used to make authenticated requests to the ShootProof Studio API. See the authorization guide for more information on how to obtain and use bearer tokens.

200 OK

An email template type

Response Body

When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.

Properties
Property Description
defaults nullable

The system default values for this email template type.

Property Description
body nullable

The default message body of this email template type. The message body includes HTML tags.

buttonText nullable

The default text label for the button used in the body of the email template.

buttonTextHelper nullable

Helper text provided to help the studio user understand the action taken when their client clicks on the button in the email message.

description nullable

A description of this email template type.

headline nullable

The default headline used in the body of the email template.

htmlEmail nullable

The full HTML email template, complete with in-lined CSS, headers, and footers.

htmlEmailCss nullable

The CSS that will be used to style the email message.

subject nullable

The default subject line for this email template type.

emailTemplateType

The constant ShootProof identifier for the email template type.

ShootProof Identifier Description
contract-ready Describes an email template that may be sent to a studio's client when a contract is ready to view.
documents-ready Describes an email template that may be sent to a studio's client when they have documents (i.e., invoice and contract) ready to view.
email-admin-access-url-to-linked-contact Describes an email template that may be used to give a linked contact access to an event while it's in pre-release.
email-event-album-link Describes an email template that may be used to share a specific album within an event.
email-event-link Describes an email template that may be used to share an event.
email-mobile-app-link Describes an email template that may be used to share a link to a mobile app with a studio's client.
event-expiring-notice Describes an email template that may be used to notify event visitors of an upcoming event expiration.
event-released-to-linked-contact Describes an email template that may be used to notify an event's linked contact that an event is now active.
event-released-to-visitors Describes an email template that may be used to notify event visitors that an event is now active.
event-upload-complete Describes an email template that may be used as an internal notification to the studio user that an upload is complete in their ShootProof account.
event-visitor-message Describes an email template that may be used to send general messages to event visitors.
invoice-final-payment-due-remainder Describes an email template that may be used to notify a studio's client that their final invoice payment will be due soon.
invoice-message Describes an email template that may be used to send general messages about an invoice to a studio's client.
invoice-past-due-notice Describes an email template that may be used to notify a studio's client that their invoice is past due.
invoice-ready Describes an email template that may be sent to a studio's client when an invoice is ready to view.
order-status-notice Describes an email template that may be sent to a studio's client when the status of their order changes.
links required read-only

Each property defines a hypertext link relationship as indicated by a link object or array of link objects. The target URL of each hypertext link relationship is related to the current resource according to the defined semantics of the link relationship property name.

resourceType nullable

If present, this describes the type of resource represented by this email template.

type

The type of resource represented.

Error Response

API errors come in two kinds of varieties: 400s and 500s.

Any error with a status code of 400 to 499 is considered a client error. This means it’s usually an error you can handle in your app, and then resend a modified request to the ShootProof API to get a successful response.

An error in the range of 500 to 599, on the other hand, is a different story. These errors usually mean that a problem occured on the server and resending the request with modifications will not fix the issue.

Pay careful attention to the status codes. We try to stick as close as possible to their defined semantics. For a complete list of HTTP status codes, take a look at the official HTTP Status Code Registry.

Check out our errors guide for more information.

Response Body

When the Content-Type of the response is application/problem+json, the following properties will be available in the response body.

Properties
Property Description
detail

A longer description of of the error encountered.

info

Additional information that may be provided to aid in error resolution.

Property Description
reason

An optional reason for the error response.

In some cases, more information is required to convey information about the error to the client. In these cases, one of the following reason slugs may be used.

Reason Slug Description
contract-not-ready-to-countersign The contract is in a state that does not allow countersigning. Its status must be ready-to-countersign to perform this action.
event-photo-count-limit The event has reached the maximum number of photos allowed.
plan-does-not-allow-uploads The studio is in a plan that does not allow uploads or they have reached the limit of photos the plan allows.
status

The HTTP status code associated with this error.

title

A short description of the error encountered.

type

A namespace URI uniquely identifying the error type.

Validation Error Example
{
  "detail": "There was a problem with your request. Please see `info` for more information.",
  "info": {
    "errors": {
      "type": {
        "isEmpty": "Value is required and can't be empty"
      }
    }
  },
  "status": 400,
  "title": "Bad Request",
  "type": "https://developer.shootproof.com/errors#error-bad-request"
}
Forbidden Error Example
{
  "detail": "You do not have permission to access the requested resource.",
  "status": 403,
  "title": "Forbidden",
  "type": "https://developer.shootproof.com/errors#error-forbidden"
}
Not Found Error Example
{
  "detail": "The requested resource could not be found.",
  "status": 404,
  "title": "Not Found",
  "type": "https://developer.shootproof.com/errors#error-not-found"
}
Server Error Example
{
  "detail": "An error occurred on the server. If this error continues to occur, please contact support.",
  "status": 500,
  "title": "Internal Server Error",
  "type": "https://developer.shootproof.com/errors#error-server-error"
}
Unauthorized Error Example
{
  "detail": "No authorization credentials provided. You must provide an authorization token for this request.",
  "status": 401,
  "title": "Unauthorized",
  "type": "https://developer.shootproof.com/errors#error-unauthorized"
}

OpenAPI Schema

The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/EmailTemplateType"
        }
      }
    },
    "description": "An email template type"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}