{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"0bdec95c-3a5d-4e09-8511-9cd3feac0297","name":"Shotflow Public API","description":"ShotFlow’s Enterprise Content Production Platform provides a unique set of capabilities for scaled visual content production across brands and their studio, vendor, post-production partners and broader composable tech stack. ShotFlow is an “API first” platform that relies on our API for all activity within the system. ShotFlow provides this public subset of our APIs to clients to support custom integration projects between ShotFlow and other client Systems of Record.\n\nEffective January 2025, ShotFlow has implemented the following API Policy to ensure client success on our platform. This policy reflects the collective best interest of our clients for foundational performance and stability.\n\n## **API Policy**\n\n- **Enterprise tier clients will have exclusive access** to our Client API and associated sandbox environment for developing and testing API integrations.\n    \n- **All new API integration will require sign off by ShotFlow Development prior to production deployment** to ensure the ShotFlow app and integration is optimized for stability and performance.\n    \n    - Enterprise clients can continue to develop and test in a sandbox environment\n        \n    - Once ready, Clients can request this API tech review through our support ticketing system providing business objectives, details of APIs to be used, tables and fields to be accessed and/or updated, and any other nuances of the integration.\n        \n    - ShotFlow development will run a comprehensive tech review and either provide approval of the production deployment timeframe or required critical changes to be implemented before launch.\n        \n    - In order to ensure launch project timelines, API integrations should be submitted 2 weeks in advance of a deployment date.\n        \n- A Rate Limiting capability will be implemented to protect the system from receiving more data than it can handle while ensuring equitable distribution of system resources. These changes will be communicated to clients currently using the API once we have finalized the timing.\n    \n\n**Important:** Abuse of this Policy may result in the shutting down of API capabilities. This extreme measure will be done for the purpose of ensuring stability of all our clients.\n\n# Authentication\n\nAuthenticating to the ShotFlow API requires the user to submit an email and password via the `POST: /users/token` request.\n\nUpon a successful authentication, the response contains a token which must then be set in the headers for each request with the key: **api-token**.\n\n#### Example Authentication:\n\nPath: `POST: /users/token`\n\nRequest Body:\n\n``` json\n{\n  \"email\" : \"user@shotflow.com\",\n  \"password\" : \"password\"\n}\n\n ```\n\nResponse:\n\n``` json\n{\n    \"success\": true,\n    \"data\": {\n        \"token\": \"f602a83ddff15d4061a3455cfad61530702190dfe68c23e29743f0fe69ae4eac001d03a769c72b37\"\n    }\n}\n\n ```\n\nAdd this token as api-token header to your requests.\n\n# Queries/Options\n\n## Query Operators\n\n#### Comparison Operators\n\n| Operator | Description |\n| --- | --- |\n| $ct | Matches values that are partially equal to specified value(s). |\n| $nct | Matches all values that are not partially equal to specified value(s). |\n| $em | Matches values that are empty. |\n| $nem | Matches values that are not empty. |\n| $eq | Matches values that are equal to a specified value. |\n| $neq | Matches all values that are not equal to a specified value. |\n| $gt | Matches values that are greater than a specified value. |\n| $gte | Matches values that are greater than or equal to a specified value. |\n| $in | Matches any of the values specified in an array. |\n| $nin | Matches any of the values specified not in an array. |\n| $lt | Matches values that are less than a specified value. |\n| $lte | Matches values that are less than or equal to a specified value. |\n\nAll textual comparisons are case-insensitive.\n\n#### Logical Operators\n\n| Operator | Description |\n| --- | --- |\n| $and | Joins query cluases with a logical AND returns all records that match the conditions of both clauses. |\n| $or | Joins query clauses with a logical OR returns all records that match the conditions of either clause. |\n\n## Query Functions\n\n| Function | Description | Example |\n| --- | --- | --- |\n| today | Use today's date, optionally set the modifier and interval (minutes, hours, days, months or years) from today's date. If the field being compared to is \"Date\" then only the date is generated. However if field being compared to is \"Date and Time\" then both the date and time is generated which effects the outcome of the comparison being made. Time intervals cannot be applied to date fields and will be automatically omitted. | today() _or_ today(-1, days) |\n| week | Use current week, optionally set the modifier from current week. | week() _or_ week(-1) |\n\n## Query Options\n\n| Option | Description |\n| --- | --- |\n| limit | Numeric value to limit records returned. |\n| offset | Numeric value to set offset of records being returned. |\n| order | The field UUID(s) to order by. Optionally you can have an array of objects containing the field UUID and order direction (asc or desc). |\n| timezone | Timezone to apply when querying against timestamp fields. Examples: \"America/Los_Angeles\" - Pacific Time Zone (PST), \"America/Denver\" - Mountain Time Zone (MST), \"America/Chicago\" - Central Time Zone (CST), \"America/New_York\" - Eastern Time Zone (EST). This does not modify the format of data being returned. |\n| total | Boolean value, whether to return total record count along with queried records. |\n\n## Notes\n\n- You can replace the field uuid in a query with a wildcard selector (\\*) to apply query to all fields. When a wildcard selector is used, fields provided in the request are queried. If no fields are provided in the request then all table/view fields are queried.\n    \n\n## Examples\n\n#### Request\n\n``` json\n{\n     \"fields\": [\n          \"f717abf8-db35-430b-9a10-6ad9a877c571\",\n          \"9c51ddf8-5691-4025-b034-ca142976004b\"\n     ],\n     \"query\": {\n          \"9c51ddf8-5691-4025-b034-ca142976004b\": {\n               \"$ct\": \"001\"\n          }\n     },\n     \"options\": {\n          \"order\": \"9c51ddf8-5691-4025-b034-ca142976004b\",\n          \"limit\": 20\n     }\n}\n\n ```\n\n#### SQL\n\n``` sql\nSELECT \"f717abf8-db35-430b-9a10-6ad9a877c571\", \"9c51ddf8-5691-4025-b034-ca142976004b\"\nFROM {table}\nWHERE \"9c51ddf8-5691-4025-b034-ca142976004b\" LIKE '%001%'\nORDER BY \"9c51ddf8-5691-4025-b034-ca142976004b\"\nLIMIT 20;\n\n ```\n\n#### Request\n\n``` json\n{\n     \"query\": {\n          \"2a51f996-0341-497f-8095-fc2dda8d6264\": {\n               \"$in\": [\n                    \"295672\",\n                    \"295673\",\n                    \"295674\"\n               ]\n          },\n          \"2078b57b-d27f-4bf3-8e4d-f20657e6e23c\": {\n               \"$eq\": \"On-Figure\"\n          }\n     }\n}\n\n ```\n\n#### SQL\n\n``` sql\nSELECT *\nFROM {table}\nWHERE \"2a51f996-0341-497f-8095-fc2dda8d6264\" IN ('295672', '295673', '295674')\nAND \"2078b57b-d27f-4bf3-8e4d-f20657e6e23c\" = 'On-Figure';\n\n ```\n\n#### Request\n\n``` json\n{\n     \"query\": {\n          \"2a51f996-0341-497f-8095-fc2dda8d6264\": {\n               \"$in\": [\n                    \"295672\",\n                    \"295673\",\n                    \"295674\"\n               ]\n          },\n          \"$or\": [\n               {\n                    \"2078b57b-d27f-4bf3-8e4d-f20657e6e23c\": {\n                         \"$eq\": \"Laydown\"\n                    }\n               },\n               {\n                    \"e2f1017d-3451-4f85-bb62-94a7bc3a1c6d\": {\n                         \"$eq\": \"Salieu Jalloh\"\n                    }\n               }\n          ]\n     }\n}\n\n ```\n\n#### SQL\n\n``` sql\nSELECT *\nFROM {table}\nWHERE \"2a51f996-0341-497f-8095-fc2dda8d6264\" IN ('295672', '295673', '295674')\nAND (\"2078b57b-d27f-4bf3-8e4d-f20657e6e23c\" = 'Laydown' OR \"e2f1017d-3451-4f85-bb62-94a7bc3a1c6d\" = 'Salieu Jalloh');\n\n ```\n\n#### Request\n\n```\n{\n     \"query\": {\n          \"2a51f996-0341-497f-8095-fc2dda8d6264\": {\n               \"$in\": [\n                    \"295672\",\n                    \"295673\",\n                    \"295674\"\n               ]\n          },\n          \"$or\": [\n               {\n                    \"2078b57b-d27f-4bf3-8e4d-f20657e6e23c\": {\n                         \"$eq\": \"Laydown\"\n                    }\n               },\n               {\n                    \"$and\": [\n                         {\n                              \"e2f1017d-3451-4f85-bb62-94a7bc3a1c6d\": {\n                                   \"$eq\": \"Salieu Jalloh\"\n                              }\n                         },\n                         {\n                              \"5406368e-b587-4a40-b361-162a22bac98a\": {\n                                   \"$eq\": \"04-11-2016\"\n                              }\n                         }\n                    ]\n               }\n          ]\n     }\n}\n\n ```\n\n#### SQL\n\n``` sql\nSELECT *\nFROM {table}\nWHERE \"2a51f996-0341-497f-8095-fc2dda8d6264\" IN ('295672', '295673', '295674')\nAND (\"2078b57b-d27f-4bf3-8e4d-f20657e6e23c\" = 'Laydown' OR (\"e2f1017d-3451-4f85-bb62-94a7bc3a1c6d\" = 'Salieu Jalloh' AND \"5406368e-b587-4a40-b361-162a22bac98a\" = '04-11-2016'))\n\n ```\n\n# Requests","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"21629906","collectionId":"0bdec95c-3a5d-4e09-8511-9cd3feac0297","publishedId":"UzBqpkDN","public":true,"publicUrl":"https://developer.shotflow.com","privateUrl":"https://go.postman.co/documentation/21629906-0bdec95c-3a5d-4e09-8511-9cd3feac0297","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"dark","themes":[{"name":"dark","logo":"https://content.pstmn.io/ad9bebef-7aab-4e27-9ac8-5f2d9fa612d9/U2hvdGZsb3dfTG9nb180Y3doaXRlLnBuZw==","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":"https://content.pstmn.io/e02b6a82-e912-43b7-bf11-aa1e1608ae36/U2hvdGZsb3dfTG9nb180Y2JsYWNrLnBuZw==","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"}}]}},"version":"8.10.1","publishDate":"2025-01-22T14:03:13.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/e02b6a82-e912-43b7-bf11-aa1e1608ae36/U2hvdGZsb3dfTG9nb180Y2JsYWNrLnBuZw==","logoDark":"https://content.pstmn.io/ad9bebef-7aab-4e27-9ac8-5f2d9fa612d9/U2hvdGZsb3dfTG9nb180Y3doaXRlLnBuZw=="}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/7dcbf4ed22a1f92cad1d9f14559b7f8bbe097c07ff368453191442d278b05f8f","favicon":"https://shotflow.com/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://developer.shotflow.com/view/metadata/UzBqpkDN"}