{"info":{"_postman_id":"5a2f85fb-1f57-47f9-ab77-8c829abd7ec7","name":"WantToPay API","description":"<html><head></head><body><p>The WantToPay API is designed to provide companies with the ability to issue, manage, and retrieve information related to their cards. With a set of RESTful endpoints, the API allows you to:</p>\n<ol>\n<li><p><strong>Create a New Card</strong>: Issue a new card with a specified starting balance, which is critical for managing financial operations. The card is created with unique details such as card ID, expiration date, PAN (Primary Account Number), and CVV, all of which are returned upon successful creation.</p>\n</li>\n<li><p><strong>Retrieve Card Balance</strong>: Fetch the current balance of a specific company card. This feature enables businesses to monitor and manage card funds effectively, retrieving balance and currency details in real-time.</p>\n</li>\n<li><p><strong>Get Card Details</strong>: Retrieve essential card details, including the PAN (Primary Account Number), expiration date, and CVV, crucial for card-related transactions and security measures.</p>\n</li>\n</ol>\n<h1 id=\"authorization-rules\"><strong>Authorization Rules</strong></h1>\n<p>To access the API, you must authenticate your requests by including an <strong>Authorization</strong> token in the header of each request. This token serves as your identity, allowing the server to verify that your request comes from an authenticated source.</p>\n<h3 id=\"how-to-use-the-authorization-token\">How to Use the Authorization Token</h3>\n<p>For every API request that requires authentication, include the <strong>Bearer token</strong> in the request header in the following format:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer {your-token-here}\n\n</code></pre><p>Replace <code>{your-token-here}</code> with your actual <strong>Bearer token</strong>. This ensures that the request is authenticated and authorized to proceed.</p>\n<h3 id=\"what-happens-if-the-token-is-missing\">What Happens if the Token is Missing?</h3>\n<p>If the <strong>Authorization</strong> token is missing or invalid, the server will respond with a <strong>401 Unauthorized</strong> error. This means that the request was not authenticated and you do not have the necessary permissions to access the requested resource.</p>\n<p>Example of a <strong>401 Unauthorized</strong> response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Unauthorized.\",\n  \"code\": 401\n}\n\n</code></pre><p>Make sure to include a valid token in your requests to avoid errors and ensure seamless interaction with the API.</p>\n<hr>\n<p>This provides clear, professional, and user-friendly instructions on how to authenticate requests, including the exact format and what happens if the token is not provided.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Authorization Rules","slug":"authorization-rules"}],"owner":"37169684","collectionId":"5a2f85fb-1f57-47f9-ab77-8c829abd7ec7","publishedId":"2sAYJ9BeA6","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-01-06T11:27:00.000Z"},"item":[{"name":"Create card","id":"d9e9368c-360d-410f-a7c4-10b25e07d136","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"startBalance\": \"100\"\n}","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud/api/company-card/issue","description":"<h3 id=\"this-api-request-is-used-to-issue-a-new-company-card-with-an-initial-balance\">This API request is used to issue a new company card with an initial balance.</h3>\n<p>The client specifies the starting balance and optionally a specific card product.</p>\n<p>Upon successful execution, the API returns the unique <strong>card ID</strong>, <strong>expiration date</strong>, <strong>PAN</strong>, and <strong>CVV</strong> of the newly created company card.</p>\n<p>💡 <strong>Note:</strong></p>\n<p>If you want to issue a <strong>virtual card</strong>, you must provide the <code>externalProductId</code> in the request body.</p>\n<p>To obtain this ID, please <strong>contact our support team</strong> so that we can enable and assign the corresponding virtual card product for your company.</p>\n<hr />\n<h3 id=\"endpoint\"><strong>Endpoint:</strong></h3>\n<p><strong>POST</strong><br /><code>{mainURI}/api/company-card/issue</code></p>\n<hr />\n<h3 id=\"headers\"><strong>Headers</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Authorization</strong></td>\n<td><code>Bearer {token}</code></td>\n<td>API token required to authenticate the request. The token must be valid, active, and properly scoped.</td>\n</tr>\n<tr>\n<td><strong>Content-Type</strong></td>\n<td><code>application/json</code></td>\n<td>Specifies that the request body is formatted in JSON.</td>\n</tr>\n<tr>\n<td><strong>Accept</strong></td>\n<td><code>application/json</code></td>\n<td>Indicates that the server should respond with data in JSON format.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"request-body\"><strong>Request Body</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"startBalance\": \"string\",\n  \"externalProductId\": \"string\"\n  \"externalUserId\": \"uuid\"\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>startBalance</strong></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The initial balance to be loaded into the card (e.g., <code>\"100\"</code>). Must not exceed <strong>1000</strong>.</td>\n</tr>\n<tr>\n<td><strong>externalProductId</strong></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>Optional external card product identifier.  <br />👉 Required now required parametr.  <br />To obtain this ID, contact our support team to activate and assign virtual card products for your company.</td>\n</tr>\n<tr>\n<td>externalUserId</td>\n<td><code>string</code>  <br /><code>uuid</code></td>\n<td>Yes</td>\n<td>The unique identifier of the user in your system for whom the card is being issued.  <br />Used to correctly associate the card with its owner and enable further operations such as KYC verification and card management.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"response-details\"><strong>Response Details</strong></h2>\n<hr />\n<h3 id=\"1-successful-response\"><strong>1. Successful Response</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>200 OK</code><br /><strong>Description:</strong> The card was successfully issued, and the card details are returned.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"id\": \"07c86c13-7bfd-427c-b99c-2952a6bd2cb6\",\n  \"exp\": \"12/24\",\n  \"pan\": \"4242424242424242\",\n  \"cvv\": \"123\"\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>id</strong></td>\n<td><code>string</code></td>\n<td>Unique identifier for the issued card.</td>\n</tr>\n<tr>\n<td><strong>exp</strong></td>\n<td><code>string</code></td>\n<td>Card expiration date in <code>MM/YY</code> format.</td>\n</tr>\n<tr>\n<td><strong>pan</strong></td>\n<td><code>string</code></td>\n<td>16-digit Primary Account Number (PAN) of the card.</td>\n</tr>\n<tr>\n<td><strong>cvv</strong></td>\n<td><code>string</code></td>\n<td>3-digit Card Verification Value.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"2-unauthorized-request\"><strong>2. Unauthorized Request</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>401 Unauthorized</code><br /><strong>Description:</strong> The request was not authenticated due to an invalid or missing token.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Unauthorized.\",\n  \"code\": 401\n}\n\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error description.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for unauthorized access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"3-forbidden--invalid-ip-address\"><strong>3. Forbidden — Invalid IP Address</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>403 Forbidden</code><br /><strong>Description:</strong> The request was rejected due to an invalid or unauthorized IP address.</p>\n<p><em>No response body is returned.</em></p>\n<hr />\n<h3 id=\"4-insufficient-funds\"><strong>4. Insufficient Funds</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>400 Bad Request</code><br /><strong>Description:</strong> The request failed because the company wallet has insufficient funds to cover the starting balance.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Insufficient funds\",\n  \"code\": 601\n}\n\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating lack of funds.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Custom error code (<code>601</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"5-validation-error--start-balance-exceeds-limit\"><strong>5. Validation Error — Start Balance Exceeds Limit</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>422 Unprocessable Entity</code><br /><strong>Description:</strong> The <code>startBalance</code> value exceeds the allowed maximum of 1000.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"The start balance must not be greater than 1000.\",\n  \"errors\": {\n    \"startBalance\": [\"The start balance must not be greater than 1000.\"]\n  }\n}\n\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>General validation error message.</td>\n</tr>\n<tr>\n<td><strong>errors</strong></td>\n<td><code>object</code></td>\n<td>Field-specific validation errors.</td>\n</tr>\n<tr>\n<td><strong>startBalance</strong></td>\n<td><code>array</code></td>\n<td>Detailed validation messages for the <code>startBalance</code> field.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"6-product-not-available\"><strong>6. Product Not Available</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>400 Bad Request</code><br /><strong>Description:</strong> The specified <code>externalProductId</code> is not found or not available for this company.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Product not available for this company\",\n  \"code\": 603\n}\n\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating the product is unavailable.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Custom error code (<code>603</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"7-cannot-fetch-card-pan\"><strong>7. Cannot Fetch Card PAN</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>500 Internal Server Error</code><br /><strong>Description:</strong> The card was successfully issued, but the card PAN could not be retrieved.</p>\n<p>You can request the card PAN separately using the returned <code>cardId</code>.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"The card has been successfully issued, but the card PAN could not be retrieved. Please request it by Id.\",\n  \"code\": 500,\n  \"cardId\": \"80214c45-a49f-4e9f-8646-25dc9eafee49\"\n}\n\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message with instructions for next steps.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>HTTP status code (<code>500</code>).</td>\n</tr>\n<tr>\n<td><strong>cardId</strong></td>\n<td><code>string</code></td>\n<td>ID of the successfully issued card.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"8-service-temporarily-unavailable\"><strong>8. Service Temporarily Unavailable</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>503 Service Unavailable</code><br /><strong>Description:</strong> The service is temporarily unavailable due to a system error.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Service temporarily unavailable\",\n  \"code\": 503\n}\n\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error description.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Custom error code (<code>503</code>).</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","company-card","issue"],"host":["https://wanttopay.cloud"],"query":[],"variable":[]}},"response":[{"id":"f30018b2-588d-4ad4-b562-2fbb914c5163","name":"Card created successfully","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","description":"Bearer token for authenticating the API request. Replace with a valid token.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request payload is in JSON format.","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"startBalance\": \"20\",\n  \"externalProductId\": \"product_id\",\n  \"externalUserId\": \"userId\"\n}","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud/api/company-card/issue"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Sun, 22 Dec 2024 17:11:46 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"07c86c13-7bfd-427c-b99c-2952a6bd2cb6\",\n    \"exp\": \"12/24\",\n    \"pan\": \"4242424242424242\",\n    \"cvv\": \"123\"\n}"},{"id":"5b689f89-c0d2-45c9-9c34-5fc927867c57","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer ","description":"Bearer token for authenticating the API request. Replace with a valid token.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request payload is in JSON format.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"startBalance\": \"10\"\n}","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud/api/company-card/issue"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Mon, 23 Dec 2024 17:58:45 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Unauthorized.\",\n    \"code\": 401\n}"},{"id":"e3a35b7f-8580-4c01-aaa4-64d4383a70c2","name":"Insufficient funds","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","description":"Bearer token for authenticating the API request. Replace with a valid token.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request payload is in JSON format.","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"startBalance\": \"1000\"\n}","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud/api/company-card/issue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Mon, 23 Dec 2024 18:01:40 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Insufficient funds\",\n    \"code\": 600\n}"},{"id":"089877e6-2519-4e7d-96a1-0fa5c3a144b6","name":"Validation Error","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","description":"Bearer token for authenticating the API request. Replace with a valid token.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request payload is in JSON format.","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"startBalance\": \"1001\"\n}","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud/api/company-card/issue"},"status":"Unprocessable Content","code":422,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Mon, 23 Dec 2024 19:09:46 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"The start balance must not be greater than 1000.\",\n    \"errors\": {\n        \"startBalance\": [\n            \"The start balance must not be greater than 1000.\"\n        ]\n    }\n}"},{"id":"d5702d89-06d9-4541-9d64-86e692ee1fac","name":"Cant Fetch Cad Pan","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{your tioken here}}","type":"text"},{"key":"Cf-Connecting-Ip","value":"127.0.0.1","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\n  \"startBalance\": \"100\"\n}","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud/api/company-card/issue"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.27"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Thu, 06 Feb 2025 17:58:42 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"The card has been successfully issued, but the card PAN could not be retrieved.Please request it by Id: 80214c45-a49f-4e9f-8646-25dc9eafee49\",\n    \"code\": 603\n}"},{"id":"4be0f7a8-69d8-4fda-a62f-505e9f44c1c9","name":"Product Not Available For This Company","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1}","type":"text"},{"key":"Cf-Connecting-Ip","value":"127.0.0.1","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\n  \"startBalance\": \"100\",\n  \"externalProductId\": \"{your_product_id_here}\"\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:8886//api/company-card/issue"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Product not available for this company\",\n    \"code\": 603\n}"}],"_postman_id":"d9e9368c-360d-410f-a7c4-10b25e07d136"},{"name":"Get card balance","id":"c26136b5-6c50-49c0-9bef-9bf8c97f2913","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{manURI}/api/company-card/{cardId}/balance","description":"<h3 id=\"this-api-request-is-used-to-retrieve-the-current-balance-of-a-specific-company-card\">This API request is used to retrieve the current balance of a specific company card.</h3>\n<p>Upon successful execution, the API returns the card's available balance and its currency.</p>\n<hr />\n<h3 id=\"endpoint\"><strong>Endpoint:</strong></h3>\n<p><strong>GET</strong><br /><code>{mainURI}/api/company-card/{cardId}/balance</code></p>\n<hr />\n<h3 id=\"headers\"><strong>Headers</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Authorization</strong></td>\n<td><code>Bearer {token}</code></td>\n<td>API token required to authenticate the request. The token must be valid, active, and properly scoped.</td>\n</tr>\n<tr>\n<td><strong>Accept</strong></td>\n<td><code>application/json</code></td>\n<td>Indicates that the server should respond with data in JSON format.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"path-parameters\"><strong>Path Parameters</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>cardId</strong></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique identifier of the card whose balance is being retrieved.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"response-details\"><strong>Response Details</strong></h2>\n<hr />\n<h3 id=\"1-successful-response\"><strong>1. Successful Response</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>200 OK</code><br /><strong>Description:</strong> The card balance was successfully retrieved.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"available_balance\": \"900.00\",\n  \"currency\": \"USD\"\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>available_balance</strong></td>\n<td><code>string</code></td>\n<td>The available balance on the card.</td>\n</tr>\n<tr>\n<td><strong>currency</strong></td>\n<td><code>string</code></td>\n<td>The currency in which the balance is denominated (e.g., USD, EUR).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"2-unauthorized-request\"><strong>2. Unauthorized Request</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>401 Unauthorized</code><br /><strong>Description:</strong> The request was not authenticated due to an invalid or missing token.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Unauthorized.\",\n  \"code\": 401\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error description.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for unauthorized access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"3-forbidden--card-does-not-belong-to-company\"><strong>3. Forbidden — Card Does Not Belong to Company</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>403 Forbidden</code><br /><strong>Description:</strong> The request was not authorized because the specified card does not belong to the requesting company.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"This action is unauthorized\",\n  \"code\": 403\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error description.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for forbidden access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"4-card-not-found\"><strong>4. Card Not Found</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>404 Not Found</code><br /><strong>Description:</strong> The specified card ID does not exist in the system.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Card not found\",\n  \"code\": 404\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating that the card does not exist.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for resource not found.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"5-failed-to-retrieve-card-balance\"><strong>5. Failed to Retrieve Card Balance</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>400 Bad Request</code><br /><strong>Description:</strong> The request failed due to an internal balance retrieval error.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Get card balance failed\",\n  \"code\": 605\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error description indicating a failure during balance retrieval.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Custom error code (605).</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","company-card","{cardId}","balance"],"host":["{manURI}"],"query":[],"variable":[]}},"response":[{"id":"b097bfb7-f10f-4632-af8c-42d94682b217","name":"Get balance successfully","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","description":"Bearer token for authenticating the API request. Replace with a valid token.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request payload is in JSON format.","type":"text"}],"url":"https://wanttopay.cloud/api/company-card/{{cardId}}/balance"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Tue, 24 Dec 2024 19:07:00 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"available_balance\": \"900.00\",\n    \"currency\": \"USD\"\n}"},{"id":"008b9976-5759-4440-9394-5afbb4e3a0a7","name":"Action not allowed for this company","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","description":"Bearer token for authenticating the API request. Replace with a valid token.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request payload is in JSON format.","type":"text"}],"url":"https://wanttopay.cloud/api/company-card/{{cardId}}/balance"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Tue, 24 Dec 2024 18:32:27 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"This action is unauthorized\",\n    \"code\": 403\n}"},{"id":"4e834c6d-438d-4e44-b64e-4a12b9dad3fd","name":"Card not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","description":"Bearer token for authenticating the API request. Replace with a valid token.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request payload is in JSON format.","type":"text"},{"key":"Accept","value":"application/json","type":"text","disabled":true}],"url":"https://wanttopay.cloud/api/company-card/{{wrong card id}}/balance"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Tue, 24 Dec 2024 18:33:51 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"58"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Card not found\",\n    \"code\": 404\n}"},{"id":"d47ea09a-9854-4615-b652-a04ebf104fd1","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{wrong or missing token}}","description":"Bearer token for authenticating the API request. Replace with a valid token.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request payload is in JSON format.","type":"text"},{"key":"Accept","value":"application/json","type":"text","disabled":true}],"url":"https://wanttopay.cloud/api/company-card/{{cardId}}/balance"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Thu, 26 Dec 2024 17:41:41 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Unauthorized.\",\n    \"code\": 401\n}"},{"id":"b9e54542-dd7d-4755-a0c6-1c47767f763b","name":"Can't get card balance","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","type":"text"}],"url":"{manURI}/api/company-card/{cardId}/balance"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.27"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Thu, 06 Feb 2025 18:39:44 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Get card balance failed\",\n    \"code\": 605\n}"}],"_postman_id":"c26136b5-6c50-49c0-9bef-9bf8c97f2913"},{"name":"Get card pan","id":"3d848315-39d5-44e2-9e8c-6eba66093b4b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{mainURI}/api/company-card/{cardId}/pan","description":"<h3 id=\"this-api-request-is-used-to-retrieve-the-primary-account-number-pan-of-a-specific-company-card\">This API request is used to retrieve the Primary Account Number (PAN) of a specific company card.</h3>\n<p>Upon successful execution, the API returns the card’s <strong>PAN</strong>, along with its <strong>ID</strong>, <strong>expiration date</strong>, and <strong>CVV</strong>.</p>\n<hr />\n<h3 id=\"endpoint\"><strong>Endpoint:</strong></h3>\n<p><strong>GET</strong><br /><code>{mainURI}/api/company-card/{cardId}/pan</code></p>\n<hr />\n<h3 id=\"headers\"><strong>Headers</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Authorization</strong></td>\n<td><code>Bearer {token}</code></td>\n<td>API token required to authenticate the request. The token must be valid, active, and properly scoped.</td>\n</tr>\n<tr>\n<td><strong>Accept</strong></td>\n<td><code>application/json</code></td>\n<td>Indicates that the server should respond with data in JSON format.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"path-parameters\"><strong>Path Parameters</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>cardId</strong></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique identifier of the card whose PAN details are being retrieved.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"response-details\"><strong>Response Details</strong></h2>\n<hr />\n<h3 id=\"1-successful-response\"><strong>1. Successful Response</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>200 OK</code><br /><strong>Description:</strong> The card PAN and related details were successfully retrieved.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"id\": \"07c86c13-7bfd-427c-b99c-2952a6bd2cb6\",\n  \"pan\": \"4242424242424242\",\n  \"exp\": \"12/24\",\n  \"cvv\": \"123\"\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>id</strong></td>\n<td><code>string</code></td>\n<td>Unique identifier of the issued card.</td>\n</tr>\n<tr>\n<td><strong>pan</strong></td>\n<td><code>string</code></td>\n<td>16-digit Primary Account Number (PAN) of the card.</td>\n</tr>\n<tr>\n<td><strong>exp</strong></td>\n<td><code>string</code></td>\n<td>Card expiration date in <code>MM/YY</code> format.</td>\n</tr>\n<tr>\n<td><strong>cvv</strong></td>\n<td><code>string</code></td>\n<td>3-digit security code (Card Verification Value).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"2-unauthorized-request\"><strong>2. Unauthorized Request</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>401 Unauthorized</code><br /><strong>Description:</strong> The request was not authenticated due to an invalid or missing token.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Unauthorized.\",\n  \"code\": 401\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error description.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for unauthorized access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"3-forbidden--invalid-company-access\"><strong>3. Forbidden — Invalid Company Access</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>403 Forbidden</code><br /><strong>Description:</strong> The request was not authorized because the specified card does not belong to the requesting company.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"This action is unauthorized\",\n  \"code\": 403\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error description.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for forbidden access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"4-card-not-found\"><strong>4. Card Not Found</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>404 Not Found</code><br /><strong>Description:</strong> The card ID provided does not exist in the system.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Card not found\",\n  \"code\": 404\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating that the specified card was not found.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for resource not found.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"5-failed-to-retrieve-card-pan\"><strong>5. Failed to Retrieve Card PAN</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>400 Bad Request</code><br /><strong>Description:</strong> The request failed due to an internal error while fetching the card PAN.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Get card pan failed\",\n  \"code\": 603\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating that the card PAN could not be retrieved.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Custom error code (<code>603</code>).</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","company-card","{cardId}","pan"],"host":["{mainURI}"],"query":[],"variable":[]}},"response":[{"id":"c519cb62-2b5c-4936-a166-cc4218c97b3e","name":"Get card pan successfully","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","description":"Bearer token for authenticating the API request. Replace with a valid token.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request payload is in JSON format.","type":"text"}],"url":"https://wanttopay.cloud/api/company-card/{{cardId}}/pan"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Tue, 24 Dec 2024 19:21:51 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"58"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"6c92bd4b-8091-4a0e-a30c-1658aab7e774\",\n    \"exp\": \"12/24\",\n    \"pan\": \"4242424242424242\",\n    \"cvv\": \"123\"\n}"},{"id":"811e93dc-43d0-4a93-ba33-b54127c40216","name":"Action not allowed for this company","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","description":"Bearer token for authenticating the API request. Replace with a valid token.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request payload is in JSON format.","type":"text"}],"url":"https://wanttopay.cloud/api/company-card/{{cardId}}/pan"},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Tue, 24 Dec 2024 19:16:28 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"This action is unauthorized\",\n    \"code\": 403\n}"},{"id":"13f4c523-7493-4d47-910e-3076c73d4981","name":"Card not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","description":"Bearer token for authenticating the API request. Replace with a valid token.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request payload is in JSON format.","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"url":"https://wanttopay.cloud/api/company-card/{{wrong card id}}/pan"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Tue, 24 Dec 2024 19:21:22 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"58"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Card not found\",\n    \"code\": 404\n}"},{"id":"0eb63aa8-6449-4349-aad9-3e4e639f371f","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 165|eUqQ73Yu3s2aG9pTtsXcnlZxVVUvvdqA2RXqxVD10050c446","description":"Bearer token for authenticating the API request. Replace with a valid token.","type":"text"},{"key":"Content-Type","value":"application/json","description":"Indicates that the request payload is in JSON format.","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"url":"http://localhost:8886/api/company-card/{cardId}/pan"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""},{"id":"a107477a-2f9e-44da-a2b8-af0010895bfb","name":"Can't fetch card pan","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","type":"text"}],"url":"https://wanttopay.cloud/api/company-card/{{cardId}}/pan"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.27"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Thu, 06 Feb 2025 18:56:27 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Get card pan failed\",\n    \"code\": 603\n}"}],"_postman_id":"3d848315-39d5-44e2-9e8c-6eba66093b4b"},{"name":"Get card transactions","id":"19ffed93-b232-4561-b45c-d4753c1ab602","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{mainURI}/api/company-card/{cardId}/transactions","description":"<h3 id=\"this-api-request-retrieves-the-transaction-history-for-a-specific-company-card\">This API request retrieves the transaction history for a specific company card.</h3>\n<p>It returns a paginated list of transactions, including transaction details such as amount, currency, merchant, and timestamp.</p>\n<hr />\n<h3 id=\"endpoint\"><strong>Endpoint:</strong></h3>\n<p><strong>GET</strong><br /><code>{mainURI}/api/company-card/{cardId}/transactions</code></p>\n<hr />\n<h3 id=\"headers\"><strong>Headers</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Authorization</strong></td>\n<td><code>Bearer {token}</code></td>\n<td>API token required to authenticate the request. The token must be valid, active, and properly scoped.</td>\n</tr>\n<tr>\n<td><strong>Accept</strong></td>\n<td><code>application/json</code></td>\n<td>Indicates that the server should respond with data in JSON format.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"path-parameters\"><strong>Path Parameters</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>cardId</strong></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique identifier of the company card whose transactions are being retrieved.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"query-parameters\"><strong>Query Parameters</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>perPage</strong></td>\n<td><code>integer</code></td>\n<td>No</td>\n<td>The number of transactions per page. Default is 15. Maximum allowed value is 100.</td>\n</tr>\n<tr>\n<td><strong>currentPage</strong></td>\n<td><code>integer</code></td>\n<td>No</td>\n<td>The current page number. Minimum allowed value is 1.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"response-details\"><strong>Response Details</strong></h2>\n<hr />\n<h3 id=\"1-successful-response\"><strong>1. Successful Response</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>200 OK</code><br /><strong>Description:</strong> The transaction history for the specified card was successfully retrieved.</p>\n<p>💡 <strong>Note:</strong></p>\n<p>The transactions are sorted by creation date in descending order — the most recent transactions appear first.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"data\": [\n        {\n            \"id\": \"3e1ec16f-e34e-43c0-bcb3-8faef9a892c3\",\n            \"type\": \"CREATION\",\n            \"datetime\": \"2025-11-07T05:22:01.000000Z\",\n            \"card_id\": \"fac7d044-62f0-49c8-8e43-23304e908224\",\n            \"fee\": null,\n            \"amount\": {\n                \"value\": 1000,\n                \"currency\": \"USD\"\n            },\n            \"merchant\": \"Card created\",\n            \"customer_friendly_description\": null\n        },\n        {\n            \"id\": \"79212fec-1562-4c2f-a473-76de955f3677\",\n            \"type\": \"CREATION\",\n            \"datetime\": \"2025-11-07T05:21:46.000000Z\",\n            \"card_id\": \"fac7d044-62f0-49c8-8e43-23304e908224\",\n            \"fee\": null,\n            \"amount\": {\n                \"value\": 1000,\n                \"currency\": \"USD\"\n            },\n            \"merchant\": \"Card created\",\n            \"customer_friendly_description\": null\n        },\n        {\n            \"id\": \"fc1cf2cc-ccc7-47fb-bda1-5b513dd9cd00\",\n            \"type\": \"AUTH\",\n            \"datetime\": \"2025-10-13T16:30:37.000000Z\",\n            \"card_id\": \"fac7d044-62f0-49c8-8e43-23304e908224\",\n            \"fee\": {\n                \"value\": 21,\n                \"currency\": \"USD\"\n            },\n            \"amount\": {\n                \"value\": 802,\n                \"currency\": \"USD\"\n            },\n            \"merchant\": \"HUDSONNEWS ST1005\",\n            \"customer_friendly_description\": null\n        },\n        {\n            \"id\": \"6fccda71-d583-464f-af51-648d640e8d1e\",\n            \"type\": \"DECLINE\",\n            \"datetime\": \"2025-10-09T13:12:56.000000Z\",\n            \"card_id\": \"fac7d044-62f0-49c8-8e43-23304e908224\",\n            \"fee\": null,\n            \"amount\": {\n                \"value\": 2100,\n                \"currency\": \"USD\"\n            },\n            \"merchant\": \"OPENAI *CHATGPT SUBSCR   +14158799686 US\",\n            \"customer_friendly_description\": null\n        }\n    ],\n    \"pagination\": {\n        \"current_page\": 1,\n        \"last_page\": 1,\n        \"per_page\": 25,\n        \"total\": 4\n    }\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>id</strong></td>\n<td><code>string</code></td>\n<td>Unique identifier for the transaction.</td>\n</tr>\n<tr>\n<td><strong>type</strong></td>\n<td><code>string</code></td>\n<td>Type of transaction (e.g., <code>AUTH</code>, <code>CREATION</code>, <code>PENDING</code>).</td>\n</tr>\n<tr>\n<td><strong>datetime</strong></td>\n<td><code>string</code></td>\n<td>Timestamp of the transaction in ISO 8601 format.</td>\n</tr>\n<tr>\n<td><strong>card_id</strong></td>\n<td><code>string</code></td>\n<td>Unique identifier of the associated company card.</td>\n</tr>\n<tr>\n<td>fee.value</td>\n<td><code>string</code></td>\n<td>Transction fee</td>\n</tr>\n<tr>\n<td>fee.currency</td>\n<td><code>string</code></td>\n<td>Currency in which the fee was made (e.g., <code>USD</code>, <code>EUR</code>).</td>\n</tr>\n<tr>\n<td><strong>amount.value</strong></td>\n<td><code>string</code></td>\n<td>Transaction amount.</td>\n</tr>\n<tr>\n<td><strong>amount.currency</strong></td>\n<td><code>string</code></td>\n<td>Currency in which the transaction was made (e.g., <code>USD</code>, <code>EUR</code>).</td>\n</tr>\n<tr>\n<td><strong>merchant</strong></td>\n<td><code>string</code></td>\n<td>Name of the merchant associated with the transaction.</td>\n</tr>\n<tr>\n<td><strong>customer_friendly_description</strong></td>\n<td>`string</td>\n<td>null`</td>\n</tr>\n<tr>\n<td><strong>pagination</strong></td>\n<td><code>object</code></td>\n<td>Pagination information (current page, total pages, etc.).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"2-unauthorized-request\"><strong>2. Unauthorized Request</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>401 Unauthorized</code><br /><strong>Description:</strong> The request was not authenticated due to an invalid or missing token.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Unauthorized.\",\n  \"code\": 401\n}\n\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error description.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>HTTP status code for unauthorized access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"3-forbidden--invalid-company-access\"><strong>3. Forbidden — Invalid Company Access</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>403 Forbidden</code><br /><strong>Description:</strong> The request was not authorized because the card does not belong to the requesting company.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"This action is unauthorized\",\n  \"code\": 403\n}\n\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error description.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>HTTP status code for forbidden access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"4-card-not-found\"><strong>4. Card Not Found</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>404 Not Found</code><br /><strong>Description:</strong> The provided card ID does not exist in the system.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Card not found\",\n  \"code\": 404\n}\n\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating the card was not found.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for not found.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"5-failed-to-retrieve-transactions\"><strong>5. Failed to Retrieve Transactions</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>400 Bad Request</code><br /><strong>Description:</strong> The request failed due to an internal error while fetching the card transactions.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Get card transactions failed\",\n  \"code\": 604\n}\n\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating failure to retrieve transactions.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Custom error code (<code>604</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"6-validation-error--invalid-pagination-parameters\"><strong>6. Validation Error — Invalid Pagination Parameters</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>422 Unprocessable Entity</code><br /><strong>Description:</strong> The request failed validation because <code>perPage</code> or <code>currentPage</code> values are invalid.</p>\n<h4 id=\"example-1--perpage-out-of-range\">Example 1 — <code>perPage</code> out of range:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"The per page must not be greater than 100 and less than 1.\",\n  \"errors\": {\n    \"perPage\": [\"The per page must not be greater than 100 and less than 1.\"]\n  }\n}\n\n</code></pre><h4 id=\"example-2--currentpage-out-of-range\">Example 2 — <code>currentPage</code> out of range:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"The current page must not be less than 1\",\n  \"errors\": {\n    \"currentPage\": [\"The current page must not be less than 1\"]\n  }\n}\n\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>General error message describing the issue.</td>\n</tr>\n<tr>\n<td><strong>errors</strong></td>\n<td><code>object</code></td>\n<td>Contains field-specific validation errors.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","company-card","{cardId}","transactions"],"host":["{mainURI}"],"query":[],"variable":[]}},"response":[{"id":"45b2089b-6e39-40c5-8680-7d1f85e0c21c","name":"Get card transactions","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{your token}}","type":"text"}],"url":{"raw":"https://wanttopay.cloud/api/company-card/{{cardId}}/transactions?perPage={{perPage}}&currentPage={{currentPage}}","protocol":"https","host":["wanttopay","cloud"],"path":["api","company-card","{{cardId}}","transactions"],"query":[{"key":"perPage","value":"{{perPage}}"},{"key":"currentPage","value":"{{currentPage}}"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Thu, 26 Dec 2024 17:02:44 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": \"3e1ec16f-e34e-43c0-bcb3-8faef9a892c3\",\n            \"type\": \"CREATION\",\n            \"datetime\": \"2025-11-07T05:22:01.000000Z\",\n            \"card_id\": \"fac7d044-62f0-49c8-8e43-23304e908224\",\n            \"fee\": null,\n            \"amount\": {\n                \"value\": 1000,\n                \"currency\": \"USD\"\n            },\n            \"merchant\": \"Card created\",\n            \"customer_friendly_description\": null\n        },\n        {\n            \"id\": \"79212fec-1562-4c2f-a473-76de955f3677\",\n            \"type\": \"CREATION\",\n            \"datetime\": \"2025-11-07T05:21:46.000000Z\",\n            \"card_id\": \"fac7d044-62f0-49c8-8e43-23304e908224\",\n            \"fee\": null,\n            \"amount\": {\n                \"value\": 1000,\n                \"currency\": \"USD\"\n            },\n            \"merchant\": \"Card created\",\n            \"customer_friendly_description\": null\n        },\n        {\n            \"id\": \"fc1cf2cc-ccc7-47fb-bda1-5b513dd9cd00\",\n            \"type\": \"AUTH\",\n            \"datetime\": \"2025-10-13T16:30:37.000000Z\",\n            \"card_id\": \"fac7d044-62f0-49c8-8e43-23304e908224\",\n            \"fee\": {\n                \"value\": 21,\n                \"currency\": \"USD\"\n            },\n            \"amount\": {\n                \"value\": 802,\n                \"currency\": \"USD\"\n            },\n            \"merchant\": \"HUDSONNEWS ST1005\",\n            \"customer_friendly_description\": null\n        },\n        {\n            \"id\": \"6fccda71-d583-464f-af51-648d640e8d1e\",\n            \"type\": \"DECLINE\",\n            \"datetime\": \"2025-10-09T13:12:56.000000Z\",\n            \"card_id\": \"fac7d044-62f0-49c8-8e43-23304e908224\",\n            \"fee\": null,\n            \"amount\": {\n                \"value\": 2100,\n                \"currency\": \"USD\"\n            },\n            \"merchant\": \"OPENAI *CHATGPT SUBSCR   +14158799686 US\",\n            \"customer_friendly_description\": null\n        }\n    ],\n    \"pagination\": {\n        \"current_page\": 1,\n        \"last_page\": 1,\n        \"per_page\": 25,\n        \"total\": 4\n    }\n}"},{"id":"ffcdaa66-e543-431a-a200-069ac907d235","name":"Action not allowed for this company","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 1547|CWIBGsHAAGqGpm9C1y2OkkiuhOwSM3DBxbKLEuRGcc694f3a","type":"text"}],"url":{"raw":"http://localhost:8886/api/company-card/6c92bd4b-8091-4a0e-a30c-1658aab7e774/transactions","protocol":"http","host":["localhost"],"port":"8886","path":["api","company-card","6c92bd4b-8091-4a0e-a30c-1658aab7e774","transactions"],"query":[{"key":"","value":null,"disabled":true}]}},"status":"Forbidden","code":403,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Thu, 26 Dec 2024 17:03:16 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"This action is unauthorized\",\n    \"code\": 403\n}"},{"id":"85f7e9fd-22eb-4665-93f4-01de3b41d8a3","name":"Card not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","type":"text"}],"url":"https://wanttopay.cloud/api/company-card/{{cardId}}/transactions"},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Thu, 26 Dec 2024 17:05:07 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Card not found\",\n    \"code\": 404\n}"},{"id":"ca3e04d4-4491-4b74-83d3-b35e680fb51d","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{wrong or missing token}}","type":"text"}],"url":"https://wanttopay.cloud/api/company-card/{{cardId}}/transactions"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.24"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Thu, 26 Dec 2024 17:24:41 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Unauthorized.\",\n    \"code\": 401\n}"},{"id":"e8124509-fd28-4ba2-9f10-5946aa4a2e50","name":"Get card trsansactions failed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","type":"text"}],"url":"https://wanttopay.cloud/api/company-card/{{cardId}}/transactions"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8886"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/8.2.27"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Thu, 06 Feb 2025 18:27:49 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"60"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Get card transactions failed\",\n    \"code\": 604\n}"}],"_postman_id":"19ffed93-b232-4561-b45c-d4753c1ab602"},{"name":"Get Company Balance","id":"00156e6c-0385-4d79-b00c-47231759180e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud/api/company/balance","description":"<h3 id=\"this-api-request-is-used-to-retrieve-the-current-balance-of-a-specific-company\">This API request is used to retrieve the current balance of a specific company.</h3>\n<p>Upon successful execution, the API returns the company’s <strong>available balance</strong> and <strong>currency</strong>.</p>\n<hr />\n<h3 id=\"endpoint\"><strong>Endpoint:</strong></h3>\n<p><strong>GET</strong><br /><code>{mainURI}/api/company/balance</code></p>\n<hr />\n<h3 id=\"headers\"><strong>Headers</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Authorization</strong></td>\n<td><code>Bearer {token}</code></td>\n<td>API token required to authenticate the request. The token must be valid, active, and properly scoped.</td>\n</tr>\n<tr>\n<td><strong>Accept</strong></td>\n<td><code>application/json</code></td>\n<td>Indicates that the server should respond with data in JSON format.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"response-details\"><strong>Response Details</strong></h2>\n<hr />\n<h3 id=\"1-successful-response\"><strong>1. Successful Response</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>200 OK</code><br /><strong>Description:</strong> The company’s balance was successfully retrieved.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"balance\": \"900.00\",\n  \"currency\": \"USD\"\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>balance</strong></td>\n<td><code>string</code></td>\n<td>The available balance of the company account.</td>\n</tr>\n<tr>\n<td><strong>currency</strong></td>\n<td><code>string</code></td>\n<td>The currency in which the balance is denominated (e.g., <code>USD</code>, <code>EUR</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"2-unauthorized-request\"><strong>2. Unauthorized Request</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>401 Unauthorized</code><br /><strong>Description:</strong> The request was not authenticated due to an invalid or missing token.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Unauthorized.\",\n  \"code\": 401\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error description indicating that authentication failed.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for unauthorized access.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","company","balance"],"host":["https://wanttopay.cloud"],"query":[],"variable":[]}},"response":[{"id":"daa2883f-c3dd-462c-a433-9970f80d274b","name":"Get Company Balance","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud/api/company/balance"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"ee006b15-d59f-484e-8e0c-c781c1532cb9","name":"Get Company Balance","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"{{wrong or missing token}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud/api/company/balance"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"message\": \"Unauthorized.\",\n    \"code\": 401\n}"}],"_postman_id":"00156e6c-0385-4d79-b00c-47231759180e"},{"name":"Get Company Cards List","id":"0785a706-a7a5-4acb-847c-580c6bda0edb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://wanttopay.cloud/api/company-card/cards","description":"<h3 id=\"this-api-request-is-used-to-retrieve-the-list-of-cards-issued-by-a-specific-company\">This API request is used to retrieve the list of cards issued by a specific company.</h3>\n<p>Upon successful execution, the API returns the company’s <strong>cards list</strong> along with pagination details.</p>\n<hr />\n<h3 id=\"endpoint\"><strong>Endpoint:</strong></h3>\n<p><strong>GET</strong><br /><code>{mainURI}/api/company-card/cards</code></p>\n<hr />\n<h3 id=\"headers\"><strong>Headers</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Authorization</strong></td>\n<td><code>Bearer {token}</code></td>\n<td>API token required to authenticate the request. The token must be valid, active, and properly scoped.</td>\n</tr>\n<tr>\n<td><strong>Accept</strong></td>\n<td><code>application/json</code></td>\n<td>Indicates that the server should respond with data in JSON format.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"query-parameters\"><strong>Query Parameters</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>perPage</strong></td>\n<td><code>integer</code></td>\n<td>No</td>\n<td>Number of cards to display per page. Default is 10. Maximum allowed value is 100.</td>\n</tr>\n<tr>\n<td><strong>currentPage</strong></td>\n<td><code>integer</code></td>\n<td>No</td>\n<td>Current page number. Minimum allowed value is 1.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"response-details\"><strong>Response Details</strong></h2>\n<hr />\n<h3 id=\"1-successful-response\"><strong>1. Successful Response</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>200 OK</code><br /><strong>Description:</strong> The list of company cards was successfully retrieved.</p>\n<blockquote>\n</blockquote>\n<p>💡 <strong>Note:</strong>  </p>\n<p>The response is sorted by card creation date in descending order — the most recently issued cards appear at the top of the list.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"data\": [\n    {\n      \"id\": \"5a7f367c-ca0f-4d9b-acd3-b82c983f0aa1\",\n      \"mask\": \"**** **** **** 1111\",\n      \"expired\": \"07/26\",\n      \"status\": \"issued\",\n      \"expire_at\": \"2025-07-03 17:00:32\",\n      \"created_at\": \"2025-07-03T17:00:36.000000Z\"\n    },\n    {\n      \"id\": \"118e7240-08ea-4a00-bd45-e0083400d1f8\",\n      \"mask\": \"**** **** **** 1111\",\n      \"expired\": \"07/26\",\n      \"status\": \"issued\",\n      \"expire_at\": \"2025-07-03 17:00:32\",\n      \"created_at\": \"2025-07-03T17:00:36.000000Z\"\n    },\n    {\n      \"id\": \"cce27176-e46c-470b-8272-5b9fa9341fa4\",\n      \"mask\": \"**** **** **** 1111\",\n      \"expired\": \"07/26\",\n      \"status\": \"issued\",\n      \"expire_at\": \"2025-07-03 17:00:32\",\n      \"created_at\": \"2025-07-03T17:00:36.000000Z\"\n    }\n  ],\n  \"pagination\": {\n    \"current_page\": 1,\n    \"last_page\": 1,\n    \"per_page\": 10,\n    \"total\": 6\n  }\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>id</strong></td>\n<td><code>string</code></td>\n<td>Unique identifier of the company card.</td>\n</tr>\n<tr>\n<td><strong>mask</strong></td>\n<td><code>string</code></td>\n<td>Masked version of the card number (e.g., <code>\"**** **** **** 1111\"</code>).</td>\n</tr>\n<tr>\n<td><strong>expired</strong></td>\n<td><code>string</code></td>\n<td>Expiration date of the card in <code>MM/YY</code> format.</td>\n</tr>\n<tr>\n<td><strong>status</strong></td>\n<td><code>string</code></td>\n<td>Current status of the card (e.g., <code>issued</code>, <code>blocked</code>, <code>frozen</code>).</td>\n</tr>\n<tr>\n<td><strong>expire_at</strong></td>\n<td><code>string</code></td>\n<td>Full expiration timestamp of the card.</td>\n</tr>\n<tr>\n<td><strong>created_at</strong></td>\n<td><code>string</code></td>\n<td>Card creation timestamp in ISO 8601 format.</td>\n</tr>\n<tr>\n<td><strong>pagination</strong></td>\n<td><code>object</code></td>\n<td>Contains pagination details for the results list.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"2-unauthorized-request\"><strong>2. Unauthorized Request</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>401 Unauthorized</code><br /><strong>Description:</strong> The request was not authenticated due to an invalid or missing token.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Unauthorized.\",\n  \"code\": 401\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error description.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for unauthorized access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"3-validation-error--invalid-pagination-parameters\"><strong>3. Validation Error — Invalid Pagination Parameters</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>422 Unprocessable Entity</code><br /><strong>Description:</strong> The request failed validation because <code>perPage</code> or <code>currentPage</code> values are invalid.</p>\n<h4 id=\"example-1--perpage-out-of-range\">Example 1 — <code>perPage</code> Out of Range:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"The per page must not be greater than 100 and less than 1.\",\n  \"errors\": {\n    \"perPage\": [\"The per page must not be greater than 100 and less than 1.\"]\n  }\n}\n\n</code></pre><h4 id=\"example-2--currentpage-out-of-range\">Example 2 — <code>currentPage</code> Out of Range:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"The current page must not be less than 1\",\n  \"errors\": {\n    \"currentPage\": [\"The current page must not be less than 1\"]\n  }\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>General error message describing the issue.</td>\n</tr>\n<tr>\n<td><strong>errors</strong></td>\n<td><code>object</code></td>\n<td>Field-specific validation errors.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","company-card","cards"],"host":["https://wanttopay.cloud"],"query":[],"variable":[]}},"response":[{"id":"3e9ef5ac-ab0a-4202-8aab-42dad738c4e7","name":"Get Company Cards List","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 2|gGmO5bLCJQrSoozSX7e5tADFq4k8xGHgKyfVuCcqa868e3a2"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"http://localhost:8886/api/company-card/cards?perPage=2&currentPage=1","protocol":"http","host":["localhost"],"port":"8886","path":["api","company-card","cards"],"query":[{"key":"perPage","value":"2"},{"key":"currentPage","value":"1"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": \"126120c1-9112-4986-bbf5-8d56b3be7e8e\",\n            \"mask\": \"**** **** **** 1111\",\n            \"expired\": \"11/26\",\n            \"status\": \"issued\",\n            \"expire_at\": \"2025-07-04 15:04:42\",\n            \"created_at\": \"2025-07-04T15:04:48.000000Z\"\n        },\n        {\n            \"id\": \"ffa81368-ca71-4cd9-90d1-8cddb8f67c40\",\n            \"mask\": \"**** **** **** 1111\",\n            \"expired\": \"11/26\",\n            \"status\": \"issued\",\n            \"expire_at\": \"2025-07-04 15:04:42\",\n            \"created_at\": \"2025-07-03T15:04:51.000000Z\"\n        }\n    ],\n    \"pagination\": {\n        \"current_page\": 1,\n        \"last_page\": 5,\n        \"per_page\": 2,\n        \"total\": 10\n    }\n}"},{"id":"52d6cbe2-b672-46e5-80b9-b146720b573a","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 2|gGmO5bLCJQrSoozSX7e5tADFq4k8xGHgKyfVuCcqa868e3a2","disabled":true},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"http://localhost:8886/api/company-card/cards"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Unauthorized.\",\n    \"code\": 401\n}"},{"id":"2dd3db31-4915-410d-82cf-295e286110df","name":"Validation Error","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 2|gGmO5bLCJQrSoozSX7e5tADFq4k8xGHgKyfVuCcqa868e3a2"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":{"raw":"http://localhost:8886/api/company-card/cards?perPage=150&currentPage=1","protocol":"http","host":["localhost"],"port":"8886","path":["api","company-card","cards"],"query":[{"key":"perPage","value":"150","type":"text"},{"key":"currentPage","value":"1","type":"text"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"The per page must not be greater than 100 and less than 1.\",\n    \"errors\": {\n        \"perPage\": [\n            \"The per page must not be greater than 100 and less than 1.\"\n        ]\n    }\n}"}],"_postman_id":"0785a706-a7a5-4acb-847c-580c6bda0edb"},{"name":"GetCompanyCard","id":"5f56994c-0d2d-45f0-9c2d-e5d6473c2ab8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"description":"<h3 id=\"this-api-request-is-used-to-retrieve-detailed-information-about-a-specific-company-card\">This API request is used to retrieve detailed information about a specific company card.</h3>\n<p>Upon successful execution, the API returns information such as the card ID, masked number, expiration date, status, and creation date.</p>\n<hr />\n<h3 id=\"endpoint\"><strong>Endpoint:</strong></h3>\n<p><strong>GET</strong><br /><code>{mainURI}/api/company-card/{cardId}/card</code></p>\n<hr />\n<h3 id=\"headers\"><strong>Headers</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Authorization</strong></td>\n<td><code>Bearer {token}</code></td>\n<td>API token required to authenticate the request. The token must be valid, active, and properly scoped.</td>\n</tr>\n<tr>\n<td><strong>Accept</strong></td>\n<td><code>application/json</code></td>\n<td>Indicates that the server should respond with data in JSON format.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"path-parameters\"><strong>Path Parameters</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>cardId</strong></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The unique identifier of the card whose information is being retrieved.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"response-details\"><strong>Response Details</strong></h2>\n<hr />\n<h3 id=\"1-successful-response\"><strong>1. Successful Response</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>200 OK</code><br /><strong>Description:</strong> The card information was successfully retrieved.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"id\": \"0fbe3e74-7f59-4fb0-ad3d-462163a6ebc2\",\n  \"mask\": \"**** **** **** 9847\",\n  \"expired\": \"10/27\",\n  \"status\": \"issued\",\n  \"created_at\": \"2025-02-06T14:07:42.000000Z\"\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>id</strong></td>\n<td><code>string</code></td>\n<td>Unique identifier of the issued card.</td>\n</tr>\n<tr>\n<td><strong>mask</strong></td>\n<td><code>string</code></td>\n<td>Masked card number showing only the last four digits.</td>\n</tr>\n<tr>\n<td><strong>expired</strong></td>\n<td><code>string</code></td>\n<td>Card expiration date in <code>MM/YY</code> format.</td>\n</tr>\n<tr>\n<td><strong>status</strong></td>\n<td><code>string</code></td>\n<td>Current status of the card. Possible values include:  <br />• <code>issued</code> — The card has been issued and is active.  <br />• <code>re-issued</code> — The card has been re-issued.  <br />• <code>re-issuing</code> — The card is currently being re-issued.  <br />• <code>need-to-reissue</code> — The card requires re-issuance.  <br />• <code>waiting-requisites</code> — Waiting for card requisites/details.  <br />• <code>requisites-pooling-failed</code> — Failed to collect requisites.  <br />• <code>refunded</code> — The card has been refunded.  <br />• <code>deleted</code> — The card has been deleted.  <br />• <code>freezed</code> — The card is temporarily frozen.  <br />• <code>temp-in-active</code> — Temporarily inactive (hyphen format).  <br />• <code>temp_in_active</code> — Temporarily inactive (underscore format).  <br />• <code>expired</code> — The card has expired.</td>\n</tr>\n<tr>\n<td><strong>created_at</strong></td>\n<td><code>string</code></td>\n<td>The date and time when the card was created (ISO 8601 format).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"2-unauthorized-request-for-company\"><strong>2. Unauthorized Request for Company</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>403 Forbidden</code><br /><strong>Description:</strong> The request was not authorized because the card does not belong to the requesting company.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"This action is unauthorized\",\n  \"code\": 403\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message describing the unauthorized access.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>HTTP status code for forbidden access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"3-card-not-found\"><strong>3. Card Not Found</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>404 Not Found</code><br /><strong>Description:</strong> The specified card ID does not exist in the system.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Card not found\",\n  \"code\": 404\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating the specified card was not found.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for not found.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"4-unauthorized-request\"><strong>4. Unauthorized Request</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>401 Unauthorized</code><br /><strong>Description:</strong> The request was not authenticated due to an invalid or missing token.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Unauthorized.\",\n  \"code\": 401\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message describing the authentication failure.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for unauthorized access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n","urlObject":{"query":[],"variable":[]},"url":""},"response":[{"id":"9dc0e10b-6d38-4ac4-9f2b-c1ec8cf2861b","name":"Get company card successfully","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"https://wanttopay.cloud/api/company-card/{{card_id}}/card"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n    \"id\": \"0fbe3e74-7f59-4fb0-ad3d-462163a6ebc2\",\n    \"mask\": \"**** **** **** 9847\",\n    \"expired\": \"10/27\",\n    \"status\": \"issued\",\n    \"created_at\": \"2025-02-06T14:07:42.000000Z\"\n}"},{"id":"6b4d1290-d3bf-46bf-99b3-34ed6ec6d0a1","name":"Card not found","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"url":"https://wanttopay.cloud/api/company-card/{{card_id}}/card"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Card not found\",\n    \"code\": 404\n}"},{"id":"b602e8c2-a9de-4bb6-a3ab-ab70d8584309","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{wrong or missing token}}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"https://wanttopay.cloud/api/company-card/{{card_id}}/card"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Unauthenticated.\"\n}"},{"id":"53def238-5bb2-4f2a-94f6-5a159b45c5b9","name":"Action not allowed for this compay","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{not token of owner card}}","type":"text"}],"url":"https://wanttopay.cloud/api/company-card/{{card_id}}/card"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"This action is unauthorized\",\n    \"code\": 403\n}"}],"_postman_id":"5f56994c-0d2d-45f0-9c2d-e5d6473c2ab8"},{"name":"Freeze Card","id":"e1cc6f27-1920-47da-9a46-721a64ceb8be","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"https://wanttopay.cloud/api/company-card/{cardId}/freeze","description":"<h3 id=\"this-api-request-is-used-to-freeze-block-a-specific-company-card\">This API request is used to freeze (block) a specific company card.</h3>\n<p>A frozen card cannot be used for any transactions until it is explicitly unfrozen.  </p>\n<p>The <code>card_id</code> is specified in the URL path.</p>\n<hr />\n<h3 id=\"endpoint\"><strong>Endpoint:</strong></h3>\n<p><strong>POST</strong><br /><code>{mainURI}/api/company-card/{card_id}/freeze</code></p>\n<hr />\n<h3 id=\"headers\"><strong>Headers</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Authorization</strong></td>\n<td><code>Bearer {token}</code></td>\n<td>API token required to authenticate the request. The token must be valid, active, and properly scoped.</td>\n</tr>\n<tr>\n<td><strong>Content-Type</strong></td>\n<td><code>application/json</code></td>\n<td>Specifies that the request body is formatted in JSON.</td>\n</tr>\n<tr>\n<td><strong>Accept</strong></td>\n<td><code>application/json</code></td>\n<td>Indicates that the server should respond with data in JSON format.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"path-parameters\"><strong>Path Parameters</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>card_id</strong></td>\n<td><code>string (UUID)</code></td>\n<td>Yes</td>\n<td>The unique identifier of the company card to freeze.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"request-body\"><strong>Request Body</strong></h3>\n<p>This endpoint does <strong>not require a request body</strong>.</p>\n<hr />\n<h2 id=\"response-details\"><strong>Response Details</strong></h2>\n<hr />\n<h3 id=\"1-successful-response\"><strong>1. Successful Response</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>200 OK</code><br /><strong>Description:</strong> The card was successfully frozen.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"id\": \"07c86c13-7bfd-427c-b99c-2952a6bd2cb6\",\n  \"mask\": \"**** **** **** 1234\",\n  \"expired\": \"12/24\",\n  \"status\": \"FREEZED\",\n  \"created_at\": \"2024-01-15T10:30:00.000000Z\"\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>id</strong></td>\n<td><code>string</code></td>\n<td>Unique identifier for the card.</td>\n</tr>\n<tr>\n<td><strong>mask</strong></td>\n<td><code>string</code></td>\n<td>Masked version of the card number.</td>\n</tr>\n<tr>\n<td><strong>expired</strong></td>\n<td><code>string</code></td>\n<td>Card expiration date in <code>MM/YY</code> format.</td>\n</tr>\n<tr>\n<td><strong>status</strong></td>\n<td><code>string</code></td>\n<td>Current card status (will be <code>\"FREEZED\"</code> after successful freeze).</td>\n</tr>\n<tr>\n<td><strong>created_at</strong></td>\n<td><code>string</code></td>\n<td>The date and time when the card was created (ISO 8601 format).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"2-unauthorized-request\"><strong>2. Unauthorized Request</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>401 Unauthorized</code><br /><strong>Description:</strong> The request was not authenticated due to an invalid or missing token.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Unauthorized.\",\n  \"code\": 401\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message describing the authentication failure.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for unauthorized access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"3-forbidden--invalid-ip-address\"><strong>3. Forbidden — Invalid IP Address</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>403 Forbidden</code><br /><strong>Description:</strong> The request was rejected due to an invalid or unauthorized IP address.</p>\n<p><em>No response body is returned.</em></p>\n<hr />\n<h3 id=\"4-card-not-found\"><strong>4. Card Not Found</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>404 Not Found</code><br /><strong>Description:</strong> The specified <code>card_id</code> does not exist in the system.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Card not found\",\n  \"code\": 404\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating that the card was not found.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for resource not found.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"5-card-already-frozen\"><strong>5. Card Already Frozen</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>400 Bad Request</code><br /><strong>Description:</strong> The card is already frozen and cannot be frozen again.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Card is already frozen\",\n  \"code\": 604\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message describing that the card is already in a frozen state.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Custom error code (<code>604</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"6-service-temporarily-unavailable\"><strong>6. Service Temporarily Unavailable</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>503 Service Unavailable</code><br /><strong>Description:</strong> The service is temporarily unavailable due to a system error.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Service temporarily unavailable\",\n  \"code\": 503\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating that the service is currently unavailable.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Custom error code (<code>503</code>).</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","company-card","{cardId}","freeze"],"host":["wanttopay","cloud"],"query":[],"variable":[]}},"response":[{"id":"8b8a0046-d127-4e40-a6d2-df2a3abc216e","name":"Freeze Card","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","type":"text"},{"key":"Accept","value":"application/json","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://wanttopay.cloud}/api/company-card/{card_id}/freeze"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"id\": \"e4898ee6-0959-4eda-a0dc-5a6270220acc\",\n    \"mask\": \"**** **** **** 6940\",\n    \"expired\": \"10/28\",\n    \"status\": \"freezed\",\n    \"created_at\": \"2025-11-04T11:31:08.000000Z\"\n}"},{"id":"35c40778-ce4a-46f2-8d0e-1263d8ace028","name":"Unauthorized","originalRequest":{"method":"POST","header":[],"url":"{mainURI}/api/company-card/{cardId}/freeze"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Unauthorized.\",\n    \"code\": 401\n}"},{"id":"b927ff6e-2d4d-4452-a331-f1e7aa53c2ae","name":"Service Unavailable","originalRequest":{"method":"POST","header":[],"url":"{mainURI}/api/company-card/{cardId}/freeze"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Service temporarily unavailable\",\n  \"code\": 503\n}\n"}],"_postman_id":"e1cc6f27-1920-47da-9a46-721a64ceb8be"},{"name":"Unfreeze Card","id":"6ec3e4cc-751c-4af4-ae76-d7a4b5a46761","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"https://wanttopay.cloud/api/company-card/{cardId}/unfreeze","description":"<h3 id=\"this-api-request-is-used-to-unfreeze-reactivate-a-specific-company-card\">This API request is used to unfreeze (reactivate) a specific company card.</h3>\n<p>The <code>card_id</code> is specified in the URL path. Once unfrozen, the card becomes active and can be used for transactions again.</p>\n<hr />\n<h3 id=\"endpoint\"><strong>Endpoint:</strong></h3>\n<p><strong>POST</strong><br /><code>{mainURI}/api/company-card/{card_id}/unfreeze</code></p>\n<hr />\n<h3 id=\"headers\"><strong>Headers</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Authorization</strong></td>\n<td><code>Bearer {token}</code></td>\n<td>API token required to authenticate the request. The token must be valid, active, and properly scoped.</td>\n</tr>\n<tr>\n<td><strong>Content-Type</strong></td>\n<td><code>application/json</code></td>\n<td>Specifies that the request body is formatted in JSON.</td>\n</tr>\n<tr>\n<td><strong>Accept</strong></td>\n<td><code>application/json</code></td>\n<td>Indicates that the server should respond with data in JSON format.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"path-parameters\"><strong>Path Parameters</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>card_id</strong></td>\n<td><code>string (UUID)</code></td>\n<td>Yes</td>\n<td>The unique identifier of the company card to unfreeze.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"request-body\"><strong>Request Body</strong></h3>\n<p>This endpoint does <strong>not require a request body</strong>.</p>\n<hr />\n<h2 id=\"response-details\"><strong>Response Details</strong></h2>\n<hr />\n<h3 id=\"1-successful-response\"><strong>1. Successful Response</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>200 OK</code><br /><strong>Description:</strong> The card was successfully unfrozen and is now active.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"id\": \"07c86c13-7bfd-427c-b99c-2952a6bd2cb6\",\n  \"mask\": \"**** **** **** 1234\",\n  \"expired\": \"12/24\",\n  \"status\": \"ISSUED\",\n  \"created_at\": \"2024-01-15T10:30:00.000000Z\"\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>id</strong></td>\n<td><code>string</code></td>\n<td>Unique identifier for the card.</td>\n</tr>\n<tr>\n<td><strong>mask</strong></td>\n<td><code>string</code></td>\n<td>Masked version of the card number.</td>\n</tr>\n<tr>\n<td><strong>expired</strong></td>\n<td><code>string</code></td>\n<td>Card expiration date in <code>MM/YY</code> format.</td>\n</tr>\n<tr>\n<td><strong>status</strong></td>\n<td><code>string</code></td>\n<td>Current card status (will be <code>\"ISSUED\"</code> after successful unfreeze).</td>\n</tr>\n<tr>\n<td><strong>created_at</strong></td>\n<td><code>string</code></td>\n<td>The date and time when the card was created (ISO 8601 format).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"2-unauthorized-request\"><strong>2. Unauthorized Request</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>401 Unauthorized</code><br /><strong>Description:</strong> The request was not authenticated due to an invalid or missing token.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Unauthorized.\",\n  \"code\": 401\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message describing the authentication failure.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for unauthorized access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"3-forbidden--invalid-ip-address\"><strong>3. Forbidden — Invalid IP Address</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>403 Forbidden</code><br /><strong>Description:</strong> The request was rejected due to an invalid or unauthorized IP address.</p>\n<p><em>No response body is returned.</em></p>\n<hr />\n<h3 id=\"4-card-not-found\"><strong>4. Card Not Found</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>404 Not Found</code><br /><strong>Description:</strong> The specified <code>card_id</code> does not exist in the system.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Card not found\",\n  \"code\": 404\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating that the card was not found.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for resource not found.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"5-card-already-active\"><strong>5. Card Already Active</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>400 Bad Request</code><br /><strong>Description:</strong> The card is already active and cannot be unfrozen again.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Card is already active\",\n  \"code\": 604\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message describing that the card is already active.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Custom error code (<code>604</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"6-service-temporarily-unavailable\"><strong>6. Service Temporarily Unavailable</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>503 Service Unavailable</code><br /><strong>Description:</strong> The service is temporarily unavailable due to a system error.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Service temporarily unavailable\",\n  \"code\": 503\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating that the service is currently unavailable.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Custom error code (<code>503</code>).</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","company-card","{cardId}","unfreeze"],"host":["wanttopay","cloud"],"query":[],"variable":[]}},"response":[{"id":"6d439ca5-7385-4744-ad66-f60f010cced9","name":"Unfreeze Card","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"url":"https://wanttopay.cloud}/api/company-card/{card_id}/unfreeze"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"id\": \"e4898ee6-0959-4eda-a0dc-5a6270220acc\",\n    \"mask\": \"**** **** **** 6940\",\n    \"expired\": \"10/28\",\n    \"status\": \"issued\",\n    \"created_at\": \"2025-11-04T11:31:08.000000Z\"\n}"},{"id":"3e4f260b-135d-48c0-b76d-c3fe26624743","name":"Unauthorized","originalRequest":{"method":"POST","header":[],"url":"{mainURI}/api/company-card/{cardId}/unfreeze"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Unauthorized.\",\n    \"code\": 401\n}"},{"id":"1f46bc2b-c792-4b2c-80fe-ace9e874c072","name":"Service Unavailable","originalRequest":{"method":"POST","header":[],"url":"{mainURI}/api/company-card/{cardId}/unfreeze"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n  \"message\": \"Service temporarily unavailable\",\n  \"code\": 503\n}\n"}],"_postman_id":"6ec3e4cc-751c-4af4-ae76-d7a4b5a46761"},{"name":"Top Up Card","id":"73b3c824-8410-40d7-9719-f946eb06919e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"amount\": \"100\"\n}","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud}/api/company-card/{card_id}","description":"<h3 id=\"this-api-request-is-used-to-add-funds-to-a-specific-company-card\">This API request is used to add funds to a specific company card.</h3>\n<p>The amount specified in the request body is <strong>deducted from the company wallet</strong> and <strong>added to the card balance</strong>.</p>\n<p>The <code>card_id</code> is specified in the URL path.</p>\n<hr />\n<h3 id=\"endpoint\"><strong>Endpoint:</strong></h3>\n<p><strong>POST</strong><br /><code>{mainURI}/api/company-card/{card_id}/top-up</code></p>\n<hr />\n<h3 id=\"headers\"><strong>Headers</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Authorization</strong></td>\n<td><code>Bearer {token}</code></td>\n<td>API token required to authenticate the request. The token must be valid, active, and properly scoped.</td>\n</tr>\n<tr>\n<td><strong>Content-Type</strong></td>\n<td><code>application/json</code></td>\n<td>Specifies that the request body is formatted in JSON.</td>\n</tr>\n<tr>\n<td><strong>Accept</strong></td>\n<td><code>application/json</code></td>\n<td>Indicates that the server should respond with data in JSON format.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"path-parameters\"><strong>Path Parameters</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>card_id</strong></td>\n<td><code>string (UUID)</code></td>\n<td>Yes</td>\n<td>The unique identifier of the company card to top up.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"request-body\"><strong>Request Body</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"amount\": \"string\"\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>amount</strong></td>\n<td><code>string</code></td>\n<td>Yes</td>\n<td>The amount to add to the card in <strong>minor units</strong> (e.g., <code>\"5000\"</code> = $50.00).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h2 id=\"response-details\"><strong>Response Details</strong></h2>\n<hr />\n<h3 id=\"1-successful-response\"><strong>1. Successful Response</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>200 OK</code><br /><strong>Description:</strong> The card was successfully topped up with the specified amount.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"available_balance\": \"150.00\",\n  \"currency\": \"USD\"\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>available_balance</strong></td>\n<td><code>string</code></td>\n<td>The new available balance on the card after the top-up (in decimal format).</td>\n</tr>\n<tr>\n<td><strong>currency</strong></td>\n<td><code>string</code></td>\n<td>The currency code (always <code>\"USD\"</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"2-unauthorized-request\"><strong>2. Unauthorized Request</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>401 Unauthorized</code><br /><strong>Description:</strong> The request was not authenticated due to an invalid or missing token.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Unauthorized.\",\n  \"code\": 401\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message describing the authentication failure.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for unauthorized access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"3-forbidden--invalid-ip-address\"><strong>3. Forbidden — Invalid IP Address</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>403 Forbidden</code><br /><strong>Description:</strong> The request was rejected due to an invalid or unauthorized IP address.</p>\n<p><em>No response body is returned.</em></p>\n<hr />\n<h3 id=\"4-card-not-found\"><strong>4. Card Not Found</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>404 Not Found</code><br /><strong>Description:</strong> The specified <code>card_id</code> does not exist in the system.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Card not found\",\n  \"code\": 404\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating that the card was not found.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for resource not found.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"5-insufficient-funds\"><strong>5. Insufficient Funds</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>400 Bad Request</code><br /><strong>Description:</strong> The company wallet has insufficient funds to complete the top-up.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Insufficient funds\",\n  \"code\": 601\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating lack of funds in the company wallet.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Custom error code (<code>601</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"6-operation-not-available\"><strong>6. Operation Not Available</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>400 Bad Request</code><br /><strong>Description:</strong> The operation is not available for this type of card (for example, prepaid cards cannot be topped up).</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Operation unavailable for this type of card\",\n  \"code\": 605\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message explaining that this operation is not available for the given card type.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Custom error code (<code>605</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"7-service-temporarily-unavailable\"><strong>7. Service Temporarily Unavailable</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>503 Service Unavailable</code><br /><strong>Description:</strong> The service is temporarily unavailable due to a system error or external provider issue.</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Service temporarily unavailable\",\n  \"code\": 503\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message indicating that the service is currently unavailable.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Custom error code (<code>503</code>).</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"8-validation-error\"><strong>8. Validation Error</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>422 Unprocessable Entity</code><br /><strong>Description:</strong> The request failed validation (e.g., missing or invalid <code>amount</code> field).</p>\n<p><strong>Response Body:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"The amount field is required.\",\n  \"errors\": {\n    \"amount\": [\"The amount field is required.\"]\n  }\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>General error message describing the validation issue.</td>\n</tr>\n<tr>\n<td><strong>errors</strong></td>\n<td><code>object</code></td>\n<td>Contains field-specific validation errors.</td>\n</tr>\n<tr>\n<td><strong>amount</strong></td>\n<td><code>array</code></td>\n<td>Detailed validation messages for the <code>amount</code> field.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","company-card","{card_id}"],"host":["https://wanttopay.cloud}"],"query":[],"variable":[]}},"response":[{"id":"a445b068-abc8-4043-b04b-1ba67910c13e","name":"Top Up Card","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"amount\": \"10\"\n}","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud/api/company-card/{card_id}/top-up"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"available_balance\": \"110.00\",\n    \"currency\": \"USD\"\n}"},{"id":"dc860047-c457-43fe-838a-aedd150f1597","name":"Insufficient Funds","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1"},{"key":"Accept","value":"application/json"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"amount\": \"10000\"\n}","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud}/api/company-card/{card_id}/top-up"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Insufficient funds\",\n    \"code\": 601\n}"},{"id":"dc04f708-9847-4169-ab9c-d554430f8451","name":"Card Not Found","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"amount\": \"100\"\n}","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud}/api/company-card/{card_id}/top-up"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n  \"message\": \"Card not found\",\n  \"code\": 404\n}\n"},{"id":"58c49ac4-226f-49d5-9df2-a7dc8204ebdc","name":"Validation Error","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud}/api/company-card/{card_id}/top-up"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n  \"message\": \"The amount field is required.\",\n  \"errors\": {\n    \"amount\": [\"The amount field is required.\"]\n  }\n}\n"},{"id":"b167731d-8f66-40a8-8083-941862d3f9a1","name":"Service Unavailable","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"amount\": \"100\"\n}","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud}/api/company-card/{card_id}/top-up"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n  \"message\": \"Service temporarily unavailable\",\n  \"code\": 503\n}\n"},{"id":"e50791e7-efc5-4296-b27a-6f919465b636","name":"Unauthorized","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/json"},{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"amount\": \"100\"\n}","options":{"raw":{"language":"json"}}},"url":"https://wanttopay.cloud}/api/company-card/{card_id}/top-up"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"message\": \"Unauthorized.\",\n    \"code\": 401\n}"}],"_postman_id":"73b3c824-8410-40d7-9719-f946eb06919e"},{"name":"Get Available Products","id":"9d4e731a-2ef1-4ab6-a094-08c88a6a6349","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"url":"https://wanttopay.cloud/api/company-card/available-products","description":"<h3 id=\"this-api-request-is-used-to-retrieve-a-list-of-card-products-available-for-the-authenticated-company\">This API request is used to retrieve a list of card products available for the authenticated company.</h3>\n<p>Each product represents a specific card type that the company can use when issuing new cards.</p>\n<p>This endpoint is typically called before issuing a card to obtain valid <code>externalProductId</code> options.</p>\n<hr />\n<h3 id=\"endpoint\"><strong>Endpoint:</strong></h3>\n<p><strong>GET</strong><br /><code>{mainURI}/api/company-card/available-products</code></p>\n<hr />\n<h3 id=\"headers\"><strong>Headers</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Header</th>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Authorization</strong></td>\n<td><code>Bearer {token}</code></td>\n<td>API token required to authenticate the request. The token must be valid, active, and properly scoped.</td>\n</tr>\n<tr>\n<td><strong>Accept</strong></td>\n<td><code>application/json</code></td>\n<td>Indicates that the server should respond with data in JSON format.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"request-parameters\"><strong>Request Parameters</strong></h3>\n<p>No query parameters or request body are required for this endpoint.</p>\n<hr />\n<h2 id=\"response-details\"><strong>Response Details</strong></h2>\n<hr />\n<h3 id=\"1-successful-response\"><strong>1. Successful Response</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>200 OK</code><br /><strong>Description:</strong> Successfully retrieved the list of available card products for the company.</p>\n<p><strong>Response Body Example:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"data\": [\n        {\n            \"id\": \"fbe4bd43-1600-4886-8abe-9d67f4057bbb\",\n            \"type\": \"virtual\",\n            \"name\": \"test\"\n        },\n        {\n            \"id\": \"b97ff211-d702-4464-9f64-17b3294c9317\",\n            \"type\": \"prepaid\",\n            \"name\": \"test\"\n        }\n    ]\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>id</strong></td>\n<td><code>string (UUID)</code></td>\n<td>Unique identifier for the card product. This ID can be used as the <code>externalProductId</code> when issuing a new card.</td>\n</tr>\n<tr>\n<td><strong>type</strong></td>\n<td><code>string</code> or <code>null</code></td>\n<td>The type of card product. Possible values:  <br />• <code>virtual</code> — Virtual cards that exist only in digital form.  <br />• <code>prepaid</code> — Prepaid cards with specific limitations (cannot be topped up).  <br />• <code>null</code> — If no type is defined for the product.</td>\n</tr>\n<tr>\n<td>name</td>\n<td><code>string</code></td>\n<td>The display name of the product that will be associated with the card.  <br />Used for identifying and managing the card product within your system and user interfaces</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"2-unauthorized-request\"><strong>2. Unauthorized Request</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>401 Unauthorized</code><br /><strong>Description:</strong> The request was not authenticated due to an invalid or missing token.</p>\n<p><strong>Response Body Example:</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"message\": \"Unauthorized.\",\n  \"code\": 401\n}\n\n</code></pre><p><strong>Field Descriptions:</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>message</strong></td>\n<td><code>string</code></td>\n<td>Error message describing the authentication failure.</td>\n</tr>\n<tr>\n<td><strong>code</strong></td>\n<td><code>number</code></td>\n<td>Standard HTTP status code for unauthorized access.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"3-forbidden--invalid-ip-address\"><strong>3. Forbidden — Invalid IP Address</strong></h3>\n<p><strong>HTTP Status Code:</strong> <code>403 Forbidden</code><br /><strong>Description:</strong> The request was rejected due to an invalid or unauthorized IP address.</p>\n<p><em>No response body is returned.</em></p>\n","urlObject":{"protocol":"https","path":["api","company-card","available-products"],"host":["wanttopay","cloud"],"query":[],"variable":[]}},"response":[{"id":"a9c02980-dce0-4f47-bc97-f5acc8fb99cc","name":"Get Available Products","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer 3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"},{"key":"Cf-Connecting-Ip","value":"34.40.55.91","disabled":true}],"url":"https://wanttopay.cloud}/api/company-card/available-products"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"id\": \"fbe4bd43-1600-4886-8abe-9d67f4057bbb\",\n            \"type\": \"virtual\",\n            \"name\": \"test\"\n        },\n        {\n            \"id\": \"b97ff211-d702-4464-9f64-17b3294c9317\",\n            \"type\": \"prepaid\",\n            \"name\": \"test\"\n        }\n    ]\n}"},{"id":"9430d96b-dd89-4e33-8846-c49f1fd4fd82","name":"Unauthorized","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {invalid_token}"},{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"url":"https://wanttopay.cloud}/api/company-card/available-products"},"_postman_previewlanguage":"","header":[],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"message\": \"Unauthenticated.\"\n}"}],"_postman_id":"9d4e731a-2ef1-4ab6-a094-08c88a6a6349"}],"event":[{"listen":"prerequest","script":{"id":"fe10dfaa-4c91-4407-b4b3-e3fbfce786d7","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"db79b56c-5315-4870-be5d-6c7861ba3eb5","type":"text/javascript","packages":{},"exec":[""]}}],"variable":[{"key":"test2_host","value":"https://test2.wanttopay.app","type":"default","disabled":true},{"key":"mainURI","value":"https://wanttopay.cloud","type":"string"},{"key":"your token here","value":"3141395|yfTden8eVuABQDJQIHRRzAepp3ZSkQcPuNiJgq7w412292f1"}]}