{
  "info": {
    "_postman_id": "45a611cf-99e0-52b1-9065-1328ce3c4c8f",
    "name": "Monato APIs",
    "description": "All Monato APIs, one folder per product. Generated from the OpenAPI specs.\n\nSelect the Monato Sandbox environment and fill in your credentials, then send any request.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Fincore",
      "description": "Fincore API 1.2.0. Generated from `products/fincore/fincore-openapi.yaml`.\n\nSelect the Monato Sandbox environment and fill in your credentials, then send any request.",
      "auth": {
        "type": "apikey",
        "apikey": [
          {
            "key": "key",
            "value": "x-api-key",
            "type": "string"
          },
          {
            "key": "value",
            "value": "{{fincoreApiKey}}",
            "type": "string"
          },
          {
            "key": "in",
            "value": "header",
            "type": "string"
          }
        ]
      },
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "exec": [
              "// Creates and caches a Fincore bearer token before each request that needs one.",
              "// Uses POST /v1/clients/{clientId}/auth/credential-tokens (createCredentialToken).",
              "const path = pm.request.url.getPath();",
              "if (!path.includes('/credential-tokens') && !path.endsWith('/credentials')) {",
              "  const exp = Number(pm.collectionVariables.get('fincoreTokenExpiresAt') || 0);",
              "  if (!pm.collectionVariables.get('fincoreToken') || Date.now() > exp - 60000) {",
              "    pm.sendRequest({",
              "      url: pm.variables.replaceIn('{{fincoreBaseUrl}}/v1/clients/{{clientId}}/auth/credential-tokens'),",
              "      method: 'POST',",
              "      header: { 'x-api-key': pm.variables.get('fincoreApiKey'), 'Content-Type': 'application/json' },",
              "      body: { mode: 'raw', raw: JSON.stringify({ client_id: pm.variables.get('clientId'), client_secret: pm.variables.get('clientSecret') }) }",
              "    }, (err, res) => {",
              "      if (err || res.code >= 300) { console.warn('Fincore token request failed', err || res.text()); return; }",
              "      const j = res.json();",
              "      pm.collectionVariables.set('fincoreToken', j.token);",
              "      // expires_at is Mexico City time (UTC-6) without an offset, per the Fincore authentication guide.",
              "      let expiresAt = String(j.expires_at || '').replace(' ', 'T');",
              "      if (expiresAt && !/(Z|[+-]\\d\\d:?\\d\\d)$/i.test(expiresAt)) expiresAt += '-06:00';",
              "      const parsed = Date.parse(expiresAt);",
              "      pm.collectionVariables.set('fincoreTokenExpiresAt', String(isNaN(parsed) ? 0 : parsed));",
              "    });",
              "  }",
              "}"
            ]
          }
        }
      ],
      "item": [
        {
          "name": "Authentication",
          "description": "API key and bearer-token flows.",
          "item": [
            {
              "name": "Retrieve client credentials",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/credentials",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "credentials"
                  ]
                },
                "description": "Returns the active credentials associated with a client. Use the `client_secret` returned here to create a bearer token with `POST /v1/clients/{clientId}/auth/credential-tokens`."
              },
              "response": [
                {
                  "name": "200 Active client credentials",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/credentials",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "credentials"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "A list of client credentials.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"data\": [\n    {\n      \"id\": \"e981c6d8-4d49-45f2-a7ee-f956dca15500\",\n      \"client_id\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n      \"client_secret\": \"client_secret_value\",\n      \"environment\": \"production\",\n      \"status\": \"ACTIVE\",\n      \"created_at\": \"2025-03-05T10:27:36.888241-06:00\",\n      \"updated_at\": \"2025-03-05T10:27:36.888241-06:00\",\n      \"deleted_at\": null,\n      \"api_key\": \"api_key_value\"\n    }\n  ]\n}"
                },
                {
                  "name": "400 Invalid credentials lookup request. Possible causes: malformed `clientId` path parameter or invalid request metadata.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/credentials",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "credentials"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Invalid credentials lookup request. Possible causes: malformed `clientId` path parameter or invalid request metadata.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Authentication failed. Possible causes: missing `x-api-key`, invalid API key, or API key not valid for the requested environment.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/credentials",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "credentials"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Authentication failed. Possible causes: missing `x-api-key`, invalid API key, or API key not valid for the requested environment.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Client credentials were not found for the supplied `clientId`, or no active credential exists for the client.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/credentials",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "credentials"
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Client credentials were not found for the supplied `clientId`, or no active credential exists for the client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/credentials",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "credentials"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Create authentication token",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/auth/credential-tokens",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "auth",
                    "credential-tokens"
                  ]
                },
                "description": "Exchanges a `client_secret` for a JWT bearer token. Use the returned `token` in the `Authorization: Bearer <token>` header for authenticated Fincore endpoints. Tokens expire; create a new token after receiving `401 Unauthorized`.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"client_id\": \"{{clientId}}\",\n  \"client_secret\": \"{{clientSecret}}\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                }
              },
              "response": [
                {
                  "name": "200 Successfully created credential token.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/auth/credential-tokens",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "auth",
                        "credential-tokens"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Successfully created credential token.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"1307f4e3-3960-4b98-9a14-0b6839245cc9\",\n  \"client_id\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"client_credential_id\": \"e981c6d8-4d49-45f2-a7ee-f956dca15500\",\n  \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWQiOiJjMmQxZDFlMy0zMzQwLTQxNzAtOTgwZS1lOTI2OWJiYmM1NTEiLCJleHAiOjE3NDEyODE0MTl9.ziSqMClLqwUVfyM15bqUF_7-PINY0ZiWkH01s8pO3gA\",\n  \"status\": \"ACTIVE\",\n  \"expires_at\": \"2025-03-06 11:16:59.491631\",\n  \"created_at\": \"2025-03-05 11:16:59.488685-06:00\",\n  \"updated_at\": \"2025-03-05 11:16:59.488685-06:00\",\n  \"deleted_at\": null\n}"
                },
                {
                  "name": "400 Token creation request is invalid. Possible causes: malformed `clientId`, missing `client_id`, missing `client_secret`, or `client_id` not matching the path client. It also fails when the credential is inactive, deleted, or not valid for the target environment.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/auth/credential-tokens",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "auth",
                        "credential-tokens"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Token creation request is invalid. Possible causes: malformed `clientId`, missing `client_id`, missing `client_secret`, or `client_id` not matching the path client. It also fails when the credential is inactive, deleted, or not valid for the target environment.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Authentication failed. Possible causes: missing `x-api-key`, invalid API key, invalid client secret, or credentials that do not belong to the requested client.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/auth/credential-tokens",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "auth",
                        "credential-tokens"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Authentication failed. Possible causes: missing `x-api-key`, invalid API key, invalid client secret, or credentials that do not belong to the requested client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/auth/credential-tokens",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "auth",
                        "credential-tokens"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "Catalogs",
          "description": "SPEI participant catalogs.",
          "item": [
            {
              "name": "Retrieve catalog of SPEI participants",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/banks",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "banks"
                  ]
                },
                "description": "Returns a paginated list of bank and institutions that are part of the SPEI Network.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 example",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/banks",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "banks"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "A list of institutions",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"total_banks\": 1,\n  \"page\": 1,\n  \"page_size\": 50,\n  \"banks\": [\n    {\n      \"id\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n      \"name\": \"FINCO_PAY\",\n      \"token\": \"734\",\n      \"BIM\": \"734\",\n      \"code\": \"90734\",\n      \"bank_status\": \"ACTIVE\"\n    }\n  ]\n}"
                },
                {
                  "name": "401 Bearer token is missing, expired, invalid, or not valid for the requested environment.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/banks",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "banks"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Bearer token is missing, expired, invalid, or not valid for the requested environment.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/banks",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "banks"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "Accounts",
          "description": "Centralizing accounts, private accounts, and account lifecycle.",
          "item": [
            {
              "name": "Retrieve accounts for a client",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "accounts"
                  ]
                },
                "description": "Returns a paginated list of accounts for the client. The Centralizing Account is identified by `accountType = CENTRALIZING_ACCOUNT`; private accounts are identified by `accountType = PRIVATE_ACCOUNT`.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Successful response with account details",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Successful response with account details",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"currentPage\": 1,\n  \"perPage\": 50,\n  \"totalItem\": 1,\n  \"data\": [\n    {\n      \"id\": \"24a726ac-180d-48df-82bc-711f2788a46f\",\n      \"bankId\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n      \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n      \"clientBankAdapterId\": \"5b3a1b67-ab59-4cc1-8fc6-1d558b32b237\",\n      \"accountId\": \"00000000-0000-0000-0000-000000000000\",\n      \"instrumentId\": \"709448c3-7cbf-454d-a87e-feb23801269a\",\n      \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n      \"ownerType\": \"CLIENT\",\n      \"accountNumber\": \"000001000004\",\n      \"clabeNumber\": \"734180000001000004\",\n      \"availableBalance\": \"0.00\",\n      \"accountType\": \"PRIVATE_ACCOUNT\",\n      \"accountStatus\": \"ACTIVE\",\n      \"audit\": {\n        \"createdAt\": \"2025-03-05 11:00:56.264527-06:00\",\n        \"updatedAt\": \"2025-03-05 11:00:56.264527-06:00\",\n        \"deletedAt\": \"None\",\n        \"blockedAt\": \"None\",\n        \"activatedAt\": null,\n        \"suspendedAt\": null\n      },\n      \"bankAdapter\": \"SIES\"\n    }\n  ]\n}"
                },
                {
                  "name": "400 Account lookup request is invalid. Possible causes: malformed `clientId` path parameter or unsupported pagination/filter values.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Account lookup request is invalid. Possible causes: malformed `clientId` path parameter or unsupported pagination/filter values.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Bearer token is missing, expired, invalid, or does not belong to the requested client.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Bearer token is missing, expired, invalid, or does not belong to the requested client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Create a private account",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/private_accounts",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "private_accounts"
                  ]
                },
                "description": "Creates a private CLABE for the client. Private accounts receive money by default. Set `sender_receiver_type = true` at creation time only when the private account must also send Money Out; this setting cannot be changed later.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"bank_id\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n  \"owner_id\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"client_bank_adapter_id\": \"5b3a1b67-ab59-4cc1-8fc6-1d558b32b237\",\n  \"client_id\": \"{{clientId}}\",\n  \"account_id\": \"24a726ac-180d-48df-82bc-711f2788a46f\",\n  \"sender_receiver_type\": false\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Private account created successfully.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/private_accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "private_accounts"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Private account created successfully.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"750ab428-b401-4b58-8a95-502bcb7b1bf8\",\n  \"bankId\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"clientBankAdapterId\": \"5b3a1b67-ab59-4cc1-8fc6-1d558b32b237\",\n  \"accountId\": \"24a726ac-180d-48df-82bc-711f2788a46f\",\n  \"instrumentId\": \"ab502fce-1162-42f3-99d6-972989a06049\",\n  \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"ownerType\": \"CLIENT\",\n  \"accountNumber\": \"000001233635\",\n  \"clabeNumber\": \"734180000001233635\",\n  \"availableBalance\": \"0.00\",\n  \"accountType\": \"PRIVATE_ACCOUNT\",\n  \"accountStatus\": \"ACTIVE\",\n  \"audit\": {\n    \"createdAt\": \"2025-04-12 11:00:56.264527-06:00\",\n    \"updatedAt\": \"2025-04-12 11:00:56.264527-06:00\",\n    \"deletedAt\": null,\n    \"blockedAt\": null,\n    \"activatedAt\": null,\n    \"suspendedAt\": null\n  },\n  \"bankAdapter\": \"SIES\"\n}"
                },
                {
                  "name": "400 Private account request is invalid. Possible causes: missing required account fields, malformed UUIDs, invalid `sender_receiver_type`, or inconsistent client/account identifiers. It also fails when the account conflicts with an existing record.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/private_accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "private_accounts"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Private account request is invalid. Possible causes: missing required account fields, malformed UUIDs, invalid `sender_receiver_type`, or inconsistent client/account identifiers. It also fails when the account conflicts with an existing record.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Bearer token is missing, expired, invalid, or does not belong to the requested client.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/private_accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "private_accounts"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Bearer token is missing, expired, invalid, or does not belong to the requested client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "403 Authenticated caller cannot create a private account for the supplied client, owner, bank, or adapter.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/private_accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "private_accounts"
                      ]
                    }
                  },
                  "code": 403,
                  "status": "Authenticated caller cannot create a private account for the supplied client, owner, bank, or adapter.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/private_accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "private_accounts"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Block an account",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/block",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "accounts",
                    ":id",
                    "block"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                      "description": "Account UUID."
                    }
                  ]
                },
                "description": "Blocks an active account. Blocked accounts can be reactivated.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Account blocked.",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/block",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "block"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Account blocked.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"750ab428-b401-4b58-8a95-502bcb7b1bf8\",\n  \"bankId\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"clientBankAdapterId\": \"5b3a1b67-ab59-4cc1-8fc6-1d558b32b237\",\n  \"accountId\": \"24a726ac-180d-48df-82bc-711f2788a46f\",\n  \"instrumentId\": \"ab502fce-1162-42f3-99d6-972989a06049\",\n  \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"ownerType\": \"CLIENT\",\n  \"accountNumber\": \"000001233635\",\n  \"clabeNumber\": \"734180000001233635\",\n  \"availableBalance\": \"0.00\",\n  \"accountType\": \"PRIVATE_ACCOUNT\",\n  \"accountStatus\": \"ACTIVE\",\n  \"audit\": {\n    \"createdAt\": \"2025-04-12 11:00:56.264527-06:00\",\n    \"updatedAt\": \"2025-04-12 11:00:56.264527-06:00\",\n    \"deletedAt\": null,\n    \"blockedAt\": null,\n    \"activatedAt\": null,\n    \"suspendedAt\": null\n  },\n  \"bankAdapter\": \"SIES\"\n}"
                },
                {
                  "name": "400 Block request is invalid. Possible causes: malformed `clientId` or account `id`, account cannot transition to `BLOCKED`, or account type does not support blocking.",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/block",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "block"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Block request is invalid. Possible causes: malformed `clientId` or account `id`, account cannot transition to `BLOCKED`, or account type does not support blocking.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/block",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "block"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "403 Account does not belong to the authenticated client or caller is not allowed to change the account state.",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/block",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "block"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 403,
                  "status": "Account does not belong to the authenticated client or caller is not allowed to change the account state.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Account was not found for the supplied client.",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/block",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "block"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Account was not found for the supplied client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Activate a blocked or suspended account",
              "request": {
                "method": "PATCH",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/activate",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "accounts",
                    ":id",
                    "activate"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                      "description": "Account UUID."
                    }
                  ]
                },
                "description": "Reactivates an account that is currently `BLOCKED` or `SUSPENDED`.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Account activated.",
                  "originalRequest": {
                    "method": "PATCH",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/activate",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "activate"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Account activated.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"750ab428-b401-4b58-8a95-502bcb7b1bf8\",\n  \"bankId\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"clientBankAdapterId\": \"5b3a1b67-ab59-4cc1-8fc6-1d558b32b237\",\n  \"accountId\": \"24a726ac-180d-48df-82bc-711f2788a46f\",\n  \"instrumentId\": \"ab502fce-1162-42f3-99d6-972989a06049\",\n  \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"ownerType\": \"CLIENT\",\n  \"accountNumber\": \"000001233635\",\n  \"clabeNumber\": \"734180000001233635\",\n  \"availableBalance\": \"0.00\",\n  \"accountType\": \"PRIVATE_ACCOUNT\",\n  \"accountStatus\": \"ACTIVE\",\n  \"audit\": {\n    \"createdAt\": \"2025-04-12 11:00:56.264527-06:00\",\n    \"updatedAt\": \"2025-04-12 11:00:56.264527-06:00\",\n    \"deletedAt\": null,\n    \"blockedAt\": null,\n    \"activatedAt\": null,\n    \"suspendedAt\": null\n  },\n  \"bankAdapter\": \"SIES\"\n}"
                },
                {
                  "name": "400 Activation request is invalid. Possible causes: malformed `clientId` or account `id`, account cannot transition to `ACTIVE`, or account type does not support activation.",
                  "originalRequest": {
                    "method": "PATCH",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/activate",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "activate"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Activation request is invalid. Possible causes: malformed `clientId` or account `id`, account cannot transition to `ACTIVE`, or account type does not support activation.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "PATCH",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/activate",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "activate"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "403 Account does not belong to the authenticated client or caller is not allowed to change the account state.",
                  "originalRequest": {
                    "method": "PATCH",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/activate",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "activate"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 403,
                  "status": "Account does not belong to the authenticated client or caller is not allowed to change the account state.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Account was not found for the supplied client.",
                  "originalRequest": {
                    "method": "PATCH",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/activate",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "activate"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Account was not found for the supplied client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Cancel a private account",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/cancel",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "accounts",
                    ":id",
                    "cancel"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                      "description": "Account UUID."
                    }
                  ]
                },
                "description": "Permanently cancels a private account. The account must belong to the client, must be a `PRIVATE_ACCOUNT`, and its balance must be zero.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Account cancelled.",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/cancel",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "cancel"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Account cancelled.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"750ab428-b401-4b58-8a95-502bcb7b1bf8\",\n  \"bankId\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"clientBankAdapterId\": \"5b3a1b67-ab59-4cc1-8fc6-1d558b32b237\",\n  \"accountId\": \"24a726ac-180d-48df-82bc-711f2788a46f\",\n  \"instrumentId\": \"ab502fce-1162-42f3-99d6-972989a06049\",\n  \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"ownerType\": \"CLIENT\",\n  \"accountNumber\": \"000001233635\",\n  \"clabeNumber\": \"734180000001233635\",\n  \"availableBalance\": \"0.00\",\n  \"accountType\": \"PRIVATE_ACCOUNT\",\n  \"accountStatus\": \"ACTIVE\",\n  \"audit\": {\n    \"createdAt\": \"2025-04-12 11:00:56.264527-06:00\",\n    \"updatedAt\": \"2025-04-12 11:00:56.264527-06:00\",\n    \"deletedAt\": null,\n    \"blockedAt\": null,\n    \"activatedAt\": null,\n    \"suspendedAt\": null\n  },\n  \"bankAdapter\": \"SIES\"\n}"
                },
                {
                  "name": "400 Balance must be zero",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/cancel",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "cancel"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Invalid cancellation request. Common causes: account already cancelled, account is not a Private Account, or balance is not zero.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid account balance, account balance must be equal to 0\",\n        \"http_code\": \"400\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/cancel",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "cancel"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "403 Account does not belong to the authenticated client or caller is not allowed to cancel it.",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/cancel",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "cancel"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 403,
                  "status": "Account does not belong to the authenticated client or caller is not allowed to cancel it.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Account was not found for the supplied client.",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/accounts/:id/cancel",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "accounts",
                        ":id",
                        "cancel"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "750ab428-b401-4b58-8a95-502bcb7b1bf8",
                          "description": "Account UUID."
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Account was not found for the supplied client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "Instruments",
          "description": "Bank-account and debit-card payment instruments.",
          "item": [
            {
              "name": "Add an instrument to the trusted whitelist",
              "request": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments/:instrumentId/whitelist",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "instruments",
                    ":instrumentId",
                    "whitelist"
                  ],
                  "variable": [
                    {
                      "key": "instrumentId",
                      "value": "",
                      "description": "UUID of the instrument to add to the whitelist."
                    }
                  ]
                },
                "description": "Marks a destination instrument as trusted so that high-value Money Out transactions to it skip the manual operator review. The instrument must belong to the client and meet the age and transaction-history requirements. This operation is not idempotent: adding an instrument that is already whitelisted returns a conflict.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Instrument added to the whitelist.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments/:instrumentId/whitelist",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments",
                        ":instrumentId",
                        "whitelist"
                      ],
                      "variable": [
                        {
                          "key": "instrumentId",
                          "value": "",
                          "description": "UUID of the instrument to add to the whitelist."
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Instrument added to the whitelist.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"8f14e45f-ceea-467a-9f0a-1b2c3d4e5f60\",\n  \"instrumentId\": \"d3fdb481-2058-46c8-807d-4eaf866ae1ec\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"instrumentWhitelistStatus\": \"ACTIVE\",\n  \"audit\": {\n    \"createdAt\": \"2026-09-21T13:03:36.194761-06:00\",\n    \"updatedAt\": \"2026-09-21T13:03:36.194761-06:00\"\n  }\n}"
                },
                {
                  "name": "400 The supplied `clientId` or `instrumentId` is not a valid UUID, or a whitelist rule was not met: the instrument is already whitelisted, the client reached the maximum of 10 active whitelisted instruments, the instrument was created less than 72 hours ago, or it does not have at least 3 liquidated transactions as destination. Rule failures are returned as `FAILED_PRECONDITION` with error code `20-E4120`.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments/:instrumentId/whitelist",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments",
                        ":instrumentId",
                        "whitelist"
                      ],
                      "variable": [
                        {
                          "key": "instrumentId",
                          "value": "",
                          "description": "UUID of the instrument to add to the whitelist."
                        }
                      ]
                    }
                  },
                  "code": 400,
                  "status": "The supplied `clientId` or `instrumentId` is not a valid UUID, or a whitelist rule was not met: the instrument is already whitelisted, the client reached the maximum of 10 active whitelisted instruments, the instrument was created less than 72 hours ago, or it does not have at least 3 liquidated transactions as destination. Rule failures are returned as `FAILED_PRECONDITION` with error code `20-E4120`.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 The bearer token is missing, expired, invalid, or not valid for the environment.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments/:instrumentId/whitelist",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments",
                        ":instrumentId",
                        "whitelist"
                      ],
                      "variable": [
                        {
                          "key": "instrumentId",
                          "value": "",
                          "description": "UUID of the instrument to add to the whitelist."
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "The bearer token is missing, expired, invalid, or not valid for the environment.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 No active instrument was found for the supplied client.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments/:instrumentId/whitelist",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments",
                        ":instrumentId",
                        "whitelist"
                      ],
                      "variable": [
                        {
                          "key": "instrumentId",
                          "value": "",
                          "description": "UUID of the instrument to add to the whitelist."
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "No active instrument was found for the supplied client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments/:instrumentId/whitelist",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments",
                        ":instrumentId",
                        "whitelist"
                      ],
                      "variable": [
                        {
                          "key": "instrumentId",
                          "value": "",
                          "description": "UUID of the instrument to add to the whitelist."
                        }
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Retrieve a single instrument",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments/:instrumentId",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "instruments",
                    ":instrumentId"
                  ],
                  "variable": [
                    {
                      "key": "instrumentId",
                      "value": "",
                      "description": "Instrument identifier (UUID)."
                    }
                  ]
                },
                "description": "Retrieves an instrument for the specified client. The instrument must belong to the client or to one of its customers; otherwise an error is returned.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Instrument details.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments/:instrumentId",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments",
                        ":instrumentId"
                      ],
                      "variable": [
                        {
                          "key": "instrumentId",
                          "value": "",
                          "description": "Instrument identifier (UUID)."
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Instrument details.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"dd7f8d89-94dd-43ca-871b-720fde378b52\",\n  \"bankId\": \"d3435bd9-998d-4e8a-9067-6b71d5fd3ac7\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"alias\": \"Instrumento base\",\n  \"type\": \"RECEIVER\",\n  \"audit\": {\n    \"createdAt\": \"2025-05-19 19:03:51.084659-06:00\",\n    \"updatedAt\": \"2025-05-19 19:03:51.084668-06:00\",\n    \"deletedAt\": null,\n    \"blockedAt\": null\n  },\n  \"rfc\": \"XAXX010101000\",\n  \"customerId\": \"bb1e8fde-e68e-48e9-a483-d32153c752c2\",\n  \"instrumentDetail\": {\n    \"cardNumber\": \"5579072268574100\",\n    \"expirationDate\": null,\n    \"holderName\": \"John Smith\"\n  }\n}"
                },
                {
                  "name": "400 Instrument lookup request is invalid. Possible causes: malformed `clientId` or `instrumentId`.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments/:instrumentId",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments",
                        ":instrumentId"
                      ],
                      "variable": [
                        {
                          "key": "instrumentId",
                          "value": "",
                          "description": "Instrument identifier (UUID)."
                        }
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Instrument lookup request is invalid. Possible causes: malformed `clientId` or `instrumentId`.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments/:instrumentId",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments",
                        ":instrumentId"
                      ],
                      "variable": [
                        {
                          "key": "instrumentId",
                          "value": "",
                          "description": "Instrument identifier (UUID)."
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Instrument was not found or does not belong to the client.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments/:instrumentId",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments",
                        ":instrumentId"
                      ],
                      "variable": [
                        {
                          "key": "instrumentId",
                          "value": "",
                          "description": "Instrument identifier (UUID)."
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Instrument was not found or does not belong to the client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments/:instrumentId",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments",
                        ":instrumentId"
                      ],
                      "variable": [
                        {
                          "key": "instrumentId",
                          "value": "",
                          "description": "Instrument identifier (UUID)."
                        }
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "List instruments for a client",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "instruments"
                  ],
                  "query": [
                    {
                      "key": "customer_id",
                      "value": "",
                      "description": "Optional customer UUID. When provided, filters instruments for this customer only.",
                      "disabled": true
                    },
                    {
                      "key": "page",
                      "value": "",
                      "description": "Page number (1-based).",
                      "disabled": true
                    },
                    {
                      "key": "per_page",
                      "value": "",
                      "description": "Number of items per page.",
                      "disabled": true
                    },
                    {
                      "key": "instrument_number",
                      "value": "",
                      "description": "Optional CLABE or debit-card number filter.",
                      "disabled": true
                    },
                    {
                      "key": "bank_id",
                      "value": "",
                      "description": "Optional destination bank UUID filter.",
                      "disabled": true
                    },
                    {
                      "key": "instrument_name",
                      "value": "",
                      "description": "Optional holder-name filter.",
                      "disabled": true
                    }
                  ]
                },
                "description": "Returns a paginated list of instruments belonging to the specified client and its customers.\n- Without `customer_id`, it returns instruments for the client and all associated customers.\n- With `customer_id`, it returns only instruments for that customer.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 List of instruments for the client (and optionally a specific customer).",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ],
                      "query": [
                        {
                          "key": "customer_id",
                          "value": "",
                          "description": "Optional customer UUID. When provided, filters instruments for this customer only.",
                          "disabled": true
                        },
                        {
                          "key": "page",
                          "value": "",
                          "description": "Page number (1-based).",
                          "disabled": true
                        },
                        {
                          "key": "per_page",
                          "value": "",
                          "description": "Number of items per page.",
                          "disabled": true
                        },
                        {
                          "key": "instrument_number",
                          "value": "",
                          "description": "Optional CLABE or debit-card number filter.",
                          "disabled": true
                        },
                        {
                          "key": "bank_id",
                          "value": "",
                          "description": "Optional destination bank UUID filter.",
                          "disabled": true
                        },
                        {
                          "key": "instrument_name",
                          "value": "",
                          "description": "Optional holder-name filter.",
                          "disabled": true
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "List of instruments for the client (and optionally a specific customer).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"data\": [\n    {\n      \"id\": \"dd7f8d89-94dd-43ca-871b-720fde378b52\",\n      \"bankId\": \"d3435bd9-998d-4e8a-9067-6b71d5fd3ac7\",\n      \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n      \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n      \"alias\": \"Instrumento base\",\n      \"type\": \"RECEIVER\",\n      \"audit\": {\n        \"createdAt\": \"2025-05-19 19:03:51.084659-06:00\",\n        \"updatedAt\": \"2025-05-19 19:03:51.084668-06:00\",\n        \"deletedAt\": null,\n        \"blockedAt\": null\n      },\n      \"rfc\": \"XAXX010101000\",\n      \"customerId\": \"bb1e8fde-e68e-48e9-a483-d32153c752c2\",\n      \"instrumentDetail\": {\n        \"cardNumber\": \"5579072268574100\",\n        \"expirationDate\": null,\n        \"holderName\": \"John Smith\"\n      }\n    }\n  ],\n  \"currentPage\": 1,\n  \"perPage\": 50,\n  \"totalItems\": 17\n}"
                },
                {
                  "name": "400 Instrument list request is invalid. Possible causes: malformed `clientId`, malformed filter UUIDs, invalid pagination values, or unsupported instrument filter values.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ],
                      "query": [
                        {
                          "key": "customer_id",
                          "value": "",
                          "description": "Optional customer UUID. When provided, filters instruments for this customer only.",
                          "disabled": true
                        },
                        {
                          "key": "page",
                          "value": "",
                          "description": "Page number (1-based).",
                          "disabled": true
                        },
                        {
                          "key": "per_page",
                          "value": "",
                          "description": "Number of items per page.",
                          "disabled": true
                        },
                        {
                          "key": "instrument_number",
                          "value": "",
                          "description": "Optional CLABE or debit-card number filter.",
                          "disabled": true
                        },
                        {
                          "key": "bank_id",
                          "value": "",
                          "description": "Optional destination bank UUID filter.",
                          "disabled": true
                        },
                        {
                          "key": "instrument_name",
                          "value": "",
                          "description": "Optional holder-name filter.",
                          "disabled": true
                        }
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Instrument list request is invalid. Possible causes: malformed `clientId`, malformed filter UUIDs, invalid pagination values, or unsupported instrument filter values.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ],
                      "query": [
                        {
                          "key": "customer_id",
                          "value": "",
                          "description": "Optional customer UUID. When provided, filters instruments for this customer only.",
                          "disabled": true
                        },
                        {
                          "key": "page",
                          "value": "",
                          "description": "Page number (1-based).",
                          "disabled": true
                        },
                        {
                          "key": "per_page",
                          "value": "",
                          "description": "Number of items per page.",
                          "disabled": true
                        },
                        {
                          "key": "instrument_number",
                          "value": "",
                          "description": "Optional CLABE or debit-card number filter.",
                          "disabled": true
                        },
                        {
                          "key": "bank_id",
                          "value": "",
                          "description": "Optional destination bank UUID filter.",
                          "disabled": true
                        },
                        {
                          "key": "instrument_name",
                          "value": "",
                          "description": "Optional holder-name filter.",
                          "disabled": true
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Client or filtered customer was not found.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ],
                      "query": [
                        {
                          "key": "customer_id",
                          "value": "",
                          "description": "Optional customer UUID. When provided, filters instruments for this customer only.",
                          "disabled": true
                        },
                        {
                          "key": "page",
                          "value": "",
                          "description": "Page number (1-based).",
                          "disabled": true
                        },
                        {
                          "key": "per_page",
                          "value": "",
                          "description": "Number of items per page.",
                          "disabled": true
                        },
                        {
                          "key": "instrument_number",
                          "value": "",
                          "description": "Optional CLABE or debit-card number filter.",
                          "disabled": true
                        },
                        {
                          "key": "bank_id",
                          "value": "",
                          "description": "Optional destination bank UUID filter.",
                          "disabled": true
                        },
                        {
                          "key": "instrument_name",
                          "value": "",
                          "description": "Optional holder-name filter.",
                          "disabled": true
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Client or filtered customer was not found.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ],
                      "query": [
                        {
                          "key": "customer_id",
                          "value": "",
                          "description": "Optional customer UUID. When provided, filters instruments for this customer only.",
                          "disabled": true
                        },
                        {
                          "key": "page",
                          "value": "",
                          "description": "Page number (1-based).",
                          "disabled": true
                        },
                        {
                          "key": "per_page",
                          "value": "",
                          "description": "Number of items per page.",
                          "disabled": true
                        },
                        {
                          "key": "instrument_number",
                          "value": "",
                          "description": "Optional CLABE or debit-card number filter.",
                          "disabled": true
                        },
                        {
                          "key": "bank_id",
                          "value": "",
                          "description": "Optional destination bank UUID filter.",
                          "disabled": true
                        },
                        {
                          "key": "instrument_name",
                          "value": "",
                          "description": "Optional holder-name filter.",
                          "disabled": true
                        }
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Register an instrument for a client · Add debit card",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "instruments"
                  ]
                },
                "description": "Registers an instrument owned by the specified client or by one of its customers.\nThe request body must include exactly one payment method: `debit_card` or `virtual_clabe`.\nUse `type = RECEIVER` for recipients. Use `type = SENDER_RECEIVER` only for\ninstruments that can both send and receive.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"source_bank_id\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n  \"client_id\": \"{{clientId}}\",\n  \"customer_id\": \"bb1e8fde-e68e-48e9-a483-d32153c752c2\",\n  \"type\": \"RECEIVER\",\n  \"rfc\": \"XAXX010101000\",\n  \"alias\": \"Tarjeta ABC123\",\n  \"debit_card\": {\n    \"destination_bank_id\": \"3054ff18-32a0-478d-b9fe-b5261f9a6e1f\",\n    \"card_number\": \"5579072268574100\",\n    \"holder_name\": \"Pedro Navajas Dos\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Created debit card instrument",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Instrument created",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"dd7f8d89-94dd-43ca-871b-720fde378b52\",\n  \"bankId\": \"d3435bd9-998d-4e8a-9067-6b71d5fd3ac7\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"alias\": \"Tarjeta con expiracion\",\n  \"type\": \"RECEIVER\",\n  \"instrumentDetail\": {\n    \"cardNumber\": \"5579072268574100\",\n    \"expirationDate\": \"None\",\n    \"holderName\": \"Pedro Navajas Dos\"\n  },\n  \"audit\": {\n    \"createdAt\": \"2025-05-19 19:03:51.084659-06:00\",\n    \"updatedAt\": \"2025-05-19 19:03:51.084659-06:00\",\n    \"deletedAt\": \"None\",\n    \"blockedAt\": \"None\"\n  },\n  \"rfc\": \"XAXX010101000\",\n  \"customerId\": \"bb1e8fde-e68e-48e9-a483-d32153c752c2\"\n}"
                },
                {
                  "name": "200 Created CLABE instrument",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Instrument created",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"2e7e36f8-d3ba-48a0-872e-f093379d6a4f\",\n  \"bankId\": \"3054ff18-32a0-478d-b9fe-b5261f9a6e1f\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"alias\": \"CLABE XYZ123\",\n  \"type\": \"RECEIVER\",\n  \"instrumentDetail\": {\n    \"accountNumber\": \"006487113111\",\n    \"clabeNumber\": \"002118006487113111\",\n    \"holderName\": \"Pedro Navajas Perez\"\n  },\n  \"audit\": {\n    \"createdAt\": \"2025-08-11 13:52:21.702839-06:00\",\n    \"updatedAt\": \"2025-08-11 13:52:21.702839-06:00\",\n    \"deletedAt\": \"None\",\n    \"blockedAt\": \"None\"\n  },\n  \"rfc\": \"XAXX010101000\"\n}"
                },
                {
                  "name": "400 Instrument registration request is invalid. Possible causes: missing required fields, malformed UUIDs, invalid instrument type, invalid CLABE, invalid debit-card number, unsupported BIN, invalid holder name, or sending both `virtual_clabe` and `debit_card`. It also fails when the instrument conflicts with an existing beneficiary.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Instrument registration request is invalid. Possible causes: missing required fields, malformed UUIDs, invalid instrument type, invalid CLABE, invalid debit-card number, unsupported BIN, invalid holder name, or sending both `virtual_clabe` and `debit_card`. It also fails when the instrument conflicts with an existing beneficiary.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Client, customer, source bank, or destination bank was not found.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Client, customer, source bank, or destination bank was not found.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Register an instrument for a client · Add CLABE",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "instruments"
                  ]
                },
                "description": "Registers an instrument owned by the specified client or by one of its customers.\nThe request body must include exactly one payment method: `debit_card` or `virtual_clabe`.\nUse `type = RECEIVER` for recipients. Use `type = SENDER_RECEIVER` only for\ninstruments that can both send and receive.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"source_bank_id\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n  \"client_id\": \"{{clientId}}\",\n  \"type\": \"RECEIVER\",\n  \"rfc\": \"XAXX010101000\",\n  \"alias\": \"CLABE XYZ123\",\n  \"virtual_clabe\": {\n    \"destination_bank_id\": \"3054ff18-32a0-478d-b9fe-b5261f9a6e1f\",\n    \"account_number\": \"006487113111\",\n    \"clabe_number\": \"002118006487113111\",\n    \"holder_name\": \"Pedro Navajas Perez\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Created debit card instrument",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Instrument created",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"dd7f8d89-94dd-43ca-871b-720fde378b52\",\n  \"bankId\": \"d3435bd9-998d-4e8a-9067-6b71d5fd3ac7\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"alias\": \"Tarjeta con expiracion\",\n  \"type\": \"RECEIVER\",\n  \"instrumentDetail\": {\n    \"cardNumber\": \"5579072268574100\",\n    \"expirationDate\": \"None\",\n    \"holderName\": \"Pedro Navajas Dos\"\n  },\n  \"audit\": {\n    \"createdAt\": \"2025-05-19 19:03:51.084659-06:00\",\n    \"updatedAt\": \"2025-05-19 19:03:51.084659-06:00\",\n    \"deletedAt\": \"None\",\n    \"blockedAt\": \"None\"\n  },\n  \"rfc\": \"XAXX010101000\",\n  \"customerId\": \"bb1e8fde-e68e-48e9-a483-d32153c752c2\"\n}"
                },
                {
                  "name": "200 Created CLABE instrument",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Instrument created",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"2e7e36f8-d3ba-48a0-872e-f093379d6a4f\",\n  \"bankId\": \"3054ff18-32a0-478d-b9fe-b5261f9a6e1f\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"alias\": \"CLABE XYZ123\",\n  \"type\": \"RECEIVER\",\n  \"instrumentDetail\": {\n    \"accountNumber\": \"006487113111\",\n    \"clabeNumber\": \"002118006487113111\",\n    \"holderName\": \"Pedro Navajas Perez\"\n  },\n  \"audit\": {\n    \"createdAt\": \"2025-08-11 13:52:21.702839-06:00\",\n    \"updatedAt\": \"2025-08-11 13:52:21.702839-06:00\",\n    \"deletedAt\": \"None\",\n    \"blockedAt\": \"None\"\n  },\n  \"rfc\": \"XAXX010101000\"\n}"
                },
                {
                  "name": "400 Instrument registration request is invalid. Possible causes: missing required fields, malformed UUIDs, invalid instrument type, invalid CLABE, invalid debit-card number, unsupported BIN, invalid holder name, or sending both `virtual_clabe` and `debit_card`. It also fails when the instrument conflicts with an existing beneficiary.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Instrument registration request is invalid. Possible causes: missing required fields, malformed UUIDs, invalid instrument type, invalid CLABE, invalid debit-card number, unsupported BIN, invalid holder name, or sending both `virtual_clabe` and `debit_card`. It also fails when the instrument conflicts with an existing beneficiary.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Client, customer, source bank, or destination bank was not found.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Client, customer, source bank, or destination bank was not found.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/instruments",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "instruments"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "Transactions",
          "description": "Money Out, refunds, internal transfers, and Penny Validation.",
          "item": [
            {
              "name": "Create a money out transaction",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Idempotency-Key",
                    "value": "66c0b04f-97d6-592d-8396-199819064afa",
                    "description": "Optional deterministic UUID v5 used for safe retries. See [Idempotency](/products/fincore/guides/idempotency.md) for key generation, TTL, and conflict behavior.",
                    "disabled": true
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/transactions/money_out",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "transactions",
                    "money_out"
                  ]
                },
                "description": "Initiate an outbound transfer. If the destination instrument belongs to a Finco Pay (Monato) account, the system automatically routes the transaction as an internal book-to-book transfer; no SPEI, near-real-time settlement. Routing is handled transparently; no changes to the request body are required.\nMoney Out can also be used for Penny Validation when the transfer amount is `0.01` MXN and the validation flow is enabled for the client. In that case, the transaction can include CEP validation metadata in `metadata.dataCep`; see the Penny Validation guide for the flow-specific contract.\nThis endpoint supports Idempotency via the `Idempotency-Key` header (TTL: 24h). Reuse the same key with the exact same body for safe retries. See the Idempotency guide for details.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"client_id\": \"{{clientId}}\",\n  \"source_instrument_id\": \"709448c3-7cbf-454d-a87e-feb23801269a\",\n  \"destination_instrument_id\": \"d3fdb481-2058-46c8-807d-4eaf866ae1ec\",\n  \"transaction_request\": {\n    \"external_reference\": \"1234567\",\n    \"description\": \"Supplier payment\",\n    \"amount\": \"1.95\",\n    \"currency\": \"MXN\"\n  }\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Successfully created transaction",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/money_out",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "money_out"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Successfully created transaction",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"16811ee8-1ef9-4dd4-8d84-9c2df89cf302\",\n  \"bankId\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"externalReference\": \"1234567\",\n  \"trackingId\": \"20250306FINCHVLIKQ5SKUM\",\n  \"description\": \"Supplier payment\",\n  \"amount\": \"1.95\",\n  \"currency\": \"MXN\",\n  \"category\": \"DEBIT_TRANS\",\n  \"subCategory\": \"SPEI_DEBIT\",\n  \"transactionStatus\": \"INITIALIZED\",\n  \"audit\": {\n    \"createdAt\": \"2025-03-06 11:57:55.408000-06:00\",\n    \"updatedAt\": \"2025-03-06 11:57:55.408000-06:00\",\n    \"deletedAt\": \"None\",\n    \"blockedAt\": \"None\"\n  }\n}"
                },
                {
                  "name": "400 Insufficient funds",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/money_out",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "money_out"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Money Out validation failed. Possible causes: insufficient funds, inactive source or destination instrument, invalid amount, unsupported currency, invalid external reference, invalid description, or missing required transaction fields. It also covers client or rail state that prevents the transfer.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "400 Invalid description",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/money_out",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "money_out"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Money Out validation failed. Possible causes: insufficient funds, inactive source or destination instrument, invalid amount, unsupported currency, invalid external reference, invalid description, or missing required transaction fields. It also covers client or rail state that prevents the transfer.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 3,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"DATA_ERROR\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Transaction description must have less than 40 characters length.\",\n        \"http_code\": \"400\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/money_out",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "money_out"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Source instrument, destination instrument, client, bank, or related account was not found.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/money_out",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "money_out"
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Source instrument, destination instrument, client, bank, or related account was not found.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "409 Same key with different payload",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/money_out",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "money_out"
                      ]
                    }
                  },
                  "code": 409,
                  "status": "Idempotency conflict. Possible causes: same `Idempotency-Key` reused with a different payload, or the original request is still in progress.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Idempotency key does not match the request payload\",\n        \"http_code\": \"409\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "409 Duplicate request in flight",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/money_out",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "money_out"
                      ]
                    }
                  },
                  "code": 409,
                  "status": "Idempotency conflict. Possible causes: same `Idempotency-Key` reused with a different payload, or the original request is still in progress.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Operation money_out in progress\",\n        \"http_code\": \"409\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/money_out",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "money_out"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Start Penny Validation",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Idempotency-Key",
                    "value": "66c0b04f-97d6-592d-8396-199819064afa",
                    "description": "Optional deterministic UUID v5 used for safe retries. See [Idempotency](/products/fincore/guides/idempotency.md) for key generation, TTL, and conflict behavior.",
                    "disabled": true
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/transactions/penny_validation",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "transactions",
                    "penny_validation"
                  ]
                },
                "description": "Sends a $0.01 MXN validation transfer to the destination instrument and starts the CEP lookup process. Register a `CEP` webhook before using this endpoint so you receive status updates. `INITIALIZED` in the API response should be treated like `PENDING`; webhook statuses are `PENDING`, `DELAYED`, `COMPLETED`, or `FAILED`.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"client_id\": \"{{clientId}}\",\n  \"source_instrument_id\": \"709448c3-7cbf-454d-a87e-feb23801269a\",\n  \"destination_instrument_id\": \"d3fdb481-2058-46c8-807d-4eaf866ae1ec\",\n  \"description\": \"Account validation\",\n  \"external_reference\": \"1234567\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Penny Validation transaction created.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/penny_validation",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "penny_validation"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Penny Validation transaction created.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"1eb4b5ac-09ac-4a64-b853-6939728621d2\",\n  \"trackingId\": \"20250815FINCHPV123456\",\n  \"transactionStatus\": \"INITIALIZED\",\n  \"amount\": \"0.01\",\n  \"currency\": \"MXN\",\n  \"bankId\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"externalReference\": \"1234567\",\n  \"description\": \"Account validation\",\n  \"category\": \"DEBIT_TRANS\",\n  \"subCategory\": \"SPEI_DEBIT\",\n  \"metadata\": {\n    \"dataCep\": {\n      \"status\": \"PENDING\",\n      \"cepUrl\": \"https://www.banxico.org.mx/cep/...\",\n      \"validationId\": \"f4ebe9af-50ac-42e5-97c7-3164d2693d6e\"\n    }\n  }\n}"
                },
                {
                  "name": "400 Penny Validation request is invalid. Possible causes: missing source or destination instrument, invalid description, invalid external reference, unsupported currency/amount rule, or malformed UUIDs. It also covers client or rail state that prevents validation.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/penny_validation",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "penny_validation"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Penny Validation request is invalid. Possible causes: missing source or destination instrument, invalid description, invalid external reference, unsupported currency/amount rule, or malformed UUIDs. It also covers client or rail state that prevents validation.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/penny_validation",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "penny_validation"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Source instrument, destination instrument, client, bank, or related account was not found.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/penny_validation",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "penny_validation"
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Source instrument, destination instrument, client, bank, or related account was not found.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "409 Idempotency conflict. Possible causes: same `Idempotency-Key` reused with a different payload, or the original request is still in progress.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/penny_validation",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "penny_validation"
                      ]
                    }
                  },
                  "code": 409,
                  "status": "Idempotency conflict. Possible causes: same `Idempotency-Key` reused with a different payload, or the original request is still in progress.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/transactions/penny_validation",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "transactions",
                        "penny_validation"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Retrieve a transaction",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/transactions/:transactionId",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "transactions",
                    ":transactionId"
                  ],
                  "variable": [
                    {
                      "key": "transactionId",
                      "value": "",
                      "description": "Transaction UUID, as delivered in webhooks or stored by your system."
                    }
                  ]
                },
                "description": "Returns a single transaction owned by the client. Use it to check the current status of a Money Out, a Money In, or a Penny Validation outside the webhook flow. For Penny Validation, `metadata.dataCep` carries the CEP data; see the CEP statuses guide for how that status evolves.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 The requested transaction.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/transactions/:transactionId",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "transactions",
                        ":transactionId"
                      ],
                      "variable": [
                        {
                          "key": "transactionId",
                          "value": "",
                          "description": "Transaction UUID, as delivered in webhooks or stored by your system."
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "The requested transaction.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"16811ee8-1ef9-4dd4-8d84-9c2df89cf302\",\n  \"bankId\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"externalReference\": \"1234567\",\n  \"trackingId\": \"20250306FINCHVLIKQ5SKUM\",\n  \"description\": \"Supplier payment\",\n  \"amount\": \"5000.00\",\n  \"currency\": \"MXN\",\n  \"category\": \"DEBIT_TRANS\",\n  \"subCategory\": \"SPEI_DEBIT\",\n  \"transactionStatus\": \"INITIALIZED\",\n  \"audit\": {\n    \"createdAt\": \"2025-03-06 11:57:55.408000-06:00\",\n    \"updatedAt\": \"2025-03-06 11:57:55.408000-06:00\",\n    \"deletedAt\": null,\n    \"blockedAt\": null\n  },\n  \"sourceInstrument\": {\n    \"id\": \"709448c3-7cbf-454d-a87e-feb23801269a\",\n    \"bankId\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n    \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n    \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n    \"instrumentAlias\": \"Centralizing account\",\n    \"instrumentStatus\": \"ACTIVE\",\n    \"instrumentType\": \"RECEIVER\",\n    \"instrumentDetail\": {\n      \"cardNumber\": \"5579072268574100\",\n      \"expirationDate\": null,\n      \"holderName\": \"John Smith\"\n    },\n    \"rfc\": \"XAXX010101000\",\n    \"customerId\": \"bb1e8fde-e68e-48e9-a483-d32153c752c2\"\n  },\n  \"destinationInstrument\": {\n    \"id\": \"709448c3-7cbf-454d-a87e-feb23801269a\",\n    \"bankId\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n    \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n    \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n    \"instrumentAlias\": \"Centralizing account\",\n    \"instrumentStatus\": \"ACTIVE\",\n    \"instrumentType\": \"RECEIVER\",\n    \"instrumentDetail\": {\n      \"cardNumber\": \"5579072268574100\",\n      \"expirationDate\": null,\n      \"holderName\": \"John Smith\"\n    },\n    \"rfc\": \"XAXX010101000\",\n    \"customerId\": \"bb1e8fde-e68e-48e9-a483-d32153c752c2\"\n  },\n  \"originalTransactionId\": \"a1392ef1-23f5-4e15-90cd-5d3d8d24d839\",\n  \"refundTransactionId\": \"957459ce-d4e3-40b5-b759-373e844ba1e8\",\n  \"metadata\": {\n    \"dataCep\": {\n      \"cepUrl\": \"https://www.banxico.org.mx/cep/...\",\n      \"validationId\": \"f4ebe9af-50ac-42e5-97c7-3164d2693d6e\",\n      \"beneficiaryName\": \"John Smith\",\n      \"beneficiaryRfc\": \"XAXX010101000\",\n      \"status\": \"PENDING\",\n      \"createdAt\": \"2025-08-15T22:42:39.327Z\",\n      \"processedAt\": null\n    },\n    \"dataReturn\": {\n      \"trackingId\": \"20250510FINCHFL2SFGP9KT\",\n      \"originalTrackingId\": \"20250509FINCHARNJK5NHQG\",\n      \"reason\": \"CANCELLED_ACCOUNT\",\n      \"reasonDescription\": \"Cuenta cancelada\"\n    }\n  },\n  \"clientReference\": \"INV-4567\",\n  \"jsonReference\": \"\",\n  \"transactionDate\": \"2026-09-23 14:24:58\"\n}"
                },
                {
                  "name": "400 The supplied `clientId` or `transactionId` is not a valid UUID.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/transactions/:transactionId",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "transactions",
                        ":transactionId"
                      ],
                      "variable": [
                        {
                          "key": "transactionId",
                          "value": "",
                          "description": "Transaction UUID, as delivered in webhooks or stored by your system."
                        }
                      ]
                    }
                  },
                  "code": 400,
                  "status": "The supplied `clientId` or `transactionId` is not a valid UUID.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 The bearer token is missing, expired, invalid, or not valid for the environment.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/transactions/:transactionId",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "transactions",
                        ":transactionId"
                      ],
                      "variable": [
                        {
                          "key": "transactionId",
                          "value": "",
                          "description": "Transaction UUID, as delivered in webhooks or stored by your system."
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "The bearer token is missing, expired, invalid, or not valid for the environment.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 The transaction was not found for the supplied client.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/transactions/:transactionId",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "transactions",
                        ":transactionId"
                      ],
                      "variable": [
                        {
                          "key": "transactionId",
                          "value": "",
                          "description": "Transaction UUID, as delivered in webhooks or stored by your system."
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "The transaction was not found for the supplied client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/transactions/:transactionId",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "transactions",
                        ":transactionId"
                      ],
                      "variable": [
                        {
                          "key": "transactionId",
                          "value": "",
                          "description": "Transaction UUID, as delivered in webhooks or stored by your system."
                        }
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Refund a transaction",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/transactions/:transactionId/refund",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "transactions",
                    ":transactionId",
                    "refund"
                  ],
                  "variable": [
                    {
                      "key": "transactionId",
                      "value": "",
                      "description": "Transaction UUID to be refunded."
                    }
                  ]
                },
                "description": "Creates a refund for a transaction. Partial refunds are not allowed. The `amount` must equal the original transaction amount received.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"amount\": \"5.00\",\n  \"description\": \"Invalid Amount\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Refund successfully created",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/transactions/:transactionId/refund",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "transactions",
                        ":transactionId",
                        "refund"
                      ],
                      "variable": [
                        {
                          "key": "transactionId",
                          "value": "",
                          "description": "Transaction UUID to be refunded."
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Refund successfully created",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"957459ce-d4e3-40b5-b759-373e844ba1e8\",\n  \"bankId\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"externalReference\": \"2505091\",\n  \"trackingId\": \"20250510FINCHFL2SFGP9KT\",\n  \"description\": \"Refund due to incorrect amount\",\n  \"amount\": \"100.00\",\n  \"currency\": \"MXN\",\n  \"category\": \"DEBIT_TRANS\",\n  \"subCategory\": \"SPEI_DEBIT\",\n  \"transactionStatus\": \"INITIALIZED\",\n  \"audit\": {\n    \"createdAt\": \"2025-05-09 18:02:31.979746-06:00\",\n    \"updatedAt\": \"2025-05-09 18:02:31.979746-06:00\",\n    \"deletedAt\": null,\n    \"blockedAt\": null\n  }\n}"
                },
                {
                  "name": "400 Refund request is invalid. Possible causes: malformed `clientId` or `transactionId`, missing amount, invalid amount format, amount not equal to the original transaction amount, or invalid description. It also fails when the transaction cannot be refunded in its current state, was already refunded, or a refund is already in progress.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/transactions/:transactionId/refund",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "transactions",
                        ":transactionId",
                        "refund"
                      ],
                      "variable": [
                        {
                          "key": "transactionId",
                          "value": "",
                          "description": "Transaction UUID to be refunded."
                        }
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Refund request is invalid. Possible causes: malformed `clientId` or `transactionId`, missing amount, invalid amount format, amount not equal to the original transaction amount, or invalid description. It also fails when the transaction cannot be refunded in its current state, was already refunded, or a refund is already in progress.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/transactions/:transactionId/refund",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "transactions",
                        ":transactionId",
                        "refund"
                      ],
                      "variable": [
                        {
                          "key": "transactionId",
                          "value": "",
                          "description": "Transaction UUID to be refunded."
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Transaction was not found for the supplied client.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/transactions/:transactionId/refund",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "transactions",
                        ":transactionId",
                        "refund"
                      ],
                      "variable": [
                        {
                          "key": "transactionId",
                          "value": "",
                          "description": "Transaction UUID to be refunded."
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Transaction was not found for the supplied client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/transactions/:transactionId/refund",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "transactions",
                        ":transactionId",
                        "refund"
                      ],
                      "variable": [
                        {
                          "key": "transactionId",
                          "value": "",
                          "description": "Transaction UUID to be refunded."
                        }
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "Webhooks",
          "description": "Client webhook configuration and incoming event payloads.",
          "item": [
            {
              "name": "List client webhooks",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "webhooks"
                  ]
                },
                "description": "Returns a paginated list of webhooks configured for the specified client.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 List of client webhooks",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "List of client webhooks",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"currentPage\": 0,\n  \"perPage\": 50,\n  \"totalItem\": 2,\n  \"data\": [\n    {\n      \"id\": \"29806117-2b15-4682-87f0-350e6695fe91\",\n      \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n      \"url\": \"https://example.com/webhook\",\n      \"token\": \"secretToken0123\",\n      \"webhookType\": \"MONEY_IN\",\n      \"webhookStatus\": \"ACTIVE\",\n      \"createdAt\": \"2025-04-03 13:40:54.056794-06:00\",\n      \"updatedAt\": \"2025-04-03 13:40:54.056794-06:00\",\n      \"deletedAt\": null,\n      \"blockedAt\": null,\n      \"deletedBy\": null,\n      \"blockedBy\": null\n    }\n  ]\n}"
                },
                {
                  "name": "400 Webhook list request is invalid. Possible causes: malformed `clientId` or invalid pagination/filter values.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Webhook list request is invalid. Possible causes: malformed `clientId` or invalid pagination/filter values.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Register a webhook for a client",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "webhooks"
                  ]
                },
                "description": "Endpoint to register a new URL where the specified client will receive webhooks. Requires `Authorization: Bearer <token>` headers.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"client_id\": \"{{clientId}}\",\n  \"url\": \"https://example.com/webhook\",\n  \"token\": \"secretToken0123\",\n  \"webhook_type\": \"MONEY_IN\",\n  \"auth_type\": \"AUTH\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Webhook successfully created",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Webhook successfully created",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"29806117-2b15-4682-87f0-350e6695fe91\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"url\": \"https://example.com/webhook\",\n  \"token\": \"secretToken0123\",\n  \"webhookType\": \"MONEY_IN\",\n  \"webhookStatus\": \"ACTIVE\",\n  \"createdAt\": \"2025-04-03 13:40:54.056794-06:00\",\n  \"updatedAt\": \"2025-04-03 13:40:54.056794-06:00\",\n  \"deletedAt\": null,\n  \"blockedAt\": null,\n  \"deletedBy\": null,\n  \"blockedBy\": null\n}"
                },
                {
                  "name": "400 Webhook creation request is invalid. Possible causes: malformed `client_id`, invalid URL, missing token, unsupported `webhook_type`, unsupported `auth_type`, or URL that does not meet delivery requirements. It also fails when a matching webhook configuration already exists.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Webhook creation request is invalid. Possible causes: malformed `client_id`, invalid URL, missing token, unsupported `webhook_type`, unsupported `auth_type`, or URL that does not meet delivery requirements. It also fails when a matching webhook configuration already exists.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Retrieve a client webhook",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks/:id",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "webhooks",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Webhook UUID."
                    }
                  ]
                },
                "description": "Returns details for a specific webhook owned by the client.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Webhook found",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Webhook UUID."
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Webhook found",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"29806117-2b15-4682-87f0-350e6695fe91\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"url\": \"https://example.com/webhook\",\n  \"token\": \"secretToken0123\",\n  \"webhookType\": \"MONEY_IN\",\n  \"webhookStatus\": \"ACTIVE\",\n  \"createdAt\": \"2025-04-03 13:40:54.056794-06:00\",\n  \"updatedAt\": \"2025-04-03 13:40:54.056794-06:00\",\n  \"deletedAt\": null,\n  \"blockedAt\": null,\n  \"deletedBy\": null,\n  \"blockedBy\": null\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Webhook UUID."
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Webhook was not found for the supplied client.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Webhook UUID."
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Webhook was not found for the supplied client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Update a client webhook",
              "request": {
                "method": "PATCH",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks/:id",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "webhooks",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Webhook UUID."
                    }
                  ]
                },
                "description": "Updates one or more fields of a webhook owned by the client. All fields in the request body are optional, but at least one must be provided.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"url\": \"https://example.com/new-webhook\",\n  \"webhook_status\": \"ACTIVE\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Webhook successfully updated",
                  "originalRequest": {
                    "method": "PATCH",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Webhook UUID."
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Webhook successfully updated",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"29806117-2b15-4682-87f0-350e6695fe91\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"url\": \"https://example.com/webhook\",\n  \"token\": \"secretToken0123\",\n  \"webhookType\": \"MONEY_IN\",\n  \"webhookStatus\": \"ACTIVE\",\n  \"createdAt\": \"2025-04-03 13:40:54.056794-06:00\",\n  \"updatedAt\": \"2025-04-03 13:40:54.056794-06:00\",\n  \"deletedAt\": null,\n  \"blockedAt\": null,\n  \"deletedBy\": null,\n  \"blockedBy\": null\n}"
                },
                {
                  "name": "400 Webhook update request is invalid. Possible causes: malformed `clientId` or webhook `id`, empty update body, invalid URL, unsupported `webhook_type`, unsupported `auth_type`, or unsupported `webhook_status`.",
                  "originalRequest": {
                    "method": "PATCH",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Webhook UUID."
                        }
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Webhook update request is invalid. Possible causes: malformed `clientId` or webhook `id`, empty update body, invalid URL, unsupported `webhook_type`, unsupported `auth_type`, or unsupported `webhook_status`.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "PATCH",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Webhook UUID."
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Webhook was not found for the supplied client.",
                  "originalRequest": {
                    "method": "PATCH",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Webhook UUID."
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Webhook was not found for the supplied client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Delete a client webhook",
              "request": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks/:id",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "webhooks",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Webhook UUID."
                    }
                  ]
                },
                "description": "Deletes (or soft-deletes) a webhook owned by the client.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Webhook successfully deleted",
                  "originalRequest": {
                    "method": "DELETE",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Webhook UUID."
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Webhook successfully deleted",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"29806117-2b15-4682-87f0-350e6695fe91\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"url\": \"https://example.com/webhook\",\n  \"token\": \"secretToken0123\",\n  \"webhookType\": \"MONEY_IN\",\n  \"webhookStatus\": \"ACTIVE\",\n  \"createdAt\": \"2025-04-03 13:40:54.056794-06:00\",\n  \"updatedAt\": \"2025-04-03 13:40:54.056794-06:00\",\n  \"deletedAt\": null,\n  \"blockedAt\": null,\n  \"deletedBy\": null,\n  \"blockedBy\": null\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "DELETE",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Webhook UUID."
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Webhook was not found for the supplied client.",
                  "originalRequest": {
                    "method": "DELETE",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/webhooks/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "webhooks",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Webhook UUID."
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Webhook was not found for the supplied client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "Business Units",
          "description": "Customer sub-accounts that operate as independent legal entities.",
          "item": [
            {
              "name": "Create a private account for a Business Unit",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:ownerId/private_accounts",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "customers",
                    ":ownerId",
                    "private_accounts"
                  ],
                  "variable": [
                    {
                      "key": "ownerId",
                      "value": "",
                      "description": "Customer UUID that will own the private account."
                    }
                  ]
                },
                "description": "Creates a private CLABE owned by a Customer/Business Unit. Use this when each sub-account must appear as an independent legal entity on payment receipts. `ownerId` is the Customer ID.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"client_id\": \"{{clientId}}\",\n  \"client_bank_adapter_id\": \"5b3a1b67-ab59-4cc1-8fc6-1d558b32b237\",\n  \"bank_id\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n  \"owner_id\": \"bb1e8fde-e68e-48e9-a483-d32153c752c2\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Business Unit private account created.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:ownerId/private_accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":ownerId",
                        "private_accounts"
                      ],
                      "variable": [
                        {
                          "key": "ownerId",
                          "value": "",
                          "description": "Customer UUID that will own the private account."
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Business Unit private account created.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"750ab428-b401-4b58-8a95-502bcb7b1bf8\",\n  \"bankId\": \"9d84b03a-28d1-4898-a69c-38824239e2b1\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"clientBankAdapterId\": \"5b3a1b67-ab59-4cc1-8fc6-1d558b32b237\",\n  \"accountId\": \"24a726ac-180d-48df-82bc-711f2788a46f\",\n  \"instrumentId\": \"ab502fce-1162-42f3-99d6-972989a06049\",\n  \"ownerId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"ownerType\": \"CLIENT\",\n  \"accountNumber\": \"000001233635\",\n  \"clabeNumber\": \"734180000001233635\",\n  \"availableBalance\": \"0.00\",\n  \"accountType\": \"PRIVATE_ACCOUNT\",\n  \"accountStatus\": \"ACTIVE\",\n  \"audit\": {\n    \"createdAt\": \"2025-04-12 11:00:56.264527-06:00\",\n    \"updatedAt\": \"2025-04-12 11:00:56.264527-06:00\",\n    \"deletedAt\": null,\n    \"blockedAt\": null,\n    \"activatedAt\": null,\n    \"suspendedAt\": null\n  },\n  \"bankAdapter\": \"SIES\"\n}"
                },
                {
                  "name": "400 Business Unit private account request is invalid. Possible causes: missing required fields, malformed UUIDs, or inconsistent `client_id`, `owner_id`, bank, and adapter identifiers. It also fails when the account conflicts with an existing record or the Business Unit state prevents creation.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:ownerId/private_accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":ownerId",
                        "private_accounts"
                      ],
                      "variable": [
                        {
                          "key": "ownerId",
                          "value": "",
                          "description": "Customer UUID that will own the private account."
                        }
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Business Unit private account request is invalid. Possible causes: missing required fields, malformed UUIDs, or inconsistent `client_id`, `owner_id`, bank, and adapter identifiers. It also fails when the account conflicts with an existing record or the Business Unit state prevents creation.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Bearer token is missing, expired, invalid, or does not belong to the requested client.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:ownerId/private_accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":ownerId",
                        "private_accounts"
                      ],
                      "variable": [
                        {
                          "key": "ownerId",
                          "value": "",
                          "description": "Customer UUID that will own the private account."
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Bearer token is missing, expired, invalid, or does not belong to the requested client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "403 Authenticated caller cannot create a private account for the supplied Business Unit or client.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:ownerId/private_accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":ownerId",
                        "private_accounts"
                      ],
                      "variable": [
                        {
                          "key": "ownerId",
                          "value": "",
                          "description": "Customer UUID that will own the private account."
                        }
                      ]
                    }
                  },
                  "code": 403,
                  "status": "Authenticated caller cannot create a private account for the supplied Business Unit or client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Client, Business Unit, bank, adapter, or related account was not found.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:ownerId/private_accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":ownerId",
                        "private_accounts"
                      ],
                      "variable": [
                        {
                          "key": "ownerId",
                          "value": "",
                          "description": "Customer UUID that will own the private account."
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Client, Business Unit, bank, adapter, or related account was not found.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:ownerId/private_accounts",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":ownerId",
                        "private_accounts"
                      ],
                      "variable": [
                        {
                          "key": "ownerId",
                          "value": "",
                          "description": "Customer UUID that will own the private account."
                        }
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "List Business Units",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "customers"
                  ],
                  "query": [
                    {
                      "key": "customer_status",
                      "value": "ACTIVE",
                      "description": "Filter Business Units by lifecycle status.",
                      "disabled": true
                    },
                    {
                      "key": "customer_alias",
                      "value": "",
                      "description": "Filter Business Units by alias. Matching behavior is backend-defined.",
                      "disabled": true
                    },
                    {
                      "key": "name",
                      "value": "",
                      "description": "Filter Business Units by legal or display name.",
                      "disabled": true
                    },
                    {
                      "key": "customer_validation_status",
                      "value": "VALIDATED",
                      "description": "Filter Business Units by validation status.",
                      "disabled": true
                    },
                    {
                      "key": "page",
                      "value": "",
                      "description": "Page number to return. The first page is `1`.",
                      "disabled": true
                    },
                    {
                      "key": "per_page",
                      "value": "",
                      "description": "Number of Business Units returned per page.",
                      "disabled": true
                    }
                  ]
                },
                "description": "Returns the Customers/Business Units associated with a client. In production, use only customers where `customerValidationStatus = VALIDATED`.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Business Units list.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers"
                      ],
                      "query": [
                        {
                          "key": "customer_status",
                          "value": "ACTIVE",
                          "description": "Filter Business Units by lifecycle status.",
                          "disabled": true
                        },
                        {
                          "key": "customer_alias",
                          "value": "",
                          "description": "Filter Business Units by alias. Matching behavior is backend-defined.",
                          "disabled": true
                        },
                        {
                          "key": "name",
                          "value": "",
                          "description": "Filter Business Units by legal or display name.",
                          "disabled": true
                        },
                        {
                          "key": "customer_validation_status",
                          "value": "VALIDATED",
                          "description": "Filter Business Units by validation status.",
                          "disabled": true
                        },
                        {
                          "key": "page",
                          "value": "",
                          "description": "Page number to return. The first page is `1`.",
                          "disabled": true
                        },
                        {
                          "key": "per_page",
                          "value": "",
                          "description": "Number of Business Units returned per page.",
                          "disabled": true
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Business Units list.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"currentPage\": 1,\n  \"perPage\": 50,\n  \"totalItems\": 3,\n  \"data\": [\n    {\n      \"id\": \"bb1e8fde-e68e-48e9-a483-d32153c752c2\",\n      \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n      \"name\": \"Business Unit ABC\",\n      \"rfc\": \"XAXX010101000\",\n      \"legalRepresentativeName\": \"Jane Doe\",\n      \"legalRepresentativeRfc\": \"XAXX010101000\",\n      \"legalRepresentativePhone\": \"5555555555\",\n      \"legalRepresentativeEmail\": \"legal@example.com\",\n      \"website\": \"https://example.com\",\n      \"domain\": \"example.com\",\n      \"customerAlias\": \"BU ABC\",\n      \"customerStatus\": \"ACTIVE\",\n      \"customerValidationStatus\": \"VALIDATED\",\n      \"audit\": {\n        \"createdAt\": \"2025-03-05 11:00:56.264527-06:00\",\n        \"updatedAt\": \"2025-03-05 11:00:56.264527-06:00\",\n        \"deletedAt\": \"None\",\n        \"blockedAt\": \"None\",\n        \"activatedAt\": null,\n        \"suspendedAt\": null\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "400 Business Unit list request is invalid. Possible causes: malformed `clientId`, invalid status filter, or invalid pagination values.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers"
                      ],
                      "query": [
                        {
                          "key": "customer_status",
                          "value": "ACTIVE",
                          "description": "Filter Business Units by lifecycle status.",
                          "disabled": true
                        },
                        {
                          "key": "customer_alias",
                          "value": "",
                          "description": "Filter Business Units by alias. Matching behavior is backend-defined.",
                          "disabled": true
                        },
                        {
                          "key": "name",
                          "value": "",
                          "description": "Filter Business Units by legal or display name.",
                          "disabled": true
                        },
                        {
                          "key": "customer_validation_status",
                          "value": "VALIDATED",
                          "description": "Filter Business Units by validation status.",
                          "disabled": true
                        },
                        {
                          "key": "page",
                          "value": "",
                          "description": "Page number to return. The first page is `1`.",
                          "disabled": true
                        },
                        {
                          "key": "per_page",
                          "value": "",
                          "description": "Number of Business Units returned per page.",
                          "disabled": true
                        }
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Business Unit list request is invalid. Possible causes: malformed `clientId`, invalid status filter, or invalid pagination values.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers"
                      ],
                      "query": [
                        {
                          "key": "customer_status",
                          "value": "ACTIVE",
                          "description": "Filter Business Units by lifecycle status.",
                          "disabled": true
                        },
                        {
                          "key": "customer_alias",
                          "value": "",
                          "description": "Filter Business Units by alias. Matching behavior is backend-defined.",
                          "disabled": true
                        },
                        {
                          "key": "name",
                          "value": "",
                          "description": "Filter Business Units by legal or display name.",
                          "disabled": true
                        },
                        {
                          "key": "customer_validation_status",
                          "value": "VALIDATED",
                          "description": "Filter Business Units by validation status.",
                          "disabled": true
                        },
                        {
                          "key": "page",
                          "value": "",
                          "description": "Page number to return. The first page is `1`.",
                          "disabled": true
                        },
                        {
                          "key": "per_page",
                          "value": "",
                          "description": "Number of Business Units returned per page.",
                          "disabled": true
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers"
                      ],
                      "query": [
                        {
                          "key": "customer_status",
                          "value": "ACTIVE",
                          "description": "Filter Business Units by lifecycle status.",
                          "disabled": true
                        },
                        {
                          "key": "customer_alias",
                          "value": "",
                          "description": "Filter Business Units by alias. Matching behavior is backend-defined.",
                          "disabled": true
                        },
                        {
                          "key": "name",
                          "value": "",
                          "description": "Filter Business Units by legal or display name.",
                          "disabled": true
                        },
                        {
                          "key": "customer_validation_status",
                          "value": "VALIDATED",
                          "description": "Filter Business Units by validation status.",
                          "disabled": true
                        },
                        {
                          "key": "page",
                          "value": "",
                          "description": "Page number to return. The first page is `1`.",
                          "disabled": true
                        },
                        {
                          "key": "per_page",
                          "value": "",
                          "description": "Number of Business Units returned per page.",
                          "disabled": true
                        }
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Create a Business Unit",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "customers"
                  ]
                },
                "description": "Creates a Customer/Business Unit that can own instruments and private accounts. Business Units are useful when sub-accounts need their own RFC and legal identity on payment receipts.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"client_id\": \"{{clientId}}\",\n  \"name\": \"Business Unit ABC\",\n  \"rfc\": \"XAXX010101000\",\n  \"legal_representative_name\": \"Jane Doe\",\n  \"legal_representative_rfc\": \"XAXX010101000\",\n  \"legal_representative_phone\": \"5555555555\",\n  \"legal_representative_email\": \"legal@example.com\",\n  \"customer_alias\": \"BU ABC\",\n  \"customer_status\": \"ACTIVE\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Business Unit created.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Business Unit created.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"bb1e8fde-e68e-48e9-a483-d32153c752c2\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"name\": \"Business Unit ABC\",\n  \"rfc\": \"XAXX010101000\",\n  \"legalRepresentativeName\": \"Jane Doe\",\n  \"legalRepresentativeRfc\": \"XAXX010101000\",\n  \"legalRepresentativePhone\": \"5555555555\",\n  \"legalRepresentativeEmail\": \"legal@example.com\",\n  \"website\": \"https://example.com\",\n  \"domain\": \"example.com\",\n  \"customerAlias\": \"BU ABC\",\n  \"customerStatus\": \"ACTIVE\",\n  \"customerValidationStatus\": \"VALIDATED\",\n  \"audit\": {\n    \"createdAt\": \"2025-03-05 11:00:56.264527-06:00\",\n    \"updatedAt\": \"2025-03-05 11:00:56.264527-06:00\",\n    \"deletedAt\": \"None\",\n    \"blockedAt\": \"None\",\n    \"activatedAt\": null,\n    \"suspendedAt\": null\n  }\n}"
                },
                {
                  "name": "400 Business Unit creation request is invalid. Possible causes: missing legal representative fields, invalid RFC, invalid email, malformed `client_id`, or unsupported customer status. It also fails when the Business Unit conflicts with an existing record for this client.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Business Unit creation request is invalid. Possible causes: missing legal representative fields, invalid RFC, invalid email, malformed `client_id`, or unsupported customer status. It also fails when the Business Unit conflicts with an existing record for this client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Retrieve a Business Unit",
              "request": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:id",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "customers",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Customer UUID."
                    }
                  ]
                },
                "description": "Returns a single Customer/Business Unit by ID.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Business Unit details.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Customer UUID."
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Business Unit details.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"bb1e8fde-e68e-48e9-a483-d32153c752c2\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"name\": \"Business Unit ABC\",\n  \"rfc\": \"XAXX010101000\",\n  \"legalRepresentativeName\": \"Jane Doe\",\n  \"legalRepresentativeRfc\": \"XAXX010101000\",\n  \"legalRepresentativePhone\": \"5555555555\",\n  \"legalRepresentativeEmail\": \"legal@example.com\",\n  \"website\": \"https://example.com\",\n  \"domain\": \"example.com\",\n  \"customerAlias\": \"BU ABC\",\n  \"customerStatus\": \"ACTIVE\",\n  \"customerValidationStatus\": \"VALIDATED\",\n  \"audit\": {\n    \"createdAt\": \"2025-03-05 11:00:56.264527-06:00\",\n    \"updatedAt\": \"2025-03-05 11:00:56.264527-06:00\",\n    \"deletedAt\": \"None\",\n    \"blockedAt\": \"None\",\n    \"activatedAt\": null,\n    \"suspendedAt\": null\n  }\n}"
                },
                {
                  "name": "400 Business Unit lookup request is invalid. Possible causes: malformed `clientId` or Business Unit `id`.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Customer UUID."
                        }
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Business Unit lookup request is invalid. Possible causes: malformed `clientId` or Business Unit `id`.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Customer UUID."
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Business Unit was not found for the supplied client.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Customer UUID."
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Business Unit was not found for the supplied client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "GET",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:id",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":id"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Customer UUID."
                        }
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Mark a Business Unit as validated",
              "request": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:id/validate",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "clients",
                    "{{clientId}}",
                    "customers",
                    ":id",
                    "validate"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "",
                      "description": "Customer UUID."
                    }
                  ]
                },
                "description": "Updates the Business Unit validation status. Use only validated Business Units for production payment flows.",
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Business Unit validation status updated.",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:id/validate",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":id",
                        "validate"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Customer UUID."
                        }
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Business Unit validation status updated.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"id\": \"bb1e8fde-e68e-48e9-a483-d32153c752c2\",\n  \"clientId\": \"c2d1d1e3-3340-4170-980e-e9269bbbc551\",\n  \"name\": \"Business Unit ABC\",\n  \"rfc\": \"XAXX010101000\",\n  \"legalRepresentativeName\": \"Jane Doe\",\n  \"legalRepresentativeRfc\": \"XAXX010101000\",\n  \"legalRepresentativePhone\": \"5555555555\",\n  \"legalRepresentativeEmail\": \"legal@example.com\",\n  \"website\": \"https://example.com\",\n  \"domain\": \"example.com\",\n  \"customerAlias\": \"BU ABC\",\n  \"customerStatus\": \"ACTIVE\",\n  \"customerValidationStatus\": \"VALIDATED\",\n  \"audit\": {\n    \"createdAt\": \"2025-03-05 11:00:56.264527-06:00\",\n    \"updatedAt\": \"2025-03-05 11:00:56.264527-06:00\",\n    \"deletedAt\": \"None\",\n    \"blockedAt\": \"None\",\n    \"activatedAt\": null,\n    \"suspendedAt\": null\n  }\n}"
                },
                {
                  "name": "400 Business Unit validation request is invalid. Possible causes: malformed `clientId` or Business Unit `id`, or unsupported validation state transition.",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:id/validate",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":id",
                        "validate"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Customer UUID."
                        }
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Business Unit validation request is invalid. Possible causes: malformed `clientId` or Business Unit `id`, or unsupported validation state transition.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:id/validate",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":id",
                        "validate"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Customer UUID."
                        }
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Business Unit was not found for the supplied client.",
                  "originalRequest": {
                    "method": "PUT",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/clients/{{clientId}}/customers/:id/validate",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "clients",
                        "{{clientId}}",
                        "customers",
                        ":id",
                        "validate"
                      ],
                      "variable": [
                        {
                          "key": "id",
                          "value": "",
                          "description": "Customer UUID."
                        }
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Business Unit was not found for the supplied client.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            }
          ]
        },
        {
          "name": "Reports",
          "description": "Transaction and account statement file downloads.",
          "item": [
            {
              "name": "Download a report file · Daily account statement",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/reports/clients/{{clientId}}/report/download",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "reports",
                    "clients",
                    "{{clientId}}",
                    "report",
                    "download"
                  ]
                },
                "description": "Returns a download URL for a generated report file (transactions or account statement). If no matching file is found, response fields are returned empty.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"clabe_number\": \"123456789012345678\",\n  \"report_type\": \"DAILY_ACCOUNT_STATEMENT\",\n  \"operation_date\": \"2025-08-25\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Report file found. Returns file name and download URL. Fields are empty if no matching file exists.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/reports/clients/{{clientId}}/report/download",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "reports",
                        "clients",
                        "{{clientId}}",
                        "report",
                        "download"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Report file found. Returns file name and download URL. Fields are empty if no matching file exists.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"file_name\": \"daily_account_statement_123456789012345678_20260224.csv\",\n  \"download_url\": \"https://...\"\n}"
                },
                {
                  "name": "400 Validation error. Possible messages include `Invalid UUID format for client_id`, `Invalid report_type: <value>`, `clabe_number is required for account statement reports`, `Invalid clabe number`, or invalid `operation_date` format.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/reports/clients/{{clientId}}/report/download",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "reports",
                        "clients",
                        "{{clientId}}",
                        "report",
                        "download"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Validation error. Possible messages include `Invalid UUID format for client_id`, `Invalid report_type: <value>`, `clabe_number is required for account statement reports`, `Invalid clabe number`, or invalid `operation_date` format.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/reports/clients/{{clientId}}/report/download",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "reports",
                        "clients",
                        "{{clientId}}",
                        "report",
                        "download"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Client, generated report, account statement, or requested report resource was not found.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/reports/clients/{{clientId}}/report/download",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "reports",
                        "clients",
                        "{{clientId}}",
                        "report",
                        "download"
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Client, generated report, account statement, or requested report resource was not found.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/reports/clients/{{clientId}}/report/download",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "reports",
                        "clients",
                        "{{clientId}}",
                        "report",
                        "download"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            },
            {
              "name": "Download a report file · Daily transactions report",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{fincoreBaseUrl}}/v1/reports/clients/{{clientId}}/report/download",
                  "host": [
                    "{{fincoreBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "reports",
                    "clients",
                    "{{clientId}}",
                    "report",
                    "download"
                  ]
                },
                "description": "Returns a download URL for a generated report file (transactions or account statement). If no matching file is found, response fields are returned empty.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"report_type\": \"DAILY\",\n  \"operation_date\": \"2025-08-25\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "bearer",
                  "bearer": [
                    {
                      "key": "token",
                      "value": "{{fincoreToken}}",
                      "type": "string"
                    }
                  ]
                }
              },
              "response": [
                {
                  "name": "200 Report file found. Returns file name and download URL. Fields are empty if no matching file exists.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/reports/clients/{{clientId}}/report/download",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "reports",
                        "clients",
                        "{{clientId}}",
                        "report",
                        "download"
                      ]
                    }
                  },
                  "code": 200,
                  "status": "Report file found. Returns file name and download URL. Fields are empty if no matching file exists.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"file_name\": \"daily_account_statement_123456789012345678_20260224.csv\",\n  \"download_url\": \"https://...\"\n}"
                },
                {
                  "name": "400 Validation error. Possible messages include `Invalid UUID format for client_id`, `Invalid report_type: <value>`, `clabe_number is required for account statement reports`, `Invalid clabe number`, or invalid `operation_date` format.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/reports/clients/{{clientId}}/report/download",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "reports",
                        "clients",
                        "{{clientId}}",
                        "report",
                        "download"
                      ]
                    }
                  },
                  "code": 400,
                  "status": "Validation error. Possible messages include `Invalid UUID format for client_id`, `Invalid report_type: <value>`, `clabe_number is required for account statement reports`, `Invalid clabe number`, or invalid `operation_date` format.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/reports/clients/{{clientId}}/report/download",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "reports",
                        "clients",
                        "{{clientId}}",
                        "report",
                        "download"
                      ]
                    }
                  },
                  "code": 401,
                  "status": "Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 16,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"UNAUTHORIZED\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"Invalid Credentials\",\n        \"http_code\": \"401\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "404 Client, generated report, account statement, or requested report resource was not found.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/reports/clients/{{clientId}}/report/download",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "reports",
                        "clients",
                        "{{clientId}}",
                        "report",
                        "download"
                      ]
                    }
                  },
                  "code": 404,
                  "status": "Client, generated report, account statement, or requested report resource was not found.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                },
                {
                  "name": "500 Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "originalRequest": {
                    "method": "POST",
                    "header": [],
                    "url": {
                      "raw": "{{fincoreBaseUrl}}/v1/reports/clients/{{clientId}}/report/download",
                      "host": [
                        "{{fincoreBaseUrl}}"
                      ],
                      "path": [
                        "v1",
                        "reports",
                        "clients",
                        "{{clientId}}",
                        "report",
                        "download"
                      ]
                    }
                  },
                  "code": 500,
                  "status": "Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.",
                  "header": [
                    {
                      "key": "Content-Type",
                      "value": "application/json"
                    }
                  ],
                  "_postman_previewlanguage": "json",
                  "body": "{\n  \"code\": 9,\n  \"message\": \"API Error\",\n  \"details\": [\n    {\n      \"reason\": \"FAILED_PRECONDITION\",\n      \"domain\": \"CORE\",\n      \"metadata\": {\n        \"error_detail\": \"The account does not have sufficient funds.\",\n        \"http_code\": \"400\",\n        \"error_code\": \"10-E4120\"\n      }\n    }\n  ]\n}"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Direct Debit",
      "description": "Direct Debit Service 0.1.0. Generated from `products/directdebit/openapi.json`.\n\nSelect the Monato Sandbox environment and fill in your credentials, then send any request.",
      "item": [
        {
          "name": "customers",
          "item": [
            {
              "name": "List Customers",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/customers",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "customers"
                  ],
                  "query": [
                    {
                      "key": "skip",
                      "value": "",
                      "disabled": true
                    },
                    {
                      "key": "limit",
                      "value": "",
                      "disabled": true
                    }
                  ]
                },
                "description": "Get all customers with pagination.",
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            },
            {
              "name": "Create Customer",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/customers",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "customers"
                  ]
                },
                "description": "Create a new customer.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"name\": \"\",\n  \"document_type\": \"\",\n  \"document_number\": \"\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            },
            {
              "name": "Get Customer",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/customers/:customer_id",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "customers",
                    ":customer_id"
                  ],
                  "variable": [
                    {
                      "key": "customer_id",
                      "value": ""
                    }
                  ]
                },
                "description": "Get a customer by ID.",
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            },
            {
              "name": "Update Customer",
              "request": {
                "method": "PUT",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/customers/:customer_id",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "customers",
                    ":customer_id"
                  ],
                  "variable": [
                    {
                      "key": "customer_id",
                      "value": ""
                    }
                  ]
                },
                "description": "Update an existing customer.",
                "body": {
                  "mode": "raw",
                  "raw": "{}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            },
            {
              "name": "Delete Customer",
              "request": {
                "method": "DELETE",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/customers/:customer_id",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "customers",
                    ":customer_id"
                  ],
                  "variable": [
                    {
                      "key": "customer_id",
                      "value": ""
                    }
                  ]
                },
                "description": "Delete a customer by ID.",
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            }
          ]
        },
        {
          "name": "instruments",
          "item": [
            {
              "name": "List Instruments",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/instruments",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "instruments"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "",
                      "description": "Maximum number of records to return",
                      "disabled": true
                    },
                    {
                      "key": "cursor",
                      "value": "",
                      "description": "Cursor for pagination (use next_cursor from previous response)",
                      "disabled": true
                    }
                  ]
                },
                "description": "List instruments with cursor-based pagination.\n\nPagination:\n- cursor: Opaque cursor from previous response\n- Use `next_cursor` from response for next page",
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            },
            {
              "name": "Create Instrument",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/instruments",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "instruments"
                  ]
                },
                "description": "Create a new instrument.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"type\": \"\",\n  \"customer_id\": \"\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            },
            {
              "name": "Get Instrument",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/instruments/:instrument_id",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "instruments",
                    ":instrument_id"
                  ],
                  "variable": [
                    {
                      "key": "instrument_id",
                      "value": ""
                    }
                  ]
                },
                "description": "Get an instrument by ID.",
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            },
            {
              "name": "Update Instrument",
              "request": {
                "method": "PUT",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/instruments/:instrument_id",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "instruments",
                    ":instrument_id"
                  ],
                  "variable": [
                    {
                      "key": "instrument_id",
                      "value": ""
                    }
                  ]
                },
                "description": "Update an existing instrument.",
                "body": {
                  "mode": "raw",
                  "raw": "{}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            },
            {
              "name": "Delete Instrument",
              "request": {
                "method": "DELETE",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/instruments/:instrument_id",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "instruments",
                    ":instrument_id"
                  ],
                  "variable": [
                    {
                      "key": "instrument_id",
                      "value": ""
                    }
                  ]
                },
                "description": "Delete an instrument by ID.",
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            }
          ]
        },
        {
          "name": "charges",
          "item": [
            {
              "name": "List Charges",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/charges",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "charges"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "",
                      "description": "Maximum number of records to return",
                      "disabled": true
                    },
                    {
                      "key": "cursor",
                      "value": "",
                      "description": "Cursor for pagination (use next_cursor from previous response)",
                      "disabled": true
                    },
                    {
                      "key": "customer_id",
                      "value": "",
                      "description": "Filter by customer ID",
                      "disabled": true
                    },
                    {
                      "key": "instrument_id",
                      "value": "",
                      "description": "Filter by instrument ID",
                      "disabled": true
                    },
                    {
                      "key": "reference",
                      "value": "",
                      "description": "Filter by reference",
                      "disabled": true
                    },
                    {
                      "key": "created_at_from",
                      "value": "",
                      "description": "Filter charges created on or after this date",
                      "disabled": true
                    },
                    {
                      "key": "created_at_to",
                      "value": "",
                      "description": "Filter charges created on or before this date",
                      "disabled": true
                    },
                    {
                      "key": "result_at_from",
                      "value": "",
                      "description": "Filter charges with result on or after this date",
                      "disabled": true
                    },
                    {
                      "key": "result_at_to",
                      "value": "",
                      "description": "Filter charges with result on or before this date",
                      "disabled": true
                    },
                    {
                      "key": "instrument_identifier",
                      "value": "",
                      "description": "Filter by instrument identifier (searches both inline and linked instruments)",
                      "disabled": true
                    }
                  ]
                },
                "description": "List charges with cursor-based pagination.\n\nFilters:\n- customer_id: Filter by customer UUID\n- instrument_id: Filter by instrument UUID\n- reference: Filter by exact reference match\n- created_at_from: Filter charges created on or after this date\n- created_at_to: Filter charges created on or before this date\n- result_at_from: Filter charges with result on or after this date\n- result_at_to: Filter charges with result on or before this date\n- instrument_identifier: Filter by instrument identifier (inline or linked)\n\nPagination:\n- cursor: Opaque cursor from previous response\n- Use `next_cursor` from response for next page",
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            },
            {
              "name": "Create Charge",
              "request": {
                "method": "POST",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "",
                    "description": "Optional UUID for safely retrying charge creation. Reusing the same key with an identical request body returns the original charge instead of creating a duplicate. Keys are scoped to your organization and expire 24 hours after the request.",
                    "disabled": true
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/charges",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "charges"
                  ]
                },
                "description": "Create a new charge.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"currency\": \"\",\n  \"amount\": 0\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            },
            {
              "name": "Get Charge",
              "request": {
                "method": "GET",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/charges/:charge_id",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "charges",
                    ":charge_id"
                  ],
                  "variable": [
                    {
                      "key": "charge_id",
                      "value": ""
                    }
                  ]
                },
                "description": "Get a charge by ID.",
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            },
            {
              "name": "Update Charge",
              "request": {
                "method": "PUT",
                "header": [
                  {
                    "key": "X-API-Key",
                    "value": "{{directDebitApiKey}}",
                    "disabled": false
                  },
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "url": {
                  "raw": "{{directDebitBaseUrl}}/charges/:charge_id",
                  "host": [
                    "{{directDebitBaseUrl}}"
                  ],
                  "path": [
                    "charges",
                    ":charge_id"
                  ],
                  "variable": [
                    {
                      "key": "charge_id",
                      "value": ""
                    }
                  ]
                },
                "description": "Update an existing charge.",
                "body": {
                  "mode": "raw",
                  "raw": "{}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "auth": {
                  "type": "noauth"
                }
              },
              "response": []
            }
          ]
        }
      ]
    },
    {
      "name": "Billpay",
      "description": "Monato's API 1.0.0. Generated from `products/billpay/billpay-v1.yaml`.\n\nSelect the Monato Sandbox environment and fill in your credentials, then send any request.",
      "item": [
        {
          "name": "Create a Payment",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{finBaseUrl}}/v1/payments?payee_id=1234567&payer_account=U0000-19&amount=1000&currency=MXN",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "v1",
                "payments"
              ],
              "query": [
                {
                  "key": "payee_id",
                  "value": "1234567",
                  "description": "Finch Payee ID",
                  "disabled": false
                },
                {
                  "key": "payer_account",
                  "value": "U0000-19",
                  "description": "The Payee Reference to be paid",
                  "disabled": false
                },
                {
                  "key": "amount",
                  "value": "1000",
                  "description": "The amount to be paid",
                  "disabled": false
                },
                {
                  "key": "currency",
                  "value": "MXN",
                  "description": "Currency in which the amount is going to be paid",
                  "disabled": false
                },
                {
                  "key": "idempotency_key",
                  "value": "client_side_idempotency_key",
                  "description": "Unique value generated by the client which we uses to recognize from subsequent requests",
                  "disabled": true
                }
              ]
            },
            "description": "Endpoint to create a Payment in Monato Billpay.",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{finAccessToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": [
            {
              "name": "201 Successfully Payment created",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/v1/payments?payee_id=1234567&payer_account=U0000-19&amount=1000&currency=MXN",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "payments"
                  ],
                  "query": [
                    {
                      "key": "payee_id",
                      "value": "1234567",
                      "description": "Finch Payee ID",
                      "disabled": false
                    },
                    {
                      "key": "payer_account",
                      "value": "U0000-19",
                      "description": "The Payee Reference to be paid",
                      "disabled": false
                    },
                    {
                      "key": "amount",
                      "value": "1000",
                      "description": "The amount to be paid",
                      "disabled": false
                    },
                    {
                      "key": "currency",
                      "value": "MXN",
                      "description": "Currency in which the amount is going to be paid",
                      "disabled": false
                    },
                    {
                      "key": "idempotency_key",
                      "value": "client_side_idempotency_key",
                      "description": "Unique value generated by the client which we uses to recognize from subsequent requests",
                      "disabled": true
                    }
                  ]
                }
              },
              "code": 201,
              "status": "Successfully Payment created",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"payment_id\": \"0fcbe1fb-b61b-44c3-a258-6a9d6e801804\",\n  \"payer_account\": \"U0000-19\",\n  \"amount\": 1000,\n  \"currency\": \"MXN\",\n  \"payee_id\": \"0d93acf6-b63d-46e8-aa5f-6f2520462608\",\n  \"status\": \"completed\",\n  \"metadata\": {},\n  \"created_at\": \"2024-04-10T19:48:43.222Z\",\n  \"auth_number\": \"8459344721\"\n}"
            },
            {
              "name": "422 Unprocesable Entity",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/v1/payments?payee_id=1234567&payer_account=U0000-19&amount=1000&currency=MXN",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "payments"
                  ],
                  "query": [
                    {
                      "key": "payee_id",
                      "value": "1234567",
                      "description": "Finch Payee ID",
                      "disabled": false
                    },
                    {
                      "key": "payer_account",
                      "value": "U0000-19",
                      "description": "The Payee Reference to be paid",
                      "disabled": false
                    },
                    {
                      "key": "amount",
                      "value": "1000",
                      "description": "The amount to be paid",
                      "disabled": false
                    },
                    {
                      "key": "currency",
                      "value": "MXN",
                      "description": "Currency in which the amount is going to be paid",
                      "disabled": false
                    },
                    {
                      "key": "idempotency_key",
                      "value": "client_side_idempotency_key",
                      "description": "Unique value generated by the client which we uses to recognize from subsequent requests",
                      "disabled": true
                    }
                  ]
                }
              },
              "code": 422,
              "status": "Unprocesable Entity",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error_type\": \"INTERNAL_ERROR\",\n  \"error_message\": \"There was an error while processing your request\"\n}"
            }
          ]
        },
        {
          "name": "Retrieve Payment",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{finBaseUrl}}/v1/payments/:id",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "v1",
                "payments",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                  "description": "ID of the Payment to retrieve"
                }
              ]
            },
            "description": "Endpoint to retrieve a Payment by Id.",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{finAccessToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": [
            {
              "name": "200 Successfully return the Payment found",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/v1/payments/:id",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "payments",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                      "description": "ID of the Payment to retrieve"
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Successfully return the Payment found",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"payment_id\": \"429ee7cb-6eee-4fd2-8bb3-ad22f7f3c88e\",\n  \"amount\": \"373.0\",\n  \"currency\": \"MXN\",\n  \"payer_account\": \"055810100345\",\n  \"payee_id\": \"0d93acf6-b63d-46e8-aa5f-6f2520462608\",\n  \"status\": \"completed\",\n  \"metadata\": {},\n  \"created_at\": \"2024-04-10T20:12:52.356Z\"\n}"
            },
            {
              "name": "404 Payment not found",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/v1/payments/:id",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "payments",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                      "description": "ID of the Payment to retrieve"
                    }
                  ]
                }
              },
              "code": 404,
              "status": "Payment not found",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error_type\": \"INTERNAL_ERROR\",\n  \"error_message\": \"There was an error while processing your request\"\n}"
            }
          ]
        },
        {
          "name": "Create a Balance",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{finBaseUrl}}/v1/balances?payer_account=U0000-20&payee_id=2bd7cf7f-4138-4d7a-ae28-b9888bc6f756",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "v1",
                "balances"
              ],
              "query": [
                {
                  "key": "payer_account",
                  "value": "U0000-20",
                  "description": "The Payee user id to pay or to check information regarding the user account",
                  "disabled": false
                },
                {
                  "key": "payee_id",
                  "value": "2bd7cf7f-4138-4d7a-ae28-b9888bc6f756",
                  "description": "Unique ID from Monato to identify the Payee",
                  "disabled": false
                }
              ]
            },
            "description": "Endpoint to create a Balance in Monato Billpay.",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{finAccessToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": [
            {
              "name": "201 Successfully Balance created",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/v1/balances?payer_account=U0000-20&payee_id=2bd7cf7f-4138-4d7a-ae28-b9888bc6f756",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "balances"
                  ],
                  "query": [
                    {
                      "key": "payer_account",
                      "value": "U0000-20",
                      "description": "The Payee user id to pay or to check information regarding the user account",
                      "disabled": false
                    },
                    {
                      "key": "payee_id",
                      "value": "2bd7cf7f-4138-4d7a-ae28-b9888bc6f756",
                      "description": "Unique ID from Monato to identify the Payee",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 201,
              "status": "Successfully Balance created",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"balance_id\": \"4rsie1fb-b61b-44c3-a258-6a9d6e8572849\",\n  \"payee_id\": \"0d93acf6-b63d-46e8-aa5f-6f2520462608\",\n  \"payee_name\": \"AGUA DE CDMX (SACMEX)\",\n  \"amount\": \"36.67\",\n  \"payer_account\": \"041837057079959114\",\n  \"currency\": \"MXN\",\n  \"invoice_date\": \"2024-04-10T19:21:13.380Z\",\n  \"due_date\": \"2024-04-20T19:21:13.380Z\",\n  \"status\": \"completed\",\n  \"metadata\": {\n    \"payer_name\": \"PAYER\",\n    \"payer_address\": \"PAYER ADDRESS\"\n  },\n  \"created_at\": \"2024-04-10T19:21:13.387Z\"\n}"
            }
          ]
        },
        {
          "name": "Retrieve Balance",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{finBaseUrl}}/v1/balances/:id",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "v1",
                "balances",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                  "description": "Balance transaction id already created."
                }
              ]
            },
            "description": "Endpoint to retrieve a Balance in Monato Billpay.",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{finAccessToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": [
            {
              "name": "200 Successfully return the Balance found.",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/v1/balances/:id",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "balances",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                      "description": "Balance transaction id already created."
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Successfully return the Balance found.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"balance_id\": \"0214aa11-be93-4fc8-954b-d45b6fc60882\",\n  \"payee_name\": \"CFE\",\n  \"payee_id\": \"792fe14f-4592-4974-90b9-573bbc29c5df\",\n  \"amount\": \"9148.62\",\n  \"payer_account\": \"821970704543\",\n  \"currency\": \"MXN\",\n  \"invoice_date\": \"2025-05-21T13:52:19.000Z\",\n  \"due_date\": \"2025-05-21T13:52:19.000Z\",\n  \"status\": \"completed\",\n  \"metadata\": {},\n  \"created_at\": \"2025-05-21T19:52:19.231Z\"\n}"
            },
            {
              "name": "404 Balance not found",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/v1/balances/:id",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "balances",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
                      "description": "Balance transaction id already created."
                    }
                  ]
                }
              },
              "code": 404,
              "status": "Balance not found",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error_type\": \"INTERNAL_ERROR\",\n  \"error_message\": \"There was an error while processing your request\"\n}"
            }
          ]
        },
        {
          "name": "Retrieve Account",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{finBaseUrl}}/v1/client/account",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "v1",
                "client",
                "account"
              ]
            },
            "description": "Endpoint to retrieve an Account in Monato Billpay",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{finAccessToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": [
            {
              "name": "200 Successfully return client account found.",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/v1/client/account",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "client",
                    "account"
                  ]
                }
              },
              "code": 200,
              "status": "Successfully return client account found.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"name\": \"Client\",\n  \"email\": \"client@monato.com\",\n  \"accounts\": {\n    \"account_id\": \"77f58655-4345-41aa-80de-6647a21c471a\",\n    \"account_name\": \"Bill\",\n    \"virtual_clabe\": \"\",\n    \"status\": \"enable\",\n    \"pre_balance\": 0,\n    \"post_balance\": 0,\n    \"available_balance\": 0,\n    \"reserved_balance\": 0\n  }\n}"
            },
            {
              "name": "404 Account not found",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/v1/client/account",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "client",
                    "account"
                  ]
                }
              },
              "code": 404,
              "status": "Account not found",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error_type\": \"INTERNAL_ERROR\",\n  \"error_message\": \"There was an error while processing your request\"\n}"
            }
          ]
        },
        {
          "name": "Create Topup",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{finBaseUrl}}/v1/topups?payee_id=2bd7cf7f-4138-4d7a-ae28-b9888bc6f756&amount=0&phone_number=9991234567",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "v1",
                "topups"
              ],
              "query": [
                {
                  "key": "payee_id",
                  "value": "2bd7cf7f-4138-4d7a-ae28-b9888bc6f756",
                  "description": "Payee Monato ID",
                  "disabled": false
                },
                {
                  "key": "amount",
                  "value": "0",
                  "description": "The amount due including cents from the payer to the payee service",
                  "disabled": false
                },
                {
                  "key": "phone_number",
                  "value": "9991234567",
                  "description": "The phone number of the user where will be applied",
                  "disabled": false
                },
                {
                  "key": "idempotency_key",
                  "value": "client_side_idempotency_key",
                  "description": "Unique value generated by the client which we uses to recognize from subsequent requests",
                  "disabled": true
                }
              ]
            },
            "description": "Endpoint to create Topups in Monato Billpay",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{finAccessToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": [
            {
              "name": "201 Successfully Topup created.",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/v1/topups?payee_id=2bd7cf7f-4138-4d7a-ae28-b9888bc6f756&amount=0&phone_number=9991234567",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "topups"
                  ],
                  "query": [
                    {
                      "key": "payee_id",
                      "value": "2bd7cf7f-4138-4d7a-ae28-b9888bc6f756",
                      "description": "Payee Monato ID",
                      "disabled": false
                    },
                    {
                      "key": "amount",
                      "value": "0",
                      "description": "The amount due including cents from the payer to the payee service",
                      "disabled": false
                    },
                    {
                      "key": "phone_number",
                      "value": "9991234567",
                      "description": "The phone number of the user where will be applied",
                      "disabled": false
                    },
                    {
                      "key": "idempotency_key",
                      "value": "client_side_idempotency_key",
                      "description": "Unique value generated by the client which we uses to recognize from subsequent requests",
                      "disabled": true
                    }
                  ]
                }
              },
              "code": 201,
              "status": "Successfully Topup created.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"topup_id\": \"9fadc949-fd1a-45f7-8733-69866655f36c\",\n  \"amount\": \"40.0\",\n  \"phone_number\": \"0094097929\",\n  \"payee_id\": \"0b9e75c3-d4c1-4c7c-b9d4-b4b80be1a483\",\n  \"status\": \"completed\",\n  \"created_at\": \"2024-04-10T20:15:30.633Z\"\n}"
            },
            {
              "name": "422 Unprocesable Entity",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/v1/topups?payee_id=2bd7cf7f-4138-4d7a-ae28-b9888bc6f756&amount=0&phone_number=9991234567",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "topups"
                  ],
                  "query": [
                    {
                      "key": "payee_id",
                      "value": "2bd7cf7f-4138-4d7a-ae28-b9888bc6f756",
                      "description": "Payee Monato ID",
                      "disabled": false
                    },
                    {
                      "key": "amount",
                      "value": "0",
                      "description": "The amount due including cents from the payer to the payee service",
                      "disabled": false
                    },
                    {
                      "key": "phone_number",
                      "value": "9991234567",
                      "description": "The phone number of the user where will be applied",
                      "disabled": false
                    },
                    {
                      "key": "idempotency_key",
                      "value": "client_side_idempotency_key",
                      "description": "Unique value generated by the client which we uses to recognize from subsequent requests",
                      "disabled": true
                    }
                  ]
                }
              },
              "code": 422,
              "status": "Unprocesable Entity",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error_type\": \"INTERNAL_ERROR\",\n  \"error_message\": \"There was an error while processing your request\"\n}"
            }
          ]
        },
        {
          "name": "Verify Payment",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{finBaseUrl}}/v1/verify-payment?payee_id=ac1e14e3-46a7-4010-b6ca-36090efc4f69&payer_account=821970704543&amount=1000&currency=MXN&idempotency_key=your_api_key",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "v1",
                "verify-payment"
              ],
              "query": [
                {
                  "key": "payee_id",
                  "value": "ac1e14e3-46a7-4010-b6ca-36090efc4f69",
                  "description": "Monato Payee ID",
                  "disabled": false
                },
                {
                  "key": "payer_account",
                  "value": "821970704543",
                  "description": "The payee reference to be paid",
                  "disabled": false
                },
                {
                  "key": "amount",
                  "value": "1000",
                  "description": "The amount to be paid",
                  "disabled": false
                },
                {
                  "key": "currency",
                  "value": "MXN",
                  "description": "Currency in which the amount is going to be paid",
                  "disabled": false
                },
                {
                  "key": "idempotency_key",
                  "value": "your_api_key",
                  "description": "Unique value generated by the client which we use to recognize from subsequent requests",
                  "disabled": false
                }
              ]
            },
            "description": "Endpoint to verify Payments in Monato Billpay",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{finAccessToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": [
            {
              "name": "200 Successfully Payment verification",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/v1/verify-payment?payee_id=ac1e14e3-46a7-4010-b6ca-36090efc4f69&payer_account=821970704543&amount=1000&currency=MXN&idempotency_key=your_api_key",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "verify-payment"
                  ],
                  "query": [
                    {
                      "key": "payee_id",
                      "value": "ac1e14e3-46a7-4010-b6ca-36090efc4f69",
                      "description": "Monato Payee ID",
                      "disabled": false
                    },
                    {
                      "key": "payer_account",
                      "value": "821970704543",
                      "description": "The payee reference to be paid",
                      "disabled": false
                    },
                    {
                      "key": "amount",
                      "value": "1000",
                      "description": "The amount to be paid",
                      "disabled": false
                    },
                    {
                      "key": "currency",
                      "value": "MXN",
                      "description": "Currency in which the amount is going to be paid",
                      "disabled": false
                    },
                    {
                      "key": "idempotency_key",
                      "value": "your_api_key",
                      "description": "Unique value generated by the client which we use to recognize from subsequent requests",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Successfully Payment verification",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"payment_id\": \"68af20e7-f369-4764-a9bf-508684a2caa5\",\n  \"amount\": \"1000.0\",\n  \"currency\": \"MXN\",\n  \"payer_account\": \"821970704543\",\n  \"payee_id\": \"ac1e14e3-46a7-4010-b6ca-36090efc4f69\",\n  \"status\": \"completed\",\n  \"metadata\": {},\n  \"created_at\": \"2025-05-21T19:18:58.838Z\"\n}"
            },
            {
              "name": "404 Not Found",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/v1/verify-payment?payee_id=ac1e14e3-46a7-4010-b6ca-36090efc4f69&payer_account=821970704543&amount=1000&currency=MXN&idempotency_key=your_api_key",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "v1",
                    "verify-payment"
                  ],
                  "query": [
                    {
                      "key": "payee_id",
                      "value": "ac1e14e3-46a7-4010-b6ca-36090efc4f69",
                      "description": "Monato Payee ID",
                      "disabled": false
                    },
                    {
                      "key": "payer_account",
                      "value": "821970704543",
                      "description": "The payee reference to be paid",
                      "disabled": false
                    },
                    {
                      "key": "amount",
                      "value": "1000",
                      "description": "The amount to be paid",
                      "disabled": false
                    },
                    {
                      "key": "currency",
                      "value": "MXN",
                      "description": "Currency in which the amount is going to be paid",
                      "disabled": false
                    },
                    {
                      "key": "idempotency_key",
                      "value": "your_api_key",
                      "description": "Unique value generated by the client which we use to recognize from subsequent requests",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 404,
              "status": "Not Found",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error_type\": \"INTERNAL_ERROR\",\n  \"error_message\": \"There was an error while processing your request\"\n}"
            }
          ]
        },
        {
          "name": "List Payees",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/payees",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "payees"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number (starts at 1).",
                  "disabled": true
                },
                {
                  "key": "name",
                  "value": "Movistar",
                  "description": "Case-insensitive partial match on the payee display name.",
                  "disabled": true
                },
                {
                  "key": "category",
                  "value": "Telecommunications",
                  "description": "Exact match on payee industry/category.",
                  "disabled": true
                },
                {
                  "key": "connection_mode",
                  "value": "online",
                  "description": "Filter by integration connection mode.",
                  "disabled": true
                },
                {
                  "key": "has_balance",
                  "value": "true",
                  "description": "Filter payees that support balance inquiry (`true`) or that do not (`false`).",
                  "disabled": true
                },
                {
                  "key": "accepts_expired",
                  "value": "false",
                  "description": "Filter payees that allow payments on expired bills (`true`) or not (`false`).",
                  "disabled": true
                }
              ]
            },
            "description": "Returns a paginated list of payees in alphabetical order by display name.\n\nOptional query parameters filter the result set. When multiple filters are supplied,\n**all** of them apply together (logical **AND**).\n\n**Filters**\n\n- **name** — Case-insensitive match anywhere in the payee display name (not prefix-only).\n- **category** — Exact match on the payee industry/category.\n- **connection_mode** — How the service is connected (`online` or `batch`).\n- **has_balance** — Whether balance inquiry is supported for that payee.\n- **accepts_expired** — Whether payments on expired bills are allowed for that payee.",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{finAccessToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": [
            {
              "name": "200 Successful response with payees",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/payees",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "payees"
                  ],
                  "query": [
                    {
                      "key": "page",
                      "value": "1",
                      "description": "Page number (starts at 1).",
                      "disabled": true
                    },
                    {
                      "key": "name",
                      "value": "Movistar",
                      "description": "Case-insensitive partial match on the payee display name.",
                      "disabled": true
                    },
                    {
                      "key": "category",
                      "value": "Telecommunications",
                      "description": "Exact match on payee industry/category.",
                      "disabled": true
                    },
                    {
                      "key": "connection_mode",
                      "value": "online",
                      "description": "Filter by integration connection mode.",
                      "disabled": true
                    },
                    {
                      "key": "has_balance",
                      "value": "true",
                      "description": "Filter payees that support balance inquiry (`true`) or that do not (`false`).",
                      "disabled": true
                    },
                    {
                      "key": "accepts_expired",
                      "value": "false",
                      "description": "Filter payees that allow payments on expired bills (`true`) or not (`false`).",
                      "disabled": true
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Payee list retrieved successfully.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"meta\": {\n    \"current_page\": 1,\n    \"next_page\": 2,\n    \"prev_page\": null,\n    \"total_pages\": 3,\n    \"total_count\": 45\n  },\n  \"payees\": [\n    {\n      \"payee_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n      \"name\": \"AVON\",\n      \"category\": \"Beauty\",\n      \"type\": \"Bill\",\n      \"reference_config\": {\n        \"regex\": \"^[0-9]{20}$\"\n      },\n      \"financial_rules\": {\n        \"minimum_amount\": \"0\",\n        \"maximum_amount\": \"8000\",\n        \"payment_type\": \"totals\",\n        \"accepts_expired\": true\n      },\n      \"capabilities\": {\n        \"has_balance\": false,\n        \"connection_mode\": \"online\"\n      }\n    },\n    {\n      \"payee_id\": \"b2c3d4e5-f6a7-8901-bcde-f12345678901\",\n      \"name\": \"CFE\",\n      \"category\": \"Electricity\",\n      \"type\": \"Bill\",\n      \"reference_config\": {\n        \"regex\": \"^[0-9]{10,12}$\"\n      },\n      \"financial_rules\": {\n        \"minimum_amount\": \"1\",\n        \"maximum_amount\": \"50000\",\n        \"payment_type\": \"totals\",\n        \"accepts_expired\": false\n      },\n      \"capabilities\": {\n        \"has_balance\": true,\n        \"connection_mode\": \"batch\"\n      }\n    }\n  ]\n}"
            },
            {
              "name": "200 Topup payee in a list",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/payees",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "payees"
                  ],
                  "query": [
                    {
                      "key": "page",
                      "value": "1",
                      "description": "Page number (starts at 1).",
                      "disabled": true
                    },
                    {
                      "key": "name",
                      "value": "Movistar",
                      "description": "Case-insensitive partial match on the payee display name.",
                      "disabled": true
                    },
                    {
                      "key": "category",
                      "value": "Telecommunications",
                      "description": "Exact match on payee industry/category.",
                      "disabled": true
                    },
                    {
                      "key": "connection_mode",
                      "value": "online",
                      "description": "Filter by integration connection mode.",
                      "disabled": true
                    },
                    {
                      "key": "has_balance",
                      "value": "true",
                      "description": "Filter payees that support balance inquiry (`true`) or that do not (`false`).",
                      "disabled": true
                    },
                    {
                      "key": "accepts_expired",
                      "value": "false",
                      "description": "Filter payees that allow payments on expired bills (`true`) or not (`false`).",
                      "disabled": true
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Payee list retrieved successfully.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"meta\": {\n    \"current_page\": 1,\n    \"next_page\": null,\n    \"prev_page\": null,\n    \"total_pages\": 1,\n    \"total_count\": 1\n  },\n  \"payees\": [\n    {\n      \"payee_id\": \"c3d4e5f6-a7b8-9012-cdef-123456789012\",\n      \"name\": \"MOVISTAR RECARGAS\",\n      \"category\": \"Telephone\",\n      \"type\": \"Topup\",\n      \"reference_config\": {\n        \"regex\": \"^[0-9]{10}$\"\n      },\n      \"bundles\": [\n        \"10.00\",\n        \"20.00\",\n        \"50.00\",\n        \"100.00\"\n      ]\n    }\n  ]\n}"
            },
            {
              "name": "200 Giftcard payee in a list",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/payees",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "payees"
                  ],
                  "query": [
                    {
                      "key": "page",
                      "value": "1",
                      "description": "Page number (starts at 1).",
                      "disabled": true
                    },
                    {
                      "key": "name",
                      "value": "Movistar",
                      "description": "Case-insensitive partial match on the payee display name.",
                      "disabled": true
                    },
                    {
                      "key": "category",
                      "value": "Telecommunications",
                      "description": "Exact match on payee industry/category.",
                      "disabled": true
                    },
                    {
                      "key": "connection_mode",
                      "value": "online",
                      "description": "Filter by integration connection mode.",
                      "disabled": true
                    },
                    {
                      "key": "has_balance",
                      "value": "true",
                      "description": "Filter payees that support balance inquiry (`true`) or that do not (`false`).",
                      "disabled": true
                    },
                    {
                      "key": "accepts_expired",
                      "value": "false",
                      "description": "Filter payees that allow payments on expired bills (`true`) or not (`false`).",
                      "disabled": true
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Payee list retrieved successfully.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"meta\": {\n    \"current_page\": 1,\n    \"next_page\": null,\n    \"prev_page\": null,\n    \"total_pages\": 1,\n    \"total_count\": 1\n  },\n  \"payees\": [\n    {\n      \"payee_id\": \"1a079e9a-2bee-46e0-a993-32b714cf0c09\",\n      \"name\": \"DIGITAL FRC 02: 409 CARD NOT FOUND - MEX\",\n      \"category\": \"Giftcard\",\n      \"type\": \"EGift\",\n      \"currency\": \"MXN\",\n      \"reference_config\": {\n        \"regex\": null\n      },\n      \"images\": {\n        \"small\": {\n          \"id\": \"MEDIUM\",\n          \"url\": \"https://content.blackhawknetwork.com/gcmimages/product/medium/YDV96K0A246SWSYB20LVLAK5AC_0911202501:56:11.PNG\"\n        },\n        \"large\": {\n          \"id\": \"EXTRA_LARGE\",\n          \"url\": \"https://content.blackhawknetwork.com/gcmimages/product/xlarge/YDV96K0A246SWSYB20LVLAK5AC_0911202501:56:11.PNG\"\n        }\n      },\n      \"redemption_info\": \"\",\n      \"price\": \"5.0\"\n    }\n  ]\n}"
            },
            {
              "name": "200 Empty result set",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/payees",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "payees"
                  ],
                  "query": [
                    {
                      "key": "page",
                      "value": "1",
                      "description": "Page number (starts at 1).",
                      "disabled": true
                    },
                    {
                      "key": "name",
                      "value": "Movistar",
                      "description": "Case-insensitive partial match on the payee display name.",
                      "disabled": true
                    },
                    {
                      "key": "category",
                      "value": "Telecommunications",
                      "description": "Exact match on payee industry/category.",
                      "disabled": true
                    },
                    {
                      "key": "connection_mode",
                      "value": "online",
                      "description": "Filter by integration connection mode.",
                      "disabled": true
                    },
                    {
                      "key": "has_balance",
                      "value": "true",
                      "description": "Filter payees that support balance inquiry (`true`) or that do not (`false`).",
                      "disabled": true
                    },
                    {
                      "key": "accepts_expired",
                      "value": "false",
                      "description": "Filter payees that allow payments on expired bills (`true`) or not (`false`).",
                      "disabled": true
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Payee list retrieved successfully.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"meta\": {\n    \"current_page\": 1,\n    \"next_page\": null,\n    \"prev_page\": null,\n    \"total_pages\": 0,\n    \"total_count\": 0\n  },\n  \"payees\": []\n}"
            },
            {
              "name": "401 Unauthorized",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/payees",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "payees"
                  ],
                  "query": [
                    {
                      "key": "page",
                      "value": "1",
                      "description": "Page number (starts at 1).",
                      "disabled": true
                    },
                    {
                      "key": "name",
                      "value": "Movistar",
                      "description": "Case-insensitive partial match on the payee display name.",
                      "disabled": true
                    },
                    {
                      "key": "category",
                      "value": "Telecommunications",
                      "description": "Exact match on payee industry/category.",
                      "disabled": true
                    },
                    {
                      "key": "connection_mode",
                      "value": "online",
                      "description": "Filter by integration connection mode.",
                      "disabled": true
                    },
                    {
                      "key": "has_balance",
                      "value": "true",
                      "description": "Filter payees that support balance inquiry (`true`) or that do not (`false`).",
                      "disabled": true
                    },
                    {
                      "key": "accepts_expired",
                      "value": "false",
                      "description": "Filter payees that allow payments on expired bills (`true`) or not (`false`).",
                      "disabled": true
                    }
                  ]
                }
              },
              "code": 401,
              "status": "Unauthorized",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"errors\": [\n    \"Access denied\"\n  ]\n}"
            }
          ]
        },
        {
          "name": "Get Payee Details",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/payees/:id",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "payees",
                ":id"
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                  "description": "Unique payee identifier (UUID)."
                }
              ]
            },
            "description": "Returns a single payee by identifier. The payload uses the same shape as items in the\nlist endpoint: **Bill** payees usually include `financial_rules` and `capabilities`;\n**Topup** payees usually include `bundles`.",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{finAccessToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": [
            {
              "name": "200 Bill payee",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/payees/:id",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "payees",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                      "description": "Unique payee identifier (UUID)."
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Payee details retrieved successfully.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"payee_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n  \"name\": \"AVON\",\n  \"category\": \"Beauty\",\n  \"type\": \"Bill\",\n  \"reference_config\": {\n    \"regex\": \"^[0-9]{20}$\"\n  },\n  \"financial_rules\": {\n    \"minimum_amount\": \"0\",\n    \"maximum_amount\": \"8000\",\n    \"payment_type\": \"totals\",\n    \"accepts_expired\": true\n  },\n  \"capabilities\": {\n    \"has_balance\": false,\n    \"connection_mode\": \"online\"\n  }\n}"
            },
            {
              "name": "200 Topup payee",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/payees/:id",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "payees",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                      "description": "Unique payee identifier (UUID)."
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Payee details retrieved successfully.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"payee_id\": \"c3d4e5f6-a7b8-9012-cdef-123456789012\",\n  \"name\": \"MOVISTAR RECARGAS\",\n  \"category\": \"Telephone\",\n  \"type\": \"Topup\",\n  \"reference_config\": {\n    \"regex\": \"^[0-9]{10}$\"\n  },\n  \"bundles\": [\n    \"10.00\",\n    \"20.00\",\n    \"30.00\",\n    \"50.00\",\n    \"100.00\"\n  ]\n}"
            },
            {
              "name": "200 Giftcard payee",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/payees/:id",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "payees",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                      "description": "Unique payee identifier (UUID)."
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Payee details retrieved successfully.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"payee_id\": \"1a079e9a-2bee-46e0-a993-32b714cf0c09\",\n  \"name\": \"DIGITAL FRC 02: 409 CARD NOT FOUND - MEX\",\n  \"category\": \"Giftcard\",\n  \"type\": \"EGift\",\n  \"currency\": \"MXN\",\n  \"reference_config\": {\n    \"regex\": null\n  },\n  \"images\": {\n    \"small\": {\n      \"id\": \"MEDIUM\",\n      \"url\": \"https://content.blackhawknetwork.com/gcmimages/product/medium/YDV96K0A246SWSYB20LVLAK5AC_0911202501:56:11.PNG\"\n    },\n    \"large\": {\n      \"id\": \"EXTRA_LARGE\",\n      \"url\": \"https://content.blackhawknetwork.com/gcmimages/product/xlarge/YDV96K0A246SWSYB20LVLAK5AC_0911202501:56:11.PNG\"\n    }\n  },\n  \"redemption_info\": \"\",\n  \"price\": \"5.0\"\n}"
            },
            {
              "name": "401 Unauthorized",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/payees/:id",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "payees",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                      "description": "Unique payee identifier (UUID)."
                    }
                  ]
                }
              },
              "code": 401,
              "status": "Unauthorized",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"errors\": [\n    \"Access denied\"\n  ]\n}"
            },
            {
              "name": "404 Payee not found",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/payees/:id",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "payees",
                    ":id"
                  ],
                  "variable": [
                    {
                      "key": "id",
                      "value": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                      "description": "Unique payee identifier (UUID)."
                    }
                  ]
                }
              },
              "code": 404,
              "status": "Payee not found",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error\": \"Couldn't find Payee with 'id'=00000000-0000-0000-0000-000000000000\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Gift Cards",
      "description": "Monato's Giftcards API 1.0.0. Generated from `products/giftcards/giftcards-openapi.yaml`.\n\nSelect the Monato Sandbox environment and fill in your credentials, then send any request.",
      "item": [
        {
          "name": "List gift card payees",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/payees",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "payees"
              ],
              "query": [
                {
                  "key": "category",
                  "value": "Giftcard",
                  "description": "Exact match on the payee category. Use `Giftcard` to list the available gift cards.",
                  "disabled": true
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number (starts at 1).",
                  "disabled": true
                },
                {
                  "key": "name",
                  "value": "Amazon",
                  "description": "Case-insensitive partial match on the payee display name.",
                  "disabled": true
                }
              ]
            },
            "description": "Returns the payees available to the authenticated client. Gift cards are the payees whose\n`category` is `Giftcard` (their `type` is `EGift`), so to obtain the available gift cards call\nthis endpoint with `category=Giftcard`.\n\nEach returned payee's `payee_id` is the id you use to purchase a gift card via\n`POST /api/v1/gift_cards`.\n\nThis is the same payees endpoint exposed by the Billpay API (see the\n[List Payees endpoint](/products/billpay/billpay-v1/other/listpayees)); it is documented here\nfor convenience since it is the way to discover gift cards.\n\n**Caching:** Gift card products are not updated very often, so the catalog returned by this\nendpoint when filtered by `category=Giftcard` should be cached by your application server for\n**at least 7 days** to avoid unnecessary requests.",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{finAccessToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": [
            {
              "name": "200 Giftcard payees list",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/payees",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "payees"
                  ],
                  "query": [
                    {
                      "key": "category",
                      "value": "Giftcard",
                      "description": "Exact match on the payee category. Use `Giftcard` to list the available gift cards.",
                      "disabled": true
                    },
                    {
                      "key": "page",
                      "value": "1",
                      "description": "Page number (starts at 1).",
                      "disabled": true
                    },
                    {
                      "key": "name",
                      "value": "Amazon",
                      "description": "Case-insensitive partial match on the payee display name.",
                      "disabled": true
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Gift card payees retrieved successfully.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"meta\": {\n    \"current_page\": 1,\n    \"next_page\": null,\n    \"prev_page\": null,\n    \"total_pages\": 1,\n    \"total_count\": 1\n  },\n  \"payees\": [\n    {\n      \"payee_id\": \"1a079e9a-2bee-46e0-a993-32b714cf0c09\",\n      \"name\": \"Amazon eGift - MEX\",\n      \"category\": \"Giftcard\",\n      \"type\": \"EGift\",\n      \"currency\": \"MXN\",\n      \"reference_config\": {\n        \"regex\": null\n      },\n      \"images\": {\n        \"small\": {\n          \"id\": \"MEDIUM\",\n          \"url\": \"https://content.monato.com/giftcards/medium/amazon.png\"\n        },\n        \"large\": {\n          \"id\": \"EXTRA_LARGE\",\n          \"url\": \"https://content.monato.com/giftcards/xlarge/amazon.png\"\n        }\n      },\n      \"redemption_info\": \"\",\n      \"price\": \"5.0\"\n    }\n  ]\n}"
            },
            {
              "name": "200 Empty result set",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/payees",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "payees"
                  ],
                  "query": [
                    {
                      "key": "category",
                      "value": "Giftcard",
                      "description": "Exact match on the payee category. Use `Giftcard` to list the available gift cards.",
                      "disabled": true
                    },
                    {
                      "key": "page",
                      "value": "1",
                      "description": "Page number (starts at 1).",
                      "disabled": true
                    },
                    {
                      "key": "name",
                      "value": "Amazon",
                      "description": "Case-insensitive partial match on the payee display name.",
                      "disabled": true
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Gift card payees retrieved successfully.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"meta\": {\n    \"current_page\": 1,\n    \"next_page\": null,\n    \"prev_page\": null,\n    \"total_pages\": 0,\n    \"total_count\": 0\n  },\n  \"payees\": []\n}"
            },
            {
              "name": "401 Missing or invalid Bearer token.",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/payees",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "payees"
                  ],
                  "query": [
                    {
                      "key": "category",
                      "value": "Giftcard",
                      "description": "Exact match on the payee category. Use `Giftcard` to list the available gift cards.",
                      "disabled": true
                    },
                    {
                      "key": "page",
                      "value": "1",
                      "description": "Page number (starts at 1).",
                      "disabled": true
                    },
                    {
                      "key": "name",
                      "value": "Amazon",
                      "description": "Case-insensitive partial match on the payee display name.",
                      "disabled": true
                    }
                  ]
                }
              },
              "code": 401,
              "status": "Missing or invalid Bearer token.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error_type\": \"PAYEE_SERVICE_UNAVAILABLE\",\n  \"error_message\": \"Payee service is not available at this time, retry in 5 minutes\"\n}"
            }
          ]
        },
        {
          "name": "Purchase a gift card (generate an eGift)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/gift_cards",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "gift_cards"
              ]
            },
            "description": "Generates an eGift for the chosen product and amount, and persists the resulting payment.\n\nThe `payee_id` is obtained from the Billpay\n[List Payees endpoint](/products/billpay/billpay-v1/other/listpayees) with category `Giftcard`.\n\n**Purchase flow** (short-circuits on the first failure):\n1. The input is validated against the request schema.\n2. The product is resolved from the payee; if it is not available the request fails with\n   `PAYEE_SERVICE_UNAVAILABLE`.\n3. The amount is validated against the product's allowed range.\n4. The `idempotency_key` is checked to reject repeated purchases.\n5. The payee/company must exist and be available.\n6. Balance is checked (only for Prepay clients).\n7. The eGift is generated and the account details are returned.\n8. The payment is finalized and, for Prepay clients, the client balance is deducted.\n\n**Implementation Notes:**\n- The `payee_id` is the id of the service (gift card product) being purchased.\n- `currency` must be MXN, and the amount must fall within the product's allowed range.\n- The `idempotency_key` is required to prevent duplicate purchases.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"payee_id\": \"7ceee612-c1c1-4758-b5d5-095544113c18\",\n  \"country\": \"MEX\",\n  \"state\": \"Baja California\",\n  \"amount\": 40,\n  \"currency\": \"MXN\",\n  \"idempotency_key\": \"2026071502\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{finAccessToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": [
            {
              "name": "201 Gift card purchased successfully",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/gift_cards",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "gift_cards"
                  ]
                }
              },
              "code": 201,
              "status": "Gift card purchased successfully",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"gift_card_id\": \"702d2533-19c9-4105-abe3-e7542ee47e4e\",\n  \"amount\": \"40.0\",\n  \"payee_id\": \"7ceee612-c1c1-4758-b5d5-095544113c18\",\n  \"status\": \"completed\",\n  \"created_at\": \"2026-07-15T21:33:56.653Z\",\n  \"redeem_link\": \"https://egift.monato.com/egift?eid=Z8X05NA1WR2JRBDG8F3NW9385H&tid=CD6RPC2K8JH2MMW5PHN6SY07GM\"\n}"
            },
            {
              "name": "401 Missing or invalid Bearer token.",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/gift_cards",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "gift_cards"
                  ]
                }
              },
              "code": 401,
              "status": "Missing or invalid Bearer token.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error_type\": \"PAYEE_SERVICE_UNAVAILABLE\",\n  \"error_message\": \"Payee service is not available at this time, retry in 5 minutes\"\n}"
            },
            {
              "name": "422 invalid_amount",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/gift_cards",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "gift_cards"
                  ]
                }
              },
              "code": 422,
              "status": "The purchase could not be completed. The `error_type` identifies the cause:",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error_type\": \"AMOUNT_INVALID\",\n  \"error_message\": \"Amount is invalid\"\n}"
            },
            {
              "name": "422 duplicated",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/gift_cards",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "gift_cards"
                  ]
                }
              },
              "code": 422,
              "status": "The purchase could not be completed. The `error_type` identifies the cause:",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error_type\": \"DUPLICATED_PAYMENT_ERROR\",\n  \"error_message\": \"This payment is already paid, retry in 24 hours\"\n}"
            },
            {
              "name": "422 insufficient_balance",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/gift_cards",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "gift_cards"
                  ]
                }
              },
              "code": 422,
              "status": "The purchase could not be completed. The `error_type` identifies the cause:",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error_type\": \"AMOUNT_INSUFFICIENT\",\n  \"error_message\": \"The Payee minimum amount was not met\"\n}"
            },
            {
              "name": "422 invalid_payee",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/gift_cards",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "gift_cards"
                  ]
                }
              },
              "code": 422,
              "status": "The purchase could not be completed. The `error_type` identifies the cause:",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error_type\": \"PAYEE_ID_INVALID\",\n  \"error_message\": \"Payee ID Invalid\"\n}"
            },
            {
              "name": "422 service_unavailable",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/gift_cards",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "gift_cards"
                  ]
                }
              },
              "code": 422,
              "status": "The purchase could not be completed. The `error_type` identifies the cause:",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error_type\": \"PAYEE_SERVICE_UNAVAILABLE\",\n  \"error_message\": \"Payee service is not available at this time, retry in 5 minutes\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Cash",
      "description": "Cash API 1.0.0. Generated from `products/cash/cash-openapi.yaml`.\n\nSelect the Monato Sandbox environment and fill in your credentials, then send any request.",
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "exec": [
              "// Signs Cash requests as described in the Cash API securitySchemes:",
              "// X-Signature = HMAC-SHA256(timestamp + \".\" + requestBody, api_secret), hex encoded.",
              "const ts = Math.floor(Date.now() / 1000).toString();",
              "const raw = pm.request.body && pm.request.body.mode === 'raw' ? pm.variables.replaceIn(pm.request.body.raw || '') : '';",
              "const body = raw ? JSON.stringify(JSON.parse(raw)) : '';",
              "if (raw) { pm.request.body.raw = body; }",
              "const sig = CryptoJS.HmacSHA256(ts + '.' + body, pm.variables.get('cashApiSecret')).toString(CryptoJS.enc.Hex);",
              "pm.request.headers.upsert({ key: 'X-Client-Id', value: pm.variables.get('cashClientId') });",
              "pm.request.headers.upsert({ key: 'X-Timestamp', value: ts });",
              "pm.request.headers.upsert({ key: 'X-Signature', value: sig });"
            ]
          }
        }
      ],
      "item": [
        {
          "name": "Create Webhook",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/cash/webhooks",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "cash",
                "webhooks"
              ]
            },
            "description": "Allows authenticated clients to configure webhook endpoints for receiving real-time\nnotifications about operation status changes. The webhook is only activated if the activation test is successful.\n\n**Webhook Events**: After configuration, your endpoint will receive:\n- Activation test: See `WebhookActivationEvent` schema below\n- Status updates: See `OperationStatusUpdateEvent` schema below\n\n**Note**: Only one active webhook is allowed per client. Creating a new webhook will deactivate any existing ones after successful activation.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"endpoint_url\": \"https://your-webhook-endpoint.com/webhooks\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "201 Webhook configured successfully. An activation test will be sent to your endpoint.",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/webhooks",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "webhooks"
                  ]
                }
              },
              "code": 201,
              "status": "Webhook configured successfully. An activation test will be sent to your endpoint.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"event\": \"webhook.created\",\n  \"id\": 456,\n  \"endpoint_url\": \"https://your-webhook-endpoint.com/webhooks\",\n  \"secret_token\": \"644530cd9b0b431e61b8c6c656d17c77481047215a3ac66db71a7ad490397f7c\",\n  \"created_at\": \"2025-01-15T10:30:00Z\"\n}"
            },
            {
              "name": "400 Bad Request - Invalid webhook configuration",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/webhooks",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "webhooks"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid webhook configuration",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"event\": \"webhook.failed\",\n  \"errors\": {\n    \"endpoint_url\": [\n      \"must be a valid URL\"\n    ]\n  }\n}"
            },
            {
              "name": "401 Unauthorized - Invalid or missing authentication",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/webhooks",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "webhooks"
                  ]
                }
              },
              "code": 401,
              "status": "Unauthorized - Invalid or missing authentication",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error\": \"Unauthorized\"\n}"
            }
          ]
        },
        {
          "name": "Get Active Webhook",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/cash/webhooks/active",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "cash",
                "webhooks",
                "active"
              ]
            },
            "description": "Retrieves the currently active webhook configuration for the authenticated client.\nReturns 404 if no active webhook is configured.",
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "200 Active webhook configuration found",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/webhooks/active",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "webhooks",
                    "active"
                  ]
                }
              },
              "code": 200,
              "status": "Active webhook configuration found",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"id\": 456,\n  \"endpoint_url\": \"https://your-webhook-endpoint.com/webhooks\",\n  \"is_active\": true,\n  \"created_at\": \"2025-01-15T10:30:00Z\",\n  \"updated_at\": \"2025-01-15T10:30:00Z\"\n}"
            },
            {
              "name": "401 Unauthorized - Invalid or missing authentication",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/webhooks/active",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "webhooks",
                    "active"
                  ]
                }
              },
              "code": 401,
              "status": "Unauthorized - Invalid or missing authentication",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error\": \"Unauthorized\"\n}"
            },
            {
              "name": "404 No active webhook configuration found for this client",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/webhooks/active",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "webhooks",
                    "active"
                  ]
                }
              },
              "code": 404,
              "status": "No active webhook configuration found for this client",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"code\": \"not_found\",\n  \"error_type\": \"DOMAIN\",\n  \"message\": \"Active webhook configuration not found\"\n}"
            }
          ]
        },
        {
          "name": "Update Webhook",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/cash/webhooks/active",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "cash",
                "webhooks",
                "active"
              ]
            },
            "description": "Updates an existing webhook configuration. The webhook will be deactivated and a new activation test will be sent.\nThe webhook will only become active again if the new endpoint responds successfully to the activation test.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"id\": 456,\n  \"endpoint_url\": \"https://new-webhook-endpoint.com/webhooks\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "200 Webhook updated successfully and activation test initiated",
              "originalRequest": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/webhooks/active",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "webhooks",
                    "active"
                  ]
                }
              },
              "code": 200,
              "status": "Webhook updated successfully and activation test initiated",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"event\": \"webhook.updated\",\n  \"id\": 456,\n  \"endpoint_url\": \"https://new-webhook-endpoint.com/webhooks\",\n  \"secret_token\": \"644530cd9b0b431e61b8c6c656d17c77481047215a3ac66db71a7ad490397f7c\",\n  \"updated_at\": \"2025-01-15T11:30:00Z\"\n}"
            },
            {
              "name": "400 Bad Request - Invalid webhook configuration",
              "originalRequest": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/webhooks/active",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "webhooks",
                    "active"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid webhook configuration",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"event\": \"webhook.failed\",\n  \"errors\": {\n    \"endpoint_url\": [\n      \"must be a valid URL\"\n    ]\n  }\n}"
            },
            {
              "name": "401 Unauthorized - Invalid or missing authentication",
              "originalRequest": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/webhooks/active",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "webhooks",
                    "active"
                  ]
                }
              },
              "code": 401,
              "status": "Unauthorized - Invalid or missing authentication",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error\": \"Unauthorized\"\n}"
            },
            {
              "name": "404 Webhook configuration not found",
              "originalRequest": {
                "method": "PUT",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/webhooks/active",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "webhooks",
                    "active"
                  ]
                }
              },
              "code": 404,
              "status": "Webhook configuration not found",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"event\": \"webhook.failed\",\n  \"errors\": \"Webhook config not found\"\n}"
            }
          ]
        },
        {
          "name": "Create Cash-In · Standard cash-in with amount",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/cash/cash_in",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "cash",
                "cash_in"
              ]
            },
            "description": "Creates a new cash-in operation that allows users to deposit money at physical locations.\n\n- **Amount Limits**: 10 - 6000 MXN (may vary by physical location)\n- **Expiration**: 3 days from creation (on closed references)\n- **Reference**: 20-digit unique reference number\n\n**Open References**: Some clients can create \"open references\" without specifying an amount upfront.\nWhen creating an open reference, the `amount` parameter can be omitted, and the actual amount\nwill be determined at the time of payment at the physical location.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"amount\": 500,\n  \"external_user_id\": \"USER123456\",\n  \"document_type\": \"INE\",\n  \"document_id\": \"1234567890123\",\n  \"phone\": \"5512345678\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "201 Cash-in created successfully",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_in",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_in"
                  ]
                }
              },
              "code": 201,
              "status": "Cash-in created successfully",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"0\",\n  \"response_text\": \"Operacion creada\",\n  \"result\": {\n    \"operation_id\": 123,\n    \"kind\": \"cash_in\",\n    \"reference\": \"10511175512161627448\",\n    \"status\": \"close\",\n    \"transaction_id\": \"FMXdbnBuiw2SHqSyfzSkqN71q\",\n    \"amount\": 500,\n    \"created_at\": \"2025-01-15T10:30:00Z\",\n    \"expire_at\": \"2025-01-18T10:30:00Z\"\n  }\n}"
            },
            {
              "name": "400 Invalid parameters",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_in",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_in"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"60\",\n  \"response_text\": \"Parámetros Incorrectos\",\n  \"result\": {\n    \"amount\": 500,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "400 Invalid amount",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_in",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_in"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"60\",\n  \"response_text\": \"Parámetros Incorrectos, Monto invalido\",\n  \"result\": {\n    \"amount\": 5,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "400 Operation rejected",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_in",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_in"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"1\",\n  \"response_text\": \"Operacion rechazada\",\n  \"result\": {\n    \"amount\": 500,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "401 Unauthorized - Invalid or missing authentication",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_in",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_in"
                  ]
                }
              },
              "code": 401,
              "status": "Unauthorized - Invalid or missing authentication",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error\": \"Unauthorized\"\n}"
            }
          ]
        },
        {
          "name": "Create Cash-In · Open reference, amount determined at payment",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/cash/cash_in",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "cash",
                "cash_in"
              ]
            },
            "description": "Creates a new cash-in operation that allows users to deposit money at physical locations.\n\n- **Amount Limits**: 10 - 6000 MXN (may vary by physical location)\n- **Expiration**: 3 days from creation (on closed references)\n- **Reference**: 20-digit unique reference number\n\n**Open References**: Some clients can create \"open references\" without specifying an amount upfront.\nWhen creating an open reference, the `amount` parameter can be omitted, and the actual amount\nwill be determined at the time of payment at the physical location.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"external_user_id\": \"USER123456\",\n  \"document_type\": \"INE\",\n  \"document_id\": \"1234567890123\",\n  \"phone\": \"5512345678\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "201 Cash-in created successfully",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_in",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_in"
                  ]
                }
              },
              "code": 201,
              "status": "Cash-in created successfully",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"0\",\n  \"response_text\": \"Operacion creada\",\n  \"result\": {\n    \"operation_id\": 123,\n    \"kind\": \"cash_in\",\n    \"reference\": \"10511175512161627448\",\n    \"status\": \"close\",\n    \"transaction_id\": \"FMXdbnBuiw2SHqSyfzSkqN71q\",\n    \"amount\": 500,\n    \"created_at\": \"2025-01-15T10:30:00Z\",\n    \"expire_at\": \"2025-01-18T10:30:00Z\"\n  }\n}"
            },
            {
              "name": "400 Invalid parameters",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_in",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_in"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"60\",\n  \"response_text\": \"Parámetros Incorrectos\",\n  \"result\": {\n    \"amount\": 500,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "400 Invalid amount",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_in",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_in"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"60\",\n  \"response_text\": \"Parámetros Incorrectos, Monto invalido\",\n  \"result\": {\n    \"amount\": 5,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "400 Operation rejected",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_in",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_in"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"1\",\n  \"response_text\": \"Operacion rechazada\",\n  \"result\": {\n    \"amount\": 500,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "401 Unauthorized - Invalid or missing authentication",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_in",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_in"
                  ]
                }
              },
              "code": 401,
              "status": "Unauthorized - Invalid or missing authentication",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error\": \"Unauthorized\"\n}"
            }
          ]
        },
        {
          "name": "Create Cash-Out",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/cash/cash_out",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "cash",
                "cash_out"
              ]
            },
            "description": "Creates a new cash-out operation that allows users to withdraw money at physical locations.\n\n- **Amount Limits**: 50 - 3000 MXN (may vary by physical location)\n- **Expiration**: 60 minutes from creation (default)\n- **Reference**: 20-digit unique reference number\n- **Note**: Maximum and minimum amount may vary by physical location.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"amount\": 250,\n  \"external_user_id\": \"USER789012\",\n  \"document_type\": \"CURP\",\n  \"document_id\": \"ABCD123456HMNMNL01\",\n  \"phone\": \"5587654321\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "201 Cash-out created successfully",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_out",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_out"
                  ]
                }
              },
              "code": 201,
              "status": "Cash-out created successfully",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"0\",\n  \"response_text\": \"Operacion creada\",\n  \"result\": {\n    \"operation_id\": 124,\n    \"kind\": \"cash_out\",\n    \"reference\": \"20511175512161627449\",\n    \"status\": \"close\",\n    \"transaction_id\": \"FMXdbnBuiw2SHqSyfzSkqN72q\",\n    \"amount\": 250,\n    \"created_at\": \"2025-01-15T10:30:00Z\",\n    \"expire_at\": \"2025-01-15T11:30:00Z\"\n  }\n}"
            },
            {
              "name": "400 Invalid parameters",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_out",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_out"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"60\",\n  \"response_text\": \"Parámetros Incorrectos\",\n  \"result\": {\n    \"amount\": 500,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "400 Invalid amount",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_out",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_out"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"60\",\n  \"response_text\": \"Parámetros Incorrectos, Monto invalido\",\n  \"result\": {\n    \"amount\": 5,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "400 Operation rejected",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_out",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_out"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"1\",\n  \"response_text\": \"Operacion rechazada\",\n  \"result\": {\n    \"amount\": 500,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "401 Unauthorized - Invalid or missing authentication",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/cash_out",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "cash_out"
                  ]
                }
              },
              "code": 401,
              "status": "Unauthorized - Invalid or missing authentication",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error\": \"Unauthorized\"\n}"
            }
          ]
        },
        {
          "name": "Create Bulk Cash-In Operations",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/cash/bulk_operations",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "cash",
                "bulk_operations"
              ]
            },
            "description": "Creates multiple cash-in operations in bulk. This endpoint accepts a quantity and expiration date,\nand will generate the specified number of cash-in references asynchronously.\n\n- **Limits**: 1 - 1000 operations per request\n- **Processing**: Operations are created asynchronously via background job\n- **Use Case**: Useful for pre-generating multiple payment references for distribution",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"quantity\": 100,\n  \"expiration_date\": \"2025-01-20\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "201 Bulk operation request accepted and processing started",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/bulk_operations",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "bulk_operations"
                  ]
                }
              },
              "code": 201,
              "status": "Bulk operation request accepted and processing started",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"0\",\n  \"response_text\": \"Operacion bulk creada\",\n  \"result\": {\n    \"bulk_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n  }\n}"
            },
            {
              "name": "400 Invalid parameters",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/bulk_operations",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "bulk_operations"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"60\",\n  \"response_text\": \"Parámetros Incorrectos\",\n  \"result\": {\n    \"amount\": 500,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "400 Invalid amount",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/bulk_operations",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "bulk_operations"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"60\",\n  \"response_text\": \"Parámetros Incorrectos, Monto invalido\",\n  \"result\": {\n    \"amount\": 5,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "400 Operation rejected",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/bulk_operations",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "bulk_operations"
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"1\",\n  \"response_text\": \"Operacion rechazada\",\n  \"result\": {\n    \"amount\": 500,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "401 Unauthorized - Invalid or missing authentication",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/bulk_operations",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "bulk_operations"
                  ]
                }
              },
              "code": 401,
              "status": "Unauthorized - Invalid or missing authentication",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error\": \"Unauthorized\"\n}"
            }
          ]
        },
        {
          "name": "Consult Operation",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/cash/consult?reference=10511175512161627448",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "cash",
                "consult"
              ],
              "query": [
                {
                  "key": "reference",
                  "value": "10511175512161627448",
                  "description": "20-digit operation reference number",
                  "disabled": false
                }
              ]
            },
            "description": "Retrieves the current status and details of a cash operation using its reference number.\nUse this endpoint to check the status of cash-in or cash-out operations.",
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "200 Operation found successfully",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/consult?reference=10511175512161627448",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "consult"
                  ],
                  "query": [
                    {
                      "key": "reference",
                      "value": "10511175512161627448",
                      "description": "20-digit operation reference number",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Operation found successfully",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"0\",\n  \"response_text\": \"Operacion encontrada\",\n  \"result\": {\n    \"operation_id\": 123,\n    \"kind\": \"cash_in\",\n    \"reference\": \"10511175512161627448\",\n    \"status\": \"paid\",\n    \"amount\": 500,\n    \"created_at\": \"2025-01-15T10:30:00Z\",\n    \"expire_at\": \"2025-01-18T10:30:00Z\"\n  }\n}"
            },
            {
              "name": "400 Invalid parameters",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/consult?reference=10511175512161627448",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "consult"
                  ],
                  "query": [
                    {
                      "key": "reference",
                      "value": "10511175512161627448",
                      "description": "20-digit operation reference number",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"60\",\n  \"response_text\": \"Parámetros Incorrectos\",\n  \"result\": {\n    \"amount\": 500,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "400 Invalid amount",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/consult?reference=10511175512161627448",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "consult"
                  ],
                  "query": [
                    {
                      "key": "reference",
                      "value": "10511175512161627448",
                      "description": "20-digit operation reference number",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"60\",\n  \"response_text\": \"Parámetros Incorrectos, Monto invalido\",\n  \"result\": {\n    \"amount\": 5,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "400 Operation rejected",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/consult?reference=10511175512161627448",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "consult"
                  ],
                  "query": [
                    {
                      "key": "reference",
                      "value": "10511175512161627448",
                      "description": "20-digit operation reference number",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 400,
              "status": "Bad Request - Invalid operation parameters",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"1\",\n  \"response_text\": \"Operacion rechazada\",\n  \"result\": {\n    \"amount\": 500,\n    \"external_user_id\": \"USER123456\"\n  }\n}"
            },
            {
              "name": "401 Unauthorized - Invalid or missing authentication",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/consult?reference=10511175512161627448",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "consult"
                  ],
                  "query": [
                    {
                      "key": "reference",
                      "value": "10511175512161627448",
                      "description": "20-digit operation reference number",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 401,
              "status": "Unauthorized - Invalid or missing authentication",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error\": \"Unauthorized\"\n}"
            },
            {
              "name": "404 Operation not found",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/cash/consult?reference=10511175512161627448",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "cash",
                    "consult"
                  ],
                  "query": [
                    {
                      "key": "reference",
                      "value": "10511175512161627448",
                      "description": "20-digit operation reference number",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 404,
              "status": "Operation not found",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"response_code\": \"64\",\n  \"response_text\": \"Operacion no encontrada\",\n  \"result\": {\n    \"reference\": \"10511175512161627448\"\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Lottery",
      "description": "Monato's Lottery API 1.0.0. Generated from `products/lottery/lottery-openapi.yaml`.\n\nSelect the Monato Sandbox environment and fill in your credentials, then send any request.",
      "item": [
        {
          "name": "Retrieve current lottery draw information",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/lottery_tickets/new?payee_id=550e8400-e29b-41d4-a716-446655440000",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "lottery_tickets",
                "new"
              ],
              "query": [
                {
                  "key": "payee_id",
                  "value": "550e8400-e29b-41d4-a716-446655440000",
                  "description": "Unique identifier of the lottery service (it will be provided by Monato).\nMust be a valid UUID v4 format.",
                  "disabled": false
                }
              ]
            },
            "description": "Returns the active/current lottery draw information. \n\n**This is the first step required before purchasing a lottery ticket.**\n\nThe response includes:\n- Current draw number and date\n- Pricing information (base price, rematch, second rematch) in cents\n- Sales period (begin_sales, end_sales) in HH:MM:SS format\n- Board limits (minimum_number_of_boards, maximum_number_of_boards)\n\n**Implementation Notes:**\n- Use the `draw_number` from the response in the purchase request\n- Validate `combination_count` against `minimum_number_of_boards` and `maximum_number_of_boards`\n- Use pricing information to calculate `total_amount` for purchase\n- All prices are in cents (e.g., 1500 = $15.00 MXN)",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{finAccessToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": [
            {
              "name": "200 example-1",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/lottery_tickets/new?payee_id=550e8400-e29b-41d4-a716-446655440000",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "lottery_tickets",
                    "new"
                  ],
                  "query": [
                    {
                      "key": "payee_id",
                      "value": "550e8400-e29b-41d4-a716-446655440000",
                      "description": "Unique identifier of the lottery service (it will be provided by Monato).\nMust be a valid UUID v4 format.",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Current lottery draw successfully retrieved",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"draw_number\": \"7327\",\n  \"draw_date\": \"13/01/2026\",\n  \"base_price\": 1500,\n  \"min_price\": 1500,\n  \"max_price\": 3780000,\n  \"rematch\": 1000,\n  \"second_rematch\": 500,\n  \"begin_sales\": \"08:00:00\",\n  \"end_sales\": \"23:59:59\",\n  \"minimum_number_of_boards\": 1,\n  \"maximum_number_of_boards\": 6\n}"
            },
            {
              "name": "401 unauthorized",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/lottery_tickets/new?payee_id=550e8400-e29b-41d4-a716-446655440000",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "lottery_tickets",
                    "new"
                  ],
                  "query": [
                    {
                      "key": "payee_id",
                      "value": "550e8400-e29b-41d4-a716-446655440000",
                      "description": "Unique identifier of the lottery service (it will be provided by Monato).\nMust be a valid UUID v4 format.",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 401,
              "status": "Authentication failed",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"errors\": [\n    \"Access denied\"\n  ]\n}"
            },
            {
              "name": "422 invalid-input",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/lottery_tickets/new?payee_id=550e8400-e29b-41d4-a716-446655440000",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "lottery_tickets",
                    "new"
                  ],
                  "query": [
                    {
                      "key": "payee_id",
                      "value": "550e8400-e29b-41d4-a716-446655440000",
                      "description": "Unique identifier of the lottery service (it will be provided by Monato).\nMust be a valid UUID v4 format.",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 422,
              "status": "Invalid input or company not found",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error\": \"Invalid input\"\n}"
            },
            {
              "name": "422 company-not-found",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/lottery_tickets/new?payee_id=550e8400-e29b-41d4-a716-446655440000",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "lottery_tickets",
                    "new"
                  ],
                  "query": [
                    {
                      "key": "payee_id",
                      "value": "550e8400-e29b-41d4-a716-446655440000",
                      "description": "Unique identifier of the lottery service (it will be provided by Monato).\nMust be a valid UUID v4 format.",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 422,
              "status": "Invalid input or company not found",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error\": \"Company not found\"\n}"
            }
          ]
        },
        {
          "name": "Purchase a lottery ticket",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{finBaseUrl}}/api/v1/lottery_tickets",
              "host": [
                "{{finBaseUrl}}"
              ],
              "path": [
                "api",
                "v1",
                "lottery_tickets"
              ]
            },
            "description": "Creates a lottery ticket purchase for a specific draw. The system processes the bet payment.\n\n**Prerequisites:**\n- Must call `/api/v1/lottery_tickets/new` first to get current draw information\n- Use `draw_number` from the draw info response\n- Validate `combination_count` against draw info limits\n\n**Betting Rules:**\n- A ticket can have minimum 1 bet (board/combination) and maximum 6 bets\n- Each bet costs the `base_price` from draw info (in cents, e.g., 1500 = $15.00 MXN)\n- Rematch option adds `rematch` price per bet (in cents, e.g., 1000 = $10.00 MXN per bet)\n- Second rematch option adds `second_rematch` price per bet (in cents, e.g., 500 = $5.00 MXN per bet)\n- Second rematch **requires** rematch to be enabled\n\n**Price Calculation:**\n```\ntotal = base_price * combination_count\nIF rematch: total += rematch * combination_count\nIF second_rematch AND rematch: total += second_rematch * combination_count\ntotal_amount = STRING(total)  // Must be string representation of integer in cents\n```\n\n**Implementation Notes:**\n- `total_amount` must match the calculated price based on draw info\n- `payer_reference` must be unique per transaction (use UUID or timestamp-based ID)\n- Store `receipt` information for ticket validation and customer records\n- `security_number` is used for anti-fraud validation",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"payee_id\": \"9432e22b-7e41-4c9e-8d59-9a73e9532342\",\n  \"payer_reference\": \"1234567890\",\n  \"ticket\": {\n    \"draw_number\": \"4294\",\n    \"combination_count\": 5,\n    \"rematch\": true,\n    \"second_rematch\": true,\n    \"total_amount\": \"15000\"\n  },\n  \"branch\": {\n    \"name\": \"Test Branch\",\n    \"city\": \"Test City\",\n    \"street\": \"Test Street\",\n    \"neighborhood\": \"Test Neighborhood\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{finAccessToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": [
            {
              "name": "200 example-1",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/lottery_tickets",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "lottery_tickets"
                  ]
                }
              },
              "code": 200,
              "status": "Lottery ticket successfully purchased",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n  \"client_id\": 123,\n  \"ticket\": {\n    \"rematch\": true,\n    \"second_rematch\": true,\n    \"draw_number\": \"1234\",\n    \"total_amount\": \"10000\",\n    \"combination_count\": 5\n  },\n  \"branch\": {\n    \"city\": \"Ciudad de Mexico\",\n    \"name\": \"Abarrotes Don Pepe\",\n    \"street\": \"Av. Insurgentes Sur 1234\",\n    \"neighborhood\": \"Del Valle\"\n  },\n  \"status\": \"processed\",\n  \"payment\": {\n    \"id\": \"f9e8d7c6-b5a4-3210-fedc-ba0987654321\",\n    \"payer_account\": \"1234567890\",\n    \"payee_id\": \"9432e22b-7e41-4c9e-8d59-9a73e9532342\",\n    \"amount\": 100,\n    \"currency\": \"MXN\",\n    \"status\": \"completed\",\n    \"pay_type\": \"gambling\"\n  },\n  \"receipt\": {\n    \"combination_numbers\": \"10,27,36,41,52,56\",\n    \"transaction_date\": \"22/12/2025 20:19:57\",\n    \"store_id\": \"26226\",\n    \"pos_id\": \"1\",\n    \"foreign_pos_id\": \"1\",\n    \"transaction_number\": \"432930881\",\n    \"reference_number\": \"801500019-35600002\",\n    \"session_id\": \"80150001900\",\n    \"security_number\": \"HQTNM5-HY9YF%-QS5NZ4-Q8&Z4&-HMJ#8\",\n    \"serial_number\": \"4815-052713529-200818\",\n    \"creation_date\": 1769621353354,\n    \"ticket_image\": \"iVBORw0KGgoAAAANSUhEUgAAAAUA...\"\n  }\n}"
            },
            {
              "name": "401 unauthorized",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/lottery_tickets",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "lottery_tickets"
                  ]
                }
              },
              "code": 401,
              "status": "Authentication failed",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"errors\": [\n    \"Access denied\"\n  ]\n}"
            },
            {
              "name": "422 invalid-input",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/lottery_tickets",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "lottery_tickets"
                  ]
                }
              },
              "code": 422,
              "status": "Invalid input or company not found",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error\": \"Invalid input\"\n}"
            },
            {
              "name": "422 company-not-found",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{finBaseUrl}}/api/v1/lottery_tickets",
                  "host": [
                    "{{finBaseUrl}}"
                  ],
                  "path": [
                    "api",
                    "v1",
                    "lottery_tickets"
                  ]
                }
              },
              "code": 422,
              "status": "Invalid input or company not found",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"error\": \"Company not found\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Remittances",
      "description": "Remittances API 2.0.0. Generated from `products/remittances/remittances-openapi.yaml`.\n\nSelect the Monato Sandbox environment and fill in your credentials, then send any request.",
      "item": [
        {
          "name": "Create a private account and receive remittance",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{remittancesBaseUrl}}/v2/remittances/receive",
              "host": [
                "{{remittancesBaseUrl}}"
              ],
              "path": [
                "v2",
                "remittances",
                "receive"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mgi_transaction_session_id\": \"4200922151E1743120525540\",\n  \"reference\": \"23033104\",\n  \"amount\": \"1596.00\",\n  \"currency\": \"MXN\",\n  \"country\": \"MEX\",\n  \"state\": \"DF\",\n  \"city\": \"Miguel Hidalgo\",\n  \"address\": \"Avenida Queretaro\",\n  \"zip_code\": \"11590\",\n  \"phone_country_code\": \"52\",\n  \"phone\": \"5641663028\",\n  \"photo_id_country\": \"MEX\",\n  \"photo_id_type\": \"GOV\",\n  \"photo_id_number\": \"2686505909\",\n  \"birth_country\": \"MEX\",\n  \"date_of_birth\": \"1991-01-20\",\n  \"occupation\": \"EDUCATION\",\n  \"purpose_of_transaction\": \"PERSONAL_USE\",\n  \"relationship_to_sender\": \"FAMILY\",\n  \"intended_use\": \"FAMILY_FRIENDS_SUPPORT\",\n  \"id_state\": \"DF\",\n  \"gender\": \"MALE\",\n  \"id_expiration_year\": \"2033\",\n  \"operator_name\": \"Daniel\",\n  \"id_issue_year\": \"2023\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "200 Remittance received successfully",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{remittancesBaseUrl}}/v2/remittances/receive",
                  "host": [
                    "{{remittancesBaseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "remittances",
                    "receive"
                  ]
                }
              },
              "code": 200,
              "status": "Remittance received successfully",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"status\": \"available\",\n  \"mgi_transaction_session_id\": \"4200922151E1743121957877\",\n  \"ready_for_commit\": true\n}"
            }
          ]
        },
        {
          "name": "Reverse a remittance transaction",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{remittancesBaseUrl}}/v2/remittances/receive_reversal",
              "host": [
                "{{remittancesBaseUrl}}"
              ],
              "path": [
                "v2",
                "remittances",
                "receive_reversal"
              ]
            },
            "description": "Allows reversing a remittance only on the same day of the operation.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"amount\": \"1596.00\",\n  \"reference\": \"23033104\",\n  \"reversal_reason\": \"WRONG_TX\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "200 Successful reversal of the remittance transaction.",
              "originalRequest": {
                "method": "DELETE",
                "header": [],
                "url": {
                  "raw": "{{remittancesBaseUrl}}/v2/remittances/receive_reversal",
                  "host": [
                    "{{remittancesBaseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "remittances",
                    "receive_reversal"
                  ]
                }
              },
              "code": 200,
              "status": "Successful reversal of the remittance transaction.",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"status\": \"reversed\",\n  \"reversal_date_time\": \"2025-03-28T00:36:54.000Z\"\n}"
            }
          ]
        },
        {
          "name": "Search for a remittance by reference number",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{remittancesBaseUrl}}/v2/remittances/references?reference_number=23033104",
              "host": [
                "{{remittancesBaseUrl}}"
              ],
              "path": [
                "v2",
                "remittances",
                "references"
              ],
              "query": [
                {
                  "key": "reference_number",
                  "value": "23033104",
                  "description": "The reference number of the remittance.",
                  "disabled": false
                }
              ]
            },
            "description": "Retrieves remittance details based on the provided reference number.",
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "200 Successful response with remittance details",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{remittancesBaseUrl}}/v2/remittances/references?reference_number=23033104",
                  "host": [
                    "{{remittancesBaseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "remittances",
                    "references"
                  ],
                  "query": [
                    {
                      "key": "reference_number",
                      "value": "23033104",
                      "description": "The reference number of the remittance.",
                      "disabled": false
                    }
                  ]
                }
              },
              "code": 200,
              "status": "Successful response with remittance details",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"mgi_transaction_session_id\": \"4200922151E1743120525540\",\n  \"transaction_status\": \"AVAIL\",\n  \"sender_first_name\": \"MARCOS\",\n  \"sender_last_name\": \"DURAN\",\n  \"sender_home_phone\": \"967774185\",\n  \"receiver_first_name\": \"LUIS\",\n  \"receiver_last_name\": \"MARTINEZ\",\n  \"date_time_sent\": \"2025-03-14T15:06:08.887-05:00\",\n  \"receive_currency\": \"MXN\",\n  \"receive_amount\": \"1596.00\",\n  \"reference_number\": \"23033104\",\n  \"originating_country\": \"USA\",\n  \"indicative_receive_amount\": \"0\",\n  \"indicative_exchange_rate\": \"0.000000\",\n  \"original_send_amount\": \"81.19\",\n  \"original_send_currency\": \"USD\",\n  \"original_send_fee\": \"3.81\",\n  \"original_exchange_rate\": \"19.654979\",\n  \"ok_for_pickup\": true,\n  \"not_ok_for_pickup_reason_code\": \"0\",\n  \"minutes_until_ok_for_pickup\": \"0\"\n}"
            }
          ]
        },
        {
          "name": "Create a remittance transaction",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{remittancesBaseUrl}}/v2/remittances/transaction",
              "host": [
                "{{remittancesBaseUrl}}"
              ],
              "path": [
                "v2",
                "remittances",
                "transaction"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"mgi_transaction_session_id\": \"4200922151E1743120525540\",\n  \"product_type\": \"RCV\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "200 Transaction created successfully",
              "originalRequest": {
                "method": "POST",
                "header": [],
                "url": {
                  "raw": "{{remittancesBaseUrl}}/v2/remittances/transaction",
                  "host": [
                    "{{remittancesBaseUrl}}"
                  ],
                  "path": [
                    "v2",
                    "remittances",
                    "transaction"
                  ]
                }
              },
              "code": 200,
              "status": "Transaction created successfully",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "_postman_previewlanguage": "json",
              "body": "{\n  \"transaction_id\": 132,\n  \"status\": \"received\",\n  \"reference\": \"23033104\",\n  \"transaction_date_time\": \"2025-03-28T00:31:58.206Z\"\n}"
            }
          ]
        }
      ]
    }
  ],
  "variable": [
    {
      "key": "fincoreToken",
      "value": ""
    },
    {
      "key": "fincoreTokenExpiresAt",
      "value": "0"
    }
  ]
}
