Each studio has one or more brands with ShootProof. It all depends on how they choose to organize their businesses. Some studios have a single brand, under which all their business takes place. Others like to separate the types of business they engage in under separate brands (i.e. portraits, weddings, etc.). They may use these brands to communicate with and sell to different customers.
No matter how a studio chooses to use ShootProof—whether through one brand or many—your app will manage most of a studio’s data through brands. Contacts, contracts, events, invoices, orders, and more are all handled through a brand.
/studio/brandWe’ve got some helpful examples coming your way soon. Stay tuned!
| 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 OKBrand 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 type of resource represented. |
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/BrandCollection"
}
}
},
"description": "Brand list response."
}
}/studio/brand/{brandId}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. |
200 OKA brand.
When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.
| Property | Description |
|---|---|
| address required nullable |
The mailing address for this brand. |
| analyticsGoogle nullable |
Google Analytics identifier in use on this brand's galleries. |
| autoSend |
Indicates if orders will be automatically sent to labs without express studio approval |
| automationSendHour |
The hour during which email automations for this brand will be sent, relative to the brand's time zone. |
| created |
The creation date of this brand. |
| customDomain nullable |
A custom domain for this brand, if applicable. |
|
The email address for this brand. |
|
| facebookFanPageUrl nullable |
The URL for this brand's Facebook fan page. |
| galleryDomain |
The domain for this brand's galleries. |
| hasEventCategories read-only |
Does the brand contain categories for events? |
| homepageBrandTheme |
A brand theme. |
| homepageBrandThemeId |
The identifier for this brand's homepage brand theme. |
| id |
The identifier for this brand. |
| instagramUsername nullable |
The Instagram username for this brand. |
| isDefault |
Whether this is the default brand for the logged-in user's studio. |
| isEligibleToManagePlan |
Whether this brand has the ability to manage the studio's plan. |
| isEmailVerified read-only |
Has the brand verified the email address on record? |
| labCatalogs |
An array of lab catalogs to which this brand has access. |
| 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. |
| locale |
The locale defined for this brand. |
| name |
The name of this brand. |
| phone nullable |
The phone number for this brand. |
| subdomain |
The ShootProof subdomain for this brand. |
| taxIdentifier nullable |
The tax ID defined for this brand. |
| twitterHandle nullable |
The Twitter username for this brand. |
| type |
The type of resource represented. |
| useDefaultWatermark |
Whether or not the Brand's default watermark should be applied at upload time. |
| website nullable |
The URL for this brand's website. |
API errors come in two kinds of varieties: 400s and 500s.
Any error with a status code of 400 to 499 is considered a client error. This means it’s usually an error you can handle in your app, and then resend a modified request to the ShootProof API to get a successful response.
An error in the range of 500 to 599, on the other hand, is a different story. These errors usually mean that a problem occured on the server and resending the request with modifications will not fix the issue.
Pay careful attention to the status codes. We try to stick as close as possible to their defined semantics. For a complete list of HTTP status codes, take a look at the official HTTP Status Code Registry.
Check out our errors guide for more information.
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/Brand"
}
}
},
"description": "A brand."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}/studio/brand/{brandId}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 brand to update. Only provide those properties that need updating.
| Property | Description |
|---|---|
| analyticsGoogle nullable |
The Google Analytics tracking ID to use for this brand. Used for Google Analytics tags present in galleries. |
| automationSendHour |
The hour during which email automations for this brand will be sent, relative to the brand's time zone. |
| customDomain nullable |
The custom domain to use for this brand. Must be a CNAME to |
| subdomain |
Subdomain portion to use for this brand. |
| taxIdentifier nullable |
The tax ID defined for this brand. |
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"content": {
"application/vnd.shootproof+json": {
"schema": {
"properties": {
"analyticsGoogle": {
"description": "The Google Analytics tracking ID to use for this brand.\nUsed for Google Analytics tags present in galleries.",
"maximum": 30,
"nullable": true,
"pattern": "^UA-\\d+-\\d+$",
"type": "string"
},
"automationSendHour": {
"description": "The hour during which email automations for this brand will be sent, relative to the brand's time zone.",
"maximum": 23,
"minimum": 0,
"type": "integer"
},
"customDomain": {
"description": "The custom domain to use for this brand. Must be a CNAME to `clients.shootproof.com`.",
"example": "galleries.yourphotographystudio.com",
"maximum": 100,
"nullable": true
},
"subdomain": {
"description": "Subdomain portion to use for this brand. `yourbrand` in `yourbrand.shootproof.com`.",
"example": "yourbrand",
"maximum": 60,
"minimum": 3,
"nullable": false
},
"taxIdentifier": {
"description": "The tax ID defined for this brand.",
"nullable": true,
"type": "string"
}
},
"title": "Brand",
"type": "object"
}
}
},
"description": "The brand to update. Only provide those properties that need updating.",
"required": true
}200 OKThe updated brand.
When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.
| Property | Description |
|---|---|
| address required nullable |
The mailing address for this brand. |
| analyticsGoogle nullable |
Google Analytics identifier in use on this brand's galleries. |
| autoSend |
Indicates if orders will be automatically sent to labs without express studio approval |
| automationSendHour |
The hour during which email automations for this brand will be sent, relative to the brand's time zone. |
| created |
The creation date of this brand. |
| customDomain nullable |
A custom domain for this brand, if applicable. |
|
The email address for this brand. |
|
| facebookFanPageUrl nullable |
The URL for this brand's Facebook fan page. |
| galleryDomain |
The domain for this brand's galleries. |
| hasEventCategories read-only |
Does the brand contain categories for events? |
| homepageBrandTheme |
A brand theme. |
| homepageBrandThemeId |
The identifier for this brand's homepage brand theme. |
| id |
The identifier for this brand. |
| instagramUsername nullable |
The Instagram username for this brand. |
| isDefault |
Whether this is the default brand for the logged-in user's studio. |
| isEligibleToManagePlan |
Whether this brand has the ability to manage the studio's plan. |
| isEmailVerified read-only |
Has the brand verified the email address on record? |
| labCatalogs |
An array of lab catalogs to which this brand has access. |
| 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. |
| locale |
The locale defined for this brand. |
| name |
The name of this brand. |
| phone nullable |
The phone number for this brand. |
| subdomain |
The ShootProof subdomain for this brand. |
| taxIdentifier nullable |
The tax ID defined for this brand. |
| twitterHandle nullable |
The Twitter username for this brand. |
| type |
The type of resource represented. |
| useDefaultWatermark |
Whether or not the Brand's default watermark should be applied at upload time. |
| website nullable |
The URL for this brand's website. |
400 Bad RequestValidation 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: 400s and 500s.
Any error with a status code of 400 to 499 is considered a client error. This means it’s usually an error you can handle in your app, and then resend a modified request to the ShootProof API to get a successful response.
An error in the range of 500 to 599, on the other hand, is a different story. These errors usually mean that a problem occured on the server and resending the request with modifications will not fix the issue.
Pay careful attention to the status codes. We try to stick as close as possible to their defined semantics. For a complete list of HTTP status codes, take a look at the official HTTP Status Code Registry.
Check out our errors guide for more information.
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/Brand"
}
}
},
"description": "The updated brand."
},
"400": {
"$ref": "#/components/responses/validationError"
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}/studio/brand/{brandId}/brand-themeWe’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 OKBrand themes 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 type of resource represented. |
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/BrandThemeCollection"
}
}
},
"description": "Brand themes list response."
}
}/studio/brand/{brandId}/brand-theme/{brandThemeId}We’ve got some helpful examples coming your way soon. Stay tuned!
| Property | Description |
|---|---|
| brandId required |
The brand identifier. |
| brandThemeId required |
The brand theme 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 OKA brand theme.
When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.
| Property | Description | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| colorScheme |
The color scheme for this brand theme.
|
||||||||||||||||||||||||||||
| created read-only |
The date on which the entity was created. |
||||||||||||||||||||||||||||
| emailBrandLogo nullable |
The brand logo for use in email messages (and any other place using a white/neutral background such as contracts and invoices). |
||||||||||||||||||||||||||||
| eventBrandLogo nullable |
The brand logo for use in event presentation. |
||||||||||||||||||||||||||||
| fontSet |
The font set for this brand theme.
|
||||||||||||||||||||||||||||
| id |
The identifier of this brand theme. |
||||||||||||||||||||||||||||
| 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 brand theme. |
||||||||||||||||||||||||||||
| primaryColor |
The primary hex color code for this brand theme. |
||||||||||||||||||||||||||||
| secondaryColor |
The secondary hex color code for this brand theme. |
||||||||||||||||||||||||||||
| type |
The type of object represented. |
API errors come in two kinds of varieties: 400s and 500s.
Any error with a status code of 400 to 499 is considered a client error. This means it’s usually an error you can handle in your app, and then resend a modified request to the ShootProof API to get a successful response.
An error in the range of 500 to 599, on the other hand, is a different story. These errors usually mean that a problem occured on the server and resending the request with modifications will not fix the issue.
Pay careful attention to the status codes. We try to stick as close as possible to their defined semantics. For a complete list of HTTP status codes, take a look at the official HTTP Status Code Registry.
Check out our errors guide for more information.
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/BrandTheme"
}
}
},
"description": "A brand theme."
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}/studio/brand/{brandId}/brand-theme/{brandThemeId}We’ve got some helpful examples coming your way soon. Stay tuned!
| Property | Description |
|---|---|
| brandId required |
The brand identifier. |
| brandThemeId required |
The brand theme 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 brand theme to update. Only provide those properties that need updating. Does not support logos.
| Property | Description | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| colorScheme |
The color scheme for this brand theme.
|
||||||||||||||||||||||||||||
| fontSet |
The font set for this brand theme.
|
||||||||||||||||||||||||||||
| id |
The identifier of this brand theme. |
||||||||||||||||||||||||||||
| name |
The name of this brand theme. |
||||||||||||||||||||||||||||
| primaryColor |
The primary hex color code for this brand theme. |
||||||||||||||||||||||||||||
| secondaryColor |
The secondary hex color code for this brand theme. |
||||||||||||||||||||||||||||
| 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": {
"description": "A brand theme.",
"properties": {
"colorScheme": {
"description": "The color scheme for this brand theme.\n\n| ShootProof Identifier | Description |\n| --------------------- | ----------- |\n| `dark` | A \"dark\" color scheme should be used when displaying this brand theme. |\n| `light` | A \"light\" color scheme should be used when displaying this brand theme. |",
"enum": [
"dark",
"light"
],
"type": "string"
},
"fontSet": {
"description": "The font set for this brand theme.\n\n| ShootProof Identifier | Primary Font Name | Secondary Font Name | Body Font Name |\n| --------------------- | ----------------- | ------------------- | -------------- |\n| `brandon` | Brandon | Brandon | Baskerville |\n| `freeland` | ProximaNova | Freeland | ProximaNova |\n| `baskerville` | Baskerville | Baskerville | OpenSans-Regular |\n| `blooming-elegant` | BloomingElegant-Regular | BloomingElegant-Regular | Brandon |\n| `bambusa-pro-regular` | BambusaPro-Regular | BambusaPro-Regular | OpenSans-Regular |\n| `scandiebox-one` | SBOne | SBOne | OpenSans-Regular |",
"enum": [
"brandon",
"freeland",
"baskerville",
"blooming-elegant",
"bambusa-pro-regular",
"scandiebox-one"
],
"type": "string"
},
"id": {
"description": "The identifier of this brand theme.",
"type": "integer"
},
"name": {
"description": "The name of this brand theme.",
"type": "string"
},
"primaryColor": {
"description": "The primary hex color code for this brand theme.",
"example": "777777",
"type": "string"
},
"secondaryColor": {
"description": "The secondary hex color code for this brand theme.",
"example": "ffffff",
"type": "string"
},
"type": {
"description": "The type of object represented.",
"enum": [
"brand-theme"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": "The brand theme to update. Only provide those properties that need updating. Does not support logos."
}200 OKThe updated brand theme.
When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.
| Property | Description | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| colorScheme |
The color scheme for this brand theme.
|
||||||||||||||||||||||||||||
| created read-only |
The date on which the entity was created. |
||||||||||||||||||||||||||||
| emailBrandLogo nullable |
The brand logo for use in email messages (and any other place using a white/neutral background such as contracts and invoices). |
||||||||||||||||||||||||||||
| eventBrandLogo nullable |
The brand logo for use in event presentation. |
||||||||||||||||||||||||||||
| fontSet |
The font set for this brand theme.
|
||||||||||||||||||||||||||||
| id |
The identifier of this brand theme. |
||||||||||||||||||||||||||||
| 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 brand theme. |
||||||||||||||||||||||||||||
| primaryColor |
The primary hex color code for this brand theme. |
||||||||||||||||||||||||||||
| secondaryColor |
The secondary hex color code for this brand theme. |
||||||||||||||||||||||||||||
| type |
The type of object represented. |
400 Bad RequestValidation 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: 400s and 500s.
Any error with a status code of 400 to 499 is considered a client error. This means it’s usually an error you can handle in your app, and then resend a modified request to the ShootProof API to get a successful response.
An error in the range of 500 to 599, on the other hand, is a different story. These errors usually mean that a problem occured on the server and resending the request with modifications will not fix the issue.
Pay careful attention to the status codes. We try to stick as close as possible to their defined semantics. For a complete list of HTTP status codes, take a look at the official HTTP Status Code Registry.
Check out our errors guide for more information.
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/BrandTheme"
}
}
},
"description": "The updated brand theme."
},
"400": {
"$ref": "#/components/responses/validationError"
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}/studio/brand/{brandId}/brand-theme/{brandThemeId}We’ve got some helpful examples coming your way soon. Stay tuned!
| Property | Description |
|---|---|
| brandId required |
The brand identifier. |
| brandThemeId required |
The brand theme 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 attachment parts of the multipart/mixed request MUST be named event-brand-logo and email-brand-logo. Other attachment names will not be accepted.
| Property | Description | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| colorScheme |
The color scheme for this brand theme.
|
||||||||||||||||||||||||||||
| emailBrandLogo nullable |
The brand logo for use in email messages (and any other place using a white/neutral background such as contracts and invoices). |
||||||||||||||||||||||||||||
| eventBrandLogo nullable |
The brand logo for use in event presentation. |
||||||||||||||||||||||||||||
| fontSet |
The font set for this brand theme.
|
||||||||||||||||||||||||||||
| id |
The identifier of this brand theme. |
||||||||||||||||||||||||||||
| name |
The name of this brand theme. |
||||||||||||||||||||||||||||
| primaryColor |
The primary hex color code for this brand theme. |
||||||||||||||||||||||||||||
| secondaryColor |
The secondary hex color code for this brand theme. |
||||||||||||||||||||||||||||
| type |
The type of object represented. |
| Property | Description | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| colorScheme |
The color scheme for this brand theme.
|
||||||||||||||||||||||||||||
| emailBrandLogo nullable |
The brand logo for use in email messages (and any other place using a white/neutral background such as contracts and invoices). |
||||||||||||||||||||||||||||
| eventBrandLogo nullable |
The brand logo for use in event presentation. |
||||||||||||||||||||||||||||
| fontSet |
The font set for this brand theme.
|
||||||||||||||||||||||||||||
| id |
The identifier of this brand theme. |
||||||||||||||||||||||||||||
| name |
The name of this brand theme. |
||||||||||||||||||||||||||||
| primaryColor |
The primary hex color code for this brand theme. |
||||||||||||||||||||||||||||
| secondaryColor |
The secondary hex color code for this brand theme. |
||||||||||||||||||||||||||||
| 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/BrandTheme"
}
},
"multipart/mixed": {
"example": "--SP_BOUNDARY\nContent-Type: application/vnd.shootproof+json\n\n{\n \"id\": 12345,\n \"type\": \"brand-theme\",\n \"name\": \"Test\",\n \"primaryColor\": \"4fc12a\",\n \"secondaryColor\": \"8a3b52\",\n \"colorScheme\": \"light\",\n \"fontSet\": \"brandon\"\n}\n\n--SP_BOUNDARY\nContent-Disposition: attachment; name=event-brand-logo; filename=image.jpg\nContent-Type: image/jpeg\n\n[binary data]\n\n--SP_BOUNDARY\nContent-Disposition: attachment; name=email-brand-logo; filename=image2.jpg\nContent-Type: image/jpeg\n\n[binary data]\n\n--SP_BOUNDARY--",
"schema": {
"$ref": "#/components/schemas/BrandTheme"
}
}
},
"description": "The attachment parts of the `multipart/mixed` request MUST be named\n`event-brand-logo` and `email-brand-logo`. Other attachment names\nwill not be accepted."
}200 OKThe updated brand theme.
When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.
| Property | Description | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| colorScheme |
The color scheme for this brand theme.
|
||||||||||||||||||||||||||||
| created read-only |
The date on which the entity was created. |
||||||||||||||||||||||||||||
| emailBrandLogo nullable |
The brand logo for use in email messages (and any other place using a white/neutral background such as contracts and invoices). |
||||||||||||||||||||||||||||
| eventBrandLogo nullable |
The brand logo for use in event presentation. |
||||||||||||||||||||||||||||
| fontSet |
The font set for this brand theme.
|
||||||||||||||||||||||||||||
| id |
The identifier of this brand theme. |
||||||||||||||||||||||||||||
| 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 brand theme. |
||||||||||||||||||||||||||||
| primaryColor |
The primary hex color code for this brand theme. |
||||||||||||||||||||||||||||
| secondaryColor |
The secondary hex color code for this brand theme. |
||||||||||||||||||||||||||||
| type |
The type of object represented. |
400 Bad RequestValidation 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: 400s and 500s.
Any error with a status code of 400 to 499 is considered a client error. This means it’s usually an error you can handle in your app, and then resend a modified request to the ShootProof API to get a successful response.
An error in the range of 500 to 599, on the other hand, is a different story. These errors usually mean that a problem occured on the server and resending the request with modifications will not fix the issue.
Pay careful attention to the status codes. We try to stick as close as possible to their defined semantics. For a complete list of HTTP status codes, take a look at the official HTTP Status Code Registry.
Check out our errors guide for more information.
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/BrandTheme"
}
}
},
"description": "The updated brand theme."
},
"400": {
"$ref": "#/components/responses/validationError"
},
"default": {
"$ref": "#/components/responses/defaultError"
}
}/studio/brand/{brandId}/homepageWe’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. |
200 OKBrand homepage settings for the brand.
This resource is always available for a brand, so it will never return a 400-series 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 |
|---|---|
| aboutImage required nullable |
An image to display on the Brand Homepage with About info. |
| aboutText nullable |
About text defined for the brand. Typically formatted as HTML. |
| brandTheme |
A brand theme. |
| brandThemeId |
The identifier for this brand's homepage brand theme. |
| enableAboutPage |
Whether to show the about page within the brand homepage. |
| enableContactForm |
Whether to show the contact form within the brand homepage. |
| eventSortBy |
The type of sorting to apply when events layout is in use. Events can be sorted by name or event date in ascending or descending order. Defaults to displaying events in descending order by event date. |
| homepageText nullable |
Introductory text that will appear to users when visiting the brand's homepage. Typically formatted as HTML. |
| layout |
The layout option to use for the brand homepage. Note that the widget layout is only available if it's already in use for the given brand. Once the layout is using |
| 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. |
| showAddress |
Whether to show the brand's address information. |
| showEmail |
Whether to show the brand's email address. |
| showHomepageText |
Whether to show introductory text on the brand's homepage. |
| showPhone |
Whether to show the brand's phone number. |
| showSocialMedia |
Whether to show the brand's social media information. |
| showWebsite |
Whether to show the brand's website URL. |
| type read-only | |
| widgetShowEmail |
When using widget layout, whether or not to show the brand's email address. |
| widgetShowEventList |
When using widget layout, whether or not to show the brand's event list. |
| widgetShowSearch |
When using widget layout, whether or not to show the search field. |
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/BrandHomepage"
}
}
},
"description": "Brand homepage settings for the brand.\n\nThis resource is always available for a brand, so it will never\nreturn a 400-series response."
}
}/studio/brand/{brandId}/homepageWe’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 brand homepage to update. Only provide those properties that need updating.
| Property | Description |
|---|---|
| enableAboutPage |
Whether to show the about page within the brand homepage. |
| enableContactForm |
Whether to show the contact form within the brand homepage. |
| homepageText nullable |
Introductory text that will appear to users when visiting the brand's homepage. Typically formatted as HTML. |
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"content": {
"application/vnd.shootproof+json": {
"schema": {
"description": "Settings to change for the brand homepage.\n\nAny properties in the brand homepage schema can be provided.",
"properties": {
"enableAboutPage": {
"description": "Whether to show the about page within the brand homepage.",
"type": "boolean"
},
"enableContactForm": {
"description": "Whether to show the contact form within the brand homepage.",
"type": "boolean"
},
"homepageText": {
"description": "Introductory text that will appear to users when visiting the brand's homepage.\n\nTypically formatted as HTML.",
"nullable": true,
"type": "string"
}
},
"title": "Brand Homepage",
"type": "object"
}
}
},
"description": "The brand homepage to update. Only provide those properties that need updating.",
"required": true
}200 OKThe complete set of brand homepage settings for the brand after the requested changes have been applied.
When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.
| Property | Description |
|---|---|
| aboutImage required nullable |
An image to display on the Brand Homepage with About info. |
| aboutText nullable |
About text defined for the brand. Typically formatted as HTML. |
| brandTheme |
A brand theme. |
| brandThemeId |
The identifier for this brand's homepage brand theme. |
| enableAboutPage |
Whether to show the about page within the brand homepage. |
| enableContactForm |
Whether to show the contact form within the brand homepage. |
| eventSortBy |
The type of sorting to apply when events layout is in use. Events can be sorted by name or event date in ascending or descending order. Defaults to displaying events in descending order by event date. |
| homepageText nullable |
Introductory text that will appear to users when visiting the brand's homepage. Typically formatted as HTML. |
| layout |
The layout option to use for the brand homepage. Note that the widget layout is only available if it's already in use for the given brand. Once the layout is using |
| 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. |
| showAddress |
Whether to show the brand's address information. |
| showEmail |
Whether to show the brand's email address. |
| showHomepageText |
Whether to show introductory text on the brand's homepage. |
| showPhone |
Whether to show the brand's phone number. |
| showSocialMedia |
Whether to show the brand's social media information. |
| showWebsite |
Whether to show the brand's website URL. |
| type read-only | |
| widgetShowEmail |
When using widget layout, whether or not to show the brand's email address. |
| widgetShowEventList |
When using widget layout, whether or not to show the brand's event list. |
| widgetShowSearch |
When using widget layout, whether or not to show the search field. |
400 Bad RequestValidation 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/BrandHomepage"
}
}
},
"description": "The complete set of brand homepage settings for the brand after\nthe requested changes have been applied."
},
"400": {
"$ref": "#/components/responses/validationError"
}
}/studio/brand/{brandId}/homepage/about-imageWe’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. |
204 No ContentThe resource was successfully deleted.
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"204": {
"$ref": "#/components/responses/deleteSuccess"
}
}Updates the Brand Homepage About Image object, to be displayed on the Brand Homepage with About info.
/studio/brand/{brandId}/homepage/about-imageWe’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. |
| Property | Description |
|---|---|
| type |
The type of object represented. |
The following schema is based on OpenAPI 3.0 and is provided in our downloadable OpenAPI document.
{
"content": {
"multipart/mixed": {
"example": "--SP_BOUNDARY\nContent-Type: application/vnd.shootproof+json\n\n{\n \"type\": \"brand-homepage-about-image\"\n}\n\n--SP_BOUNDARY\nContent-Disposition: attachment; filename=image.jpg\nContent-Type: image/jpeg\n\n[binary data]\n\n--SP_BOUNDARY--",
"schema": {
"$ref": "#/components/schemas/BrandHomepageAboutImage"
}
}
}
}200 OKThe successfully-updated Brand Homepage About Image object.
When the Content-Type of the response is application/vnd.shootproof+json, the following properties will be available in the response body.
| Property | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| displayUrl read-only |
Display URLs for this image.
|
||||||||
| type |
The type of object represented. |
400 Bad RequestValidation 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/BrandHomepageAboutImage"
}
}
},
"description": "The successfully-updated Brand Homepage About Image object."
},
"400": {
"$ref": "#/components/responses/validationError"
}
}Returns a list of all watermarks for the brand. Query string parameters may be used to affect the response, including pagination, sorting, and filtering.
/studio/brand/{brandId}/watermarkWe’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. |
| searchName |
A string with which to filter watermarks by name. |
| 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 OKWatermarks 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": {
"$ref": "#/components/schemas/WatermarkCollection"
}
}
},
"description": "Watermarks list response."
}
}