Contents

Events

Events are the heart of a brand’s business. Every time a photographer photographs a client—that’s an event.

You may not see the word “event” used around the ShootProof user interface, though. That’s because another word for an “event” is “gallery.” Galleries and albums within those galleries are how brands showcase an event to their clients, and it’s through galleries that clients buy prints from their photographer.

Events have varying requirements. Most have shoot dates. Many have expiration dates. Some allow visitors to pre-register so they can be informed when the gallery is ready. Events may be for a single person and their family or many different people (e.g. sporting events, recitals, etc.). ShootProof provides the flexibility a brand needs to work with clients of all types.

Delete a batch of events

Using a batch operation, you can delete multiple events at once.

delete
/studio/brand/{brandId}/event

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

Header Parameters

Property Description
Authentication required

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

Request Body

The list of events to delete.

application/vnd.shootproof+json
Property Description
items

A collection of one or more batched resources. If items is null or an empty array, no action is taken.

Property Description
id

Identifies one or more resources for which changes may be applied. This property accepts several different types of values:

  • []: If the id property is an empty array, then the changes will apply to all resources applicable to the context of the operation.
  • number[]: If the value is an array of integers, then the changes will apply to each of the resources identified by the numbers. If any of these numbers are negative (i.e., prefixed with a minus sign, -), the changes will not apply to resources identified by those numbers, even if the same number is present in the array in its positive form.
  • null or not present: An undefined state. The changes will not be applied to any resources.

This functionality allows a great degree of flexibility to batch processing of API resources. We can ask that the changes be applied to all resources for the given type by providing an empty array. We can apply the changes to all resources except a few (e.g., "id": [-45, -76, -32]). We can apply the changes to some resources, but not others (e.g., "id": [-32, 56, 45, -6, 18, 32]—in this example, the changes will not be applied to the resource identified by 32).

type

The type of resource represented (i.e., event).

type

The model type for the collection object (i.e., event-collection).

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/BatchCollection"
      }
    }
  },
  "description": "The list of events to delete.",
  "required": true
}

200 OK

A list of events.

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
contactId nullable

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

contactName nullable

The full name of the contact associated with this event.

coverPhoto required nullable read-only

A cover photo for the event.

created

The creation date of this event.

createdBy

The ID of the user who created this event.

eventAccessLevel

The event access level.

eventCategory nullable

The human-readable name of the category of this event.

eventCategoryId nullable

The numeric identifier for the category of this event.

eventDate nullable

The date on which this event took place.

eventStatus

The event status.

expirationDate nullable

The date on which this event expires.

id

The identifier for this event.

isPreRegistration

Whether pre-registration mode is turned on for the event.

lastReleasedDate nullable

The date on which this event was last released.

links required read-only

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

name

The name of this event.

photosCount

The total number of photos within this event, including photos in albums.

playlistId nullable read-only

The identifier for the playlist this event uses.

priceSheetId nullable

The identifier for the price sheet assigned to the event.

releaseDate nullable

The date on which this event will be released.

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 required read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

eventTotals required

Total counts for various types of events in various states.

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.

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.

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/EventCollection"
        }
      }
    },
    "description": "A list of events."
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

List a brand’s events

get
/studio/brand/{brandId}/event

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

Query Parameters

Property Description
filterContactId

Contact identifier by which to filter results.

filterEventAccessLevel

Access level by which to filter results.

filterEventCategoryId

Event category identifier by which to filter results.

filterEventDateYear

Year by which to filter results based on event date.

filterEventStatus

Event status by which to filter results.

filterPreRegistration

If provided and truthy, returns only events in pre-registration mode.

page

The page of results to return.

prefer

A preference to apply to the response (see RFC 7240); useful if unable to set the HTTP Prefer header.

rows

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

searchContactInfo

Customer name or email address by which to filter results.

searchName

Event name by which to filter results.

sortBy

The property by which items returned should be sorted.

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.

Prefer

A preference to apply to the response (see RFC 7240).

200 OK

A list of events.

Headers
Header Description
Preference-Applied

Indicates the preference requested in the Prefer header was applied to the 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
contactId nullable

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

contactName nullable

The full name of the contact associated with this event.

coverPhoto required nullable read-only

A cover photo for the event.

created

The creation date of this event.

createdBy

The ID of the user who created this event.

eventAccessLevel

The event access level.

eventCategory nullable

The human-readable name of the category of this event.

eventCategoryId nullable

The numeric identifier for the category of this event.

eventDate nullable

The date on which this event took place.

eventStatus

The event status.

expirationDate nullable

The date on which this event expires.

id

The identifier for this event.

isPreRegistration

Whether pre-registration mode is turned on for the event.

lastReleasedDate nullable

The date on which this event was last released.

links required read-only

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

name

The name of this event.

photosCount

The total number of photos within this event, including photos in albums.

playlistId nullable read-only

The identifier for the playlist this event uses.

priceSheetId nullable

The identifier for the price sheet assigned to the event.

releaseDate nullable

The date on which this event will be released.

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 required read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

eventTotals required

Total counts for various types of events in various states.

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.

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/EventCollection"
        }
      }
    },
    "description": "A list of events.",
    "headers": {
      "Preference-Applied": {
        "description": "Indicates the preference requested in the `Prefer` header was\napplied to the response.",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Update a batch of events

Using a batch operation, you can update multiple events at once.

patch
/studio/brand/{brandId}/event

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

Header Parameters

Property Description
Authentication required

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

Request Body

The list of events to update.

application/vnd.shootproof+json
Property Description
items

A collection of one or more batched resources. If items is null or an empty array, no action is taken.

Property Description
brandThemeId nullable

The identifier for the brand theme the event uses.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategoryId nullable

The numeric identifier for the category of this event.

eventStatus

The event status.

expirationDate nullable

The date on which this event expires.

headline nullable

Headline to display to event visitors.

id

Identifies one or more resources for which changes may be applied. This property accepts several different types of values:

  • []: If the id property is an empty array, then the changes will apply to all resources applicable to the context of the operation.
  • number[]: If the value is an array of integers, then the changes will apply to each of the resources identified by the numbers. If any of these numbers are negative (i.e., prefixed with a minus sign, -), the changes will not apply to resources identified by those numbers, even if the same number is present in the array in its positive form.
  • null or not present: An undefined state. The changes will not be applied to any resources.

This functionality allows a great degree of flexibility to batch processing of API resources. We can ask that the changes be applied to all resources for the given type by providing an empty array. We can apply the changes to all resources except a few (e.g., "id": [-45, -76, -32]). We can apply the changes to some resources, but not others (e.g., "id": [-32, 56, 45, -6, 18, 32]—in this example, the changes will not be applied to the resource identified by 32).

information nullable

Information to display to event visitors.

playlistId nullable

The identifier for the playlist the event uses.

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

type

The type of resource represented (i.e., event).

videoUrl nullable

The URL of a video to display to event visitors.

type

The model type for the collection object (i.e., event-collection).

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/EventCollectionInPatch"
      }
    }
  },
  "description": "The list of events to update.",
  "required": true
}

200 OK

A list of events.

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
contactId nullable

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

contactName nullable

The full name of the contact associated with this event.

coverPhoto required nullable read-only

A cover photo for the event.

created

The creation date of this event.

createdBy

The ID of the user who created this event.

eventAccessLevel

The event access level.

eventCategory nullable

The human-readable name of the category of this event.

eventCategoryId nullable

The numeric identifier for the category of this event.

eventDate nullable

The date on which this event took place.

eventStatus

The event status.

expirationDate nullable

The date on which this event expires.

id

The identifier for this event.

isPreRegistration

Whether pre-registration mode is turned on for the event.

lastReleasedDate nullable

The date on which this event was last released.

links required read-only

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

name

The name of this event.

photosCount

The total number of photos within this event, including photos in albums.

playlistId nullable read-only

The identifier for the playlist this event uses.

priceSheetId nullable

The identifier for the price sheet assigned to the event.

releaseDate nullable

The date on which this event will be released.

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 required read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

eventTotals required

Total counts for various types of events in various states.

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.

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.

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/EventCollection"
        }
      }
    },
    "description": "A list of events."
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Create an event

post
/studio/brand/{brandId}/event

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

Header Parameters

Property Description
Authentication required

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

Request Body

The event object to create.

application/vnd.shootproof+json
Property Description
albumSortType

The type of sorting to apply to albums in this event.

This affects only the top-level albums view for the event and does not cascade down through sub-albums. To apply an album sort type to sub-albums, use a batch update operation on an album collection resource.

allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

checkoutText nullable

If provided, a message shown to the client at checkout.

contactId nullable

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

digitalRules

Collection of digital rules available for this event. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategoryId nullable

The category identifier associated with the event.

eventDate nullable

The date on which this event took place.

eventPassword nullable

If the event access level requires a password, this is the password that must be used to access the event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

expirationDate nullable

The date on which this event expired.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
id

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

information nullable

Information to display to event visitors.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

The name of this event.

orderDueDate nullable

The date on which orders for the event are due.

photoSortType

The type of sorting to apply to photos in this event.

This affects only the top-level "all photos" view for the event and does not cascade down through event albums and sub-albums. To apply a photo sort type to all albums and sub-albums, use a batch update operation on an album collection resource.

pickupOptions

An array of order pickup options supported by the event.

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

releaseDate nullable

The date on which this event will be released.

requireEmail

Whether an email address is required to view the event.

showExpirationDate

Whether to show the expiration date to visitors.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

urlSlug nullable

The slug used to uniquely identify this event in URLs.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout
visitorsLastActiveDate nullable

The date on which an event visitor was last active.

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/Event"
      }
    }
  },
  "description": "The event object to create.",
  "required": true
}

201 Created

The new event.

Headers
Header Description
Location

The URL to the new event.

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
albumSortType

The type of sorting to apply to albums in this event.

This affects only the top-level albums view for the event and does not cascade down through sub-albums. To apply an album sort type to sub-albums, use a batch update operation on an album collection resource.

allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

cartsCount read-only

The number of active carts with items for this event.

checkoutText nullable

If provided, a message shown to the client at checkout.

contact nullable read-only

The contact associated with this event (if applicable).

contactId nullable

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

coverPhoto required nullable read-only

A cover photo for the event.

created read-only

The creation date of this event.

digitalRules

Collection of digital rules available for this event. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategory nullable read-only

The human-readable name of the category of the event.

eventCategoryId nullable

The category identifier associated with the event.

eventDate nullable

The date on which this event took place.

eventPassword nullable

If the event access level requires a password, this is the password that must be used to access the event.

eventPhotoTags read-only

Photo tags associated with this event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

expirationDate nullable

The date on which this event expired.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
id

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

information nullable

Information to display to event visitors.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

lastReleasedDate nullable read-only

The date on which this event was last released. This value is only ever set by the system when the event is released. If the event is released multiple times, this value will always be the date/time that the event was last released.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

The name of this event.

orderDueDate nullable

The date on which orders for the event are due.

ordersCount read-only

The total number of orders for this event.

photoFavoritesCount read-only

The number of times photos in this event were favorited.

photoSortType

The type of sorting to apply to photos in this event.

This affects only the top-level "all photos" view for the event and does not cascade down through event albums and sub-albums. To apply a photo sort type to all albums and sub-albums, use a batch update operation on an album collection resource.

photosCount read-only

The total number of photos within this event, including photos in albums.

photosInQueueCount read-only

The total number of photos in the queue to be processed for this event.

photosNotInAnAlbumCount read-only

Number of photos within this event that are not in any albums.

pickupOptions

An array of order pickup options supported by the event.

playlist nullable read-only

The playlist for the event, if applicable. (TODO: playlists not supported in the API at this time.)

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheet nullable read-only

The price sheet for the event, if applicable. (TODO: price sheets not supported in the API at this time.)

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

releaseDate nullable

The date on which this event will be released.

requireEmail

Whether an email address is required to view the event.

shares read-only

The number of times this event has been shared via various channels.

Property Description
facebookCount
linkCount
pinterestCount
twitterCount
showExpirationDate

Whether to show the expiration date to visitors.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

urlSlug nullable

The slug used to uniquely identify this event in URLs.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout
visitorsCount read-only

The number of event visitors who provided their email address.

visitorsLastActiveDate nullable

The date on which an event visitor was last active.

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.

{
  "201": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/Event"
        }
      }
    },
    "description": "The new event.",
    "headers": {
      "Location": {
        "description": "The URL to the new event.",
        "schema": {
          "format": "uri",
          "type": "string"
        }
      }
    }
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

List a brand’s event categories

get
/studio/brand/{brandId}/event-category

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

Header Parameters

Property Description
Authentication required

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

200 OK

A list of event categories.

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 event categories.

Property Description
id

The identifier for this event category.

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 event category name.

type

The type of object represented.

links required read-only

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

meta read-only

Metadata describing the current result set.

Property Description
currentPage

The current page of results returned.

rows

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

totalItems

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

totalPages

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

type

The type of 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/EventCategoryCollection"
        }
      }
    },
    "description": "A list of event categories."
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Get an event category

get
/studio/brand/{brandId}/event-category/{eventCategoryId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventCategoryId required

The event category 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

An event category.

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
id

The identifier for this event category.

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 event category name.

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/EventCategory"
        }
      }
    },
    "description": "An event category."
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

List default settings for event contacts

get
/studio/brand/{brandId}/event-contact-defaults

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

Query Parameters

Property Description
page

The page of results to return.

rows

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

sortBy

The property by which items returned should be sorted.

sortType

The direction in which sorting should occur.

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

Event contact default settings 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
adminModePin write-only

Access code assigned to this contact default for a given set of event contact defaults.

canHidePhotos

Whether the contact is allowed to hide photos for a given set of event contact defaults.

canTagPhotos

Whether the contact is allowed to tag photos for a given set of event contact defaults.

created read-only

The creation date of this event contact defaults object.

eventPhotoTags

An array of event photo tag objects for a given set of event contact defaults.

id read-only

The identifier for this event contact defaults object.

isDefault

Whether the current preset is the default for contacts.

links required read-only

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

name

A descriptive name for these event contact defaults settings.

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.

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/EventContactDefaultsCollection"
        }
      }
    },
    "description": "Event contact default settings list response."
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Create a set of default settings for event contacts

post
/studio/brand/{brandId}/event-contact-defaults

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

Header Parameters

Property Description
Authentication required

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

Request Body

The set of default settings to create for event contacts.

application/vnd.shootproof+json
Property Description
adminModePin write-only

Access code assigned to this contact default for a given set of event contact defaults.

canHidePhotos

Whether the contact is allowed to hide photos for a given set of event contact defaults.

canTagPhotos

Whether the contact is allowed to tag photos for a given set of event contact defaults.

eventPhotoTags

An array of event photo tag objects for a given set of event contact defaults.

isDefault

Whether the current preset is the default for contacts.

name

A descriptive name for these event contact defaults settings.

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/EventContactDefaults"
      }
    }
  },
  "description": "The set of default settings to create for event contacts.",
  "required": true
}

201 Created

The new set of default settings for event contacts.

Headers
Header Description
Location

The URL to the new set of default settings for event contacts.

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
canHidePhotos

Whether the contact is allowed to hide photos for a given set of event contact defaults.

canTagPhotos

Whether the contact is allowed to tag photos for a given set of event contact defaults.

created read-only

The creation date of this event contact defaults object.

eventPhotoTags

An array of event photo tag objects for a given set of event contact defaults.

id read-only

The identifier for this event contact defaults object.

isDefault

Whether the current preset is the default for contacts.

links required read-only

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

name

A descriptive name for these event contact defaults settings.

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.

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.

{
  "201": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/EventContactDefaults"
        }
      }
    },
    "description": "The new set of default settings for event contacts.",
    "headers": {
      "Location": {
        "description": "The URL to the new set of default settings for event contacts.",
        "schema": {
          "format": "uri",
          "type": "string"
        }
      }
    }
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Delete a set of default settings for event contacts

delete
/studio/brand/{brandId}/event-contact-defaults/{eventContactDefaultsId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventContactDefaultsId required

The event contact defaults 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

The resource was successfully deleted.

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": {
    "$ref": "#/components/responses/deleteSuccess"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Get a set of default settings for event contacts

get
/studio/brand/{brandId}/event-contact-defaults/{eventContactDefaultsId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventContactDefaultsId required

The event contact defaults 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 set of default settings for event contacts.

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
canHidePhotos

Whether the contact is allowed to hide photos for a given set of event contact defaults.

canTagPhotos

Whether the contact is allowed to tag photos for a given set of event contact defaults.

created read-only

The creation date of this event contact defaults object.

eventPhotoTags

An array of event photo tag objects for a given set of event contact defaults.

id read-only

The identifier for this event contact defaults object.

isDefault

Whether the current preset is the default for contacts.

links required read-only

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

name

A descriptive name for these event contact defaults settings.

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/EventContactDefaults"
        }
      }
    },
    "description": "A set of default settings for event contacts."
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Partially update a set of default settings for event contacts

patch
/studio/brand/{brandId}/event-contact-defaults/{eventContactDefaultsId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventContactDefaultsId required

The event contact defaults 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 set of default settings to update for event contacts. Only provide those properties that need updating.

application/vnd.shootproof+json
Property Description
adminModePin write-only

Access code assigned to this contact default for a given set of event contact defaults.

canHidePhotos

Whether the contact is allowed to hide photos for a given set of event contact defaults.

canTagPhotos

Whether the contact is allowed to tag photos for a given set of event contact defaults.

eventPhotoTags

An array of event photo tag objects for a given set of event contact defaults.

isDefault

Whether the current preset is the default for contacts.

name

A descriptive name for these event contact defaults settings.

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/EventContactDefaults"
      }
    }
  },
  "description": "The set of default settings to update for event contacts.\nOnly provide those properties that need updating.",
  "required": true
}

200 OK

The updated set of default settings for event contacts.

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
canHidePhotos

Whether the contact is allowed to hide photos for a given set of event contact defaults.

canTagPhotos

Whether the contact is allowed to tag photos for a given set of event contact defaults.

created read-only

The creation date of this event contact defaults object.

eventPhotoTags

An array of event photo tag objects for a given set of event contact defaults.

id read-only

The identifier for this event contact defaults object.

isDefault

Whether the current preset is the default for contacts.

links required read-only

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

name

A descriptive name for these event contact defaults settings.

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.

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/EventContactDefaults"
        }
      }
    },
    "description": "The updated set of default settings for event contacts."
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Update a set of default settings for event contacts

put
/studio/brand/{brandId}/event-contact-defaults/{eventContactDefaultsId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventContactDefaultsId required

The event contact defaults 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 set of default settings to update for event contacts.

application/vnd.shootproof+json
Property Description
adminModePin write-only

Access code assigned to this contact default for a given set of event contact defaults.

canHidePhotos

Whether the contact is allowed to hide photos for a given set of event contact defaults.

canTagPhotos

Whether the contact is allowed to tag photos for a given set of event contact defaults.

eventPhotoTags

An array of event photo tag objects for a given set of event contact defaults.

isDefault

Whether the current preset is the default for contacts.

name

A descriptive name for these event contact defaults settings.

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/EventContactDefaults"
      }
    }
  },
  "description": "The set of default settings to update for event contacts.",
  "required": true
}

200 OK

The updated set of default settings for event contacts.

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
canHidePhotos

Whether the contact is allowed to hide photos for a given set of event contact defaults.

canTagPhotos

Whether the contact is allowed to tag photos for a given set of event contact defaults.

created read-only

The creation date of this event contact defaults object.

eventPhotoTags

An array of event photo tag objects for a given set of event contact defaults.

id read-only

The identifier for this event contact defaults object.

isDefault

Whether the current preset is the default for contacts.

links required read-only

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

name

A descriptive name for these event contact defaults settings.

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.

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/EventContactDefaults"
        }
      }
    },
    "description": "The updated set of default settings for event contacts."
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

List default settings for events

get
/studio/brand/{brandId}/event-defaults

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

Query Parameters

Property Description
filterDefault

If provided and truthy, returns only event defaults flagged as isDefault.

page

The page of results to return.

rows

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

sortBy

The property by which items returned should be sorted.

sortType

The direction in which sorting should occur.

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

Event default settings 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
created

The creation date of this event defaults object.

id

The identifier for this event defaults object.

isDefault

Whether this is marked as the default event defaults.

links required read-only

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

name

A descriptive name for these event defaults settings.

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.

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/EventDefaultsCollection"
        }
      }
    },
    "description": "Event default settings list response."
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Create a set of default settings for events

post
/studio/brand/{brandId}/event-defaults

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

Header Parameters

Property Description
Authentication required

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

Request Body

The set of default settings to create for events.

application/vnd.shootproof+json
Property Description
allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

checkoutText nullable

If provided, a message shown to the client at checkout.

digitalRules

Collection of digital rules available for this event defaults. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategoryId nullable

The category identifier associated with the event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
information nullable

Information to display to event visitors.

isDefault

Whether this is marked as the default event defaults.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

A descriptive name for these event defaults settings.

pickupOptions

An array of order pickup options supported by the event.

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

requireEmail

Whether an email address is required to view the event.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout

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/EventDefaults"
      }
    }
  },
  "description": "The set of default settings to create for events.",
  "required": true
}

201 Created

The new set of default settings for events.

Headers
Header Description
Location

The URL to the new set of default settings for events.

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
allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

checkoutText nullable

If provided, a message shown to the client at checkout.

created read-only

The creation date of this event defaults object.

digitalRules

Collection of digital rules available for this event defaults. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategory nullable read-only

The human-readable name of the category of the event.

eventCategoryId nullable

The category identifier associated with the event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
id read-only

The identifier for this event defaults object.

information nullable

Information to display to event visitors.

isDefault

Whether this is marked as the default event defaults.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

lastUpdated read-only

The date this event defaults object was last updated.

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.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

A descriptive name for these event defaults settings.

pickupOptions

An array of order pickup options supported by the event.

playlist nullable read-only

The playlist for the event, if applicable. (TODO: playlists not supported in the API at this time.)

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheet nullable read-only

The price sheet for the event, if applicable. (TODO: price sheets not supported in the API at this time.)

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

requireEmail

Whether an email address is required to view the event.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout

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.

{
  "201": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/EventDefaults"
        }
      }
    },
    "description": "The new set of default settings for events.",
    "headers": {
      "Location": {
        "description": "The URL to the new set of default settings for events.",
        "schema": {
          "format": "uri",
          "type": "string"
        }
      }
    }
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Delete a set of default settings for events

delete
/studio/brand/{brandId}/event-defaults/{eventDefaultsId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventDefaultsId required

The event defaults 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

The resource was successfully deleted.

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": {
    "$ref": "#/components/responses/deleteSuccess"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Get a set of default settings for events

get
/studio/brand/{brandId}/event-defaults/{eventDefaultsId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventDefaultsId required

The event defaults 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 set of default settings for events.

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
allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

checkoutText nullable

If provided, a message shown to the client at checkout.

created read-only

The creation date of this event defaults object.

digitalRules

Collection of digital rules available for this event defaults. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategory nullable read-only

The human-readable name of the category of the event.

eventCategoryId nullable

The category identifier associated with the event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
id read-only

The identifier for this event defaults object.

information nullable

Information to display to event visitors.

isDefault

Whether this is marked as the default event defaults.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

lastUpdated read-only

The date this event defaults object was last updated.

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.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

A descriptive name for these event defaults settings.

pickupOptions

An array of order pickup options supported by the event.

playlist nullable read-only

The playlist for the event, if applicable. (TODO: playlists not supported in the API at this time.)

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheet nullable read-only

The price sheet for the event, if applicable. (TODO: price sheets not supported in the API at this time.)

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

requireEmail

Whether an email address is required to view the event.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout

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/EventDefaults"
        }
      }
    },
    "description": "A set of default settings for events."
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Partially update a set of default settings for events

patch
/studio/brand/{brandId}/event-defaults/{eventDefaultsId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventDefaultsId required

The event defaults 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 set of default settings to update for events. Only provide those properties that need updating.

application/vnd.shootproof+json
Property Description
allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

checkoutText nullable

If provided, a message shown to the client at checkout.

digitalRules

Collection of digital rules available for this event defaults. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategoryId nullable

The category identifier associated with the event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
information nullable

Information to display to event visitors.

isDefault

Whether this is marked as the default event defaults.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

A descriptive name for these event defaults settings.

pickupOptions

An array of order pickup options supported by the event.

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

requireEmail

Whether an email address is required to view the event.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout

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/EventDefaults"
      }
    }
  },
  "description": "The set of default settings to update for events.\nOnly provide those properties that need updating.",
  "required": true
}

200 OK

The updated set of default settings for events.

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
allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

checkoutText nullable

If provided, a message shown to the client at checkout.

created read-only

The creation date of this event defaults object.

digitalRules

Collection of digital rules available for this event defaults. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategory nullable read-only

The human-readable name of the category of the event.

eventCategoryId nullable

The category identifier associated with the event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
id read-only

The identifier for this event defaults object.

information nullable

Information to display to event visitors.

isDefault

Whether this is marked as the default event defaults.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

lastUpdated read-only

The date this event defaults object was last updated.

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.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

A descriptive name for these event defaults settings.

pickupOptions

An array of order pickup options supported by the event.

playlist nullable read-only

The playlist for the event, if applicable. (TODO: playlists not supported in the API at this time.)

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheet nullable read-only

The price sheet for the event, if applicable. (TODO: price sheets not supported in the API at this time.)

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

requireEmail

Whether an email address is required to view the event.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout

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.

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/EventDefaults"
        }
      }
    },
    "description": "The updated set of default settings for events."
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Update a set of default settings for events

put
/studio/brand/{brandId}/event-defaults/{eventDefaultsId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventDefaultsId required

The event defaults 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 set of default settings to update for events.

application/vnd.shootproof+json
Property Description
allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

checkoutText nullable

If provided, a message shown to the client at checkout.

digitalRules

Collection of digital rules available for this event defaults. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategoryId nullable

The category identifier associated with the event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
information nullable

Information to display to event visitors.

isDefault

Whether this is marked as the default event defaults.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

A descriptive name for these event defaults settings.

pickupOptions

An array of order pickup options supported by the event.

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

requireEmail

Whether an email address is required to view the event.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout

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/EventDefaults"
      }
    }
  },
  "description": "The set of default settings to update for events.",
  "required": true
}

200 OK

The updated set of default settings for events.

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
allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

checkoutText nullable

If provided, a message shown to the client at checkout.

created read-only

The creation date of this event defaults object.

digitalRules

Collection of digital rules available for this event defaults. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategory nullable read-only

The human-readable name of the category of the event.

eventCategoryId nullable

The category identifier associated with the event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
id read-only

The identifier for this event defaults object.

information nullable

Information to display to event visitors.

isDefault

Whether this is marked as the default event defaults.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

lastUpdated read-only

The date this event defaults object was last updated.

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.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

A descriptive name for these event defaults settings.

pickupOptions

An array of order pickup options supported by the event.

playlist nullable read-only

The playlist for the event, if applicable. (TODO: playlists not supported in the API at this time.)

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheet nullable read-only

The price sheet for the event, if applicable. (TODO: price sheets not supported in the API at this time.)

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

requireEmail

Whether an email address is required to view the event.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout

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.

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/EventDefaults"
        }
      }
    },
    "description": "The updated set of default settings for events."
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

List the digital rules for a set of default settings for events

get
/studio/brand/{brandId}/event-defaults/{eventDefaultsId}/digital-rule

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventDefaultsId required

The event defaults 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 list of digital rules for a set of default settings for events.

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 list of digital rules.

Property Description
brandWatermark nullable read-only

A brand watermark.

brandWatermarkId nullable

ID of the brand watermark that will be applied to each image generated according to this rule

created read-only

The creation date of this digital rule.

downloadAll

Whether this rule allows for the bulk download of all images in the gallery/album.

downloadLimit nullable

The maximum number of images a single user is allowed to download from the gallery/album.

downloadPin nullable

The presence of a downloadPin requires PIN entry for free digital downloads. Must contain only digits.

id

The identifier for this digital rule.

name

Human readable name for this digital rule.

printRelease nullable

The print release that will be included with images generated according to this rule.

requireDownloadPin read-only

Flag indicating whether the DigitalRule requires a downloadPin. This allows rules derived from brand event defaults rules to inherit the requirement for a downloadPin from the brand event defaults rules.

resolution nullable

Length, in pixels, of longest side of image resulting from this rule. If null, the rule will deliver the original full size resolution

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

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/DigitalRuleCollection"
        }
      }
    },
    "description": "A list of digital rules for a set of default settings for events."
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Create a digital rule for a set of default settings for events

post
/studio/brand/{brandId}/event-defaults/{eventDefaultsId}/digital-rule

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventDefaultsId required

The event defaults 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 digital rule to create for a set of default settings for events.

application/vnd.shootproof+json
Property Description
brandWatermarkId nullable

ID of the brand watermark that will be applied to each image generated according to this rule

downloadAll

Whether this rule allows for the bulk download of all images in the gallery/album.

downloadLimit nullable

The maximum number of images a single user is allowed to download from the gallery/album.

downloadPin nullable

The presence of a downloadPin requires PIN entry for free digital downloads. Must contain only digits.

id

The identifier for this digital rule.

name

Human readable name for this digital rule.

printRelease nullable

The print release that will be included with images generated according to this rule.

resolution nullable

Length, in pixels, of longest side of image resulting from this rule. If null, the rule will deliver the original full size resolution

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/DigitalRule"
      }
    }
  },
  "description": "The digital rule to create for a set of default settings for events.",
  "required": true
}

201 Created

The new digital rule for the set of default settings for events.

Headers
Header Description
Location

The URL to the new digital rule.

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
brandWatermark nullable read-only

A brand watermark.

brandWatermarkId nullable

ID of the brand watermark that will be applied to each image generated according to this rule

created read-only

The creation date of this digital rule.

downloadAll

Whether this rule allows for the bulk download of all images in the gallery/album.

downloadLimit nullable

The maximum number of images a single user is allowed to download from the gallery/album.

downloadPin nullable

The presence of a downloadPin requires PIN entry for free digital downloads. Must contain only digits.

id

The identifier for this digital rule.

name

Human readable name for this digital rule.

printRelease nullable

The print release that will be included with images generated according to this rule.

requireDownloadPin read-only

Flag indicating whether the DigitalRule requires a downloadPin. This allows rules derived from brand event defaults rules to inherit the requirement for a downloadPin from the brand event defaults rules.

resolution nullable

Length, in pixels, of longest side of image resulting from this rule. If null, the rule will deliver the original full size resolution

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.

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.

{
  "201": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/DigitalRule"
        }
      }
    },
    "description": "The new digital rule for the set of default settings for events.",
    "headers": {
      "Location": {
        "description": "The URL to the new digital rule.",
        "schema": {
          "format": "uri",
          "type": "string"
        }
      }
    }
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Delete a digital rule for a set of default settings for events

delete
/studio/brand/{brandId}/event-defaults/{eventDefaultsId}/digital-rule/{digitalRuleId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

digitalRuleId required

The digital rule identifier.

eventDefaultsId required

The event defaults 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

The resource was successfully deleted.

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": {
    "$ref": "#/components/responses/deleteSuccess"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Get a digital rule for a set of default settings for events

get
/studio/brand/{brandId}/event-defaults/{eventDefaultsId}/digital-rule/{digitalRuleId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

digitalRuleId required

The digital rule identifier.

eventDefaultsId required

The event defaults 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 digital rule for a set of default settings for events.

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
brandWatermark nullable read-only

A brand watermark.

brandWatermarkId nullable

ID of the brand watermark that will be applied to each image generated according to this rule

created read-only

The creation date of this digital rule.

downloadAll

Whether this rule allows for the bulk download of all images in the gallery/album.

downloadLimit nullable

The maximum number of images a single user is allowed to download from the gallery/album.

downloadPin nullable

The presence of a downloadPin requires PIN entry for free digital downloads. Must contain only digits.

id

The identifier for this digital rule.

name

Human readable name for this digital rule.

printRelease nullable

The print release that will be included with images generated according to this rule.

requireDownloadPin read-only

Flag indicating whether the DigitalRule requires a downloadPin. This allows rules derived from brand event defaults rules to inherit the requirement for a downloadPin from the brand event defaults rules.

resolution nullable

Length, in pixels, of longest side of image resulting from this rule. If null, the rule will deliver the original full size resolution

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/DigitalRule"
        }
      }
    },
    "description": "A digital rule for a set of default settings for events."
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Update a digital rule for a set of default settings for events

put
/studio/brand/{brandId}/event-defaults/{eventDefaultsId}/digital-rule/{digitalRuleId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

digitalRuleId required

The digital rule identifier.

eventDefaultsId required

The event defaults 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 digital rule.

application/vnd.shootproof+json
Property Description
brandWatermarkId nullable

ID of the brand watermark that will be applied to each image generated according to this rule

downloadAll

Whether this rule allows for the bulk download of all images in the gallery/album.

downloadLimit nullable

The maximum number of images a single user is allowed to download from the gallery/album.

downloadPin nullable

The presence of a downloadPin requires PIN entry for free digital downloads. Must contain only digits.

id

The identifier for this digital rule.

name

Human readable name for this digital rule.

printRelease nullable

The print release that will be included with images generated according to this rule.

resolution nullable

Length, in pixels, of longest side of image resulting from this rule. If null, the rule will deliver the original full size resolution

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/DigitalRule"
      }
    }
  },
  "description": "The digital rule.",
  "required": true
}

200 OK

The updated digital rule for the set of default settings for events.

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
brandWatermark nullable read-only

A brand watermark.

brandWatermarkId nullable

ID of the brand watermark that will be applied to each image generated according to this rule

created read-only

The creation date of this digital rule.

downloadAll

Whether this rule allows for the bulk download of all images in the gallery/album.

downloadLimit nullable

The maximum number of images a single user is allowed to download from the gallery/album.

downloadPin nullable

The presence of a downloadPin requires PIN entry for free digital downloads. Must contain only digits.

id

The identifier for this digital rule.

name

Human readable name for this digital rule.

printRelease nullable

The print release that will be included with images generated according to this rule.

requireDownloadPin read-only

Flag indicating whether the DigitalRule requires a downloadPin. This allows rules derived from brand event defaults rules to inherit the requirement for a downloadPin from the brand event defaults rules.

resolution nullable

Length, in pixels, of longest side of image resulting from this rule. If null, the rule will deliver the original full size resolution

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.

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/DigitalRule"
        }
      }
    },
    "description": "The updated digital rule for the set of default settings for events."
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Delete an event

delete
/studio/brand/{brandId}/event/{eventId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventId required

The event 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

The resource was successfully deleted.

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": {
    "$ref": "#/components/responses/deleteSuccess"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Get an event

get
/studio/brand/{brandId}/event/{eventId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventId required

The event 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

An event

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
albumSortType

The type of sorting to apply to albums in this event.

This affects only the top-level albums view for the event and does not cascade down through sub-albums. To apply an album sort type to sub-albums, use a batch update operation on an album collection resource.

allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

cartsCount read-only

The number of active carts with items for this event.

checkoutText nullable

If provided, a message shown to the client at checkout.

contact nullable read-only

The contact associated with this event (if applicable).

contactId nullable

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

coverPhoto required nullable read-only

A cover photo for the event.

created read-only

The creation date of this event.

digitalRules

Collection of digital rules available for this event. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategory nullable read-only

The human-readable name of the category of the event.

eventCategoryId nullable

The category identifier associated with the event.

eventDate nullable

The date on which this event took place.

eventPassword nullable

If the event access level requires a password, this is the password that must be used to access the event.

eventPhotoTags read-only

Photo tags associated with this event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

expirationDate nullable

The date on which this event expired.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
id

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

information nullable

Information to display to event visitors.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

lastReleasedDate nullable read-only

The date on which this event was last released. This value is only ever set by the system when the event is released. If the event is released multiple times, this value will always be the date/time that the event was last released.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

The name of this event.

orderDueDate nullable

The date on which orders for the event are due.

ordersCount read-only

The total number of orders for this event.

photoFavoritesCount read-only

The number of times photos in this event were favorited.

photoSortType

The type of sorting to apply to photos in this event.

This affects only the top-level "all photos" view for the event and does not cascade down through event albums and sub-albums. To apply a photo sort type to all albums and sub-albums, use a batch update operation on an album collection resource.

photosCount read-only

The total number of photos within this event, including photos in albums.

photosInQueueCount read-only

The total number of photos in the queue to be processed for this event.

photosNotInAnAlbumCount read-only

Number of photos within this event that are not in any albums.

pickupOptions

An array of order pickup options supported by the event.

playlist nullable read-only

The playlist for the event, if applicable. (TODO: playlists not supported in the API at this time.)

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheet nullable read-only

The price sheet for the event, if applicable. (TODO: price sheets not supported in the API at this time.)

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

releaseDate nullable

The date on which this event will be released.

requireEmail

Whether an email address is required to view the event.

shares read-only

The number of times this event has been shared via various channels.

Property Description
facebookCount
linkCount
pinterestCount
twitterCount
showExpirationDate

Whether to show the expiration date to visitors.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

urlSlug nullable

The slug used to uniquely identify this event in URLs.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout
visitorsCount read-only

The number of event visitors who provided their email address.

visitorsLastActiveDate nullable

The date on which an event visitor was last active.

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/Event"
        }
      }
    },
    "description": "An event"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Partially update an event

patch
/studio/brand/{brandId}/event/{eventId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventId required

The event 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 event to update. Only provide those properties that need updating.

application/vnd.shootproof+json
Property Description
albumSortType

The type of sorting to apply to albums in this event.

This affects only the top-level albums view for the event and does not cascade down through sub-albums. To apply an album sort type to sub-albums, use a batch update operation on an album collection resource.

allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

checkoutText nullable

If provided, a message shown to the client at checkout.

contactId nullable

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

digitalRules

Collection of digital rules available for this event. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategoryId nullable

The category identifier associated with the event.

eventDate nullable

The date on which this event took place.

eventPassword nullable

If the event access level requires a password, this is the password that must be used to access the event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

expirationDate nullable

The date on which this event expired.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
id

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

information nullable

Information to display to event visitors.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

The name of this event.

orderDueDate nullable

The date on which orders for the event are due.

photoSortType

The type of sorting to apply to photos in this event.

This affects only the top-level "all photos" view for the event and does not cascade down through event albums and sub-albums. To apply a photo sort type to all albums and sub-albums, use a batch update operation on an album collection resource.

pickupOptions

An array of order pickup options supported by the event.

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

releaseDate nullable

The date on which this event will be released.

requireEmail

Whether an email address is required to view the event.

showExpirationDate

Whether to show the expiration date to visitors.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

urlSlug nullable

The slug used to uniquely identify this event in URLs.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout
visitorsLastActiveDate nullable

The date on which an event visitor was last active.

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/Event"
      }
    }
  },
  "description": "The event to update. Only provide those properties that need\nupdating.",
  "required": true
}

200 OK

The updated event.

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
albumSortType

The type of sorting to apply to albums in this event.

This affects only the top-level albums view for the event and does not cascade down through sub-albums. To apply an album sort type to sub-albums, use a batch update operation on an album collection resource.

allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

cartsCount read-only

The number of active carts with items for this event.

checkoutText nullable

If provided, a message shown to the client at checkout.

contact nullable read-only

The contact associated with this event (if applicable).

contactId nullable

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

coverPhoto required nullable read-only

A cover photo for the event.

created read-only

The creation date of this event.

digitalRules

Collection of digital rules available for this event. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategory nullable read-only

The human-readable name of the category of the event.

eventCategoryId nullable

The category identifier associated with the event.

eventDate nullable

The date on which this event took place.

eventPassword nullable

If the event access level requires a password, this is the password that must be used to access the event.

eventPhotoTags read-only

Photo tags associated with this event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

expirationDate nullable

The date on which this event expired.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
id

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

information nullable

Information to display to event visitors.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

lastReleasedDate nullable read-only

The date on which this event was last released. This value is only ever set by the system when the event is released. If the event is released multiple times, this value will always be the date/time that the event was last released.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

The name of this event.

orderDueDate nullable

The date on which orders for the event are due.

ordersCount read-only

The total number of orders for this event.

photoFavoritesCount read-only

The number of times photos in this event were favorited.

photoSortType

The type of sorting to apply to photos in this event.

This affects only the top-level "all photos" view for the event and does not cascade down through event albums and sub-albums. To apply a photo sort type to all albums and sub-albums, use a batch update operation on an album collection resource.

photosCount read-only

The total number of photos within this event, including photos in albums.

photosInQueueCount read-only

The total number of photos in the queue to be processed for this event.

photosNotInAnAlbumCount read-only

Number of photos within this event that are not in any albums.

pickupOptions

An array of order pickup options supported by the event.

playlist nullable read-only

The playlist for the event, if applicable. (TODO: playlists not supported in the API at this time.)

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheet nullable read-only

The price sheet for the event, if applicable. (TODO: price sheets not supported in the API at this time.)

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

releaseDate nullable

The date on which this event will be released.

requireEmail

Whether an email address is required to view the event.

shares read-only

The number of times this event has been shared via various channels.

Property Description
facebookCount
linkCount
pinterestCount
twitterCount
showExpirationDate

Whether to show the expiration date to visitors.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

urlSlug nullable

The slug used to uniquely identify this event in URLs.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout
visitorsCount read-only

The number of event visitors who provided their email address.

visitorsLastActiveDate nullable

The date on which an event visitor was last active.

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.

{
  "200": {
    "content": {
      "application/vnd.shootproof+json": {
        "schema": {
          "$ref": "#/components/schemas/Event"
        }
      }
    },
    "description": "The updated event."
  },
  "400": {
    "$ref": "#/components/responses/validationError"
  },
  "default": {
    "$ref": "#/components/responses/defaultError"
  }
}

Update an event

put
/studio/brand/{brandId}/event/{eventId}

Example Request

Path Parameters

Property Description
brandId required

The brand identifier.

eventId required

The event 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 event to update.

application/vnd.shootproof+json
Property Description
albumSortType

The type of sorting to apply to albums in this event.

This affects only the top-level albums view for the event and does not cascade down through sub-albums. To apply an album sort type to sub-albums, use a batch update operation on an album collection resource.

allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

checkoutText nullable

If provided, a message shown to the client at checkout.

contactId nullable

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

digitalRules

Collection of digital rules available for this event. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategoryId nullable

The category identifier associated with the event.

eventDate nullable

The date on which this event took place.

eventPassword nullable

If the event access level requires a password, this is the password that must be used to access the event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

expirationDate nullable

The date on which this event expired.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
id

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

information nullable

Information to display to event visitors.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

The name of this event.

orderDueDate nullable

The date on which orders for the event are due.

photoSortType

The type of sorting to apply to photos in this event.

This affects only the top-level "all photos" view for the event and does not cascade down through event albums and sub-albums. To apply a photo sort type to all albums and sub-albums, use a batch update operation on an album collection resource.

pickupOptions

An array of order pickup options supported by the event.

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

releaseDate nullable

The date on which this event will be released.

requireEmail

Whether an email address is required to view the event.

showExpirationDate

Whether to show the expiration date to visitors.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

urlSlug nullable

The slug used to uniquely identify this event in URLs.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout
visitorsLastActiveDate nullable

The date on which an event visitor was last active.

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/Event"
      }
    }
  },
  "description": "The event to update.",
  "required": true
}

200 OK

The updated event.

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
albumSortType

The type of sorting to apply to albums in this event.

This affects only the top-level albums view for the event and does not cascade down through sub-albums. To apply an album sort type to sub-albums, use a batch update operation on an album collection resource.

allowAddAllToCart

Whether to show "Buy All" buttons, allowing clients to add all photos in the event to their cart.

allowBlackWhiteFiltering

Allow clients to see and order a black and white version of an image.

allowCropping

Allow clients to crop photos on orders.

allowFreeDigitals

Whether to allow clients to download free digitals from the event.

allowFreeDigitalsDownloadAll

If allowFreeDigitals is true, whether to allow clients to download the entire event.

allowPayLater

Whether to allow clients to pay later.

autoArchiveDays nullable

If provided, the number of days after event expiration to automatically archive the event.

autoSetAlbumCovers

Whether to autogenerate album cover images from the first image in the album.

brandTheme

A brand theme.

brandThemeId

The identifier for the brand theme the event uses.

cartsCount read-only

The number of active carts with items for this event.

checkoutText nullable

If provided, a message shown to the client at checkout.

contact nullable read-only

The contact associated with this event (if applicable).

contactId nullable

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

coverPhoto required nullable read-only

A cover photo for the event.

created read-only

The creation date of this event.

digitalRules

Collection of digital rules available for this event. Digital rules describe configurations for free digitals downloads.

emailAutomationGroupId nullable

The identifier for the email automation group associated with the event.

eventAccessLevel

The event access level.

eventCategory nullable read-only

The human-readable name of the category of the event.

eventCategoryId nullable

The category identifier associated with the event.

eventDate nullable

The date on which this event took place.

eventPassword nullable

If the event access level requires a password, this is the password that must be used to access the event.

eventPhotoTags read-only

Photo tags associated with this event.

eventStatus

The event status.

exifSearchFieldLabel nullable

The label for the EXIF data search field for the event.

This is only available if the studio has been flagged in the admin with this permission.

expirationDate nullable

The date on which this event expired.

headline nullable

Headline to display to event visitors.

hideAlbums

Whether to hide all the albums in an event.

This is only available if the studio has been flagged in the admin with this permission.

hideAllPhotosAlbum

Whether to hide the "All Photos" default photo album.

hidePhotoCountAlbums

Whether to hide the photo count for all albums in the client facing gallery.

homepageLinkTo nullable

The URL to which the homepage link should send users. This is required if showHomepageLink is true.

Valid values are:

  • studio_homepage: The homepage link points to the ShootProof homepage for the brand.
  • studio_website: The homepage link points to the website URL set for the brand.
id

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

information nullable

Information to display to event visitors.

isPreRegistration

Whether pre-registration mode is turned on for the event.

landingLayoutType

The layout type for the event landing page. The possible landing layout types are:

  • basic: Accent
  • full-bottom: Limelight
  • full-bottom-alt: Foundation
  • full-center: Marquee
  • hexagon: Symmetry
  • split: Detail
  • no-cover: Headline
languageCode

The Unicode CLDR language tag for the language used in the event.

lastReleasedDate nullable read-only

The date on which this event was last released. This value is only ever set by the system when the event is released. If the event is released multiple times, this value will always be the date/time that the event was last released.

minimumOrderAmount nullable

The minimum amount required for any order placed for the event.

musicAutoPlay

If there is a playlist defined, whether to auto-play the music when the even loads in the browser.

name

The name of this event.

orderDueDate nullable

The date on which orders for the event are due.

ordersCount read-only

The total number of orders for this event.

photoFavoritesCount read-only

The number of times photos in this event were favorited.

photoSortType

The type of sorting to apply to photos in this event.

This affects only the top-level "all photos" view for the event and does not cascade down through event albums and sub-albums. To apply a photo sort type to all albums and sub-albums, use a batch update operation on an album collection resource.

photosCount read-only

The total number of photos within this event, including photos in albums.

photosInQueueCount read-only

The total number of photos in the queue to be processed for this event.

photosNotInAnAlbumCount read-only

Number of photos within this event that are not in any albums.

pickupOptions

An array of order pickup options supported by the event.

playlist nullable read-only

The playlist for the event, if applicable. (TODO: playlists not supported in the API at this time.)

playlistId nullable

The identifier for the playlist the event uses.

preRegistrationMessage nullable

Text to display to visitors when the event is in pre-registration mode.

priceSheet nullable read-only

The price sheet for the event, if applicable. (TODO: price sheets not supported in the API at this time.)

priceSheetId nullable

The identifier for the price sheet the event uses. If null, then the shopping cart for the event is turned off.

printRelease nullable

Print release text that is sent to the client when ShootProof-fulfilled digitals are downloaded. Some HTML is allowed.

releaseDate nullable

The date on which this event will be released.

requireEmail

Whether an email address is required to view the event.

shares read-only

The number of times this event has been shared via various channels.

Property Description
facebookCount
linkCount
pinterestCount
twitterCount
showExpirationDate

Whether to show the expiration date to visitors.

showFilenames

Whether to show the filenames of photos in the event.

showHomepageLink

Whether to show a link to the studio homepage.

showSocialSharingLinks

Whether to display social media sharing links for the event.

socialSharingMessage nullable

The default message to include when a social sharing link is clicked.

type

The type of object represented.

urlSlug nullable

The slug used to uniquely identify this event in URLs.

videoUrl nullable

The URL of a video to display to event visitors.

viewType

The layout type for the event photo pages. The possible view types are:

  • vmason: Cascade layout
  • hmason: Subway layout
visitorsCount read-only

The number of event visitors who provided their email address.

visitorsLastActiveDate nullable

The date on which an event visitor was last active.

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.

<