{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"a09d5dd6-c05a-44c6-9b73-26a0d9944eec","name":"TP API (Third Party API)","description":"The Loquis TP API is intended to expose a subset of loquis functionalities to those third parties willing to integrate in their platforms.\n\nThe API is a server-to-server one, requiring a private API key for each request, that mustn't be shared with client parts.\n\nCurrently exposed features are:\n\n- List loquis, eventually using a filter\n    \n- Get a specific loquis, by its id\n    \n- Get info for playing a loquis audio to a visitor\n    \n- Report the visitor finished listening to a loquis audio\n    \n\n# Authorization\n\nAuthorization for endpoints is obtained by providing in each request the following HTTP header:\n\n`Authorization: Bearer API_KEY`\n\nIn case of missing or wrong API key, a `401 Unauthorized` status is returned.\n\n# Quotas\n\nIf the assigned quota has been exceeded, any API call will result in a `429 Quota exceeded` response.\n\n# Success responses\n\nSuccess responses have `200` or `201` status code (depending on the specific endpoint), content type `application/json` UTF-8 encoded, and a body whose structure is:\n\n``` json\n{\n  \"status\": \"ok\",\n  \"result\": ...\n}\n\n ```\n\nThe result field presence and type depend on the specific endpoint.\n\n# Error responses\n\nError responses are in the `4xx` and `5xx` status ranges, content type `application/json` UTF-8 encoded, and a body whose structure is:\n\n``` json\n{\n  \"status\": \"error\",\n  \"error_code\": \"...\",\n  \"error_message\": \"...\"\n}\n\n ```\n\n`4xx` codes are usually referred to caller-related issues, for example resource not found, bad input etc.\n\n`5xx` codes are usually referred to service-related issues, for example internal server errors, ongoing maintenance etc.\n\n## General errors\n\nBelow error status codes and responses are shared among different endpoints:\n\n- HTTP status `400`: bad request\n    \n    - `error_code` in the form of `input:field_name` to specify which input field is affected, and `error_description` with a human readable message.\n        \n- HTTP status `401`: not authorized, check your API key.\n    \n- HTTP status `404`: endpoint non found, or resource non found.\n    \n- HTTP status `429`: over quota.\n    \n\n# Timestamps\n\nJSON encoded timestamps adopt this kind of formatting:\n\n`2012-04-23T18:25:43.511Z`\n\nAll provided timestamps are to be intended as UTC ones.\n\n# Dynamic width images\n\nMost of image URLs returned by this API could include a `{{width}}` placeholder. For example:\n\n`https://cdn.loquis.com/prod/channels/pictures/48ae18db-bd7a-4b26-ad15-de91a8dcbfd1-{{width}}.jpg`\n\nThe call must replace the `{{width}}` placeholder with a with value in pixel which conforms to its current needs. For example, it can use a with of 300 for a thumbnail, or a 1024 width for a full size image:\n\n- 300: [https://cdn.loquis.com/prod/channels/pictures/48ae18db-bd7a-4b26-ad15-de91a8dcbfd1-300.jpg](https://cdn.loquis.com/prod/channels/pictures/48ae18db-bd7a-4b26-ad15-de91a8dcbfd1-300.jpg)\n    \n- 1024: [https://cdn.loquis.com/prod/channels/pictures/48ae18db-bd7a-4b26-ad15-de91a8dcbfd1-1024.jpg](https://cdn.loquis.com/prod/channels/pictures/48ae18db-bd7a-4b26-ad15-de91a8dcbfd1-1024.jpg)\n    \n\nIt's not guarantee that the returned image will exactly the requested width: the server will pick and return on the fly the one whose width is closer to the requested one.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"29478696","team":5509172,"collectionId":"a09d5dd6-c05a-44c6-9b73-26a0d9944eec","publishedId":"2s9YeN2U1E","public":true,"publicUrl":"https://documenter-api.postman.tech/view/29478696/2s9YeN2U1E","privateUrl":"https://go.postman.co/documentation/29478696-a09d5dd6-c05a-44c6-9b73-26a0d9944eec","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"3a7e5c"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/2dbea826-9fb6-40c5-af65-db13615e86c1/bG9nby1sb3F1aXMucG5n","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"3a7e5c"}},{"name":"light","logo":"https://content.pstmn.io/2dbea826-9fb6-40c5-af65-db13615e86c1/bG9nby1sb3F1aXMucG5n","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"3a7e5c"}}]}},"version":"8.12.3","publishDate":"2023-12-06T17:00:40.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/2dbea826-9fb6-40c5-af65-db13615e86c1/bG9nby1sb3F1aXMucG5n","logoDark":"https://content.pstmn.io/2dbea826-9fb6-40c5-af65-db13615e86c1/bG9nby1sb3F1aXMucG5n"}},"statusCode":200},"environments":[{"name":"03 - Prod","id":"bd090691-2fb7-49c5-ad2a-909ab25ec21f","owner":"29478696","values":[{"key":"base_url","value":"https://tp-api.loquis.com","enabled":true,"type":"default"},{"key":"api_key","value":"API_KEY","enabled":true,"type":"default"},{"key":"language","value":"it","enabled":true,"type":"default"},{"key":"visitor_id","value":"VISITOR_ID","enabled":true,"type":"default"},{"key":"visitor_ua","value":"Mozilla/5.0 (Linux; Android 14) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.43 Mobile Safari/537.36","enabled":true,"type":"default"},{"key":"visitor_latitude","value":"41.8896385","enabled":true,"type":"default"},{"key":"visitor_longitude","value":"12.4915013","enabled":true,"type":"default"},{"key":"loquis_id","value":"1287","enabled":true,"type":"default"},{"key":"loquis_play_ref","value":"PLAY_REF","enabled":true,"type":"default"},{"key":"channel_id","value":"CHANNEL_ID","enabled":true,"type":"default"},{"key":"playlist_id","value":"PLAYLIST_ID","enabled":true,"type":"default"}],"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/bab328e1504453ef2c74f4116ad8c4f0e3626c25abc76cd10d7f0fd4dcd528da","favicon":""},"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":"03 - Prod","value":"29478696-bd090691-2fb7-49c5-ad2a-909ab25ec21f"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2s9YeN2U1E"}