Documentation

API Endpoint

The URL for all API requests:

https://api.shootproof.com/v2

OAuth 2.0

The API endpoint implements OAuth 2.0, draft 26

Go to the Auth Docs for more information specific to the ShootProof API and authenticating your app using OAuth 2.0

APP Id

Before you can make any requests to authenticate your app using OAuth you'll need an APP Id, please contact us at support@shootproof.com.

Output Response Formats

We currently only support the following formats for responses:

  • JSON

HTTP Request Methods

We support both GET and POST request methods when sending requests to the API. No other methods are supported and will return an error.

Request Token

Every request to the API must contain a parameter with the name of "access_token" which is retrieved during OAuth authentication flow.

API Methods

Authorization

sp.auth.deauthorize

Method to deauthorize the current access_token. Should be used any time someone is "logging out" of your app.

Parameters
  • method Required
  • access_token Required
Response Properties
  • stat
  • msg
sp.studio.info

Method to get the studio name and also the plan status.

Parameters
  • method Required
  • access_token Required
Response Properties
  • stat
  • name
  • user
    • first_name
    • last_name
  • homepage_url
  • plan
    • type
    • used
    • allowed
sp.studio.get_setting

Method to get a setting for a studio.

Parameters
  • method Required
  • setting_key Required
    Possible Values:
    • event_postback_url
    • order_postback_url
    • sales_tax_rate
    • sales_tax_on_digital_downloads
    • sales_tax_on_shipping
    • sales_tax_state
  • access_token Required
Response Properties
  • stat
  • setting_value
sp.studio.set_setting

Method to set a setting for a studio.

Parameters
  • method Required
  • setting_key Required
    Possible Values:
    • event_postback_url
    • order_postback_url
  • setting_value Required
  • access_token Required
Response Properties
  • stat
  • msg
sp.event.get_list

Method to get a list of open events for a studio.

Parameters
  • method Required
  • access_token Required
  • brand_id Optional
  • include_archived Optional, pass a value of "1" to include archived
  • order_by Optional, pass "name" or "last_updated"
  • order_by_descending Optional, pass a value of "1" to reverse
  • limit Optional
  • page Optional
Response Properties
  • stat
  • events - Array of objects with properties
    • id
    • brand_id
    • name
    • password
    • category_id
    • is_archived
    • status (Active/Inactive/Deleted/Archived)
    • view_url
    • created
    • event_date
    • release_date
    • gallery_expiration_date
    • contact_id
    • last_updated
    • cover_photo
      • id
      • large
      • x_large
    • photo_count
  • page
  • results_returned
  • total_pages
  • total_results
sp.event.info

Method to retrieve information about an event by ID

Parameters
  • method Required
  • access_token Required
  • event_id Required
Response Properties
  • stat
  • event - Object with properties
    • id
    • brand_id
    • name
    • password
    • category_id
    • is_archived
    • status (Active/Inactive/Deleted/Archived)
    • view_url
    • created
    • event_date
    • release_date
    • gallery_expiration_date
    • contact_id
    • cover_photo
      • id
      • large
      • x_large
    • photo_count
sp.event.create

Method to create a new event for a studio. By default this event is a "private" event.

If a brand_id value is not provided, the event will be created in your default brand.

If event_date is provided, its value must be a UTC date/time string using format "YYYY-MM-DD HH:MM:SS" (e.g. "2015-06-02 00:00:00").

If contact_id is provided, its value must be the contact ID value for an existing contact within the event's brand, or the studio's default brand.

If url_slug is provided, its value must be a string for use in forming the gallery URL that is unique across all of the studio's events. For example, a url_slug of "test-gallery" would yield a view_url of http://your-studio.shootproof.com/gallery/test-gallery. If the value is not unique, a 409 response will be returned with an error message denoting that the value is a duplicate.

Parameters
  • method Required
  • access_token Required
  • event_name Required
  • brand_id Optional
  • brand_event_default_id Optional
  • contact_id Optional
  • event_date Optional
  • url_slug Optional
  • archive Optional (Values: 1 for true, 0 for false. False by default.)
Response Properties
  • stat
  • event
    • id
    • name
    • password
    • category_id
    • status (Active/Inactive/Deleted/Archived)
    • view_url
    • created
    • event_date
    • release_date
    • gallery_expiration_date
    • contact_id
    • brand_id
    • url_slug
    • cover_photo
      • id
      • large
      • x_large
    • photo_count
sp.event.update

Method to update an existing event for a studio.

If event_date is provided, its value must be a UTC date/time string using format "YYYY-MM-DD HH:MM:SS" (e.g. "2015-06-02 00:00:00").

If contact_id is provided, its value must be the contact ID value for an existing contact within the event's brand.

If url_slug is provided, its value must be a string for use in forming the gallery URL that is unique across all of the studio's events. For example, a url_slug of "test-gallery" would yield a view_url of http://your-studio.shootproof.com/gallery/test-gallery. If the value is not unique, a 409 response will be returned with an error message denoting that the value is a duplicate.

If url_slug is provided with an empty value, the custom URL slug will be removed from the gallery. The view_url will then be http://your-studio.shootproof.com/gallery/[event id].

Parameters
  • method Required
  • access_token Required
  • event_name Optional
  • event_date Optional
  • contact_id Optional
  • url_slug Optional
Response Properties
  • stat
  • event
    • id
    • name
    • password
    • category_id
    • status (Active/Inactive/Deleted/Archived)
    • view_url
    • created
    • event_date
    • release_date
    • gallery_expiration_date
    • contact_id
    • brand_id
    • url_slug
    • cover_photo
      • id
      • large
      • x_large
    • photo_count
sp.event.delete

Method to delete an event for a studio. All photos in this event are immediately deleted.

Parameters
  • method Required
  • event_id Required
  • only_empty Optional: pass a "1" to only delete the event if it is empty
  • access_token Required
Response Properties
  • stat
  • event
    • id
sp.event.rename

Method to rename an event for a studio.

Parameters
  • method Required
  • event_id Required
  • event_name Required
  • access_token Required
Response Properties
  • stat
  • event
    • id
    • name
    • password
    • category_id
    • status (Active/Inactive/Deleted/Archived)
    • view_url
    • created
    • event_date
    • release_date
    • gallery_expiration_date
    • contact_id
    • brand_id
    • url_slug
    • cover_photo
      • id
      • large
      • x_large
    • photo_count
sp.event.set_access_level

Method to change the access level and password for an event. Values for access level are: public_no_password, public_password, private_no_password, private_password.

Parameters
  • method Required
  • event_id Required
  • access_level Required
  • password Optional
  • access_token Required
Response Properties
  • stat
  • event
    • id
    • name
    • password
    • category_id
    • status (Active/Inactive/Deleted/Archived)
    • view_url
    • created
    • event_date
    • release_date
    • gallery_expiration_date
    • contact_id
    • brand_id
    • url_slug
    • cover_photo
      • id
      • large
      • x_large
    • photo_count
sp.event.photo_exists

Method to check to see if a photo is already present within an event.

Parameters
  • method Required
  • event_id Required
  • photo_name Required if photo_id not provided
  • photo_id Required if photo_name not provided
  • album_id Optional - if specified it will only check the provided album for a duplicate
  • access_token Required
Response Properties
  • stat
  • photo_exists
sp.event.get_photos

Method to get all of the photos that are in an event in a paginated results set.

Parameters
  • method Required
  • event_id Required
  • limit Optional
  • page Optional
  • access_token Required
Response Properties
  • stat
  • photos - Array of objects with properties
    • id
    • name
    • mime_type
    • width
    • height
    • url
      • small deprecated
      • medium
      • medium_large deprecated
      • large
      • x_large deprecated
      • 2x_large
      • 3x_large
      • original
  • page
  • results_returned
  • total_pages
  • total_results
sp.event.set_category

Method to set the category for an event.

Parameters
  • method Required
  • event_id Required
  • category_id Required
  • access_token Required
Response Properties
  • stat
  • event
    • id
    • name
    • password
    • category_id
    • status (Active/Inactive/Deleted/Archived)
    • view_url
    • created
    • event_date
    • release_date
    • gallery_expiration_date
    • contact_id
    • brand_id
    • url_slug
    • cover_photo
      • id
      • large
      • x_large
    • photo_count
sp.event.set_contact

Method to set or unset the contact for an event.

Parameters
  • method Required
  • event_id Required
  • contact_id Required to set; omit or use empty value to unset
  • access_token Required
Response Properties
  • stat
  • event_id
  • contact_id
sp.event.gallery_visitors

Method to get the gallery visitors for an event.

Parameters
  • method Required
  • event_id Required
  • access_token Required
Response Properties
  • stat
  • gallery_visitors - Array of objects with properties
    • email_address
    • contact_id - set if this email is set on a contact
    • date_accessed - date of visitor's last activity
    • event_id
    • event_name
    • favorites - number of photos favorited
    • cart_items - number of items presently in cart
    • downloads - number of free digitals downloaded
    • orders - number of orders placed
    • num_hidden_photos - number of photos hidden (if this is event contact)
    • num_labeled_photos - number of photos labeled (if this is event contact)
sp.event.gallery_visitor_photos

Method to get the photos for a given gallery visitor email.

Parameters
  • method Required
  • event_id Required
  • email_address Required
  • access_token Required
Response Properties
  • stat
  • favorites - Array of photo objects with properties
    • id
    • name
    • mime_type
    • width
    • height
    • url
      • small deprecated
      • medium
      • medium_large deprecated
      • large
      • x_large deprecated
      • 2x_large
      • 3x_large
      • original
  • labeled - Array of objects with label name and photos
    • name - name of the label
    • photos - Array of photo objects with properties
      • id
      • name
      • mime_type
      • width
      • height
      • url
        • small deprecated
        • medium
        • medium_large deprecated
        • large
        • x_large deprecated
        • 2x_large
        • 3x_large
        • original
sp.event.bulk_email_add

Method to add multiple email address to an event in bulk.

HTTP POST request body must be a JSON-encoded array of email addresses. For example:

[
    "alice@example.org",
    "bob@example.com"
]

Any invalid email addresses provided will be skipped. The response indicates the total number of email addresses that were valid and added to the event, along with the total number of email addressess that were invalid and not added to the event.

Parameters
  • method Required
  • access_token Required
  • event_idRequired (pass on query string)
Response Properties
  • stat
  • num_email_addresses_submitted
    total number of email addresses submitted in POST body
  • num_email_addresses_added
    total number of email addresses added to the event
sp.category.get_list

Method to get all of the categories for the studio.

Parameters
  • method Required
  • access_token Required
Response Properties
  • stat
  • category
    • id
    • name
    • display_order
    • cover_url
sp.category.create

Method to create a category for events.

Parameters
  • method Required
  • name Required
  • access_token Required
Response Properties
  • stat
  • category
    • id
    • name
    • display_order
    • cover_url
sp.category.rename

Method to rename a category.

Parameters
  • method Required
  • category_id Required
  • name Required
  • access_token Required
Response Properties
  • stat
  • category
    • id
    • name
    • display_order
    • cover_url
sp.album.get_list

Method to get a list of all albums that are in an event.

Parameters
  • method Required
  • event_id Required
  • access_token Required
Response Properties
  • stat
  • albums
    • id
    • name
    • password
    • display_order
    • parent_id
    • cover_photo_url
    • photo_count
    • sub_albums - Array of album objects, can be nested for a total of 4 levels
sp.album.create

Method to create an album within an event.

Parameters
  • method Required
  • event_id Required
  • album_name Required
  • password Optional
  • parent_id Optional - The ID of the parent album to make this a sub-album under.
  • access_token Required
Response Properties
  • stat
  • album
    • id
    • name
    • password
    • display_order
    • parent_id
    • cover_photo_url
    • photo_count
sp.album.delete

Method to delete an album within an event.

Parameters
  • method Required
  • album_id Required
  • only_empty Optional: pass a "1" to only delete the album if it is empty
  • access_token Required
Response Properties
  • stat
sp.album.move

Method to move an album within an event.

Parameters
  • method Required
  • album_id Required
  • parent_id Optional - The ID of the parent album to make this a sub-album under.
  • access_token Required
Response Properties
  • stat
  • album
    • id
    • name
    • password
    • display_order
    • parent_id
    • cover_photo_url
    • photo_count
sp.album.rename

Method to rename an album.

Parameters
  • method Required
  • album_id Required
  • album_name Required
  • access_token Required
Response Properties
  • stat
  • album
    • id
    • name
    • password
    • display_order
    • parent_id
    • cover_photo_url
    • photo_count
sp.album.get_photos

Method to retrieve the photos that are in a particular album in a paginated result set.

Parameters
  • method Required
  • album_id Required
  • limit Optional
  • page Optional
  • access_token Required
Response Properties
  • stat
  • photos - Array of objects with properties
    • id
    • name
    • mime_type
    • width
    • height
    • url
      • small deprecated
      • medium
      • medium_large deprecated
      • large
      • x_large deprecated
      • 2x_large
      • 3x_large
      • original
  • page
  • results_returned
  • total_pages
  • total_results
sp.album.info

Method to get the info for an album.

Parameters
  • method Required
  • album_id Required
  • access_token Required
Response Properties
  • stat
  • album
    • id
    • name
    • password
    • display_order
    • parent_id
    • cover_photo_url
    • view_url
    • photo_count
sp.photo.upload

Method to upload a new photo into an event and optionally add it to an album. Note: This method can only be used over HTTP POST.

Parameters
  • method Required
  • event_id Required
  • album_id Optional
  • access_token Required
  • photo Required
  • watermark_id Optional (either "no" or the ID of the watermark to apply)
Response Properties
  • stat
  • photo_id
  • photos_allowed
  • photos_used
sp.photo.add_to_album

Method to add a currently existing photo in the system to an album within the same event.

Parameters
  • method Required
  • album_id Required
  • photo_id Required
  • access_token Required
Response Properties
  • stat
sp.photo.remove_from_album

Method to remove a photo from an album within the same event.

Parameters
  • method Required
  • album_id Required
  • photo_id Required
  • access_token Required
Response Properties
  • stat
sp.photo.info

Method to retrieve information about a photo by ID.

Parameters
  • method Required
  • photo_id Required
  • access_token Required
Response Properties
  • stat
  • id
  • name
  • mime_type
  • width
  • height
  • url
    • small deprecated
    • medium
    • medium_large deprecated
    • large
    • x_large deprecated
    • 2x_large
    • 3x_large
    • original
sp.photo.delete

Method to delete a photo from an event.

Parameters
  • method Required
  • photo_id Required
  • access_token Required
Response Properties
  • stat
  • deleted
  • photo_id
sp.photo.update

Method to upload a replacement photo for an already existing photo. Note: This method can only be used over HTTP POST.

Parameters
  • method Required
  • photo_id Required
  • access_token Required
  • photo Required
Response Properties
  • stat
  • photo_id
  • photos_allowed
  • photos_used
sp.watermark.get_list

Method to get a list of watermarks for a brand.

Parameters
  • method Required
  • brand_id Required
  • access_token Required
Response Properties
  • stat
  • apply_default_to_new_uploads (Does this brand have watermarking turned on for uploads by default)
  • watermarks - Array of objects with properties
    • id
    • name
    • is_default
sp.cover_photo.set

Method to set cover photo for a gallery or album. Cover photo can be either a photo within the gallery, or an arbitrary JPEG image uploaded on the request. Note: This method can only be used over HTTP POST.

If using an existing photo, photo_id must be a numeric photo ID within the gallery.

If uploading a cover photo image, photo must be a JPEG image file

Parameters
  • method Required
  • access_token Required
  • event_id Optional, but either event_id or album_id required
  • album_id Optional, but either event_id or album_id required
  • photo_id Optional, but either photo_id or photo file data required
  • photo Optional, but either photo_id or photo file data required
Response Properties
  • stat
  • cover_photo
    • sizes - Object of available cover photo image sizes
      • l - URL to extra large sized image
      • xl - URL to extra large sized image
sp.cover_photo.delete

Method to delete cover photo from a gallery or album. Note: This method can only be used over HTTP POST.

Parameters
  • method Required
  • access_token Required
  • event_id Optional, but either event_id or album_id required
  • album_id Optional, but either event_id or album_id required
Response Properties
  • stat
sp.mobile_app.get_list

Method to return all mobile apps for studio or brand.

Parameters
  • method Required
  • access_token Required
  • brand_id Optional
  • limit Optional
  • page Optional
Response Properties
  • stat
  • mobile_apps - Array of objects with properties
    • id
    • name
    • event_id
    • event_name
    • icon_url
    • num_photos
    • num_installs
    • num_views
    • links - Array of objects with mobile app link properties
      • link_url
      • icon_url
  • page
  • results_returned
  • total_pages
  • total_results
sp.mobile_app.get_photos

Method to get all photos that are in a mobile app.

Note that pagination is not needed in this method, because a mobile app may only contain up to 40 photos.

Parameters
  • method Required
  • access_token Required
  • mobile_app_id Required
Response Properties
  • stat
  • photos - Array of objects with properties
    • id
    • name
    • url - Array of objects containing photo size URLs
      • small
      • medium
      • large
  • total_results
sp.order.get_list

Method to return a paginated result set of orders.

Parameters
  • method Required
  • limit Optional
  • page Optional
  • event_id Optional
  • access_token Required
Response Properties
  • stat
  • orders - Array of objects with properties
    • order_id
    • event_id
    • event_name
    • order_date
    • order_status
    • is_paid
    • currency
    • grand_total
  • page
  • results_returned
  • total_pages
  • total_results
sp.order.get_details

Method to get the details of an order.

Parameters
  • method Required
  • order_id Required
  • access_token Required
Response Properties
  • stat
  • order
    • id
    • event_id
    • event_name
    • order_date
    • order_status_id
    • order_status_name
    • contact_information
      • phone
      • email
    • billing_address
      • name
      • address_line_1
      • address_line_2
      • city
      • state_province
      • postal_code
      • country
    • shipping_address
      • name
      • address_line_1
      • address_line_2
      • city
      • state_province
      • postal_code
      • country
    • lab_shipping_address
      • name
      • address_line_1
      • address_line_2
      • city
      • state_province
      • postal_code
      • country
    • payment
      • is_paid
      • gateway_transaction_id
      • currency
    • refund_transaction
      • gateway_transaction_id
      • amount
      • currency
    • void_transaction
      • gateway_transaction_id
      • amount
      • currency
      • processing_fee
    • client_notes
    • studio_notes
    • items - Array of objects with properties
      • photo
        • id
        • name
        • mime_type
        • width
        • height
        • url
          • small deprecated
          • medium
          • medium_large deprecated
          • large
          • x_large deprecated
          • 2x_large
          • 3x_large
          • original
      • product - Array of objects with properties
        • quantity
        • item_name
        • item_size
        • is_digital_download
        • is_lab_fulfilled
        • lab_product_unit_price
        • addons - Array of objects with properties
          • label
          • type (Mounting/Texture)
          • price
          • quantity
        • unit_price
        • original_price
        • item_total
    • addons - Array of objects with properties
      • label
      • type (Boutique packaging/Color correction)
      • price
      • quantity
    • redeemed_discounts
    • order_adjustment
    • shipping_charge
    • sales_tax
    • sales_tax_percent
    • sales_tax_on_digital_downloads
    • sales_tax_on_shipping
    • grand_total
sp.brand.get_list

Method to return a paginated result set of active brands.

Parameters
  • method Required
  • access_token Required
Response Properties
  • stat
  • brands - Array of objects with properties
    • id
    • name
    • is_default
    • subdomain
    • custom_domain
    • locale
  • results_returned
  • total_results
sp.brand.create

Method to create a new brand for a studio. Note: This method can only be used over HTTP POST.

If a required value is not provided, validation errors will be returned in a format similar to:

{
   "stat" : "fail",
   "code" : 400,
   "msg" : "invalid brand values provided",
   "validation_errors" : {
      "email" : [
         "Please enter the email address for the studio."
      ],
      "name" : [
         "Please enter the name of the brand."
      ]
   }
}

In this example above, the required field names are the keys within the validation_errors object. Each field with an error will contain an array of one or more relevant validation error messages.

Below is a sample request made with the cURL command-line tool:

curl \
    -F "access_token=your-access-token-here" \
    -F "name=Your Brand Name" \
    -F "email=yourbrand@example.org" \
    -F "address[address_1]=123 Main St." \
    -F "address[city]=Chattanooga" \
    -F "address[state]=TN" \
    -F "address[country]=US" \
    -F "address[zip_postal]=37401" \
    -F "phone=423-555-1212" \
    -F "website=http://www.my-brand.com" \
    "https://api.shootproof.com/v2?method=sp.brand.create" \
Parameters
  • method Required
  • access_token Required
  • name Required - brand name
  • email Required
  • locale Optional
  • phone Optional
  • website Optional
  • address - object with properties Required
    • address_1 Required
    • address_2
    • city Required
    • state Optional; state or state_other must be provided
    • state_other Optional; state or state_other must be provided
    • country Required
    • zip_postal Required
Response Properties
  • stat
  • brand - Object with properties
    • id
    • name
    • is_default
    • website
    • homepage_url
    • email
    • locale
    • phone
    • subdomain
    • address - Object with properties
      • address_1
      • address_2
      • city
      • state
      • state_other
      • country
      • zip_postal
sp.account.upgrade

This is NOT a directly callable method. Request this permission when setting up the app connection to have a studio's account be automatically upgraded to the next plan level if their photo limit is reached during an upload.

sp.brand.info

Method to get information on a single brand.

Parameters
  • method Required
  • access_token Required
  • brand_id Required
Response Properties
  • stat
  • brand - Object with brand properties
    • id
    • name
    • is_default
    • website
    • homepage_url
sp.brand.get_event_defaults

Method to get the list of brand event defaults to be used when creating an event.

Parameters
  • method Required
  • access_token Required
  • brand_id Required
Response Properties
  • stat
  • event_defaults - Array of objects with properties
    • id
    • name
    • is_default
sp.brand.get_event_tree

Method to get the list of all events & albums for a brand.

Parameters
  • method Required
  • access_token Required
  • brand_id Required
Response Properties
  • stat
  • events - Array of objects with properties
    • id
    • brand_id
    • name
    • password
    • category_id
    • status (Active/Inactive/Deleted/Archived)
    • view_url
    • created
    • event_date
    • release_date
    • gallery_expiration_date
    • contact_id
    • cover_photo
      • id
      • large
      • x_large
    • photo_count
    • albums - Array of objects with properties
      • id
      • name
      • sub_albums - Array of album objects, can be nested for a total of 4 levels
sp.contact.info

Method to retrieve information about a contact by ID or EMAIL

Query string parameters
  • method Required
  • access_token Required
  • contact_id Optional
  • contact_email Optional
  • brand_id Optional
Response Properties
  • stat
  • contact - Array of objects with properties. If more than one contact is found, an array of contacts will be returned.
    • id
    • first_name
    • last_name
    • email
    • phone
    • business_name
    • notes
    • third_party_id
    • brand_id
    • brand_name
    • address
      • street_line_1
      • street_line_2
      • city
      • state_province
      • postal_code
      • country
      • id
    • tags - array of strings
sp.contact.create

Method to create a contact. Note: This method can only be used over HTTP POST.

HTTP POST Parameters
  • method Required
  • access_token Required
  • brand_id Required
  • first_name Required
  • last_name
  • email Required
  • phone
  • business_name
  • notes
  • third_party_id
  • tags - string of tags, separated by commas
  • address - object with properties Optional
    • address_1
    • address_2
    • city
    • state
    • state_other
    • country Required
    • zip_postal
Response Properties
  • stat
  • msg
  • contact - object with properties of created contact
    • id
    • first_name
    • last_name
    • email
    • phone
    • business_name
    • notes
    • third_party_id
    • brand_id
    • brand_name
    • address
      • street_line_1
      • street_line_2
      • city
      • state_province
      • postal_code
      • country
      • id
    • tags - array of strings
sp.contact.update

Method to update a contact. Note: This method can only be used over HTTP POST.

HTTP POST Parameters
  • method Required
  • access_token Required
  • contact_id Required
  • brand_id Required
  • first_name Required
  • last_name
  • email Required
  • phone
  • business_name
  • notes
  • third_party_id
  • tags - string of tags, separated by commas
  • address - object with properties Optional
    • address_1
    • address_2
    • city
    • state
    • state_other
    • country Required
    • zip_postal
Response Properties
  • stat
  • msg
  • contact - object with properties of updated contact
    • id
    • first_name
    • last_name
    • email
    • phone
    • notes
    • business_name
    • third_party_id
    • brand_id
    • brand_name
    • address
      • street_line_1
      • street_line_2
      • city
      • state_province
      • postal_code
      • country
      • id
    • tags - array of strings
    • errors if errors, object with field names and array of their their errors
sp.contact.delete

Method to delete a contact.

Parameters
  • method Required
  • access_token Required
  • contact_id Optional
Response Properties
  • stat
  • msg
  • contact_id
sp.contact.bulk_create

Method to create contacts in bulk. Supports up to a maximum of 50 contacts per request. Note: This method can only be used over HTTP POST.

HTTP POST Parameters
  • method Required
  • access_token Required
  • contacts - array of objects
    • 0
      • brand_id Required
      • first_name Required
      • last_name
      • email Required
      • phone
      • business_name
      • notes
      • third_party_id
      • tags - string of tags, separated by commas
      • address - object with properties Optional
        • address_1
        • address_2
        • city
        • state
        • state_other
        • country Required
        • zip_postal
    • 1 ...
Response Properties
  • stat
  • msg
  • num_contacts_submitted
  • num_valid_contacts
  • num_invalid_contacts
  • num_contacts_created
  • num_errors
  • contacts - array with an object of properties for each contact created
    • id
    • first_name
    • last_name
    • email
    • phone
    • notes
    • business_name
    • third_party_id
    • brand_id
    • brand_name
    • address
      • street_line_1
      • street_line_2
      • city
      • state_province
      • postal_code
      • country
      • id
    • tags - array of strings
    • contact_index if error, index of contact with error
    • errors if errors, object with field names and array of their their errors
Sample POST structure. Note: values must be URL encoded where appropriate
contacts[0][brand_id]=1234
&contacts[0][first_name]=Joe
&contacts[0][last_name]=Shmoe
&contacts[0][email]=joe%40example.org
&contacts[0][phone]=404-555-1212
&contacts[0][business_name]=Great%20business
&contacts[0][notes]=Repeat%20customer
&contacts[0][tags]=wedding,groom
&contacts[0][address][address_1]=123%20Main%20Street
&contacts[0][address][address_2]=Apt%20941
&contacts[0][address][city]=Jacksonville
&contacts[0][address][state]=FL
&contacts[0][address][country]=US
&contacts[0][address][zip_postal]=32099
&contacts[1][brand_id]=1234
&contacts[1][first_name]=
&contacts[1][last_name]=Bob
&contacts[1][email]=billy%40example.org
&contacts[1][phone]=212-555-1212
&contacts[1][business_name]=Billy%27s+Florist
&contacts[1][notes]=Great%20flower%20selection
&contacts[1][tags]=florist,preferred
&contacts[1][address][address_1]=555%20Route%2066
&contacts[1][address][city]=Atlanta
&contacts[1][address][state]=GA
&contacts[1][address][country]=US
&contacts[1][address][zip_postal]=30339
                        
sp.contact.get_event_list

Method to retrieve events assigned to a contact.

Query string parameters
  • method Required
  • access_token Required
  • contact_id Required
Response Properties
  • stat
  • events - Array of objects with properties
    • id
    • brand_id
    • name
    • password
    • category_id
    • status (Active/Inactive/Deleted/Archived)
    • view_url
    • created
    • event_date
    • release_date
    • gallery_expiration_date
    • contact_id
    • cover_photo
      • id
      • large
      • x_large
    • brand_id
sp.invoice.get_list

Method to get a list of invoices for studio or a specific brand.

If a brand_id value is provided, only invoices within that brand will be returned.

Query string parameters
  • method Required
  • access_token Required
  • brand_id Optional
  • limit Optional
  • page Optional
Response Properties
  • stat
  • page
  • results_returned
  • total_pages
  • total_results
  • invoices - Array of objects with properties
    • id
    • custom_invoice_id
    • brand_id
    • invoice_status_id
    • invoice_status_name
    • items - Array of objects with properties
      • id
      • name
      • description
      • quantity
      • original_price
      • price
      • is_taxable
      • display_order
      • created
      • last_updated
    • allow_payment_cash_check
    • allow_payment_credit_card
    • sales_tax_percent
    • sales_tax_state
    • sales_tax_title
    • final_payment_due
    • issued
    • language_code
    • currency_code
    • payment_confirmation_text
    • client_note
    • invoice_template_id
    • created
    • last_updated
    • client_contact - Object with properties
      • id
      • first_name
      • last_name
      • email
      • phone
      • business_name
      • notes
      • third_party_id
      • brand_id
      • brand_name
      • address
        • street_line_1
        • street_line_2
        • city
        • state_province
        • postal_code
        • country
        • id
      • tags - array of strings
sp.invoice.info

Method to retrieve information about an invoice by ID.

Query string parameters
  • method Required
  • access_token Required
  • invoice_id Required
Response Properties
  • stat
  • invoice - Object with properties
    • id
    • custom_invoice_id
    • brand_id
    • invoice_status_id
    • invoice_status_name
    • items - Array of objects with properties
      • id
      • name
      • description
      • quantity
      • original_price
      • price
      • is_taxable
      • display_order
      • created
      • last_updated
    • allow_payment_cash_check
    • allow_payment_credit_card
    • sales_tax_percent
    • sales_tax_state
    • sales_tax_title
    • final_payment_due
    • issued
    • language_code
    • currency_code
    • payment_confirmation_text
    • client_note
    • invoice_template_id
    • created
    • last_updated
    • client_contact - Object with properties
      • id
      • first_name
      • last_name
      • email
      • phone
      • business_name
      • notes
      • third_party_id
      • brand_id
      • brand_name
      • address
        • street_line_1
        • street_line_2
        • city
        • state_province
        • postal_code
        • country
        • id
      • tags - array of strings