Contents

Music

Beautiful galleries deserve the right mix of music for the occasion, and ShootProof has partnered with Triple Scoop Music to help studios set the right tone for their brands and events.

Through the ShootProof API, you can help studios manage their music playlists, as well as access the studio’s music streams from your app.

List all music plans available for the current studio.

Returns a list of all music plans available for the current studio.

get
/studio/plan/music

Example Request

Header Parameters

Property Description
Authentication required

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

200 OK

Music plan list response.

Response Body

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

Properties
Property Description
items

A collection of resources returned in the current result set.

Property Description
currencyCode

The type of currency used for this plan.

currencySymbol

The currency symbol for the type of currency used for this plan.

description

The plan description.

isMonthly

Whether the plan renews on a monthly basis.

isUnlimited

Whether the plan is an unlimited plan.

isYearly

Whether the plan renews on a yearly basis.

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 the plan.

playlistSize

The number of songs that can be added to a playlist.

price

The plan price.

type

The type of object represented.

links required read-only

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

meta read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

rows

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

totalItems

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

totalPages

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

type

The model type for the list response object.

OpenAPI Schema

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

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "allOf": [
            {
              "description": "A collection of music plans available for the studio.",
              "properties": {
                "items": {
                  "items": {
                    "$ref": "#/components/schemas/Studio/properties/musicPlan"
                  },
                  "title": "Music Plan",
                  "type": "array"
                },
                "type": {
                  "description": "The model type for the list response object.",
                  "enum": [
                    "studio-music-plan-collection"
                  ],
                  "type": "string"
                }
              }
            },
            {
              "$ref": "#/components/schemas/List"
            }
          ]
        }
      }
    },
    "description": "Music plan list response."
  }
}

Lists all music playlists for the studio.

Returns a list of all music playlists for the studio. Playlists are shared across all brands in the studio.

Query string parameters may be used to affect the response, including pagination, sorting, and filtering.

get
/studio/playlist

Example Request

Header Parameters

Property Description
Authentication required

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

200 OK

Music playlists list response.

Response Body

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

Properties
Property Description
items

An array of music playlists.

Property Description
created read-only

The creation date of this playlist.

id read-only

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

isEditable read-only

Flag indicating whether the playlist is editable by the studio. Playlists created by the studio have a true value here, playlists created by the system (ie: featured playlists) are false. If this value is false, the playlist can be neither edited or deleted by the studio via the API.

name

The playlist name.

songCount read-only

The number of songs appearing in the playlist.

type

The type of object represented.

links required read-only

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

Property Description
alternate

The target URL is an alternate representation of the current resource. Usually, this will include a type property to indicate the media type of the alternate representation.

brand

The target URL is a brand or collection of brands related to the current resource.

brand-context deprecated

The target URL indicates the brand authorized for the current context, based on the access token.

This relationship is deprecated and should not be relied on. Access tokens obtained through the OAuth flow are not tied to a specific brand.

brand-homepage

The target URL is Client Gallery homepage for the brand related to the current resource.

brand-theme

The target URL is a brand theme or collection of brand themes related to the current resource.

canonical

The target URL is the primary location of the current resource (i.e. the current resource may be subordinate to another resource, and the target URL indicates its permanent location).

children

The target URL is a collection of resources that is subordinate to the current resource. That is, the current resource is a parent of the children, and the children belong to this resource.

client

The target URL is the location of the current resource in the Client Galleries website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

client-admin

The target URL is the location of the studio client admin for the current resource in the Client Galleries website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

collection

The target URL is the location of a collection of similar resources of which the current resource is a member.

contact

The target URL is a contact or collection of contacts related to the current resource.

contact-referee

The target URL is a list of available contacts that may be selected as referred by the current resource.

contact-referred-by

The target URL is a list of available contacts that may be selected as having referred the current resource.

contact-tag

The target URL is a list of contact tags available to apply to the current resource.

contract

The target URL is a contract or collection of contracts related to the current resource.

contract-signature

The target URL is a contract signature or collection of contract signatures related to the current resource.

contract-template

The target URL is a contract template or collection of contract templates related to the current resource.

derivedfrom

The target URL is the location of a resource from which the current resource is derived (or a subset of).

email

The target URL may be an email message or collection of email messages related to the current resource. It may also be used to create an email message related to the current resource.

email-automation-group

The target URL is an email automation group or collection of email automation groups related to the current resource.

email-template

The target URL is an email template or collection of email templates related to the current resource.

email-template-type

The target URL is an email template type or collection of email template types related to the current resource.

event

The target URL is an event or collection of events related to the current resource.

event-album

The target URL is an event album or collection of event albums related to the current resource.

event-album-passwords

The target URL is a listing of all passwords for all event albums related to the current resource. If the type indicates a different format (i.e. text/csv), then the URL is a link to a downloadable version of the target resource.

event-album-photo

The target URL is an event album photo or collection of event album photos related to the current resource.

event-archive-cost

The target URL is an event archive cost related to the current resource.

event-category

The target URL is an event category or collection of event categories related to the current resource.

event-contact

The target URL is an event contact or collection of event contacts related to the current resource.

event-contact-photo-favorite

The target URL is a photo or collection of photos related to the current resource and favorited by the context event contact.

event-contact-photo-hidden

The target URL is a photo or collection of photos related to the current resource and hidden by the context event contact.

event-contact-photo-share

The target URL is a photo or collection of photos related to the current resource and shared by the context event contact.

event-contact-photo-tag

The target URL is a photo or collection of photos related to the current resource and tagged by the context event contact.

When templated is true, this is a templated URL. The template parameter filterPhotoTag may be used with the tag name or a comma-separated list of tag names to filter tagged photo results.

event-defaults

The target URL is a set of event defaults settings or collection of more than one set of event defaults settings related to the current resource.

event-photo

The target URL is an event photo or collection of event photos related to the current resource.

event-photo-original

The target URL is the original uploaded photo related to the current resource.

event-photo-upload-policy

The target URL may be used to generate an event photo upload policy related to the current resource. This is the first step in the process to upload new event photos to an event resource.

event-visitor

The target URL is an event visitor or collection of event visitors related to the current resource.

invoice

The target URL is an invoice or collection of invoices related to the current resource.

invoice-credit-card

The target URL may be used to manipulate the invoice credit card related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-item-template

The target URL is an invoice item template or collection of invoice item templates related to the current resource.

invoice-payment

The target URL may be used to make an invoice payment related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-refund

The target URL may be used to make an invoice refund related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-template

The target URL is an invoice template or collection of invoice templates related to the current resource.

lab

The target URL is a lab related to the current resource.

lab-catalog

The target URL is a lab catalog or collection of lab catalogs related to the current resource.

lab-catalog-self-fulfilled

The target URL is a self-fulfilled lab catalog or collection of self-fulfilled lab catalogs related to the current resource.

lab-catalog-shipping-option

The target URL is a lab catalog shipping option or collection of lab catalog shipping options related to the current resource.

market-department

The target URL is a market department or collection of market departments related to the current resource.

market-product

The target URL is a market product or collection of market products related to the current resource.

market-vendor

The target URL is a market vendor or collection of market vendors related to the current resource.

me

The target URL is the profile for the authenticated access token.

Usually this is the Studio Panel user who has granted authorization and an access token.

mobile-app

The target URL is a mobile app or collection of mobile apps related to the current resource.

order

The target URL is an order or collection of orders related to the current resource.

order-payment

The target URL is an order payment or collection of order payments related to the current resource.

parent

The target URL identifies a parent resource for the current resource. It is often used on subordinate resources or collections to identify the resource to which they belong.

playlist

The target URL is a music playlist or collection of music playlists related to the current resource.

portal

The target URL is the location of the current resource in the Studio-Client Portal website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

price-sheet

The target URL is a price sheet or collection of price sheets related to the current resource.

price-sheet-discount

The target URL is a price sheet discount or collection of price sheet discounts related to the current resource.

price-sheet-event

The target URL is an event associated to a price sheet or a collection of events associated to a price sheet related to the current resource.

price-sheet-item-image

The target URL is a collection of images associated to a price sheet item related to the current resource.

price-sheet-shipping-option

The target URL is a price sheet shipping option or collection of price sheet shipping options related to the current resource.

search

The target URL is a location that may be used to search or filter results for the current resource.

self

The target URL is the current resource's own location. It may not be the canonical location of the resource; if this is the case, the canonical relationship might be present to indicate the resource's canonical URL.

signature

The target URL is a signature or collection of signatures related to the current resource.

token-replacement

The target URL may be used to replace tokens in the current resource. Tokens available to pass for replacement are indicated by the URI template parameters.

watermark

The target URL is a watermark or collection of watermarks related to the current resource.

meta read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

rows

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

totalItems

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

totalPages

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

type

The type of object represented.

OpenAPI Schema

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

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "allOf": [
            {
              "$ref": "#/components/schemas/List"
            },
            {
              "properties": {
                "items": {
                  "description": "An array of music playlists.",
                  "items": {
                    "description": "A studio music playlist.",
                    "properties": {
                      "created": {
                        "description": "The creation date of this playlist.",
                        "format": "date-time",
                        "readOnly": true,
                        "type": "string"
                      },
                      "id": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/Id"
                          },
                          {
                            "readOnly": true
                          }
                        ]
                      },
                      "isEditable": {
                        "description": "Flag indicating whether the playlist is editable by the studio. Playlists created by the studio have a\ntrue value here, playlists created by the system (ie: featured playlists) are false. If this value is false,\nthe playlist can be neither edited or deleted by the studio via the API.",
                        "readOnly": true,
                        "type": "boolean"
                      },
                      "name": {
                        "description": "The playlist name.",
                        "type": "string"
                      },
                      "songCount": {
                        "description": "The number of songs appearing in the playlist.",
                        "readOnly": true,
                        "type": "integer"
                      },
                      "type": {
                        "description": "The type of object represented.",
                        "enum": [
                          "playlist"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "name"
                    ],
                    "title": "A music playlist.",
                    "type": "object"
                  },
                  "type": "array"
                },
                "links": {
                  "$ref": "#/components/schemas/Links"
                },
                "type": {
                  "description": "The type of object represented.",
                  "enum": [
                    "playlist-collection"
                  ],
                  "type": "string"
                }
              },
              "type": "object"
            }
          ],
          "description": "A collection of music playlists."
        }
      }
    },
    "description": "Music playlists list response."
  }
}

Creates a new playlist for the studio.

Creates a new music playlists for the studio. Playlists are shared across all brands in the studio.

The songs will be ordered in the playlist according to their order in the songs request property.

post
/studio/playlist

Example Request

Header Parameters

Property Description
Authentication required

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

Request Body

The playlist.

application/vnd.shootproof+json
Property Description
name

The playlist name.

songs

The songs in the playlist, represented by their ID. The Ultimate music plan supports addition of up to 20 songs in a playlist. The limited music plans support addition of 3 songs in a playlist. Submitting more songs than the subscribed plan supports will result in a 400 with validation errors.

Property Description
id

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

type

The type of object represented.

type

The type of object represented.

OpenAPI Schema

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

{
  "content": {
    "application/vnd.shootproof+json": {
      "schema": {
        "$ref": "#/components/schemas/Playlist"
      }
    }
  },
  "description": "The playlist.",
  "required": true
}

200 OK

Music playlist response.

Response Body

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

Properties
Property Description
created read-only

The creation date of this playlist.

id read-only

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

isEditable read-only

Flag indicating whether the playlist is editable by the studio. Playlists created by the studio have a true value here, playlists created by the system (ie: featured playlists) are false. If this value is true, the playlist can be neither edited or deleted by the studio via the API. If this value is false, submitting an update to this playlist will result in a 400 with validation errors.

name

The playlist name.

songCount read-only

The number of songs appearing in the playlist.

songs

The songs in the playlist, represented by their ID. The Ultimate music plan supports addition of up to 20 songs in a playlist. The limited music plans support addition of 3 songs in a playlist. Submitting more songs than the subscribed plan supports will result in a 400 with validation errors.

Property Description
id

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

type

The type of object represented.

type

The type of object represented.

OpenAPI Schema

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

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/Playlist"
        }
      }
    },
    "description": "Music playlist response."
  }
}

Deletes a single playlist by ID.

Deletes a Playlist with the given ID. If the ID is not found, returns a 404 response.

delete
/studio/playlist/{playlistId}

Example Request

Path Parameters

Property Description
playlistId required

The playlist identifier.

Header Parameters

Property Description
Authentication required

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

204 No Content

Successful deletion response.

400 Bad Request

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

Response Body

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

Properties
Property Description
detail

A longer description of of the error encountered.

info

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

Property Description
errors

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

reason

An optional reason for the error response.

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

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

The HTTP status code associated with this error.

title

A short description of the error encountered.

type

A namespace URI uniquely identifying the error type.

Error Response

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

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

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

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

Check out our errors guide for more information.

Response Body

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

Properties
Property Description
detail

A longer description of of the error encountered.

info

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

Property Description
reason

An optional reason for the error response.

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

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

The HTTP status code associated with this error.

title

A short description of the error encountered.

type

A namespace URI uniquely identifying the error type.

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

OpenAPI Schema

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

{
  "204": {
    "description": "Successful deletion response."
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Returns a single playlist by ID.

Returns a Playlist with the given ID. If the ID is not found, returns a 404 response.

get
/studio/playlist/{playlistId}

Example Request

Path Parameters

Property Description
playlistId required

The playlist identifier.

Header Parameters

Property Description
Authentication required

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

200 OK

A Playlist

Response Body

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

Properties
Property Description
created read-only

The creation date of this playlist.

id read-only

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

isEditable read-only

Flag indicating whether the playlist is editable by the studio. Playlists created by the studio have a true value here, playlists created by the system (ie: featured playlists) are false. If this value is true, the playlist can be neither edited or deleted by the studio via the API. If this value is false, submitting an update to this playlist will result in a 400 with validation errors.

name

The playlist name.

songCount read-only

The number of songs appearing in the playlist.

songs

The songs in the playlist, represented by their ID. The Ultimate music plan supports addition of up to 20 songs in a playlist. The limited music plans support addition of 3 songs in a playlist. Submitting more songs than the subscribed plan supports will result in a 400 with validation errors.

Property Description
id

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

type

The type of object represented.

type

The type of object represented.

Error Response

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

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

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

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

Check out our errors guide for more information.

Response Body

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

Properties
Property Description
detail

A longer description of of the error encountered.

info

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

Property Description
reason

An optional reason for the error response.

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

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

The HTTP status code associated with this error.

title

A short description of the error encountered.

type

A namespace URI uniquely identifying the error type.

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

OpenAPI Schema

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

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

Updates a playlist for the studio.

Updates a Playlist for the studio. Playlists are shared across all brands in the studio.

All songs on the Playlist will be overwritten with values in the songs property of the request.

The songs will be ordered in the playlist according to their order in the songs request property.

patch
/studio/playlist/{playlistId}

Example Request

Path Parameters

Property Description
playlistId required

The playlist identifier.

Header Parameters

Property Description
Authentication required

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

Request Body

The playlist.

application/vnd.shootproof+json
Property Description
name

The playlist name.

songs

The songs in the playlist, represented by their ID. The Ultimate music plan supports addition of up to 20 songs in a playlist. The limited music plans support addition of 3 songs in a playlist. Submitting more songs than the subscribed plan supports will result in a 400 with validation errors.

Property Description
id

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

type

The type of object represented.

type

The type of object represented.

OpenAPI Schema

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

{
  "content": {
    "application/vnd.shootproof+json": {
      "schema": {
        "$ref": "#/components/schemas/Playlist"
      }
    }
  },
  "description": "The playlist.",
  "required": true
}

200 OK

Music playlist response.

Response Body

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

Properties
Property Description
created read-only

The creation date of this playlist.

id read-only

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

isEditable read-only

Flag indicating whether the playlist is editable by the studio. Playlists created by the studio have a true value here, playlists created by the system (ie: featured playlists) are false. If this value is true, the playlist can be neither edited or deleted by the studio via the API. If this value is false, submitting an update to this playlist will result in a 400 with validation errors.

name

The playlist name.

songCount read-only

The number of songs appearing in the playlist.

songs

The songs in the playlist, represented by their ID. The Ultimate music plan supports addition of up to 20 songs in a playlist. The limited music plans support addition of 3 songs in a playlist. Submitting more songs than the subscribed plan supports will result in a 400 with validation errors.

Property Description
id

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

type

The type of object represented.

type

The type of object represented.

400 Bad Request

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

Response Body

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

Properties
Property Description
detail

A longer description of of the error encountered.

info

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

Property Description
errors

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

reason

An optional reason for the error response.

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

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

The HTTP status code associated with this error.

title

A short description of the error encountered.

type

A namespace URI uniquely identifying the error type.

OpenAPI Schema

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

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/Playlist"
        }
      }
    },
    "description": "Music playlist response."
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  }
}

List all songs

Beware, URLs can exceed the 2048 character limit imposed by some browsers. A POST version of this endpoint is provided for such cases.

Across categories, filters are added. So, if a style and a theme are selected, matching songs must match the theme and the style. Within categories, filters are applied with an OR operator. So, if multiple styles and themes are selected, matching songs must match at least one of the styles and at least one of the themes.

get
/studio/song

Example Request

Query Parameters

Property Description
filterArtist

Filter items returned by artist. Available values can be found at /song/artist. If more than one value is present, matching songs will have at least one of the given values.

filterDurationMax

Filter items having a maximum duration of _.

filterDurationMin

Filter items having a minimum duration of _.

filterInstrument

Filter items returned by instrument. Available values can be found at /song/instrument. If more than one value is present, matching songs will have at least one of the given values.

filterIsInstrumental

Filter items matching isInstrumental.

filterMood

Filter items returned by mood. Available values can be found at /song/mood. If more than one value is present, matching songs will have at least one of the given values.

filterStyle

Filter items returned by style. Available values can be found at /song/style. If more than one value is present, matching songs will have at least one of the given values.

filterTempo

Filter items matching tempo.

filterTheme

Filter items returned by theme. Available values can be found at /song/theme. If more than one value is present, matching songs will have at least one of the given values.

page

The page of results to return.

rows

The number of rows to return on each page of results.

searchArtist

String partially matching search of artist names.

searchLyrics

String matching a complete word/phrase found in the song's lyrics field.

If searchTitle is present in the request, results will contain songs having either a matching searchTitle or searchLyrics

searchTitle

String matching a complete word/phrase found in the song's title field.

Header Parameters

Property Description
Authentication required

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

200 OK

A collection of songs

Response Body

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

Properties
Property Description
items

A collection of resources returned in the current result set.

Property Description
artist read-only

Artist name.

duration read-only

Duration of the song, in seconds.

id

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

instruments read-only

The instruments featured in the song.

isInstrumental read-only

Whether the track is an instrumental or vocal track.

lyrics read-only

The lyrics for this song.

media

The media URLs for the different streams and files.

Property Description
artistThumbnailUrl read-only
fullStreamUrl read-only
sampleStreamUrl read-only
moods read-only

The moods describing the song.

styles read-only

The styles describing the song.

tempo read-only

Tempo of the song.

themes read-only

The themes describing the song.

title read-only

Song title.

type

The type of resource represented.

links required read-only

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

meta read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

rows

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

totalItems

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

totalPages

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

type

The type of resource represented.

OpenAPI Schema

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

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/SongCollection"
        }
      }
    },
    "description": "A collection of songs"
  }
}

List all songs

This is a POST request because the combined values of filter parameters can exceed the max supported URL length of 2048 characters.

Across categories, filters are added. So, if a style and a theme are selected, matching songs must match the theme and the style. Within categories, filters are applied with an OR operator. So, if multiple styles and themes are selected, matching songs must match at least one of the styles and at least one of the themes.

post
/studio/song

Example Request

Query Parameters

Property Description
page

The page of results to return.

rows

The number of rows to return on each page of results.

sortType

The direction in which sorting should occur.

Header Parameters

Property Description
Authentication required

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

Request Body

A song search request

application/vnd.shootproof+json
Property Description
filterArtist nullable

Filter items returned by artist. Available values can be found at /song/artist. If more than one value is present, matching songs will have at least one of the given values.

filterDurationMax nullable

Filter items having a maximum duration of _.

filterDurationMin nullable

Filter items having a minimum duration of _.

filterInstrument nullable

Filter items returned by instrument. Available values can be found at /song/instrument. If more than one value is present, matching songs will have at least one of the given values.

filterIsInstrumental

Filter items matching isInstrumental.

filterMood nullable

Filter items returned by mood. Available values can be found at /song/mood. If more than one value is present, matching songs will have at least one of the given values.

filterStyle nullable

Filter items returned by style. Available values can be found at /song/style. If more than one value is present, matching songs will have at least one of the given values.

filterTempo nullable

Filter items matching tempo.

filterTheme nullable

Filter items returned by theme. Available values can be found at /song/theme. If more than one value is present, matching songs will have at least one of the given values.

searchArtist nullable

String partially matching search of artist names.

searchLyrics nullable

String matching a complete word/phrase found in the song's lyrics field.

If searchTitle is present in the request, results will contain songs having either a matching searchTitle or searchLyrics

searchTitle nullable

String matching a complete word/phrase found in the song's title field.

type

The type of object represented

OpenAPI Schema

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

{
  "content": {
    "application/vnd.shootproof+json": {
      "schema": {
        "description": "The song search parameters.",
        "properties": {
          "filterArtist": {
            "description": "Filter items returned by artist. Available values can be found at `/song/artist`. If\nmore than one value is present, matching songs will have at least one of the given\nvalues.",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "filterDurationMax": {
            "description": "Filter items having a maximum duration of _.",
            "nullable": true,
            "type": "integer"
          },
          "filterDurationMin": {
            "description": "Filter items having a minimum duration of _.",
            "nullable": true,
            "type": "integer"
          },
          "filterInstrument": {
            "description": "Filter items returned by instrument. Available values can be found at `/song/instrument`.\nIf more than one value is present, matching songs will have at least one of the given values.",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "filterIsInstrumental": {
            "description": "Filter items matching isInstrumental.",
            "type": "boolean"
          },
          "filterMood": {
            "description": "Filter items returned by mood. Available values can be found at `/song/mood`. If\nmore than one value is present, matching songs will have at least one of the given\nvalues.",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "filterStyle": {
            "description": "Filter items returned by style. Available values can be found at `/song/style`. If\nmore than one value is present, matching songs will have at least one of the given\nvalues.",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "filterTempo": {
            "description": "Filter items matching tempo.",
            "enum": [
              "fast",
              "slow",
              "medium"
            ],
            "nullable": true,
            "type": "string"
          },
          "filterTheme": {
            "description": "Filter items returned by theme. Available values can be found at `/song/theme`. If\nmore than one value is present, matching songs will have at least one of the given\nvalues.",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "links": {
            "$ref": "#/components/schemas/Links"
          },
          "searchArtist": {
            "description": "String partially matching search of artist names.",
            "nullable": true,
            "type": "string"
          },
          "searchLyrics": {
            "description": "String matching a complete word/phrase found in the song's lyrics field.\n\nIf `searchTitle` is present in the request, results will contain songs having either a\nmatching `searchTitle` or `searchLyrics`",
            "nullable": true,
            "type": "string"
          },
          "searchTitle": {
            "description": "String matching a complete word/phrase found in the song's title field.",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "The type of object represented",
            "enum": [
              "song-collection"
            ],
            "type": "string"
          }
        },
        "title": "Song search",
        "type": "object"
      }
    }
  },
  "description": "A song search request",
  "required": true
}

200 OK

A collection of songs

Response Body

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

Properties
Property Description
items

A collection of resources returned in the current result set.

Property Description
artist read-only

Artist name.

duration read-only

Duration of the song, in seconds.

id

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

instruments read-only

The instruments featured in the song.

isInstrumental read-only

Whether the track is an instrumental or vocal track.

lyrics read-only

The lyrics for this song.

media

The media URLs for the different streams and files.

Property Description
artistThumbnailUrl read-only
fullStreamUrl read-only
sampleStreamUrl read-only
moods read-only

The moods describing the song.

styles read-only

The styles describing the song.

tempo read-only

Tempo of the song.

themes read-only

The themes describing the song.

title read-only

Song title.

type

The type of resource represented.

links required read-only

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

meta read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

rows

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

totalItems

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

totalPages

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

type

The type of resource represented.

OpenAPI Schema

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

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/SongCollection"
        }
      }
    },
    "description": "A collection of songs"
  }
}

List all song instruments. Response items can be used as a `filterInstrument` value in the `/song`.

get
/studio/song/instrument

Example Request

Header Parameters

Property Description
Authentication required

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

200 OK

A collection of song instruments.

Response Body

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

Properties
Property Description
items

A collection of resources returned in the current result set.

Property Description
type
value
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.

Property Description
alternate

The target URL is an alternate representation of the current resource. Usually, this will include a type property to indicate the media type of the alternate representation.

brand

The target URL is a brand or collection of brands related to the current resource.

brand-context deprecated

The target URL indicates the brand authorized for the current context, based on the access token.

This relationship is deprecated and should not be relied on. Access tokens obtained through the OAuth flow are not tied to a specific brand.

brand-homepage

The target URL is Client Gallery homepage for the brand related to the current resource.

brand-theme

The target URL is a brand theme or collection of brand themes related to the current resource.

canonical

The target URL is the primary location of the current resource (i.e. the current resource may be subordinate to another resource, and the target URL indicates its permanent location).

children

The target URL is a collection of resources that is subordinate to the current resource. That is, the current resource is a parent of the children, and the children belong to this resource.

client

The target URL is the location of the current resource in the Client Galleries website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

client-admin

The target URL is the location of the studio client admin for the current resource in the Client Galleries website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

collection

The target URL is the location of a collection of similar resources of which the current resource is a member.

contact

The target URL is a contact or collection of contacts related to the current resource.

contact-referee

The target URL is a list of available contacts that may be selected as referred by the current resource.

contact-referred-by

The target URL is a list of available contacts that may be selected as having referred the current resource.

contact-tag

The target URL is a list of contact tags available to apply to the current resource.

contract

The target URL is a contract or collection of contracts related to the current resource.

contract-signature

The target URL is a contract signature or collection of contract signatures related to the current resource.

contract-template

The target URL is a contract template or collection of contract templates related to the current resource.

derivedfrom

The target URL is the location of a resource from which the current resource is derived (or a subset of).

email

The target URL may be an email message or collection of email messages related to the current resource. It may also be used to create an email message related to the current resource.

email-automation-group

The target URL is an email automation group or collection of email automation groups related to the current resource.

email-template

The target URL is an email template or collection of email templates related to the current resource.

email-template-type

The target URL is an email template type or collection of email template types related to the current resource.

event

The target URL is an event or collection of events related to the current resource.

event-album

The target URL is an event album or collection of event albums related to the current resource.

event-album-passwords

The target URL is a listing of all passwords for all event albums related to the current resource. If the type indicates a different format (i.e. text/csv), then the URL is a link to a downloadable version of the target resource.

event-album-photo

The target URL is an event album photo or collection of event album photos related to the current resource.

event-archive-cost

The target URL is an event archive cost related to the current resource.

event-category

The target URL is an event category or collection of event categories related to the current resource.

event-contact

The target URL is an event contact or collection of event contacts related to the current resource.

event-contact-photo-favorite

The target URL is a photo or collection of photos related to the current resource and favorited by the context event contact.

event-contact-photo-hidden

The target URL is a photo or collection of photos related to the current resource and hidden by the context event contact.

event-contact-photo-share

The target URL is a photo or collection of photos related to the current resource and shared by the context event contact.

event-contact-photo-tag

The target URL is a photo or collection of photos related to the current resource and tagged by the context event contact.

When templated is true, this is a templated URL. The template parameter filterPhotoTag may be used with the tag name or a comma-separated list of tag names to filter tagged photo results.

event-defaults

The target URL is a set of event defaults settings or collection of more than one set of event defaults settings related to the current resource.

event-photo

The target URL is an event photo or collection of event photos related to the current resource.

event-photo-original

The target URL is the original uploaded photo related to the current resource.

event-photo-upload-policy

The target URL may be used to generate an event photo upload policy related to the current resource. This is the first step in the process to upload new event photos to an event resource.

event-visitor

The target URL is an event visitor or collection of event visitors related to the current resource.

invoice

The target URL is an invoice or collection of invoices related to the current resource.

invoice-credit-card

The target URL may be used to manipulate the invoice credit card related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-item-template

The target URL is an invoice item template or collection of invoice item templates related to the current resource.

invoice-payment

The target URL may be used to make an invoice payment related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-refund

The target URL may be used to make an invoice refund related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-template

The target URL is an invoice template or collection of invoice templates related to the current resource.

lab

The target URL is a lab related to the current resource.

lab-catalog

The target URL is a lab catalog or collection of lab catalogs related to the current resource.

lab-catalog-self-fulfilled

The target URL is a self-fulfilled lab catalog or collection of self-fulfilled lab catalogs related to the current resource.

lab-catalog-shipping-option

The target URL is a lab catalog shipping option or collection of lab catalog shipping options related to the current resource.

market-department

The target URL is a market department or collection of market departments related to the current resource.

market-product

The target URL is a market product or collection of market products related to the current resource.

market-vendor

The target URL is a market vendor or collection of market vendors related to the current resource.

me

The target URL is the profile for the authenticated access token.

Usually this is the Studio Panel user who has granted authorization and an access token.

mobile-app

The target URL is a mobile app or collection of mobile apps related to the current resource.

order

The target URL is an order or collection of orders related to the current resource.

order-payment

The target URL is an order payment or collection of order payments related to the current resource.

parent

The target URL identifies a parent resource for the current resource. It is often used on subordinate resources or collections to identify the resource to which they belong.

playlist

The target URL is a music playlist or collection of music playlists related to the current resource.

portal

The target URL is the location of the current resource in the Studio-Client Portal website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

price-sheet

The target URL is a price sheet or collection of price sheets related to the current resource.

price-sheet-discount

The target URL is a price sheet discount or collection of price sheet discounts related to the current resource.

price-sheet-event

The target URL is an event associated to a price sheet or a collection of events associated to a price sheet related to the current resource.

price-sheet-item-image

The target URL is a collection of images associated to a price sheet item related to the current resource.

price-sheet-shipping-option

The target URL is a price sheet shipping option or collection of price sheet shipping options related to the current resource.

search

The target URL is a location that may be used to search or filter results for the current resource.

self

The target URL is the current resource's own location. It may not be the canonical location of the resource; if this is the case, the canonical relationship might be present to indicate the resource's canonical URL.

signature

The target URL is a signature or collection of signatures related to the current resource.

token-replacement

The target URL may be used to replace tokens in the current resource. Tokens available to pass for replacement are indicated by the URI template parameters.

watermark

The target URL is a watermark or collection of watermarks related to the current resource.

meta read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

rows

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

totalItems

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

totalPages

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

type

The type of resource represented.

OpenAPI Schema

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

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "allOf": [
            {
              "$ref": "#/components/schemas/List"
            },
            {
              "description": "A collection of song instruments.",
              "properties": {
                "items": {
                  "items": {
                    "description": "A song instrument",
                    "properties": {
                      "type": {
                        "enum": [
                          "song-instrument"
                        ],
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "title": "Song instrument",
                  "type": "array"
                },
                "links": {
                  "$ref": "#/components/schemas/Links"
                },
                "type": {
                  "enum": [
                    "song-instrument-collection"
                  ],
                  "type": "string"
                }
              },
              "title": "Collection of song instruments",
              "type": "object"
            }
          ]
        }
      }
    },
    "description": "A collection of song instruments."
  }
}

List all song moods. Response items can be used as a `filterMood` value in the `/song`

get
/studio/song/mood

Example Request

Header Parameters

Property Description
Authentication required

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

200 OK

A collection of song moods.

Response Body

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

Properties
Property Description
items

A collection of resources returned in the current result set.

Property Description
type
value
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.

Property Description
alternate

The target URL is an alternate representation of the current resource. Usually, this will include a type property to indicate the media type of the alternate representation.

brand

The target URL is a brand or collection of brands related to the current resource.

brand-context deprecated

The target URL indicates the brand authorized for the current context, based on the access token.

This relationship is deprecated and should not be relied on. Access tokens obtained through the OAuth flow are not tied to a specific brand.

brand-homepage

The target URL is Client Gallery homepage for the brand related to the current resource.

brand-theme

The target URL is a brand theme or collection of brand themes related to the current resource.

canonical

The target URL is the primary location of the current resource (i.e. the current resource may be subordinate to another resource, and the target URL indicates its permanent location).

children

The target URL is a collection of resources that is subordinate to the current resource. That is, the current resource is a parent of the children, and the children belong to this resource.

client

The target URL is the location of the current resource in the Client Galleries website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

client-admin

The target URL is the location of the studio client admin for the current resource in the Client Galleries website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

collection

The target URL is the location of a collection of similar resources of which the current resource is a member.

contact

The target URL is a contact or collection of contacts related to the current resource.

contact-referee

The target URL is a list of available contacts that may be selected as referred by the current resource.

contact-referred-by

The target URL is a list of available contacts that may be selected as having referred the current resource.

contact-tag

The target URL is a list of contact tags available to apply to the current resource.

contract

The target URL is a contract or collection of contracts related to the current resource.

contract-signature

The target URL is a contract signature or collection of contract signatures related to the current resource.

contract-template

The target URL is a contract template or collection of contract templates related to the current resource.

derivedfrom

The target URL is the location of a resource from which the current resource is derived (or a subset of).

email

The target URL may be an email message or collection of email messages related to the current resource. It may also be used to create an email message related to the current resource.

email-automation-group

The target URL is an email automation group or collection of email automation groups related to the current resource.

email-template

The target URL is an email template or collection of email templates related to the current resource.

email-template-type

The target URL is an email template type or collection of email template types related to the current resource.

event

The target URL is an event or collection of events related to the current resource.

event-album

The target URL is an event album or collection of event albums related to the current resource.

event-album-passwords

The target URL is a listing of all passwords for all event albums related to the current resource. If the type indicates a different format (i.e. text/csv), then the URL is a link to a downloadable version of the target resource.

event-album-photo

The target URL is an event album photo or collection of event album photos related to the current resource.

event-archive-cost

The target URL is an event archive cost related to the current resource.

event-category

The target URL is an event category or collection of event categories related to the current resource.

event-contact

The target URL is an event contact or collection of event contacts related to the current resource.

event-contact-photo-favorite

The target URL is a photo or collection of photos related to the current resource and favorited by the context event contact.

event-contact-photo-hidden

The target URL is a photo or collection of photos related to the current resource and hidden by the context event contact.

event-contact-photo-share

The target URL is a photo or collection of photos related to the current resource and shared by the context event contact.

event-contact-photo-tag

The target URL is a photo or collection of photos related to the current resource and tagged by the context event contact.

When templated is true, this is a templated URL. The template parameter filterPhotoTag may be used with the tag name or a comma-separated list of tag names to filter tagged photo results.

event-defaults

The target URL is a set of event defaults settings or collection of more than one set of event defaults settings related to the current resource.

event-photo

The target URL is an event photo or collection of event photos related to the current resource.

event-photo-original

The target URL is the original uploaded photo related to the current resource.

event-photo-upload-policy

The target URL may be used to generate an event photo upload policy related to the current resource. This is the first step in the process to upload new event photos to an event resource.

event-visitor

The target URL is an event visitor or collection of event visitors related to the current resource.

invoice

The target URL is an invoice or collection of invoices related to the current resource.

invoice-credit-card

The target URL may be used to manipulate the invoice credit card related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-item-template

The target URL is an invoice item template or collection of invoice item templates related to the current resource.

invoice-payment

The target URL may be used to make an invoice payment related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-refund

The target URL may be used to make an invoice refund related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-template

The target URL is an invoice template or collection of invoice templates related to the current resource.

lab

The target URL is a lab related to the current resource.

lab-catalog

The target URL is a lab catalog or collection of lab catalogs related to the current resource.

lab-catalog-self-fulfilled

The target URL is a self-fulfilled lab catalog or collection of self-fulfilled lab catalogs related to the current resource.

lab-catalog-shipping-option

The target URL is a lab catalog shipping option or collection of lab catalog shipping options related to the current resource.

market-department

The target URL is a market department or collection of market departments related to the current resource.

market-product

The target URL is a market product or collection of market products related to the current resource.

market-vendor

The target URL is a market vendor or collection of market vendors related to the current resource.

me

The target URL is the profile for the authenticated access token.

Usually this is the Studio Panel user who has granted authorization and an access token.

mobile-app

The target URL is a mobile app or collection of mobile apps related to the current resource.

order

The target URL is an order or collection of orders related to the current resource.

order-payment

The target URL is an order payment or collection of order payments related to the current resource.

parent

The target URL identifies a parent resource for the current resource. It is often used on subordinate resources or collections to identify the resource to which they belong.

playlist

The target URL is a music playlist or collection of music playlists related to the current resource.

portal

The target URL is the location of the current resource in the Studio-Client Portal website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

price-sheet

The target URL is a price sheet or collection of price sheets related to the current resource.

price-sheet-discount

The target URL is a price sheet discount or collection of price sheet discounts related to the current resource.

price-sheet-event

The target URL is an event associated to a price sheet or a collection of events associated to a price sheet related to the current resource.

price-sheet-item-image

The target URL is a collection of images associated to a price sheet item related to the current resource.

price-sheet-shipping-option

The target URL is a price sheet shipping option or collection of price sheet shipping options related to the current resource.

search

The target URL is a location that may be used to search or filter results for the current resource.

self

The target URL is the current resource's own location. It may not be the canonical location of the resource; if this is the case, the canonical relationship might be present to indicate the resource's canonical URL.

signature

The target URL is a signature or collection of signatures related to the current resource.

token-replacement

The target URL may be used to replace tokens in the current resource. Tokens available to pass for replacement are indicated by the URI template parameters.

watermark

The target URL is a watermark or collection of watermarks related to the current resource.

meta read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

rows

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

totalItems

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

totalPages

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

type

The type of resource represented.

OpenAPI Schema

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

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "allOf": [
            {
              "$ref": "#/components/schemas/List"
            },
            {
              "description": "A collection of song moods.",
              "properties": {
                "items": {
                  "items": {
                    "description": "A song mood",
                    "properties": {
                      "type": {
                        "enum": [
                          "song-mood"
                        ],
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "title": "Song mood",
                  "type": "array"
                },
                "links": {
                  "$ref": "#/components/schemas/Links"
                },
                "type": {
                  "enum": [
                    "song-mood-collection"
                  ],
                  "type": "string"
                }
              },
              "title": "Collection of song moods",
              "type": "object"
            }
          ]
        }
      }
    },
    "description": "A collection of song moods."
  }
}

List all song styles. Response items can be used as a `filterStyle` value in the `/song`

get
/studio/song/style

Example Request

Header Parameters

Property Description
Authentication required

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

200 OK

A collection of song styles.

Response Body

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

Properties
Property Description
items

A collection of resources returned in the current result set.

Property Description
type
value
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.

Property Description
alternate

The target URL is an alternate representation of the current resource. Usually, this will include a type property to indicate the media type of the alternate representation.

brand

The target URL is a brand or collection of brands related to the current resource.

brand-context deprecated

The target URL indicates the brand authorized for the current context, based on the access token.

This relationship is deprecated and should not be relied on. Access tokens obtained through the OAuth flow are not tied to a specific brand.

brand-homepage

The target URL is Client Gallery homepage for the brand related to the current resource.

brand-theme

The target URL is a brand theme or collection of brand themes related to the current resource.

canonical

The target URL is the primary location of the current resource (i.e. the current resource may be subordinate to another resource, and the target URL indicates its permanent location).

children

The target URL is a collection of resources that is subordinate to the current resource. That is, the current resource is a parent of the children, and the children belong to this resource.

client

The target URL is the location of the current resource in the Client Galleries website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

client-admin

The target URL is the location of the studio client admin for the current resource in the Client Galleries website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

collection

The target URL is the location of a collection of similar resources of which the current resource is a member.

contact

The target URL is a contact or collection of contacts related to the current resource.

contact-referee

The target URL is a list of available contacts that may be selected as referred by the current resource.

contact-referred-by

The target URL is a list of available contacts that may be selected as having referred the current resource.

contact-tag

The target URL is a list of contact tags available to apply to the current resource.

contract

The target URL is a contract or collection of contracts related to the current resource.

contract-signature

The target URL is a contract signature or collection of contract signatures related to the current resource.

contract-template

The target URL is a contract template or collection of contract templates related to the current resource.

derivedfrom

The target URL is the location of a resource from which the current resource is derived (or a subset of).

email

The target URL may be an email message or collection of email messages related to the current resource. It may also be used to create an email message related to the current resource.

email-automation-group

The target URL is an email automation group or collection of email automation groups related to the current resource.

email-template

The target URL is an email template or collection of email templates related to the current resource.

email-template-type

The target URL is an email template type or collection of email template types related to the current resource.

event

The target URL is an event or collection of events related to the current resource.

event-album

The target URL is an event album or collection of event albums related to the current resource.

event-album-passwords

The target URL is a listing of all passwords for all event albums related to the current resource. If the type indicates a different format (i.e. text/csv), then the URL is a link to a downloadable version of the target resource.

event-album-photo

The target URL is an event album photo or collection of event album photos related to the current resource.

event-archive-cost

The target URL is an event archive cost related to the current resource.

event-category

The target URL is an event category or collection of event categories related to the current resource.

event-contact

The target URL is an event contact or collection of event contacts related to the current resource.

event-contact-photo-favorite

The target URL is a photo or collection of photos related to the current resource and favorited by the context event contact.

event-contact-photo-hidden

The target URL is a photo or collection of photos related to the current resource and hidden by the context event contact.

event-contact-photo-share

The target URL is a photo or collection of photos related to the current resource and shared by the context event contact.

event-contact-photo-tag

The target URL is a photo or collection of photos related to the current resource and tagged by the context event contact.

When templated is true, this is a templated URL. The template parameter filterPhotoTag may be used with the tag name or a comma-separated list of tag names to filter tagged photo results.

event-defaults

The target URL is a set of event defaults settings or collection of more than one set of event defaults settings related to the current resource.

event-photo

The target URL is an event photo or collection of event photos related to the current resource.

event-photo-original

The target URL is the original uploaded photo related to the current resource.

event-photo-upload-policy

The target URL may be used to generate an event photo upload policy related to the current resource. This is the first step in the process to upload new event photos to an event resource.

event-visitor

The target URL is an event visitor or collection of event visitors related to the current resource.

invoice

The target URL is an invoice or collection of invoices related to the current resource.

invoice-credit-card

The target URL may be used to manipulate the invoice credit card related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-item-template

The target URL is an invoice item template or collection of invoice item templates related to the current resource.

invoice-payment

The target URL may be used to make an invoice payment related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-refund

The target URL may be used to make an invoice refund related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-template

The target URL is an invoice template or collection of invoice templates related to the current resource.

lab

The target URL is a lab related to the current resource.

lab-catalog

The target URL is a lab catalog or collection of lab catalogs related to the current resource.

lab-catalog-self-fulfilled

The target URL is a self-fulfilled lab catalog or collection of self-fulfilled lab catalogs related to the current resource.

lab-catalog-shipping-option

The target URL is a lab catalog shipping option or collection of lab catalog shipping options related to the current resource.

market-department

The target URL is a market department or collection of market departments related to the current resource.

market-product

The target URL is a market product or collection of market products related to the current resource.

market-vendor

The target URL is a market vendor or collection of market vendors related to the current resource.

me

The target URL is the profile for the authenticated access token.

Usually this is the Studio Panel user who has granted authorization and an access token.

mobile-app

The target URL is a mobile app or collection of mobile apps related to the current resource.

order

The target URL is an order or collection of orders related to the current resource.

order-payment

The target URL is an order payment or collection of order payments related to the current resource.

parent

The target URL identifies a parent resource for the current resource. It is often used on subordinate resources or collections to identify the resource to which they belong.

playlist

The target URL is a music playlist or collection of music playlists related to the current resource.

portal

The target URL is the location of the current resource in the Studio-Client Portal website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

price-sheet

The target URL is a price sheet or collection of price sheets related to the current resource.

price-sheet-discount

The target URL is a price sheet discount or collection of price sheet discounts related to the current resource.

price-sheet-event

The target URL is an event associated to a price sheet or a collection of events associated to a price sheet related to the current resource.

price-sheet-item-image

The target URL is a collection of images associated to a price sheet item related to the current resource.

price-sheet-shipping-option

The target URL is a price sheet shipping option or collection of price sheet shipping options related to the current resource.

search

The target URL is a location that may be used to search or filter results for the current resource.

self

The target URL is the current resource's own location. It may not be the canonical location of the resource; if this is the case, the canonical relationship might be present to indicate the resource's canonical URL.

signature

The target URL is a signature or collection of signatures related to the current resource.

token-replacement

The target URL may be used to replace tokens in the current resource. Tokens available to pass for replacement are indicated by the URI template parameters.

watermark

The target URL is a watermark or collection of watermarks related to the current resource.

meta read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

rows

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

totalItems

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

totalPages

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

type

The type of resource represented.

OpenAPI Schema

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

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "allOf": [
            {
              "$ref": "#/components/schemas/List"
            },
            {
              "description": "A collection of song styles.",
              "properties": {
                "items": {
                  "items": {
                    "description": "A song style",
                    "properties": {
                      "type": {
                        "enum": [
                          "song-style"
                        ],
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "title": "Song style",
                  "type": "array"
                },
                "links": {
                  "$ref": "#/components/schemas/Links"
                },
                "type": {
                  "enum": [
                    "song-style-collection"
                  ],
                  "type": "string"
                }
              },
              "title": "Collection of song styles",
              "type": "object"
            }
          ]
        }
      }
    },
    "description": "A collection of song styles."
  }
}

List all song themes. Response items can be used as a `filterTheme` value in the `/song`

get
/studio/song/theme

Example Request

Header Parameters

Property Description
Authentication required

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

200 OK

A collection of song themes.

Response Body

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

Properties
Property Description
items

A collection of resources returned in the current result set.

Property Description
type
value
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.

Property Description
alternate

The target URL is an alternate representation of the current resource. Usually, this will include a type property to indicate the media type of the alternate representation.

brand

The target URL is a brand or collection of brands related to the current resource.

brand-context deprecated

The target URL indicates the brand authorized for the current context, based on the access token.

This relationship is deprecated and should not be relied on. Access tokens obtained through the OAuth flow are not tied to a specific brand.

brand-homepage

The target URL is Client Gallery homepage for the brand related to the current resource.

brand-theme

The target URL is a brand theme or collection of brand themes related to the current resource.

canonical

The target URL is the primary location of the current resource (i.e. the current resource may be subordinate to another resource, and the target URL indicates its permanent location).

children

The target URL is a collection of resources that is subordinate to the current resource. That is, the current resource is a parent of the children, and the children belong to this resource.

client

The target URL is the location of the current resource in the Client Galleries website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

client-admin

The target URL is the location of the studio client admin for the current resource in the Client Galleries website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

collection

The target URL is the location of a collection of similar resources of which the current resource is a member.

contact

The target URL is a contact or collection of contacts related to the current resource.

contact-referee

The target URL is a list of available contacts that may be selected as referred by the current resource.

contact-referred-by

The target URL is a list of available contacts that may be selected as having referred the current resource.

contact-tag

The target URL is a list of contact tags available to apply to the current resource.

contract

The target URL is a contract or collection of contracts related to the current resource.

contract-signature

The target URL is a contract signature or collection of contract signatures related to the current resource.

contract-template

The target URL is a contract template or collection of contract templates related to the current resource.

derivedfrom

The target URL is the location of a resource from which the current resource is derived (or a subset of).

email

The target URL may be an email message or collection of email messages related to the current resource. It may also be used to create an email message related to the current resource.

email-automation-group

The target URL is an email automation group or collection of email automation groups related to the current resource.

email-template

The target URL is an email template or collection of email templates related to the current resource.

email-template-type

The target URL is an email template type or collection of email template types related to the current resource.

event

The target URL is an event or collection of events related to the current resource.

event-album

The target URL is an event album or collection of event albums related to the current resource.

event-album-passwords

The target URL is a listing of all passwords for all event albums related to the current resource. If the type indicates a different format (i.e. text/csv), then the URL is a link to a downloadable version of the target resource.

event-album-photo

The target URL is an event album photo or collection of event album photos related to the current resource.

event-archive-cost

The target URL is an event archive cost related to the current resource.

event-category

The target URL is an event category or collection of event categories related to the current resource.

event-contact

The target URL is an event contact or collection of event contacts related to the current resource.

event-contact-photo-favorite

The target URL is a photo or collection of photos related to the current resource and favorited by the context event contact.

event-contact-photo-hidden

The target URL is a photo or collection of photos related to the current resource and hidden by the context event contact.

event-contact-photo-share

The target URL is a photo or collection of photos related to the current resource and shared by the context event contact.

event-contact-photo-tag

The target URL is a photo or collection of photos related to the current resource and tagged by the context event contact.

When templated is true, this is a templated URL. The template parameter filterPhotoTag may be used with the tag name or a comma-separated list of tag names to filter tagged photo results.

event-defaults

The target URL is a set of event defaults settings or collection of more than one set of event defaults settings related to the current resource.

event-photo

The target URL is an event photo or collection of event photos related to the current resource.

event-photo-original

The target URL is the original uploaded photo related to the current resource.

event-photo-upload-policy

The target URL may be used to generate an event photo upload policy related to the current resource. This is the first step in the process to upload new event photos to an event resource.

event-visitor

The target URL is an event visitor or collection of event visitors related to the current resource.

invoice

The target URL is an invoice or collection of invoices related to the current resource.

invoice-credit-card

The target URL may be used to manipulate the invoice credit card related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-item-template

The target URL is an invoice item template or collection of invoice item templates related to the current resource.

invoice-payment

The target URL may be used to make an invoice payment related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-refund

The target URL may be used to make an invoice refund related to the current resource. The current resource may be an invoice or may have an invoice related to it, for which the target URL may be used.

invoice-template

The target URL is an invoice template or collection of invoice templates related to the current resource.

lab

The target URL is a lab related to the current resource.

lab-catalog

The target URL is a lab catalog or collection of lab catalogs related to the current resource.

lab-catalog-self-fulfilled

The target URL is a self-fulfilled lab catalog or collection of self-fulfilled lab catalogs related to the current resource.

lab-catalog-shipping-option

The target URL is a lab catalog shipping option or collection of lab catalog shipping options related to the current resource.

market-department

The target URL is a market department or collection of market departments related to the current resource.

market-product

The target URL is a market product or collection of market products related to the current resource.

market-vendor

The target URL is a market vendor or collection of market vendors related to the current resource.

me

The target URL is the profile for the authenticated access token.

Usually this is the Studio Panel user who has granted authorization and an access token.

mobile-app

The target URL is a mobile app or collection of mobile apps related to the current resource.

order

The target URL is an order or collection of orders related to the current resource.

order-payment

The target URL is an order payment or collection of order payments related to the current resource.

parent

The target URL identifies a parent resource for the current resource. It is often used on subordinate resources or collections to identify the resource to which they belong.

playlist

The target URL is a music playlist or collection of music playlists related to the current resource.

portal

The target URL is the location of the current resource in the Studio-Client Portal website. The media type of the target URL is assumed to be text/html unless otherwise indicated.

price-sheet

The target URL is a price sheet or collection of price sheets related to the current resource.

price-sheet-discount

The target URL is a price sheet discount or collection of price sheet discounts related to the current resource.

price-sheet-event

The target URL is an event associated to a price sheet or a collection of events associated to a price sheet related to the current resource.

price-sheet-item-image

The target URL is a collection of images associated to a price sheet item related to the current resource.

price-sheet-shipping-option

The target URL is a price sheet shipping option or collection of price sheet shipping options related to the current resource.

search

The target URL is a location that may be used to search or filter results for the current resource.

self

The target URL is the current resource's own location. It may not be the canonical location of the resource; if this is the case, the canonical relationship might be present to indicate the resource's canonical URL.

signature

The target URL is a signature or collection of signatures related to the current resource.

token-replacement

The target URL may be used to replace tokens in the current resource. Tokens available to pass for replacement are indicated by the URI template parameters.

watermark

The target URL is a watermark or collection of watermarks related to the current resource.

meta read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

rows

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

totalItems

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

totalPages

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

type

The type of resource represented.

OpenAPI Schema

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

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "allOf": [
            {
              "$ref": "#/components/schemas/List"
            },
            {
              "description": "A collection of song themes.",
              "properties": {
                "items": {
                  "items": {
                    "description": "A song theme",
                    "properties": {
                      "type": {
                        "enum": [
                          "song-theme"
                        ],
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "title": "Song theme",
                  "type": "array"
                },
                "links": {
                  "$ref": "#/components/schemas/Links"
                },
                "type": {
                  "enum": [
                    "song-theme-collection"
                  ],
                  "type": "string"
                }
              },
              "title": "Collection of song themes",
              "type": "object"
            }
          ]
        }
      }
    },
    "description": "A collection of song themes."
  }
}