ShootProof provides invoicing to help studios manage the business of their brands. Through invoicing, a brand can set up any fee structure and payment schedule, event allowing one or more parties to pay on the same invoice.
Returns a list of all invoices for the current brand. Query string parameters may be used to affect the response, including pagination, sorting, and filtering.
/studio/brand/{brandId}/invoice
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
Property | Description |
---|---|
filterContactIds |
The invoice client contact IDs by which to filter results. |
filterExcludeLinkedToContract |
Indicates that invoices linked to contract(s) should be excluded from the results. |
filterHidden |
Indicates whether or not hidden invoices should be included in the results. If not provided in the request both hidden and visible invoices will be returned. |
filterInvoiceGrouping |
Indicates the grouping of invoices that should be returned. Note: All groups, excluding |
filterOrderId |
Note: this filter is accepted for testing purposes, but not yet implemented. All results will be returned. The invoice order ID by which to filter results. |
page |
The page of results to return. |
rows |
The number of rows to return on each page of results. |
searchContactInfo |
Customer name or email address by which to filter results. |
searchCustomInvoiceId |
The customer-facing invoice identifier by which to filter results. |
searchInvoiceItem |
The name or description of invoice items by which to filter results. |
searchInvoiceStatus |
The invoice status by which to filter results. To filter by past due invoices, pass the string |
sortBy |
The property by which items returned should be sorted. |
sortType |
The direction in which sorting should occur. |
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
Invoices list response.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
items |
A collection of resources returned in the current result set.
|
||||||||||||||||||||||||||||||||||||||||
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 required read-only |
Metadata describing the current result set.
|
||||||||||||||||||||||||||||||||||||||||
type |
The model type for the list response object. |
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/InvoiceCollection"
}
}
},
"description": "Invoices list response."
}
}
/studio/brand/{brandId}/invoice
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
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. |
The invoice object to create.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
contactId |
An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
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/Invoice"
}
}
},
"description": "The invoice object to create.",
"required": true
}
201 Created
The successfully-created invoice.
Header | Description |
---|---|
Location |
The URL to the newly-created invoice. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
activity read-only |
A list of activities that have occurred with this invoice. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
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. |
||||||||
contracts read-only |
An array of linked contracts. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
creditCardTransactions read-only |
An array of invoice credit card transactions, showing all attempts to charge a card for this invoice, including approved/declined attempts. |
||||||||
currencyCode read-only |
Identifies the currency used for this invoice. |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice. |
||||||||
customInvoiceId read-only |
A client-facing identifier for this invoice, starting at 1000 for each studio. |
||||||||
discountTotal read-only |
The total amount of all discounts applied to this invoice. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
dueTotal read-only |
The total amount of this invoice that is due. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
finalDueDate nullable read-only |
The date on which this invoice must be paid in full. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
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. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paidTotal read-only |
The total amount of this invoice that has been paid. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
payments read-only |
An array of invoice payments, showing a history of all payments made on this invoice. |
||||||||
publicId read-only |
The public identifier for this invoice (may be used in the portal website). |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
retainerTotal read-only |
The total amount for the invoice retainer. |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"201": {
"content": {
"application/vnd.shootproof+json": {
"schema": {
"$ref": "#/components/schemas/Invoice"
}
}
},
"description": "The successfully-created invoice.",
"headers": {
"Location": {
"description": "The URL to the newly-created invoice.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"400": {
"$ref": "#/components/responses/validationError"
}
}
/studio/brand/{brandId}/invoice/discount-template
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
Property | Description |
---|---|
page |
The page of results to return. |
rows |
The number of rows to return on each page of results. |
sortBy |
The property by which items returned should be sorted. |
sortType |
The direction in which sorting should occur. |
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
A collection of invoice discount templates.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
items |
A collection of resources returned in the current result set.
|
||||||||||||||||||
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.
|
||||||||||||||||||
type |
The type of resource represented. |
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/InvoiceDiscountTemplateCollection"
}
}
},
"description": "A collection of invoice discount templates."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/discount-template
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
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. |
The invoice discount template to create.
Property | Description |
---|---|
description |
A description of the discount for use as display text on the invoice. |
discountType |
The type of discount represented by the value. |
id |
An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string. |
name |
A short name to use for this discount. |
type |
The type of resource represented. |
value |
The amount this discount represents. This value may be a fixed amount (if The discount value is allowed to be greater than the grand total of the invoice. In this case, the grand total will never be less than |
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/InvoiceDiscountTemplate"
}
}
},
"description": "The invoice discount template to create.",
"required": true
}
201 Created
The new invoice discount template.
Header | Description |
---|---|
Location |
The URL to the new invoice discount template. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description |
---|---|
created read-only |
The date on which the entity was created. |
description |
A description of the discount for use as display text on the invoice. |
discountType |
The type of discount represented by the value. |
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 |
A short name to use for this discount. |
type |
The type of resource represented. |
value |
The amount this discount represents. This value may be a fixed amount (if The discount value is allowed to be greater than the grand total of the invoice. In this case, the grand total will never be less than |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"201": {
"content": {
"application/vnd.shootproof+json": {
"schema": {
"$ref": "#/components/schemas/InvoiceDiscountTemplate"
}
}
},
"description": "The new invoice discount template.",
"headers": {
"Location": {
"description": "The URL to the new invoice discount template.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"400": {
"$ref": "#/components/responses/validationError"
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/discount-template/{invoiceDiscountTemplateId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceDiscountTemplateId required |
The invoice discount template identifier. |
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. |
204 No Content
The resource was successfully deleted.
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"204": {
"$ref": "#/components/responses/deleteSuccess"
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/discount-template/{invoiceDiscountTemplateId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceDiscountTemplateId required |
The invoice discount template identifier. |
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 invoice discount template.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description |
---|---|
created read-only |
The date on which the entity was created. |
description |
A description of the discount for use as display text on the invoice. |
discountType |
The type of discount represented by the value. |
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 |
A short name to use for this discount. |
type |
The type of resource represented. |
value |
The amount this discount represents. This value may be a fixed amount (if The discount value is allowed to be greater than the grand total of the invoice. In this case, the grand total will never be less than |
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/InvoiceDiscountTemplate"
}
}
},
"description": "An invoice discount template."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/discount-template/{invoiceDiscountTemplateId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceDiscountTemplateId required |
The invoice discount template identifier. |
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. |
The invoice discount template to update. Only provide those properties that need updating.
Property | Description |
---|---|
description |
A description of the discount for use as display text on the invoice. |
discountType |
The type of discount represented by the value. |
id |
An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string. |
name |
A short name to use for this discount. |
type |
The type of resource represented. |
value |
The amount this discount represents. This value may be a fixed amount (if The discount value is allowed to be greater than the grand total of the invoice. In this case, the grand total will never be less than |
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/InvoiceDiscountTemplate"
}
}
},
"description": "The invoice discount template to update. Only provide those properties\nthat need updating.",
"required": true
}
200 OK
The updated invoice discount template.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description |
---|---|
created read-only |
The date on which the entity was created. |
description |
A description of the discount for use as display text on the invoice. |
discountType |
The type of discount represented by the value. |
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 |
A short name to use for this discount. |
type |
The type of resource represented. |
value |
The amount this discount represents. This value may be a fixed amount (if The discount value is allowed to be greater than the grand total of the invoice. In this case, the grand total will never be less than |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/InvoiceDiscountTemplate"
}
}
},
"description": "The updated invoice discount template."
},
"400": {
"$ref": "#/components/responses/validationError"
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/discount-template/{invoiceDiscountTemplateId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceDiscountTemplateId required |
The invoice discount template identifier. |
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. |
The invoice discount template to update.
Property | Description |
---|---|
description |
A description of the discount for use as display text on the invoice. |
discountType |
The type of discount represented by the value. |
id |
An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string. |
name |
A short name to use for this discount. |
type |
The type of resource represented. |
value |
The amount this discount represents. This value may be a fixed amount (if The discount value is allowed to be greater than the grand total of the invoice. In this case, the grand total will never be less than |
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/InvoiceDiscountTemplate"
}
}
},
"description": "The invoice discount template to update.",
"required": true
}
200 OK
The updated invoice discount template.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description |
---|---|
created read-only |
The date on which the entity was created. |
description |
A description of the discount for use as display text on the invoice. |
discountType |
The type of discount represented by the value. |
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 |
A short name to use for this discount. |
type |
The type of resource represented. |
value |
The amount this discount represents. This value may be a fixed amount (if The discount value is allowed to be greater than the grand total of the invoice. In this case, the grand total will never be less than |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/InvoiceDiscountTemplate"
}
}
},
"description": "The updated invoice discount template."
},
"400": {
"$ref": "#/components/responses/validationError"
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/item-template
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
Property | Description |
---|---|
page |
The page of results to return. |
rows |
The number of rows to return on each page of results. |
searchNameDescription |
Search invoice item templates by the name and description fields. |
sortBy |
The property by which items returned should be sorted. |
sortType |
The direction in which sorting should occur. |
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
Invoice item templates list response.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
items |
A collection of resources returned in the current result set.
|
||||||||||||||||||||||
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.
|
||||||||||||||||||||||
type |
The model type for the list response object. |
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"200": {
"content": {
"application/vnd.shootproof+json": {
"schema": {
"allOf": [
{
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/InvoiceItemTemplate"
},
"type": "array"
},
"type": {
"description": "The model type for the list response object.",
"enum": [
"invoice-item-template-collection"
],
"type": "string"
}
}
},
{
"$ref": "#/components/schemas/List"
}
],
"description": "A collection of invoice item templates"
}
}
},
"description": "Invoice item templates list response."
}
}
/studio/brand/{brandId}/invoice/item-template
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
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. |
The invoice item template object to create.
Property | Description |
---|---|
description |
A description for this invoice item template. |
id |
The identifier for this invoice item template. |
isTaxable |
Whether this invoice item template is taxable. |
itemPrice |
The price for a single one of this invoice item template. |
name |
The name of this invoice item template. |
quantity |
The default quantity for this invoice item template. |
totalPrice |
The invoice item template price multiplied by the quantity. |
type |
The type of object represented. |
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/InvoiceItemTemplate"
}
}
},
"description": "The invoice item template object to create.",
"required": true
}
201 Created
The successfully-created invoice item template.
Header | Description |
---|---|
Location |
The URL to the newly-created invoice item template. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description |
---|---|
created read-only |
The date on which the entity was created. |
description |
A description for this invoice item template. |
id |
The identifier for this invoice item template. |
isTaxable |
Whether this invoice item template is taxable. |
itemPrice |
The price for a single one of this invoice item template. |
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 invoice item template. |
quantity |
The default quantity for this invoice item template. |
totalPrice |
The invoice item template price multiplied by the quantity. |
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"201": {
"content": {
"application/vnd.shootproof+json": {
"schema": {
"$ref": "#/components/schemas/InvoiceItemTemplate"
}
}
},
"description": "The successfully-created invoice item template.",
"headers": {
"Location": {
"description": "The URL to the newly-created invoice item template.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"400": {
"$ref": "#/components/responses/validationError"
}
}
/studio/brand/{brandId}/invoice/item-template/{invoiceItemTemplateId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceItemTemplateId required |
The invoice item template identifier. |
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. |
204 No Content
Successful deletion response.
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"204": {
"description": "Successful deletion response."
}
}
/studio/brand/{brandId}/invoice/item-template/{invoiceItemTemplateId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceItemTemplateId required |
The invoice item template identifier. |
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 invoice item template.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description |
---|---|
created read-only |
The date on which the entity was created. |
description |
A description for this invoice item template. |
id |
The identifier for this invoice item template. |
isTaxable |
Whether this invoice item template is taxable. |
itemPrice |
The price for a single one of this invoice item template. |
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 invoice item template. |
quantity |
The default quantity for this invoice item template. |
totalPrice |
The invoice item template price multiplied by the quantity. |
type |
The type of object represented. |
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/InvoiceItemTemplate"
}
}
},
"description": "An invoice item template."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/item-template/{invoiceItemTemplateId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceItemTemplateId required |
The invoice item template identifier. |
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. |
The invoice item template object to update. Only provide those properties that need updating.
Property | Description |
---|---|
description |
A description for this invoice item template. |
id |
The identifier for this invoice item template. |
isTaxable |
Whether this invoice item template is taxable. |
itemPrice |
The price for a single one of this invoice item template. |
name |
The name of this invoice item template. |
quantity |
The default quantity for this invoice item template. |
totalPrice |
The invoice item template price multiplied by the quantity. |
type |
The type of object represented. |
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/InvoiceItemTemplate"
}
}
},
"description": "The invoice item template object to update. Only provide those\nproperties that need updating.",
"required": true
}
200 OK
The successfully-updated invoice item template.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description |
---|---|
created read-only |
The date on which the entity was created. |
description |
A description for this invoice item template. |
id |
The identifier for this invoice item template. |
isTaxable |
Whether this invoice item template is taxable. |
itemPrice |
The price for a single one of this invoice item template. |
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 invoice item template. |
quantity |
The default quantity for this invoice item template. |
totalPrice |
The invoice item template price multiplied by the quantity. |
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
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/InvoiceItemTemplate"
}
}
},
"description": "The successfully-updated invoice item template."
},
"400": {
"$ref": "#/components/responses/validationError"
}
}
/studio/brand/{brandId}/invoice/item-template/{invoiceItemTemplateId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceItemTemplateId required |
The invoice item template identifier. |
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. |
The invoice item template object to update.
Property | Description |
---|---|
description |
A description for this invoice item template. |
id |
The identifier for this invoice item template. |
isTaxable |
Whether this invoice item template is taxable. |
itemPrice |
The price for a single one of this invoice item template. |
name |
The name of this invoice item template. |
quantity |
The default quantity for this invoice item template. |
totalPrice |
The invoice item template price multiplied by the quantity. |
type |
The type of object represented. |
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/InvoiceItemTemplate"
}
}
},
"description": "The invoice item template object to update.",
"required": true
}
200 OK
The successfully-updated invoice item template.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description |
---|---|
created read-only |
The date on which the entity was created. |
description |
A description for this invoice item template. |
id |
The identifier for this invoice item template. |
isTaxable |
Whether this invoice item template is taxable. |
itemPrice |
The price for a single one of this invoice item template. |
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 invoice item template. |
quantity |
The default quantity for this invoice item template. |
totalPrice |
The invoice item template price multiplied by the quantity. |
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
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/InvoiceItemTemplate"
}
}
},
"description": "The successfully-updated invoice item template."
},
"400": {
"$ref": "#/components/responses/validationError"
}
}
Returns a list of all invoice templates for the current brand. Query string parameters may be used to affect the response, including pagination, sorting, and filtering of results.
/studio/brand/{brandId}/invoice/template
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
Property | Description |
---|---|
page |
The page of results to return. |
rows |
The number of rows to return on each page of results. |
searchInvoiceItem |
The name or description of invoice items by which to filter results. |
searchName |
Invoice template name by which to filter results. |
sortBy |
The property by which items returned should be sorted. |
sortType |
The direction in which sorting should occur. |
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
Invoice templates list response.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
items |
A collection of resources returned in the current result set.
|
||||||||||||||
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.
|
||||||||||||||
type |
The model type for the list response object. |
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"200": {
"content": {
"application/vnd.shootproof+json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"properties": {
"items": {
"items": {
"description": "An invoice template as viewed from a collection.",
"properties": {
"created": {
"description": "The creation date of this invoice template.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "The identifier for this invoice template.",
"type": "integer"
},
"invoiceItemCount": {
"description": "The number of invoice items on this invoice\ntemplate.",
"type": "integer"
},
"links": {
"$ref": "#/components/schemas/Links"
},
"name": {
"description": "The name of this invoice template.",
"type": "string"
},
"type": {
"description": "The type of object represented.",
"enum": [
"invoice-template"
],
"type": "string"
}
},
"required": [
"type",
"links",
"id",
"name",
"invoiceItemCount",
"created"
],
"type": "object"
},
"type": "array"
},
"type": {
"description": "The model type for the list response object.",
"enum": [
"invoice-template-collection"
],
"type": "string"
}
},
"type": "object"
}
],
"description": "A collection of invoice templates."
}
}
},
"description": "Invoice templates list response."
}
}
/studio/brand/{brandId}/invoice/template
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
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. |
The invoice template object to create.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice template accepts. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice template uses. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice template uses. |
||||||||
grandTotal |
The invoice template grand total. |
||||||||
id |
The identifier for this invoice template |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
items |
An array of line items for this invoice template. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice template. |
||||||||
name |
The name of this invoice template. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
salesTaxPercent |
A decimal number from 0-100, specifying the sales tax percentage. Required if |
||||||||
salesTaxTitle |
A label to apply to the sales tax percent on the invoice when viewed by the client. Required if |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice template. |
||||||||
subtotal |
The invoice template subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice template, based on its taxable items. |
||||||||
type |
The type of object represented. |
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/InvoiceTemplate"
}
}
},
"description": "The invoice template object to create.",
"required": true
}
201 Created
The successfully-created invoice template.
Header | Description |
---|---|
Location |
The URL to the newly-created invoice template. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice template accepts. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice template uses. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
currencyCode read-only |
Identifies the currency represented in |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice template. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice template uses. |
||||||||
grandTotal |
The invoice template grand total. |
||||||||
id |
The identifier for this invoice template |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
items |
An array of line items for this invoice template. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice template. |
||||||||
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 invoice template. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
salesTaxPercent |
A decimal number from 0-100, specifying the sales tax percentage. Required if |
||||||||
salesTaxTitle |
A label to apply to the sales tax percent on the invoice when viewed by the client. Required if |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice template. |
||||||||
subtotal |
The invoice template subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice template, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"201": {
"content": {
"application/vnd.shootproof+json": {
"schema": {
"$ref": "#/components/schemas/InvoiceTemplate"
}
}
},
"description": "The successfully-created invoice template.",
"headers": {
"Location": {
"description": "The URL to the newly-created invoice template.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"400": {
"$ref": "#/components/responses/validationError"
}
}
/studio/brand/{brandId}/invoice/template/{invoiceTemplateId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceTemplateId required |
The invoice template identifier. |
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. |
204 No Content
Successful deletion response.
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"204": {
"description": "Successful deletion response."
}
}
/studio/brand/{brandId}/invoice/template/{invoiceTemplateId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceTemplateId required |
The invoice template identifier. |
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 invoice template.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice template accepts. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice template uses. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
currencyCode read-only |
Identifies the currency represented in |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice template. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice template uses. |
||||||||
grandTotal |
The invoice template grand total. |
||||||||
id |
The identifier for this invoice template |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
items |
An array of line items for this invoice template. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice template. |
||||||||
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 invoice template. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
salesTaxPercent |
A decimal number from 0-100, specifying the sales tax percentage. Required if |
||||||||
salesTaxTitle |
A label to apply to the sales tax percent on the invoice when viewed by the client. Required if |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice template. |
||||||||
subtotal |
The invoice template subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice template, based on its taxable items. |
||||||||
type |
The type of object represented. |
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/InvoiceTemplate"
}
}
},
"description": "An invoice template."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/template/{invoiceTemplateId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceTemplateId required |
The invoice template identifier. |
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. |
The invoice template object to update.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice template accepts. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice template uses. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice template uses. |
||||||||
grandTotal |
The invoice template grand total. |
||||||||
id |
The identifier for this invoice template |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
items |
An array of line items for this invoice template. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice template. |
||||||||
name |
The name of this invoice template. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
salesTaxPercent |
A decimal number from 0-100, specifying the sales tax percentage. Required if |
||||||||
salesTaxTitle |
A label to apply to the sales tax percent on the invoice when viewed by the client. Required if |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice template. |
||||||||
subtotal |
The invoice template subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice template, based on its taxable items. |
||||||||
type |
The type of object represented. |
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/InvoiceTemplate"
}
}
},
"description": "The invoice template object to update.",
"required": true
}
200 OK
The successfully-updated invoice template.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice template accepts. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice template uses. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
currencyCode read-only |
Identifies the currency represented in |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice template. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice template uses. |
||||||||
grandTotal |
The invoice template grand total. |
||||||||
id |
The identifier for this invoice template |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
items |
An array of line items for this invoice template. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice template. |
||||||||
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 invoice template. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
salesTaxPercent |
A decimal number from 0-100, specifying the sales tax percentage. Required if |
||||||||
salesTaxTitle |
A label to apply to the sales tax percent on the invoice when viewed by the client. Required if |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice template. |
||||||||
subtotal |
The invoice template subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice template, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
409 Conflict
In certain cases, we respond with a 409 Conflict
HTTP response if the state of the invoice template does not allow the requested change. Inspect the error response message for information about the conflict.
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/InvoiceTemplate"
}
}
},
"description": "The successfully-updated invoice template."
},
"400": {
"$ref": "#/components/responses/validationError"
},
"409": {
"description": "In certain cases, we respond with a `409 Conflict` HTTP response if the\nstate of the invoice template does not allow the requested change.\nInspect the error response message for information about the conflict."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/template/{invoiceTemplateId}/discount
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceTemplateId required |
The invoice template identifier. |
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. |
204 No Content
The resource was successfully deleted.
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"204": {
"$ref": "#/components/responses/deleteSuccess"
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/template/{invoiceTemplateId}/discount
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceTemplateId required |
The invoice template identifier. |
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. |
The invoice discount to add to the invoice template.
Property | Description |
---|---|
description |
A description of the discount for use as display text on the invoice. |
discountType |
The type of discount represented by the value. |
id |
An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string. |
name |
A short name to use for this discount. |
type |
The type of resource represented. |
value |
The amount this discount represents. This value may be a fixed amount (if The discount value is allowed to be greater than the grand total of the invoice. In this case, the grand total will never be less than |
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/InvoiceDiscount"
}
}
},
"description": "The invoice discount to add to the invoice template.",
"required": true
}
200 OK
Responds with the invoice template on success.
Header | Description |
---|---|
Content-Location |
The URL of the invoice template in the response body. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice template accepts. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice template uses. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
currencyCode read-only |
Identifies the currency represented in |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice template. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice template uses. |
||||||||
grandTotal |
The invoice template grand total. |
||||||||
id |
The identifier for this invoice template |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
items |
An array of line items for this invoice template. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice template. |
||||||||
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 invoice template. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
salesTaxPercent |
A decimal number from 0-100, specifying the sales tax percentage. Required if |
||||||||
salesTaxTitle |
A label to apply to the sales tax percent on the invoice when viewed by the client. Required if |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice template. |
||||||||
subtotal |
The invoice template subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice template, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
409 Conflict
If the invoice template has the maximum number of allowed discounts applied to it, then we respond with a 409 Conflict
response.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/InvoiceTemplate"
}
}
},
"description": "Responds with the invoice template on success.",
"headers": {
"Content-Location": {
"description": "The URL of the invoice template in the response body.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"400": {
"$ref": "#/components/responses/validationError"
},
"409": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "If the invoice template has the maximum number of allowed discounts\napplied to it, then we respond with a `409 Conflict` response."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/template/{invoiceTemplateId}/discount/{invoiceDiscountId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceDiscountId required |
The invoice discount identifier. |
invoiceTemplateId required |
The invoice template identifier. |
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. |
204 No Content
The resource was successfully deleted.
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"204": {
"$ref": "#/components/responses/deleteSuccess"
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/template/{invoiceTemplateId}/discount/{invoiceDiscountId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceDiscountId required |
The invoice discount identifier. |
invoiceTemplateId required |
The invoice template identifier. |
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. |
The invoice discount to update. Only provide those properties that need updating.
Property | Description |
---|---|
description |
A description of the discount for use as display text on the invoice. |
discountType |
The type of discount represented by the value. |
id |
An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string. |
name |
A short name to use for this discount. |
type |
The type of resource represented. |
value |
The amount this discount represents. This value may be a fixed amount (if The discount value is allowed to be greater than the grand total of the invoice. In this case, the grand total will never be less than |
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/InvoiceDiscount"
}
}
},
"description": "The invoice discount to update. Only provide those properties\nthat need updating.",
"required": true
}
200 OK
Responds with the invoice template on success.
Header | Description |
---|---|
Content-Location |
The URL of the invoice template in the response body. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice template accepts. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice template uses. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
currencyCode read-only |
Identifies the currency represented in |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice template. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice template uses. |
||||||||
grandTotal |
The invoice template grand total. |
||||||||
id |
The identifier for this invoice template |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
items |
An array of line items for this invoice template. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice template. |
||||||||
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 invoice template. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
salesTaxPercent |
A decimal number from 0-100, specifying the sales tax percentage. Required if |
||||||||
salesTaxTitle |
A label to apply to the sales tax percent on the invoice when viewed by the client. Required if |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice template. |
||||||||
subtotal |
The invoice template subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice template, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/InvoiceTemplate"
}
}
},
"description": "Responds with the invoice template on success.",
"headers": {
"Content-Location": {
"description": "The URL of the invoice template in the response body.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"400": {
"$ref": "#/components/responses/validationError"
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/template/{invoiceTemplateId}/discount/{invoiceDiscountId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceDiscountId required |
The invoice discount identifier. |
invoiceTemplateId required |
The invoice template identifier. |
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. |
The updated invoice template discount.
Property | Description |
---|---|
description |
A description of the discount for use as display text on the invoice. |
discountType |
The type of discount represented by the value. |
id |
An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string. |
name |
A short name to use for this discount. |
type |
The type of resource represented. |
value |
The amount this discount represents. This value may be a fixed amount (if The discount value is allowed to be greater than the grand total of the invoice. In this case, the grand total will never be less than |
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/InvoiceDiscount"
}
}
},
"description": "The updated invoice template discount.",
"required": true
}
200 OK
Responds with the invoice template on success.
Header | Description |
---|---|
Content-Location |
The URL of the invoice template in the response body. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice template accepts. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice template uses. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
currencyCode read-only |
Identifies the currency represented in |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice template. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice template uses. |
||||||||
grandTotal |
The invoice template grand total. |
||||||||
id |
The identifier for this invoice template |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
items |
An array of line items for this invoice template. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice template. |
||||||||
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 invoice template. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
salesTaxPercent |
A decimal number from 0-100, specifying the sales tax percentage. Required if |
||||||||
salesTaxTitle |
A label to apply to the sales tax percent on the invoice when viewed by the client. Required if |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice template. |
||||||||
subtotal |
The invoice template subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice template, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/InvoiceTemplate"
}
}
},
"description": "Responds with the invoice template on success.",
"headers": {
"Content-Location": {
"description": "The URL of the invoice template in the response body.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"400": {
"$ref": "#/components/responses/validationError"
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/{invoiceId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceId required |
An invoice identifier. |
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. |
204 No Content
Successful deletion response.
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"204": {
"description": "Successful deletion response."
}
}
/studio/brand/{brandId}/invoice/{invoiceId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceId required |
An invoice identifier. |
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 invoice
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
activity read-only |
A list of activities that have occurred with this invoice. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
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. |
||||||||
contracts read-only |
An array of linked contracts. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
creditCardTransactions read-only |
An array of invoice credit card transactions, showing all attempts to charge a card for this invoice, including approved/declined attempts. |
||||||||
currencyCode read-only |
Identifies the currency used for this invoice. |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice. |
||||||||
customInvoiceId read-only |
A client-facing identifier for this invoice, starting at 1000 for each studio. |
||||||||
discountTotal read-only |
The total amount of all discounts applied to this invoice. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
dueTotal read-only |
The total amount of this invoice that is due. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
finalDueDate nullable read-only |
The date on which this invoice must be paid in full. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
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. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paidTotal read-only |
The total amount of this invoice that has been paid. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
payments read-only |
An array of invoice payments, showing a history of all payments made on this invoice. |
||||||||
publicId read-only |
The public identifier for this invoice (may be used in the portal website). |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
retainerTotal read-only |
The total amount for the invoice retainer. |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/Invoice"
}
}
},
"description": "An invoice"
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/{invoiceId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceId required |
An invoice identifier. |
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. |
The invoice object to update. Only provide those properties that need updating.
Property | Description |
---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
brandThemeId |
The identifier for the brand theme this invoice uses. |
contactId |
The identifier for the contact associated with this invoice. |
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
invoiceStatus |
The human-readable name of the current status of this invoice. |
isHidden |
Whether or not the invoice is hidden |
issueDate |
The date on which this invoice was issued. |
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
notesToClient |
Notes to display on the invoice for the client. |
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
salesTaxPercent |
A decimal number from 0-100, specifying the sales tax percentage. |
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"content": {
"application/vnd.shootproof+json": {
"schema": {
"description": "An invoice representation for partial updates.",
"properties": {
"acceptedPaymentTypes": {
"description": "An array of payment types this invoice accepts.",
"items": {
"description": "A string identifying a specific payment type.",
"enum": [
"cash-check",
"credit-card"
],
"type": "string"
},
"type": "array"
},
"brandThemeId": {
"description": "The identifier for the brand theme this invoice uses.",
"type": "integer"
},
"contactId": {
"description": "The identifier for the contact associated with this invoice.",
"type": "integer"
},
"emailAutomationGroupId": {
"description": "The identifier for the email automation group this invoice\nuses.",
"nullable": true,
"type": "integer"
},
"invoiceStatus": {
"description": "The human-readable name of the current status of this invoice.",
"enum": [
"unpaid",
"partially-paid",
"paid-in-full",
"canceled",
"archived"
],
"type": "string"
},
"isHidden": {
"description": "Whether or not the invoice is hidden",
"type": "boolean"
},
"issueDate": {
"description": "The date on which this invoice was issued.",
"format": "date-time",
"type": "string"
},
"languageCode": {
"description": "The Unicode CLDR language tag for the language used in this\ninvoice.",
"type": "string"
},
"notesToClient": {
"description": "Notes to display on the invoice for the client.",
"type": "string"
},
"paymentConfirmationText": {
"description": "A message sent to the client upon receipt of payment.",
"type": "string"
},
"salesTaxPercent": {
"description": "A decimal number from 0-100, specifying the sales tax\npercentage.",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"salesTaxTitle": {
"description": "A label to apply to the sales tax percent on the invoice\nwhen viewed by the client.",
"nullable": true,
"type": "string"
}
},
"type": "object"
}
}
},
"description": "The invoice object to update. Only provide those properties that need\nupdating.",
"required": true
}
200 OK
The successfully-updated invoice.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
activity read-only |
A list of activities that have occurred with this invoice. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
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. |
||||||||
contracts read-only |
An array of linked contracts. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
creditCardTransactions read-only |
An array of invoice credit card transactions, showing all attempts to charge a card for this invoice, including approved/declined attempts. |
||||||||
currencyCode read-only |
Identifies the currency used for this invoice. |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice. |
||||||||
customInvoiceId read-only |
A client-facing identifier for this invoice, starting at 1000 for each studio. |
||||||||
discountTotal read-only |
The total amount of all discounts applied to this invoice. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
dueTotal read-only |
The total amount of this invoice that is due. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
finalDueDate nullable read-only |
The date on which this invoice must be paid in full. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
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. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paidTotal read-only |
The total amount of this invoice that has been paid. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
payments read-only |
An array of invoice payments, showing a history of all payments made on this invoice. |
||||||||
publicId read-only |
The public identifier for this invoice (may be used in the portal website). |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
retainerTotal read-only |
The total amount for the invoice retainer. |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
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/Invoice"
}
}
},
"description": "The successfully-updated invoice."
},
"400": {
"$ref": "#/components/responses/validationError"
}
}
/studio/brand/{brandId}/invoice/{invoiceId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceId required |
An invoice identifier. |
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. |
The invoice object to update.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
contactId |
An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
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/Invoice"
}
}
},
"description": "The invoice object to update.",
"required": true
}
200 OK
The successfully-updated invoice.
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
activity read-only |
A list of activities that have occurred with this invoice. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
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. |
||||||||
contracts read-only |
An array of linked contracts. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
creditCardTransactions read-only |
An array of invoice credit card transactions, showing all attempts to charge a card for this invoice, including approved/declined attempts. |
||||||||
currencyCode read-only |
Identifies the currency used for this invoice. |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice. |
||||||||
customInvoiceId read-only |
A client-facing identifier for this invoice, starting at 1000 for each studio. |
||||||||
discountTotal read-only |
The total amount of all discounts applied to this invoice. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
dueTotal read-only |
The total amount of this invoice that is due. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
finalDueDate nullable read-only |
The date on which this invoice must be paid in full. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
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. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paidTotal read-only |
The total amount of this invoice that has been paid. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
payments read-only |
An array of invoice payments, showing a history of all payments made on this invoice. |
||||||||
publicId read-only |
The public identifier for this invoice (may be used in the portal website). |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
retainerTotal read-only |
The total amount for the invoice retainer. |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
409 Conflict
In certain cases, we respond with a 409 Conflict
HTTP response if the state of the invoice does not allow the requested change. For example, if the invoice is partially paid and the request attempts to add a discount, we will respond accordingly. Inspect the error response message for information about the conflict.
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/Invoice"
}
}
},
"description": "The successfully-updated invoice."
},
"400": {
"$ref": "#/components/responses/validationError"
},
"409": {
"description": "In certain cases, we respond with a `409 Conflict` HTTP response if the\nstate of the invoice does not allow the requested change. For example,\nif the invoice is partially paid and the request attempts to add a\ndiscount, we will respond accordingly. Inspect the error response\nmessage for information about the conflict."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
Removes the linked contract from the invoice.
/studio/brand/{brandId}/invoice/{invoiceId}/contract/{contractId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
contractId required |
A contract identifier. |
invoiceId required |
An invoice identifier. |
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
Responds with the invoice on success.
Header | Description |
---|---|
Content-Location |
The URL of the invoice in the response body. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
activity read-only |
A list of activities that have occurred with this invoice. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
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. |
||||||||
contracts read-only |
An array of linked contracts. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
creditCardTransactions read-only |
An array of invoice credit card transactions, showing all attempts to charge a card for this invoice, including approved/declined attempts. |
||||||||
currencyCode read-only |
Identifies the currency used for this invoice. |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice. |
||||||||
customInvoiceId read-only |
A client-facing identifier for this invoice, starting at 1000 for each studio. |
||||||||
discountTotal read-only |
The total amount of all discounts applied to this invoice. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
dueTotal read-only |
The total amount of this invoice that is due. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
finalDueDate nullable read-only |
The date on which this invoice must be paid in full. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
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. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paidTotal read-only |
The total amount of this invoice that has been paid. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
payments read-only |
An array of invoice payments, showing a history of all payments made on this invoice. |
||||||||
publicId read-only |
The public identifier for this invoice (may be used in the portal website). |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
retainerTotal read-only |
The total amount for the invoice retainer. |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
404 Not Found
The requested resource could not be found.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
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/Invoice"
}
}
},
"description": "Responds with the invoice on success.",
"headers": {
"Content-Location": {
"description": "The URL of the invoice in the response body.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"404": {
"$ref": "#/components/responses/notFoundError"
}
}
Links the given contract to the invoice.
/studio/brand/{brandId}/invoice/{invoiceId}/contract/{contractId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
contractId required |
A contract identifier. |
invoiceId required |
An invoice identifier. |
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
Responds with the invoice on success.
Header | Description |
---|---|
Content-Location |
The URL of the invoice in the response body. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
activity read-only |
A list of activities that have occurred with this invoice. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
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. |
||||||||
contracts read-only |
An array of linked contracts. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
creditCardTransactions read-only |
An array of invoice credit card transactions, showing all attempts to charge a card for this invoice, including approved/declined attempts. |
||||||||
currencyCode read-only |
Identifies the currency used for this invoice. |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice. |
||||||||
customInvoiceId read-only |
A client-facing identifier for this invoice, starting at 1000 for each studio. |
||||||||
discountTotal read-only |
The total amount of all discounts applied to this invoice. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
dueTotal read-only |
The total amount of this invoice that is due. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
finalDueDate nullable read-only |
The date on which this invoice must be paid in full. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
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. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paidTotal read-only |
The total amount of this invoice that has been paid. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
payments read-only |
An array of invoice payments, showing a history of all payments made on this invoice. |
||||||||
publicId read-only |
The public identifier for this invoice (may be used in the portal website). |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
retainerTotal read-only |
The total amount for the invoice retainer. |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
404 Not Found
The requested resource could not be found.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
409 Conflict
If the invoice is linked to a different contract, then we respond with a 409 Conflict
response.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
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/Invoice"
}
}
},
"description": "Responds with the invoice on success.",
"headers": {
"Content-Location": {
"description": "The URL of the invoice in the response body.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"404": {
"$ref": "#/components/responses/notFoundError"
},
"409": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "If the invoice is linked to a different contract, then we respond\nwith a `409 Conflict` response."
}
}
When attempting to remove the discounts from an invoice, we will attempt to rebalance the installments on that invoice. We do not attempt to modify an installment if it is marked as "fixed," however; we will only update installments that are percentage-based.
/studio/brand/{brandId}/invoice/{invoiceId}/discount
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceId required |
An invoice identifier. |
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. |
204 No Content
The resource was successfully deleted.
409 Conflict
If the state of the invoice or any of its installments do not allow the discounts to be removed, then we respond with a 409 Conflict
HTTP response. See the full description of this operation for more details.
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"204": {
"$ref": "#/components/responses/deleteSuccess"
},
"409": {
"description": "If the state of the invoice or any of its installments do not allow\nthe discounts to be removed, then we respond with a `409 Conflict`\nHTTP response. See the full description of this operation for more\ndetails."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
Discounts may be applied only to unpaid invoices, and only one discount may be applied at a time.
When attempting to apply a discount to an invoice, we will attempt to rebalance the installments on that invoice. We do not attempt to modify an installment if it is marked as "fixed," however; we will only update installments that are percentage-based.
With this in mind, there are several constraints imposed, each of which will response with a 409 Conflict
HTTP response, if encountered:
1.00
) when rebalanced.If we do not encounter any of the above conditions, then we can update the percentage-based installments on the invoice without any problems.
/studio/brand/{brandId}/invoice/{invoiceId}/discount
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceId required |
An invoice identifier. |
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. |
The invoice discount to add to the invoice.
Property | Description |
---|---|
description |
A description of the discount for use as display text on the invoice. |
discountType |
The type of discount represented by the value. |
id |
An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string. |
name |
A short name to use for this discount. |
type |
The type of resource represented. |
value |
The amount this discount represents. This value may be a fixed amount (if The discount value is allowed to be greater than the grand total of the invoice. In this case, the grand total will never be less than |
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/InvoiceDiscount"
}
}
},
"description": "The invoice discount to add to the invoice.",
"required": true
}
200 OK
Responds with the invoice on success.
Header | Description |
---|---|
Content-Location |
The URL of the invoice in the response body. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
activity read-only |
A list of activities that have occurred with this invoice. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
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. |
||||||||
contracts read-only |
An array of linked contracts. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
creditCardTransactions read-only |
An array of invoice credit card transactions, showing all attempts to charge a card for this invoice, including approved/declined attempts. |
||||||||
currencyCode read-only |
Identifies the currency used for this invoice. |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice. |
||||||||
customInvoiceId read-only |
A client-facing identifier for this invoice, starting at 1000 for each studio. |
||||||||
discountTotal read-only |
The total amount of all discounts applied to this invoice. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
dueTotal read-only |
The total amount of this invoice that is due. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
finalDueDate nullable read-only |
The date on which this invoice must be paid in full. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
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. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paidTotal read-only |
The total amount of this invoice that has been paid. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
payments read-only |
An array of invoice payments, showing a history of all payments made on this invoice. |
||||||||
publicId read-only |
The public identifier for this invoice (may be used in the portal website). |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
retainerTotal read-only |
The total amount for the invoice retainer. |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
409 Conflict
If the state of the invoice or any of its installments do not allow this discount to be applied, then we respond with a 409 Conflict
HTTP response. See the full description of this operation for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/Invoice"
}
}
},
"description": "Responds with the invoice on success.",
"headers": {
"Content-Location": {
"description": "The URL of the invoice in the response body.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"400": {
"$ref": "#/components/responses/validationError"
},
"409": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "If the state of the invoice or any of its installments do not allow\nthis discount to be applied, then we respond with a `409 Conflict`\nHTTP response. See the full description of this operation for more\ndetails."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
When attempting to remove the discount from an invoice, we will attempt to rebalance the installments on that invoice. We do not attempt to modify an installment if it is marked as "fixed," however; we will only update installments that are percentage-based.
/studio/brand/{brandId}/invoice/{invoiceId}/discount/{invoiceDiscountId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceDiscountId required |
The invoice discount identifier. |
invoiceId required |
An invoice identifier. |
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. |
204 No Content
The resource was successfully deleted.
409 Conflict
If the state of the invoice or any of its installments do not allow this discount to be removed, then we respond with a 409 Conflict
HTTP response. See the full description of this operation for more details.
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"204": {
"$ref": "#/components/responses/deleteSuccess"
},
"409": {
"description": "If the state of the invoice or any of its installments do not allow\nthis discount to be removed, then we respond with a `409 Conflict`\nHTTP response. See the full description of this operation for more\ndetails."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
When attempting to update a discount on an invoice, we will attempt to rebalance the installments on that invoice. We do not attempt to modify an installment if it is marked as "fixed," however; we will only update installments that are percentage-based.
With this in mind, there are several constraints imposed, each of which will response with a 409 Conflict
HTTP response, if encountered:
1.00
) when rebalanced.If we do not encounter any of the above conditions, then we can update the percentage-based installments on the invoice without any problems.
/studio/brand/{brandId}/invoice/{invoiceId}/discount/{invoiceDiscountId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceDiscountId required |
The invoice discount identifier. |
invoiceId required |
An invoice identifier. |
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. |
The invoice discount to update. Only provide those properties that need updating.
Property | Description |
---|---|
description |
A description of the discount for use as display text on the invoice. |
discountType |
The type of discount represented by the value. |
id |
An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string. |
name |
A short name to use for this discount. |
type |
The type of resource represented. |
value |
The amount this discount represents. This value may be a fixed amount (if The discount value is allowed to be greater than the grand total of the invoice. In this case, the grand total will never be less than |
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/InvoiceDiscount"
}
}
},
"description": "The invoice discount to update. Only provide those properties\nthat need updating.",
"required": true
}
200 OK
Responds with the invoice on success.
Header | Description |
---|---|
Content-Location |
The URL of the invoice in the response body. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
activity read-only |
A list of activities that have occurred with this invoice. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
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. |
||||||||
contracts read-only |
An array of linked contracts. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
creditCardTransactions read-only |
An array of invoice credit card transactions, showing all attempts to charge a card for this invoice, including approved/declined attempts. |
||||||||
currencyCode read-only |
Identifies the currency used for this invoice. |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice. |
||||||||
customInvoiceId read-only |
A client-facing identifier for this invoice, starting at 1000 for each studio. |
||||||||
discountTotal read-only |
The total amount of all discounts applied to this invoice. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
dueTotal read-only |
The total amount of this invoice that is due. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
finalDueDate nullable read-only |
The date on which this invoice must be paid in full. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
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. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paidTotal read-only |
The total amount of this invoice that has been paid. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
payments read-only |
An array of invoice payments, showing a history of all payments made on this invoice. |
||||||||
publicId read-only |
The public identifier for this invoice (may be used in the portal website). |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
retainerTotal read-only |
The total amount for the invoice retainer. |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
409 Conflict
If the state of the invoice or any of its installments do not allow this discount to be updated, then we respond with a 409 Conflict
HTTP response. See the full description of this operation for more details.
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/Invoice"
}
}
},
"description": "Responds with the invoice on success.",
"headers": {
"Content-Location": {
"description": "The URL of the invoice in the response body.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"400": {
"$ref": "#/components/responses/validationError"
},
"409": {
"description": "If the state of the invoice or any of its installments do not allow\nthis discount to be updated, then we respond with a `409 Conflict`\nHTTP response. See the full description of this operation for more\ndetails."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
When attempting to update a discount on an invoice, we will attempt to rebalance the installments on that invoice. We do not attempt to modify an installment if it is marked as "fixed," however; we will only update installments that are percentage-based.
With this in mind, there are several constraints imposed, each of which will response with a 409 Conflict
HTTP response, if encountered:
1.00
) when rebalanced.If we do not encounter any of the above conditions, then we can update the percentage-based installments on the invoice without any problems.
/studio/brand/{brandId}/invoice/{invoiceId}/discount/{invoiceDiscountId}
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceDiscountId required |
The invoice discount identifier. |
invoiceId required |
An invoice identifier. |
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. |
The updated invoice discount.
Property | Description |
---|---|
description |
A description of the discount for use as display text on the invoice. |
discountType |
The type of discount represented by the value. |
id |
An entity identifier. It may be either an integer or a universally unique identifier (UUID) represented as a string. |
name |
A short name to use for this discount. |
type |
The type of resource represented. |
value |
The amount this discount represents. This value may be a fixed amount (if The discount value is allowed to be greater than the grand total of the invoice. In this case, the grand total will never be less than |
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/InvoiceDiscount"
}
}
},
"description": "The updated invoice discount.",
"required": true
}
200 OK
Responds with the invoice on success.
Header | Description |
---|---|
Content-Location |
The URL of the invoice in the response body. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
activity read-only |
A list of activities that have occurred with this invoice. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
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. |
||||||||
contracts read-only |
An array of linked contracts. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
creditCardTransactions read-only |
An array of invoice credit card transactions, showing all attempts to charge a card for this invoice, including approved/declined attempts. |
||||||||
currencyCode read-only |
Identifies the currency used for this invoice. |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice. |
||||||||
customInvoiceId read-only |
A client-facing identifier for this invoice, starting at 1000 for each studio. |
||||||||
discountTotal read-only |
The total amount of all discounts applied to this invoice. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
dueTotal read-only |
The total amount of this invoice that is due. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
finalDueDate nullable read-only |
The date on which this invoice must be paid in full. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
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. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paidTotal read-only |
The total amount of this invoice that has been paid. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
payments read-only |
An array of invoice payments, showing a history of all payments made on this invoice. |
||||||||
publicId read-only |
The public identifier for this invoice (may be used in the portal website). |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
retainerTotal read-only |
The total amount for the invoice retainer. |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
409 Conflict
If the state of the invoice or any of its installments do not allow this discount to be updated, then we respond with a 409 Conflict
HTTP response. See the full description of this operation for more details.
API errors come in two kinds of varieties: 400
s and 500
s.
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.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
{
"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"
}
{
"detail": "You do not have permission to access the requested resource.",
"status": 403,
"title": "Forbidden",
"type": "https://developer.shootproof.com/errors#error-forbidden"
}
{
"detail": "The requested resource could not be found.",
"status": 404,
"title": "Not Found",
"type": "https://developer.shootproof.com/errors#error-not-found"
}
{
"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"
}
{
"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"
}
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/Invoice"
}
}
},
"description": "Responds with the invoice on success.",
"headers": {
"Content-Location": {
"description": "The URL of the invoice in the response body.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"400": {
"$ref": "#/components/responses/validationError"
},
"409": {
"description": "If the state of the invoice or any of its installments do not allow\nthis discount to be updated, then we respond with a `409 Conflict`\nHTTP response. See the full description of this operation for more\ndetails."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}
/studio/brand/{brandId}/invoice/{invoiceId}/email
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceId required |
An invoice identifier. |
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. |
The invoice email object used to send an email message.
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. |
emailTemplateId |
The identifier for the email template chosen (if applicable). |
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. |
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/InvoiceEmail"
}
}
},
"description": "The invoice email object used to send an email message.",
"required": true
}
202 Accepted
Responds with the invoice on success.
Header | Description |
---|---|
Content-Location |
The URL of the invoice in the response body. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
activity read-only |
A list of activities that have occurred with this invoice. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
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. |
||||||||
contracts read-only |
An array of linked contracts. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
creditCardTransactions read-only |
An array of invoice credit card transactions, showing all attempts to charge a card for this invoice, including approved/declined attempts. |
||||||||
currencyCode read-only |
Identifies the currency used for this invoice. |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice. |
||||||||
customInvoiceId read-only |
A client-facing identifier for this invoice, starting at 1000 for each studio. |
||||||||
discountTotal read-only |
The total amount of all discounts applied to this invoice. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
dueTotal read-only |
The total amount of this invoice that is due. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
finalDueDate nullable read-only |
The date on which this invoice must be paid in full. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
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. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paidTotal read-only |
The total amount of this invoice that has been paid. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
payments read-only |
An array of invoice payments, showing a history of all payments made on this invoice. |
||||||||
publicId read-only |
The public identifier for this invoice (may be used in the portal website). |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
retainerTotal read-only |
The total amount for the invoice retainer. |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||
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. |
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/Invoice"
}
}
},
"description": "Responds with the invoice on success.",
"headers": {
"Content-Location": {
"description": "The URL of the invoice in the response body.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"400": {
"$ref": "#/components/responses/validationError"
}
}
/studio/brand/{brandId}/invoice/{invoiceId}/payment
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceId required |
An invoice identifier. |
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. |
The invoice payment object to create.
Property | Description |
---|---|
amount |
The amount of this payment. |
amountLessRefunds nullable |
The total amount of this payment, minus any refunds applied to it. This is |
billingPostalCode |
The billing address postal code. May be |
checkNumber nullable |
If this payment was made by check, the check number for the payment. |
creditCard |
When creating a new invoice payment, include the credit card property with this object, if paying by credit card. If you wish to use the invoice credit card that is already on file, set this property to boolean This property is |
emailAddress |
The email address for the person making the payment. |
id |
The identifier for this invoice payment. |
nameOnCard |
The card-holder name. |
note nullable |
A note about the payment. |
paymentDate |
The date on which this payment was made. |
paymentFundsType |
The type of funds received for this payment. |
type |
The type of object represented. |
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/InvoicePayment"
}
}
},
"description": "The invoice payment object to create.",
"required": true
}
202 Accepted
Responds with the invoice on success.
Header | Description |
---|---|
Content-Location |
The URL of the invoice in the response body. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
activity read-only |
A list of activities that have occurred with this invoice. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
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. |
||||||||
contracts read-only |
An array of linked contracts. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
creditCardTransactions read-only |
An array of invoice credit card transactions, showing all attempts to charge a card for this invoice, including approved/declined attempts. |
||||||||
currencyCode read-only |
Identifies the currency used for this invoice. |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice. |
||||||||
customInvoiceId read-only |
A client-facing identifier for this invoice, starting at 1000 for each studio. |
||||||||
discountTotal read-only |
The total amount of all discounts applied to this invoice. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
dueTotal read-only |
The total amount of this invoice that is due. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
finalDueDate nullable read-only |
The date on which this invoice must be paid in full. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
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. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paidTotal read-only |
The total amount of this invoice that has been paid. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
payments read-only |
An array of invoice payments, showing a history of all payments made on this invoice. |
||||||||
publicId read-only |
The public identifier for this invoice (may be used in the portal website). |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
retainerTotal read-only |
The total amount for the invoice retainer. |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response; includes special handling for credit card transaction errors. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||||
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. |
402 Payment Required
If using creditCard
with a boolean value true
and there is no invoice credit card on file, then we respond with a 402 Payment Required
response.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
409 Conflict
If the payment gateway has not been configured, then we respond with a 409 Conflict
response.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||
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. |
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/Invoice"
}
}
},
"description": "Responds with the invoice on success.",
"headers": {
"Content-Location": {
"description": "The URL of the invoice in the response body.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"400": {
"$ref": "#/components/responses/transactionError"
},
"402": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "If using `creditCard` with a boolean value `true` and there is no\ninvoice credit card on file, then we respond with a `402 Payment\nRequired` response."
},
"409": {
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
},
"description": "If the payment gateway has not been configured, then we respond\nwith a `409 Conflict` response."
}
}
/studio/brand/{brandId}/invoice/{invoiceId}/refund
We’ve got some helpful examples coming your way soon. Stay tuned!
Property | Description |
---|---|
brandId required |
The brand identifier. |
invoiceId required |
An invoice identifier. |
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. |
The invoice refund object to create.
Property | Description |
---|---|
amount |
The amount of the payment to refund. |
emailAdditionalMessage nullable |
Optional message to include in email sent to client and payer. May include HTML tags, but only whitelisted tags will be included. |
invoicePaymentId |
The identifier for the invoice payment to refund. |
note nullable |
A note about the refund. |
refundDate |
The date on which this refund was made. |
type |
The type of object represented. |
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/InvoiceRefund"
}
}
},
"description": "The invoice refund object to create.",
"required": true
}
202 Accepted
Responds with the invoice on success.
Header | Description |
---|---|
Content-Location |
The URL of the invoice in the response body. |
When the Content-Type
of the response is application/vnd.shootproof+json
, the following properties will be available in the response body.
Property | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
acceptedPaymentTypes |
An array of payment types this invoice accepts. |
||||||||
activity read-only |
A list of activities that have occurred with this invoice. |
||||||||
brandTheme |
A brand theme. |
||||||||
brandThemeId |
The identifier for the brand theme this invoice uses. |
||||||||
cancelationMessage |
Optional cancelation message to include in studio-to-client emails sent when invoice status moves to canceled state. |
||||||||
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. |
||||||||
contracts read-only |
An array of linked contracts. |
||||||||
created read-only |
The creation date of this invoice. |
||||||||
creditCardOnFile required nullable |
The credit card on file for this invoice, if applicable. |
||||||||
creditCardTransactions read-only |
An array of invoice credit card transactions, showing all attempts to charge a card for this invoice, including approved/declined attempts. |
||||||||
currencyCode read-only |
Identifies the currency used for this invoice. |
||||||||
currencySymbol read-only |
The currency symbol for the currency used for this invoice. |
||||||||
customInvoiceId read-only |
A client-facing identifier for this invoice, starting at 1000 for each studio. |
||||||||
discountTotal read-only |
The total amount of all discounts applied to this invoice. |
||||||||
discounts |
An array of discounts applied to this invoice template. |
||||||||
dueTotal read-only |
The total amount of this invoice that is due. |
||||||||
emailAutomationGroupId nullable |
The identifier for the email automation group this invoice uses. |
||||||||
finalDueDate nullable read-only |
The date on which this invoice must be paid in full. |
||||||||
grandTotal |
The invoice grand total. |
||||||||
id |
The identifier for this invoice. |
||||||||
installments |
An array of invoice installments, defining the installment schedule for this invoice. Installments are required for invoices having a grandTotal greater than zero, but disallowed for Invoices having a grandTotal of zero. |
||||||||
invoiceRetainerLabel nullable |
This label represents how the studio wishes to refer to the initial payment represented by The following labels are available. You are responsible for displaying appropriate human-readable strings for these labels, translated for your audience.
|
||||||||
invoiceStatus |
The human-readable name of the current status of this invoice. |
||||||||
invoiceTemplateId nullable |
The identifier for the invoice template from which this invoice was created. |
||||||||
isHidden |
Whether or not the invoice should be hidden |
||||||||
issueDate |
The date on which this invoice was issued. |
||||||||
items |
An array of line items for this invoice. |
||||||||
languageCode |
The Unicode CLDR language tag for the language used in this invoice. |
||||||||
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. |
||||||||
notesToClient |
Notes to display on the invoice for the client. |
||||||||
paidTotal read-only |
The total amount of this invoice that has been paid. |
||||||||
paymentConfirmationText |
A message sent to the client upon receipt of payment. |
||||||||
payments read-only |
An array of invoice payments, showing a history of all payments made on this invoice. |
||||||||
publicId read-only |
The public identifier for this invoice (may be used in the portal website). |
||||||||
retainerFixedAmount nullable |
Suggested fixed amount of retainer. If a retainer is defined, one of |
||||||||
retainerPercent nullable |
Suggested amount of retainer in a percentage from 1-100. If a retainer is defined, one of |
||||||||
retainerTotal read-only |
The total amount for the invoice retainer. |
||||||||
salesTaxPercent nullable |
A decimal number from 0-100, specifying the sales tax percentage. |
||||||||
salesTaxTitle nullable |
A label to apply to the sales tax percent on the invoice when viewed by the client. |
||||||||
salesTaxTotal |
The total amount of sales tax on the invoice. |
||||||||
subtotal |
The invoice subtotal. |
||||||||
taxableSubtotal |
The taxable subtotal of the invoice, based on its taxable items. |
||||||||
type |
The type of object represented. |
400 Bad Request
Validation error response; includes special handling for credit card transaction errors. Check the info.errors
property in the response for more details.
When the Content-Type
of the response is application/problem+json
, the following properties will be available in the response body.
Property | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
detail |
A longer description of of the error encountered. |
||||||||||||||||
info |
Additional information that may be provided to aid in error resolution.
|
||||||||||||||||
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. |
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/Invoice"
}
}
},
"description": "Responds with the invoice on success.",
"headers": {
"Content-Location": {
"description": "The URL of the invoice in the response body.",
"schema": {
"format": "uri",
"type": "string"
}
}
}
},
"400": {
"$ref": "#/components/responses/transactionError"
}
}