{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"599fc639-4121-4f0c-9a1f-ade55be23cea","name":"XP Azul","description":"This API allows creating your own front end or advanced integration into your systems to process files and folders managed by XP Azul.\n\n# Authentication\n\nPlease request your **customer_id**, **token_key** and **customer_id_token** directly from us to use the API. Throughout the documentation **customer_id** refers to you as the customer of xpAzul.\n\n# Security\n\nAll API calls must be over secure HTTPS.\n\nFor added security send the **customer_id**, **token_key** and **customer_id_token** via POST, not as parameters in the URL.\n\nAny other parameter, you may send either in the URL itself (HTTPS GET) or in the body of the HTTPS POST. HTTPS encrypts parameters in the URL anyway as they travel through the Internet but they are by default stored unencrypted in server access logs, browser history and referrer headers.\n\n## Rate Limits\n\nPlease be kind :)\n\nIf you experience 403 forbidden messages it probably means the firewall has rate limited your requests for a few seconds; please add a 200 milisecond delay to your API calls and limit the amount of simultaneous requests to give the server some breathing room. If this delay is not acceptable please contact us to provision special infrastructure for your requirements.\n\n# Testing the API\n\nWe don't offer a Sandbox environment as you would have to recreate all documents and templates in an alternate account for full testing. What we recommend is that you create a new user and call it for example \"Test user\", then you can assign all the created folders in your tests to that user using your own real documents and real templates. Once you are done testing, just archive all folders from this test user and in your code now assign the correct production user as the folder's owner (owner_id) and you're live!\n\nIn our typical configuration, users only see their own folders (folders where they are the owner_id) so folders from the test user won't show up in other user accounts.\n\nIf you would like to see what your code actually sends, you can use the tool [https://pipedream.com/](https://) to create a mock endpoint and view what your code sends.\n\n# Integration Tips\n\nUsually customers initially request\n\n1. _Send all the customer uploaded files to their archiving system as soon as they are uploaded_. We don't really recommed this as documents must be validated first to be sure they are correct, so we suggest to wait until all the requirements inside a folder have been completed. This is because documents uploaded by the customer could be wrong and need to follow the correction flow inside xpAzul so your archiving system could end up with many incorrect documents. Also, we suggest waiting until all the folder has been successfully completed to make sure you only store documents from completed processes and not end up storing garbage. Documents usually only last 30-90 days before they legally expire so you don't really need to archive them for posterity in your own platform. At any time you can re-open a folder in XP Azul if you desire and continue from where you left off.\n    \n2. _Send all the documents to their archiving platform and categorize them using their standards_. This usually requieres allot of integration and technical effort and many customers sadly don't succeed. Our recommendation is to leave the documents inside xpAzul and just save a link to the folder inside your platform or a link to the specific requirement inside your platform. This is way much easier and simpler to do. Just store in system something like: [https://sistema.expedienteazul.com/expedienteazul/folder/FOLDER_ID/edit/DOCUMENT_ID](https://sistema.expedienteazul.com/expedienteazul/folder/FOLDER_ID/edit/DOCUMENT_ID) where you can leave DOCUMENT_ID empty and just link directly to the entire FOLDER_ID\n    \n3. We do have a Zapier.com module that you can use, Zapier can be pricy in very large settings but for smaller operations it is very affordable and has great debugging tools and retry prolicies.\n    \n\n# Digital Signature Integrations\n\n### Obtain requirement IDs that require data\n\nWhen we configured digital signature requirements for you, we sent you an email of the requirements that must have data and be valid in order to start a digital signature flow.\n\nYou will need to get the _document_id_ of each one of these requirements. In the web app, go to the _Requirements_ section, find the requirement and select to edit. In the URL you will see a number, this will the the _document_id_.\n\nYou will also need _document_id_ of the requirement where you need to place the PDF file to sign, the name of this requirement was also supplied in the email.\n\n### Configure the signers\n\nUsing the [Update document meta data](https://documenter.getpostman.com/view/4012340/RVtxKsJs#a1b8c2fc-89d3-4b13-8070-587e7c46321e) endpoint you can update the name (field_id:1) and email (field_id:2) of a party who needs to sign and _Update the status of a document_ to set the status to _valid_. The _document_ids_ required for each flow are the ones you obtained in the previous section. It is possible you will need to call the [Update document meta data](https://documenter.getpostman.com/view/4012340/RVtxKsJs#a1b8c2fc-89d3-4b13-8070-587e7c46321e) endpoint various times, one for each signer as each signer will be in a different _document_id_.\n\n### Upload the PDF to sign\n\nFinally, after configuring the signers, upload the PDF to sign to the signature requirement using the [Upload file](https://documenter.getpostman.com/view/4012340/RVtxKsJs?version=latest#4fbcd2de-7080-4691-9259-964e7716cf07) endpoint. Accessing this requirement from the document vault should produce the signature screen.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"4012340","team":10544885,"collectionId":"599fc639-4121-4f0c-9a1f-ade55be23cea","publishedId":"RVtxKsJs","public":true,"publicUrl":"https://documenter-api.postman.tech/view/4012340/RVtxKsJs","privateUrl":"https://go.postman.co/documentation/4012340-599fc639-4121-4f0c-9a1f-ade55be23cea","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","version":"8.10.0","publishDate":"2018-11-06T16:55:55.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/deadd7267c519204b6958da12f0e2a6490522581e7c33408989ecbbeebc79bca","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"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/RVtxKsJs"}