{"id":642,"date":"2026-01-06T19:59:53","date_gmt":"2026-01-06T19:59:53","guid":{"rendered":"https:\/\/camilo.matajira.com\/?p=642"},"modified":"2026-01-08T10:44:30","modified_gmt":"2026-01-08T10:44:30","slug":"using-powens-api-to-fetch-documents-like-mobile-phone-bills","status":"publish","type":"post","link":"https:\/\/camilo.matajira.com\/?p=642","title":{"rendered":"Using Powens&#8217; API to fetch my Free Mobile phone bills"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Introduction<\/h3>\n\n\n\n<p>In this post I followed the powens API documentation to retrieve my mobile phone provider bills automatically.<\/p>\n\n\n\n<p>Powens is a company known for OpenBanking solutions, mainly the aggregation of user banking transactions and financial assets, but it also has a product called &#8220;Trust&#8221; that allows you to download periodically documents from your Banks, Government Authorities, Utility companies etc.<\/p>\n\n\n\n<p>Powens does all this leveraging the power of the opensource framework <a href=\"https:\/\/woob.tech\/\">https:\/\/woob.tech\/<\/a>.<\/p>\n\n\n\n<p>You can find the integrations (aka connectors) supported by Powens in the following link <a href=\"https:\/\/institutions.powens.com\/\">https:\/\/institutions.powens.com\/<\/a>. Perhaps the most interesting are listed in the &#8220;Bank&#8221; and &#8220;Wealth&#8221; products. Below are some of the connectors for &#8220;Trust&#8221;.<\/p>\n\n\n\n<p>Integrating connectors from &#8220;Bank&#8221;, &#8220;Wealth&#8221; and &#8220;Trust&#8221; follows the same logic, in this post I would use the integration to Free Mobile.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"888\" src=\"https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/image-1024x888.png\" alt=\"\" class=\"wp-image-662\" srcset=\"https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/image-1024x888.png 1024w, https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/image-300x260.png 300w, https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/image-768x666.png 768w, https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/image.png 1218w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Registering an Application in Powens<\/h3>\n\n\n\n<p>The first step is to register myself in https:\/\/console.powens.com, actvate the Free Mobile &#8220;connector&#8221; and follow the workflow to create an &#8220;application&#8221;.<\/p>\n\n\n\n<p>Screenshot below shows the activation of the Free Mobile connectors:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"932\" height=\"747\" src=\"https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251218214032.png\" alt=\"\" class=\"wp-image-644\" srcset=\"https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251218214032.png 932w, https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251218214032-300x240.png 300w, https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251218214032-768x616.png 768w\" sizes=\"auto, (max-width: 932px) 100vw, 932px\" \/><\/figure>\n\n\n\n<p>This screnshot shows my client application<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"996\" height=\"387\" src=\"https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154500.png\" alt=\"\" class=\"wp-image-645\" srcset=\"https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154500.png 996w, https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154500-300x117.png 300w, https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154500-768x298.png 768w\" sizes=\"auto, (max-width: 996px) 100vw, 996px\" \/><\/figure>\n\n\n\n<p>Once the application is created, Powens provides you with a client_id and a client_secret.<\/p>\n\n\n\n<p>Remember, Powens is in the B2B business. When you log in, you are a &#8220;company&#8221; integrating Powens: You are configuring Powens so that your clients (or you personally) can use Powens&#8217; services.<\/p>\n\n\n\n<p>The &#8220;user&#8221; in this sense is the person who&#8217;s data is going to be fetched by Powens. In this case, it&#8217;s me, since I want to download my mobile phone bills.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Creating a &#8220;User&#8221; and Getting an Auth Token<\/h3>\n\n\n\n<p>With the following request, we can create a user. Bear in mind that cam.biapi.pro is the name of the domain that I choose when setting up my account in powens. &#8220;cam&#8221; are my initials, and biapi.pro is powens&#8217; domain.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>curl --header 'Content-Type: application\/json' \\\n     --data '{\"client_id\": \"xxx\", \"client_secret\": \"yyy\"}' \\      \n     https:\/\/cam.biapi.pro\/auth\/init<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #50FA7B\">curl<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">--header<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Content-Type: application\/json<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">\\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">     <\/span><span style=\"color: #BD93F9\">--data<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">{&quot;client_id&quot;: &quot;xxx&quot;, &quot;client_secret&quot;: &quot;yyy&quot;}<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">\\ <\/span><span style=\"color: #F8F8F2\">     <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">     <\/span><span style=\"color: #50FA7B\">https:\/\/cam.biapi.pro\/auth\/init<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>The response is the following:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>{\n   \"auth_token\": \"very_long_token\", \n   \"type\": \"permanent\", \n   \"id_user\": 47\n }<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F8F8F2\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   <\/span><span style=\"color: #8BE9FE\">&quot;<\/span><span style=\"color: #8BE9FD\">auth_token<\/span><span style=\"color: #8BE9FE\">&quot;<\/span><span style=\"color: #FF79C6\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">very_long_token<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">, <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   <\/span><span style=\"color: #8BE9FE\">&quot;<\/span><span style=\"color: #8BE9FD\">type<\/span><span style=\"color: #8BE9FE\">&quot;<\/span><span style=\"color: #FF79C6\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">permanent<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F8F8F2\">, <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">   <\/span><span style=\"color: #8BE9FE\">&quot;<\/span><span style=\"color: #8BE9FD\">id_user<\/span><span style=\"color: #8BE9FE\">&quot;<\/span><span style=\"color: #FF79C6\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">47<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\"> }<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>This auth_token is a permanent token, and uniquely identifies the user. No personal data (name, address, etc.) is provided to Powens at this stage.<\/p>\n\n\n\n<p>As a &#8220;company&#8221;, I would need to store that secret, and associate it to the information I have of my client. This token is the only way to retrieve this clients information.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Creating an Anonymous Temporary Token and Using the Webview<\/h3>\n\n\n\n<p>The next step is to create an anonymous version of the &#8220;very_long_token&#8221; received before. Why? Because it&#8217;s a secret, and given that we are going to put that token in a web browser we want more security<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>curl -XGET --header 'Authorization: Token very_long_token' https:\/\/cam.biapi.pro\/2.0\/auth\/token\/code\n{\n  \"code\": \"another_very_long_token\",\n  \"type\": \"temporary\",\n  \"access\": \"standard\",\n  \"expires_in\": 1800\n}\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #50FA7B\">curl<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">-XGET<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">--header<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Authorization: Token very_long_token<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F1FA8C\">https:\/\/cam.biapi.pro\/2.0\/auth\/token\/code<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #50FA7B\">&quot;code&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">another_very_long_token<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #50FA7B\">&quot;type&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">temporary<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #50FA7B\">&quot;access&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">standard<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #50FA7B\">&quot;expires_in&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">1800<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>With this new &#8220;another_very_long_token&#8221; I can create connections on behalf &#8220;very_long_token&#8221;. And this token is temporary with a predetermined expiration.<\/p>\n\n\n\n<p>With this information, I can now create the webview url:<br>https:\/\/webview.powens.com\/connect?domain=cam.biapi.pro&amp;client_id=XXX&amp;redirect_uri=https:\/\/example.com\/&amp;connector_capabilities=document&amp;code=another_very_long_token<\/p>\n\n\n\n<p>This will redirect me to this screen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"792\" height=\"757\" src=\"https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154641.png\" alt=\"\" class=\"wp-image-646\" srcset=\"https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154641.png 792w, https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154641-300x287.png 300w, https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154641-768x734.png 768w\" sizes=\"auto, (max-width: 792px) 100vw, 792px\" \/><\/figure>\n\n\n\n<p>I choose Free Mobile. And then provide my username and password for Free mobile. I am prompted to suply an SMS code that arrives to my phone.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"792\" height=\"757\" src=\"https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154840.png\" alt=\"\" class=\"wp-image-647\" srcset=\"https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154840.png 792w, https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154840-300x287.png 300w, https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154840-768x734.png 768w\" sizes=\"auto, (max-width: 792px) 100vw, 792px\" \/><\/figure>\n\n\n\n<p><br>And then, Powens fetches all my documents available in Free. I am prompted to see what info I am interested in. I chose all:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"792\" height=\"757\" src=\"https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154926.png\" alt=\"\" class=\"wp-image-648\" srcset=\"https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154926.png 792w, https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154926-300x287.png 300w, https:\/\/camilo.matajira.com\/wp-content\/uploads\/2026\/01\/Pasted-image-20251217154926-768x734.png 768w\" sizes=\"auto, (max-width: 792px) 100vw, 792px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Retrieving the Documents<\/h3>\n\n\n\n<p>Then, with the &#8220;very_long_token&#8221;, I can get the list of all documents that Powens has fetched for me and the download link:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>curl -XGET --header 'Authorization: Token very_long_token' https:\/\/cam.biapi.pro\/2.0\/users\/me\/documents\/ -s | jq .\n{\n  \"first_date\": \"2025-12-18\",\n  \"last_date\": \"2025-12-18\",\n  \"documents\": &#91;\n    {\n      \"id\": 68,\n      \"id_type\": 5,\n      \"id_category\": null,\n      \"id_user\": 47,\n      \"id_subscription\": 16,\n      \"id_file\": 151,\n      \"id_thumbnail\": 152,\n      \"name\": \"Facture D\u00e9cembre 2025\",\n      \"timestamp\": \"2025-12-18 13:48:12\",\n      \"date\": null,\n      \"duedate\": null,\n      \"total_amount\": -2.0000000000,\n      \"untaxed_amount\": null,\n      \"vat\": null,\n      \"income\": false,\n      \"readonly\": true,\n      \"webid\": \"2493263439\",\n      \"number\": \"2493263439\",\n      \"issuer\": \"Free Mobile\",\n      \"last_update\": \"2025-12-18 13:48:12\",\n      \"has_file_on_website\": true,\n      \"currency\": {\n        \"id\": \"EUR\",\n        \"symbol\": \"\u20ac\",\n        \"prefix\": false,\n        \"crypto\": false,\n        \"precision\": 2,\n        \"marketcap\": null,\n        \"datetime\": null,\n        \"name\": \"Euro\"\n      },\n      \"type\": \"bill\",\n      \"url\": \"https:\/\/cam.biapi.pro\/2.0\/users\/me\/documents\/68\/file\/2493263439.pdf\",\n      \"thumb_url\": \"https:\/\/cam.biapi.pro\/2.0\/users\/me\/documents\/68\/thumbnail\/2493263439_thumbnail.png\"\n    },\n    (...)\n  &#93;,\n  \"total\": 3\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #50FA7B\">curl<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">-XGET<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">--header<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Authorization: Token very_long_token<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F1FA8C\">https:\/\/cam.biapi.pro\/2.0\/users\/me\/documents\/<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">-s<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #FF79C6\">|<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #50FA7B\">jq<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F1FA8C\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #50FA7B\">&quot;first_date&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">2025-12-18<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #50FA7B\">&quot;last_date&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">2025-12-18<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #50FA7B\">&quot;documents&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> &#91;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;id&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">68<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;id_type&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">5<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;id_category&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F1FA8C\">null,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;id_user&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">47<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;id_subscription&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">16<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;id_file&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">151<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;id_thumbnail&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">152<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;name&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Facture D\u00e9cembre 2025<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;timestamp&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">2025-12-18 13:48:12<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;date&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F1FA8C\">null,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;duedate&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F1FA8C\">null,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;total_amount&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">-2.0000000000,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;untaxed_amount&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F1FA8C\">null,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;vat&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F1FA8C\">null,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;income&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">false<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;readonly&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">true<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;webid&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">2493263439<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;number&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">2493263439<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;issuer&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Free Mobile<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;last_update&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">2025-12-18 13:48:12<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;has_file_on_website&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">true<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;currency&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F1FA8C\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #50FA7B\">&quot;id&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">EUR<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #50FA7B\">&quot;symbol&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">\u20ac<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #50FA7B\">&quot;prefix&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">false<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #50FA7B\">&quot;crypto&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">false<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #50FA7B\">&quot;precision&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">2<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #50FA7B\">&quot;marketcap&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F1FA8C\">null,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #50FA7B\">&quot;datetime&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F1FA8C\">null,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">        <\/span><span style=\"color: #50FA7B\">&quot;name&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">Euro<\/span><span style=\"color: #E9F284\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      },<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;type&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">bill<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;url&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">https:\/\/cam.biapi.pro\/2.0\/users\/me\/documents\/68\/file\/2493263439.pdf<\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">      <\/span><span style=\"color: #50FA7B\">&quot;thumb_url&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&quot;<\/span><span style=\"color: #F1FA8C\">https:\/\/cam.biapi.pro\/2.0\/users\/me\/documents\/68\/thumbnail\/2493263439_thumbnail.png<\/span><span style=\"color: #E9F284\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    },<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">    (<\/span><span style=\"color: #8BE9FD\">...<\/span><span style=\"color: #F8F8F2\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  &#93;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">  <\/span><span style=\"color: #50FA7B\">&quot;total&quot;<\/span><span style=\"color: #8BE9FD\">:<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">3<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F8F8F2\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Then, with the &#8220;very_long_token&#8221; I proceed to download one of the documents:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#282A36\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#F8F8F2;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>curl -XGET --output my.pdf --header 'Authorization: Token very_long_token' https:\/\/cam.biapi.pro\/2.0\/users\/me\/documents\/70\/file\/2493263439.pdf<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #50FA7B\">curl<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">-XGET<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">--output<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F1FA8C\">my.pdf<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #BD93F9\">--header<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F1FA8C\">Authorization: Token very_long_token<\/span><span style=\"color: #E9F284\">&#39;<\/span><span style=\"color: #F8F8F2\"> <\/span><span style=\"color: #F1FA8C\">https:\/\/cam.biapi.pro\/2.0\/users\/me\/documents\/70\/file\/2493263439.pdf<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>And now I have my pdfs, and not only this, Powens will keep fetching the documents for me.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Conclusion<\/h3>\n\n\n\n<p>Powens provides an easy and secure way to retrieve documents from multiple sources in Europe and specially in France. <\/p>\n\n\n\n<p>All these steps can seem to be an overkill just for a personal usage, but the extra complexity is for your and your users&#8217; security. <\/p>\n\n\n\n<p>The same type of integration can be done for financial data from banks and other institutions that manage financial assets.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In this post I followed the powens API documentation to retrieve my mobile phone provider bills automatically. Powens is a company known for OpenBanking solutions, mainly the aggregation of user banking transactions and financial assets, but it also has a product called &#8220;Trust&#8221; that allows you to download periodically documents from your Banks, Government&#8230;<\/p>\n","protected":false},"author":1,"featured_media":655,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-642","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projects"],"_links":{"self":[{"href":"https:\/\/camilo.matajira.com\/index.php?rest_route=\/wp\/v2\/posts\/642","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/camilo.matajira.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/camilo.matajira.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/camilo.matajira.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/camilo.matajira.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=642"}],"version-history":[{"count":8,"href":"https:\/\/camilo.matajira.com\/index.php?rest_route=\/wp\/v2\/posts\/642\/revisions"}],"predecessor-version":[{"id":663,"href":"https:\/\/camilo.matajira.com\/index.php?rest_route=\/wp\/v2\/posts\/642\/revisions\/663"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/camilo.matajira.com\/index.php?rest_route=\/wp\/v2\/media\/655"}],"wp:attachment":[{"href":"https:\/\/camilo.matajira.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/camilo.matajira.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/camilo.matajira.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}