{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"30d9d33b-aed5-49af-9a80-181d02642c77","name":"CloudPick External APIs","description":"# Overview\r\nThis API document will walk you through the process on how to call CloudPick via API.\r\n\r\n# Methods and Resources\r\n| Method | Resource | Description |\r\n| --- | --- | --- |\r\n| `GET` | `/session` | For API authentication only. |\r\n| `POST` | `/pickdetailimport` | To import orders to be processed by CloudPick. |\r\n| `POST` | `/query` | To query your data contained within CloudPick. |\r\n\r\n# Authentication\r\nIn order to make any API request to CloudPick, you must retrieve a JWT token using your API Keys. The JWT token is valid for 24 hours after issuance. \r\n\r\n## Getting your JWT Token\r\nUsing your API keys from your sales rep, make a `GET` request to the `/session` resource with the following headers:\r\n\r\n| Key | Value | Description | Resource | Method |\r\n|--- | --- | --- | --- | --- |\r\n|Authorization | `api_token` | Your CloudPick API token | Session | `GET` |\r\n| X-API-Key | `api_key` | Your CloudPick API key | Session <br /> Query <br /> PickDetailImport | `GET` <br /> `POST` |\r\n\r\n## API Endpoint\r\n| Endpoint URL | Description | Version |\r\n| --- | --- | --- |\r\n| {{url}} | CloudPick API Endpoint | 1.0.0 |\r\n\r\n## Request Headers\r\nTo make a `POST` request to CloudPick resources `/query` or `/pickdetailimport` you must include the following in your headers:\r\n\r\n| Key | Value | Description | Resource | Method |\r\n|--- | --- | --- | --- | --- |\r\n|Authorization | `jwt_token` | Your CloudPick jwt token | Query <br /> PickDetailImport | `POST` |\r\n| X-API-Key | `api_key` | Your CloudPick API key | Session <br /> Query <br /> PickDetailImport | `GET` <br /> `POST` |\r\n\r\n# Response Codes\r\n|  Code   | Description  |\r\n|---|---|\r\n| 200 OK  | The request was successfully processed.  |\r\n| 201 Created  | The request has been fulfilled and resulted in a new resource being created.  |\r\n| 400 Bad Request  | The request could not be understood by the server due to malformed syntax.  |\r\n| 401 Unauthorized  | The necessary authentication credentials are not present in the request or are incorrect.  |\r\n| 404 Not Found  | The resource was not found but could be available again in the future.  |\r\n| 422 Unprocessable Entity  | The request body was well-formed but contains semantical errors. The response body will provide more details in the errors or error parameters.  |\r\n| 500 Internal Server Error  |  The server encountered an unexpected condition which prevented it from fulfilling the request. |\r\n\r\n# Rate limit\r\nYou are limited to 100 requests per second and 10,000 requests per day. \r\n\r\n# CloudPickQL Search Syntax\r\nThis section provides information on the syntax for building your search query in CloudPickQL.\r\n\r\n## Query Info\r\nBelow is a list of queries that are currently available.  Please see each for more detailed information on list of fields supported.\r\n- PickDetail\r\n- PickLedger\r\n\r\n```json\r\n\"QueryInfo\":{\r\n       \"Query\":\"PickLedger\"\r\n    }\r\n```\r\n\r\n## Field Selection Info\r\nAt this time we do not support the selection of specific fields.\r\n\r\n```json\r\n\"FieldSelectionInfo\":{\r\n       \"FieldSelection\": null\r\n    }\r\n```\r\n\r\n## Records Info\r\nYou can control the number of records you receive in the response.  You can use this as pagination for a list of records that may be paged through.\r\n\r\n```json\r\n\"RecordsInfo\":{\r\n       \"RecordsFirst\": 30\r\n    }\r\n```\r\n\r\n## Paging Info\r\nYou can use paging info to support pagination where required.\r\n\r\n```json\r\n\"PagingInfo\":{\r\n       \"CursorValue\": null\r\n    }\r\n```\r\n\r\n## Filter Info\r\nYou can use filters to drive the selection of the records you want to see.  Using fields from the available query set, you use comparators and values to make the selection.  You may use as many filters as you need to construct your query. When using more than one filter it is implied that you are performing an AND query search. \r\n\r\n```json\r\n\"FilterInfo\":[\r\n       {\r\n          \"FilterFields\": {\r\n                \"Field\":\"PL.Transaction\",\r\n                \"Comparator\":\"eq:Picked\"\r\n           }\r\n        },\r\n        {\r\n        \t\"FilterFields\": {\r\n        \t    \"Field\":\"PL.UserID\",\r\n                \"Comparator\":\"eq:DREWJ\"\r\n        \t}\r\n        }\r\n```\r\n\r\n### Filter Info Comparators\r\nWithin the 'FilterInfo' section you will be using comparators to filter on specific data. This is a list of the available comparators.\r\n\r\n|Comparator   | Description  | Example  |\r\n|---|---|---|\r\n| EQ  | Query will look for vlaues that are equal to the comparison value.  | \"Field\":\"PD.CartNumber\", \"Comparator\":\"eq:9DC3E8F4\"  |\r\n| NE  | Query will look for values that are not equal to the comparison value.     | \"Field\":\"PD.Barcode\", \"Comparator\":\"ne:790458\" |\r\n| LT  | Query will look for values that are less than the comparison value.  | \"Field\":\"PD.PickLocation\", \"Comparator\":\"lt:CP00106G\" |\r\n| GT  | Query will look for values that are greater than the comparison value.  | \"Field\":\"PD.QuantityToPick\", \"Comparator\":\"gt:0\" |\r\n| LE  | Query will look for values that are less than or equal to the comparison value.  | \"Field\":\"PD.CartonID\", \"Comparator\":\"le:12345678\" |\r\n| GE  | Query will look for values that are greater than or equal to the comparison value.  | \"Field\":\"PD.QuantityPick\", \"Comparator\":\"ge:5\" |\r\n| RANGE | Query will look for values that within a range of two comparison values.  Query will be inclusive of the two range values.  | \"Field\":\"PD.ImportedDateTime\", \"Comparator\":\"range:2019-07-01-00.00.00.000000:2019-07-31-00.00.00.000000\" |\r\n| LIST  | Query will look for values that match a list of comparison values.  | \"Field\":\"PD.PickedBy\", \"Comparator\":\"list:JOHND:JANED:JACKD\" |\r\n| NLIST  | Query will look for values that do not match a list of comparison values.  | \"Field\":\"PD.PickedBy\", \"Comparator\":\"nlist:JOHND:JANED:JACKD\" |\r\n| LIKE  | Query will look for values that match a comparison value with a wildcard (&ast;).  Wildcard may be placed at the beginning of the string, the end of the string, or both. | \"Field\":\"PD.ItemAlias02\", \"Comparator\":\"like:&ast;Alias02&ast;\" |\r\n| NLIKE  | Query will look for values that do not match a comparison value with a wildcard (&ast;).  Wildcard may be placed at the beginning of the string, the end of the string, or both. | \"Field\":\"PD.ItemAlias02\", \"Comparator\":\"nlike:&ast;Alias02&ast;\" |\r\n\r\n## Group Info\r\nGrouping is used when retrieving summary information in the request.  Use grouping as a level break on the summarized totals.  The group should match the sort in this instance.\r\n\r\n```json\r\n\"GroupInfo\": [\r\n        {\r\n            \"GroupFields\": {\r\n                \"Field\": \"PD.CartonID\"\r\n            }\r\n        }\r\n    ]\r\n```\r\n## Sort Info\r\nYou may control the sequencing of records in the response using sortation.  The system supports ascending and descending.  You must use the same sequence on all fields in order to comply with the rules of pagination.\r\n\r\n```json\r\n\"SortInfo\": [\r\n        {\r\n            \"SortFields\": {\r\n                \"Field\": \"PD.LineID\",\r\n                \"Order\": \"ascending\"\r\n            }\r\n        }\r\n    ]\r\n```\r\n|Sort | Description  | Example  |\r\n|---|---|---|\r\n| Ascending | Sort the data returned in ascending order. | \"Field\":\"PD.PickedDateTime\", \"Order\":\"ascending\" |\r\n| Descending | Sort the data returned in descending order. | \"Field\":\"PD.PickedDateTime\", \"Order\":\"descending\" |\r\n\r\n## Pagination\r\nYou can make multiple requests to pull additional records if your initial request had further records it could have sent.  Your initial response will include a Boolean value for “HasNextPage” indicating whether additional information is available.  To retrieve the additional information, you can re-send the original request and include the “LastCursorValue” from the previous response.  This system will respond with the next set of records.  You can continue this process until the “HasNextPage” is false.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"9153015","collectionId":"30d9d33b-aed5-49af-9a80-181d02642c77","publishedId":"SVtYRmNr","public":true,"publicUrl":"https://developers.mycloudpick.com","privateUrl":"https://go.postman.co/documentation/9153015-30d9d33b-aed5-49af-9a80-181d02642c77","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","version":"8.10.1","publishDate":"2020-04-09T15:46:39.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/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":"https://mycloudpick.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://developers.mycloudpick.com/view/metadata/SVtYRmNr"}