{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"024b71ca-778e-4e34-a93e-be2aee333b72","name":"Crackle-API v1.0.2","description":"![Crackle API](https://www.crackle.com/config/avod/images/logo1x.png)\n\n# Overview\n\nCrackle+ is an AVOD streaming service that has millions of viewers across the United States. It is accessible on web, mobile, game consoles, and connected TV devices. Crackle+ V2 API enables you to display content online or extend your own application(s) with cloud based Crackle+ media catalog. You can browse, retrieve and play variety of Crackle Platform content in the platform of your choice. Various sets of APIs allows you to load genre, load content curation and search for the content. \n\n## Features\n\nCrackle+ Partners, who implement API will be able to load up the application configuration, that will contain all of the required parameters in order to successfully operate on the content, including Ads and Streaming configurations\n\nCrackle+ Users are able to login to the system using the number of social providers (Google, Facebook, apple, etc..) in addition to the standard user name and password\n\nThis API is a replacement to the current V1 API system and have a number of improvements, such as performance, maintainability and standardization.\n\n# API Guidelines\n\nAll Crackle+ API submissions are via the HTTP commands POST, PUT, GET, and DELETE. Crackle API is organized around REST and uses HTTP verbs and response codes that most clients are familiar with. In general our API follows REST conventions regarding the placement of arguments in a query string or in a request body. \n\nAll requests must be formatted as Content-Type: `application/json` (except where noted).\n\nAll responses are also formatted JSON, encoded in the UTF-8 character encoding (`Content-Type: application/json; charset=utf-8`).\n\nThe Accept header will be ignored for all requests, and JSON will be generated regardless\n\n## GEO Restrictions\n\nWhile using Crackle+ API, its possible to pass `region` as a header parameter to command the API to filter result sets based on the specific region, in `PRODUCTION`, ***AKAMAI IS GEO BLOCKING THIS HEADER SO IT WILL ALWAYS SET THE CODE FROM WHERE THE REQUEST WAS MADE***\n\nFor example, if you are trying to watch Crackle+ in Japan the header `'region: us'` will be replaced by Akamai with `'region: jp'` or equivalent\n\n## API Response\n\nAPI will always send the following headers back\n\n| Name                          \t| Value             \t|                                                                \t|\n|-------------------------------\t|-------------------\t|----------------------------------------------------------------\t|\n| Content-Type                  \t| application/json  \t|                                                                \t|\n| Access-Control-Allow-Headers' \t| *                 \t|                                                                \t|\n| Access-Control-Allow-Origin   \t| *                 \t|                                                                \t|\n| Access-Control-Allow-Methods  \t| *                 \t|                                                                \t|\n| Cache-Control                 \t| max-age=${maxAge} \t| for successful responses the value is 3600, for failures its 0 \t|\n\n\n## Error Codes\n\nWhen an error is encountered you will receive an HTTP status code along with a message in the body of the response. The message is intended to give a user-friendly explanation of the error.  \n\nWe currently supports the following status codes for errors:\n\n| Name \t| Description                                                                            \t|\n|------\t|----------------------------------------------------------------------------------------\t|\n| 400  \t| Bad Request – The request contains errors.                                             \t|\n| 401  \t| Unauthorized – The authentication process failed, or the access token is not valid.    \t|\n| 403  \t| Forbidden – Access to this resource is restricted for the given caller.                \t|\n| 404  \t| Not Found – The specified resource could not be found.                                 \t|\n| 500  \t| Internal Server Error – There was a problem with the API host server. Try again later. \t|\n\n\n# Recommended Integration Flow\n\nEven though Api calls could be perform in any particular order, there are some generic recommendations\n\n## Home Page Loading\n### Load Application Configuration\n```shell\ncurl --location --request GET 'https://api-v2.crackle.com/appconfig/4feff02f-9c08-4570-9c77-52c789d6c127' \\\n--header 'Accept: application/json'\n```\n### Load Home Page Hero\n\nTo load Hero, please fire up the following API call\n```shell\ncurl --location --request GET 'https://api-v2.crackle.com/curations/hero' \\\n--header 'platformId: 4feff02f-9c08-4570-9c77-52c789d6c127' \\\n--header 'region: us'\n```\n\n### Load Home Page Metadata (Page Curation)\n```shell\ncurl --location --request GET 'https://api-v2.crackle.com/curations/124/status/Live/page/Homepage'\n```\n### Discover Content for individual Rows of the Home Page metadata\nBased on the results of the previous call, look for an array of blocks, each block represent a row on the page\n```\n\"items\": [{\n            \"partnerQuery\": \"Site: Vizio New.\",\n            ....\n            \"page\": {\n                \"name\": \"Homepage\",\n                \"blocks\": [\n                   {\n                        \"id\": 10304149,\n                        \"position\": 1,\n                        \"type\": \"Playlist\",\n                        \"title\": \"Spotlight Channel\",\n                        \"isFeatureLiveVideoUrlService\": null,\n                        \"config\": \"{\\\"source\\\":{\\\"id\\\":2134459,\\\"name\\\":\\\"ID# 2134459 - Spotlight Channel\\\"}}\",\n                        \"source\": {\n                            \"id\": 2134459,\n                            \"name\": \"Spotlight Channel\",\n                            \"url\": \"https://prod-apim-vpl-us-sc.azure-api.net/contentdiscovery/list/playlist/2134459?startsOn=2021-07-26T16:00:32&geoCode=AS&tenantId=1000001&api-version=1.0&nocache=true&Limit=50\",\n                            \"urlV2\": \"https://api-v2.crackle.com/contentdiscovery/list/playlist/2134459?Limit=20\"\n                        },\n                        ....\n                   }\n                 ]\n\n```\nIn the Blocks, depending on the type of the block `Playlist` or `Feed` load the appropriate list of items from `items:page:blocks[n]:source:urlV2`\n\n### Load Content Items from individual Rows\n\nFrom the above step, get the url request for the Playlist and use it to load the content items\n\n```shell\ncurl --location --request GET 'https://api-v2.crackle.com/contentdiscovery/list/playlist/2131253?Limit=3'\n```","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"31420","collectionId":"024b71ca-778e-4e34-a93e-be2aee333b72","publishedId":"UUxtGWus","public":true,"publicUrl":"https://api-v2-doc.crackle.com","privateUrl":"https://go.postman.co/documentation/31420-024b71ca-778e-4e34-a93e-be2aee333b72","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2021-10-25T16:43:44.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"Crackle-Api STG v1.0.2","id":"ec850094-5ea3-44c7-aab6-8d8330c53374","owner":"4979143","values":[{"key":"gatewayuri","value":"adipisicin","enabled":true},{"key":"authorization","value":"E541805B82F49B8570F05D7A2B1D3D0A37F67FC1|202101221701|20|1","enabled":true},{"key":"baseUrl","value":"https://stg-api-v2.crackle.com","enabled":true},{"key":"deviceId","value":"321312123","enabled":true},{"key":"channelId","value":"3479","enabled":true},{"key":"feedId","value":"10000046","enabled":true},{"key":"playlistId","value":"2131253","enabled":true},{"key":"searchstring","value":"Startup","enabled":true},{"key":"keyword","value":"god","enabled":true},{"key":"partnerId","value":"124","enabled":true},{"key":"status","value":"Live","enabled":true},{"key":"page","value":"Homepage","enabled":true},{"key":"channeltype","value":"shows","enabled":true},{"key":"platformId","value":"4feff02f-9c08-4570-9c77-52c789d6c127","enabled":true},{"key":"contentId","value":"71542CEC-4C09-4AF7-86EB-5E27BD55F226","enabled":true},{"key":"episodeId","value":"00952329-2e8f-4096-a703-9ff8564484b5","enabled":true},{"key":"movieId","value":"60E3E918-B638-4263-AE08-374B44D29491","enabled":true},{"key":"serieId","value":"71542CEC-4C09-4AF7-86EB-5E27BD55F226","enabled":true},{"key":"geoCode","value":"us","enabled":true},{"key":"heroPartnerId","value":"124","enabled":true},{"key":"channelTypeMovies","value":"movies","enabled":true},{"key":"mockUrl","value":"https://b1c79aef-8a8b-4189-878f-dcf3f494e842.mock.pstmn.io","enabled":true},{"key":"playbackContentId","value":"7d36f39b-5fc1-4b6c-ac20-2dc8dd98d4d8","enabled":true},{"key":"comingsoonChanneltype","value":"movie","enabled":true},{"key":"recommendationChanneltype","value":"movie","enabled":true}],"published":true}],"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/0f60fb9278a5ad1cfd751c5df540822fa928f77dbb8282132a0b7c74e64f227a","favicon":"https://crackle.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"},{"label":"Crackle-Api STG v1.0.2","value":"4979143-ec850094-5ea3-44c7-aab6-8d8330c53374"}],"canonicalUrl":"https://api-v2-doc.crackle.com/view/metadata/UUxtGWus"}