{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"f73df043-1cf7-4e61-81f7-c7beb6e1ff7d","name":"Pandra API","description":"## Welcome developers !\n\nThis API can be used outside of lemanager.app. You need to create an account for free on [https://pandra.app](https://pandra.app), once your account created you must create your company and modify the restriction settings. If you want to integrate the API into another project, you must change the usage restrictions from your lemanager.app account. You have the option to restrict the API by host, by default only lemanager.app is allowed to communicate with your data.\n\n# Customizing GET results\n\nYou can customize the results of the \"Get list\" and \"Get one\" routes.\n\nBy default these routes will return you a minimum of information such as name and identifier. You may sometimes need to obtain more information on a given. For that you have several methods to select the data to display, to filter them and to sort them.\n\n# Use predefined templates\n\nEach \"Get list\" and \"Get one\" route has at least 3 templates.\n\n\\*   default (minimum information)\n\\*   base (a little more useful information)\n\\*   full (all the information)\n    \n\n**To select a template you can simply add parameters at the end of the route:**\n\n\\*   ?template=base\n\\*   ?template=full\n    \n\nThe default template does not need to be specified because it is used as a base in the case where no parameters are defined.\n\n# Use the field selector\n\nIf the choice of theme is not sufficient, you can define the fields to return yourself.\n\n**To do this you must add this in parameters at the end of the route:**\n\n\\*   ?select={{field}} (for a field)\n\\*   ?select={{field}}**{{otherField}}**{{otherField}} (for a set of controls)\n    \n\nThe double underscore separator \"__\" is used to indicate an AND. \"This field AND this field AND this field\", etc.\n\n**For example:**\n\n\\*   ?select=name__description__updatedAt\n    \n\nThis will return something like:\n\n```\n{\n    \"id\": \"123456789\"\n    \"name\": \"Data name\",\n    \"description\": \"Description of the data\",\n    \"updatedAt\": \"AAAA-MM-DDTXX:XX:XX.XX7Z\"\n}\n\n```\n\n**Important :** You cannot use both the theme method and the selection method.\n\n# Filter data\n\nIn case you use a \"Get list\" route you might need to filter the data.\n\n**For this we will need two separators:**\n\n\\*   __ (double underscore)\n\\*   \\== (double equals)\n    \n\nAs for the field selector, the double underscore \"__\" allows you to add AND.  \nThe double equals \"==\" meanwhile, allows you to indicate a value to filter.\n\n**Here is an example:**\n\n\\*   ?filter=name=={{value}} (to filter on a single data)\n\\*   ?filter=name=={{value}}__date==YYYY-MM-DD (to filter several data)\n    \n\n# Sort the result of a list\n\nBy default the results are often sorted by name in an increasing way (a to z) or by date or by number depending on the road concerned. The default sort is indicated in the documentation for each route.\n\nIt is possible to modify the sort of the result, you can add as many sorts as you wish, it will then be sorted in the order you have chosen.\n\n**For this we will need two separators:**\n\n\\*   __ (double underscore)\n\\*   \\== (double equals)\n    \n\nAs for the field selector, the double underscore \"__\" allows you to add AND.  \nThe double equals \"==\" meanwhile, allows you to indicate the value to be filtered.\n\n**Here is an example:**\n\n\\*   ?sort=createdAt==-1\n\\*   ?sort=createdAt==-1__name==1\n    \n\n_1 = Ascending order (a to z)**-1 = Descending order (z to a)_\n\nThe first criterion sorts the results in order of decreasing date on the value \"createdAt\"  \nThe second criterion sorts the results in ascending order on the value \"name\"\n\n# Show linked data depths\n\nAmong the results that will be returned to you, some values ​​can be simple identifiers linking your data to another. To save an additional request to know the content of this identifier you can use this method.\n\n**Let's take an example of a result that you could obtain in a classic way:**\n\n```\n{\n    \"id\": \"123456789\",\n    \"name\": \"Data name\",\n    \"description\": \"Description of the data\",\n    \"otherDataId\": \"12345\"\n}\n\n```\n\nYou want to obtain the content of the data present in your \"otherDataId\" key. You can ask the API to return these values ​​using the parameters at the end of the route like the filter, sort, and field picker.\n\n**For this we will need a single separator:**\n\n\\*   __ (double underscore)\n    \n\nAs for the field selector, the double underscore \"__\" allows you to add AND.\n\n**Here is an example:**\n\n\\*   ?populate=otherData\n\\*   ?populate=otherData__secondData\n    \n\nYou will notice that the key to indicate must not contain the last two characters (no \"Id\", \"otherDataId\" becomes \"otherData\".\n\nThis will return you to the place of the previous object, this one:\n\n```\n{\n    \"id\": \"123456789\",\n    \"name\": \"Data name\",\n    \"description\": \"Description of the data\",\n    \"otherDataId\": \"12345\",\n    \"otherData\": {\n        \"name\": \"Other data name\",\n        \"amount\": 10.00\n    }\n}\n\n```\n\n## Example case\n\n**If we take everything that was said before, here are examples of requests that you could be brought to make:**\n\n\\*   {{route}}?filter=name==My keyword\n\\*   {{route}}?filter=name==My keyword&sort=createdAt==-1__name==1\n\\*   {{route}}?filter=name==My keyword&sort=createdAt==-1__name==1&populate=otherData\n\\*   {{route}}?filter=name==My keyword&sort=createdAt==-1__name==1&populate=otherData&template=base\n\\*   {{route}}?filter=name==My keyword&sort=createdAt==-1__name==1&populate=otherData&select=name__description__amount__updatedAt\n    \n\nThis same route but with different settings will give you totally different results.\n\nGood work !","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"2851498","team":193769,"collectionId":"f73df043-1cf7-4e61-81f7-c7beb6e1ff7d","publishedId":"RzZAkJnL","public":true,"publicUrl":"https://developers.pandra.app","privateUrl":"https://go.postman.co/documentation/2851498-f73df043-1cf7-4e61-81f7-c7beb6e1ff7d","customColor":{"top-bar":"2a2f41","right-sidebar":"2a2f41","highlight":"00CF76"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.11.6","publishDate":"2022-09-20T22:43:09.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"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/479914a28bdde523b1d19a750316d0696c1ab013f7c622b2ee76e8c23b0d8607","favicon":"https://res.cloudinary.com/postman/image/upload/v1611160822/team/pmdtjy4n75vncdc1ijue.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://developers.pandra.app/view/metadata/RzZAkJnL"}