{"variable":[{"id":"baseUrl","key":"baseUrl","type":"string","name":"string","value":"https:\/\/staging.anteloope.com"}],"info":{"name":"Anteloope API","_postman_id":"9083c126-fe51-4e91-a646-abae432fa253","description":"\nUse the Anteloope API to manage consumers, accounts, payments, and payment plans through a versioned HTTP interface.\n\nThe public API is `\/api\/v1`. It uses HTTPS, scoped Bearer tokens, JSON:API 1.1 documents, and standard HTTP status codes.\n\n1. Obtain a Sandbox token and base URL from Anteloope Support.\n2. Send an authenticated request using the endpoint's documented fields.\n3. Move the same integration to Production with its Production token and URL.\n\nUse the endpoint reference as the source of truth for supported fields. Preserve the public identifiers returned by the API, tolerate additional response attributes, and record response status and body when diagnosing a failed integration.\n\n## Environments\n\n| Environment | Use it for | Credentials |\n| --- | --- | --- |\n| Sandbox | Build, test, and validate an integration. | Sandbox token and base URL. |\n| Production | Live account and payment activity. | Production token and base URL. |\n\nTokens are environment-specific and are not interchangeable. Anteloope Support provides the base URL and scoped token for each environment.\n\n## Authentication\n\nSend a scoped token with each authenticated request:\n\n```http\nAuthorization: Bearer {YOUR_AUTH_TOKEN}\n```\n\nStore tokens in a server-side secret manager. Do not expose them in browser code, screenshots, or source control.\n\n| Response | Meaning | Next step |\n| --- | --- | --- |\n| `401` | Token is missing or invalid. | Check the header and environment. |\n| `403` | Token lacks the endpoint ability. | Request the required scope from Support. |\n\n## Request format\n\nWrite endpoints use a JSON:API `data` envelope. Send the type in `data.type`, writable fields in `data.attributes`, and the route-matching ID in `data.id` when updating an existing record.\n\n```json\n{\n    \"data\": {\n        \"type\": \"consumers\",\n        \"attributes\": {\n            \"first_name\": \"Taylor\",\n            \"last_name\": \"Example\"\n        }\n    }\n}\n```\n\n| Convention | Rule |\n| --- | --- |\n| Field names | `snake_case` |\n| Timestamps | ISO 8601 |\n| Money | Integer minor units with a currency code |\n| Public IDs | Stable identifiers only |\n\nFlat JSON remains accepted on compatible endpoints, but new integrations should use the documented JSON:API envelope.\n\n## Idempotency\n\n`Idempotency-Key` is optional for account provisioning. Send a unique value when a network failure might cause you to retry the same account request.\n\n```http\nIdempotency-Key: account-provisioning-20260730-001\n```\n\n| Request sequence | Result |\n| --- | --- |\n| No key | The request is processed normally. |\n| Same key, same payload | The completed provisioning result is replayed. |\n| Same key, different payload | `409 Conflict`. Use a new key after resolving the mismatch. |\n\nUse the same key only to retry the same logical operation. This behavior is currently documented for account provisioning; do not assume it applies to other endpoints unless their reference explicitly says so.\n\n## Errors\n\nErrors use the JSON:API `errors` array. Validation errors include a `source.pointer` that identifies the relevant request field.\n\n```json\n{\n    \"errors\": [\n        {\n            \"status\": \"422\",\n            \"code\": \"validation_failed\",\n            \"title\": \"Validation failed\",\n            \"source\": { \"pointer\": \"\/data\/attributes\/account_id\" }\n        }\n    ]\n}\n```\n\nCorrect the request before retrying `400`, `401`, `403`, `404`, or `422` responses. For `409`, resolve the conflict. Retry `429` and transient `5xx` responses with bounded exponential backoff and jitter.\n\n## Rate limits\n\n| Caller | Limit |\n| --- | --- |\n| Authenticated token | 600 requests per minute |\n| Unauthenticated client | 90 requests per minute |\n\nOn `429 Too Many Requests`, stop immediate retries, wait before retrying, and add random jitter. Prefer webhooks or bounded polling over tight loops.\n\n## Webhooks\n\nConfigure outbound webhook endpoints in **Organization Settings** under **Developers**. Each endpoint must use a publicly reachable HTTPS URL and subscribe only to the events your integration needs.\n\nEvery delivery is a JSON `POST` with this envelope:\n\n```json\n{\n    \"eventID\": \"b06c1ca2-2ac4-4f34-8258-bb6cc31ae284\",\n    \"type\": \"payment.updated\",\n    \"data\": {\n        \"payment\": {\n            \"id\": \"1000001\",\n            \"attributes\": {}\n        }\n    },\n    \"createdOn\": \"2026-07-30T12:00:00Z\"\n}\n```\n\nDelivery IDs and fields match the public v1 API. Deliveries are at-least-once: persist and deduplicate `eventID`, because a retry sends the original immutable payload again. Return any `2xx` status within five seconds to acknowledge receipt. Connection failures, `408`, `429`, and `5xx` responses are retried with exponential backoff for up to 24 hours.\n\nVerify each delivery with the per-endpoint signing secret, which is shown only when the endpoint is created or its secret is rotated:\n\n| Header | Description |\n| --- | --- |\n| `X-Timestamp` | ISO 8601 delivery timestamp. |\n| `X-Nonce` | Unique value generated for this attempt. |\n| `X-Webhook-ID` | The event delivery ID, equal to `eventID`. |\n| `X-Signature` | Lowercase HMAC-SHA512 of the timestamp, nonce, and webhook ID joined in that order, signed with the endpoint secret. |\n","schema":"https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json"},"item":[{"name":"Consumers","description":"","item":[{"name":"Create Consumer","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/consumers","query":[],"raw":"{{baseUrl}}\/api\/v1\/consumers"},"method":"POST","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"organization_consumer_id\":\"customer-12345\",\"first_name\":\"Taylor\",\"last_name\":\"Example\"},\"type\":\"consumers\"}}"},"description":"Creates one consumer."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"consumers\",\"id\":\"55112a2d-36d7-3446-b776-9f0663a9994a\",\"attributes\":{\"organization_consumer_id\":\"customer-12345\",\"first_name\":\"Taylor\",\"last_name\":\"Example\",\"email\":\"taylor@example.com\"}}}","name":"Existing consumer matched by organization consumer ID"},{"header":[],"code":201,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"consumers\",\"id\":\"55112a2d-36d7-3446-b776-9f0663a9994a\",\"attributes\":{\"first_name\":\"Taylor\",\"middle_name\":\"Morgan\",\"last_name\":\"Example\",\"preferred_name\":\"Tay\",\"email\":\"taylor@example.com\",\"last_4_ssn\":\"1234\",\"date_of_birth\":\"1990-01-15\",\"last_updated\":\"2026-01-03T09:00:00.000000Z\"}}}","name":"JSON:API success"},{"header":[],"code":400,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"400\",\"code\":\"invalid_resource_document\",\"title\":\"Invalid resource document\",\"detail\":\"The JSON:API data.attributes member must be an object.\",\"source\":{\"pointer\":\"\/data\/attributes\"}}]}","name":"Invalid JSON:API document"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"403\",\"title\":\"You are not authorized to perform this action\"}]}","name":"User is missing create-user ability"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"code\":\"invalid_attribute\",\"title\":\"Invalid consumer creation\",\"detail\":\"The first name field is required.\",\"source\":{\"pointer\":\"\/data\/attributes\/first_name\"}}]}","name":"Validation failed"}]},{"name":"List Consumers","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/consumers","query":[{"key":"page","value":"","description":"Optional page number.","disabled":true},{"key":"per_page","value":"","description":"Optional page size. Min 1, max 100.","disabled":true},{"key":"sort_by","value":"","description":"Optional sort field. Allowed: last_updated.","disabled":true},{"key":"sort_direction","value":"","description":"Optional sort direction. Allowed: asc, desc.","disabled":true},{"key":"is_active","value":"1","description":"Optional active status filter.","disabled":false},{"key":"last_updated_from","value":"","description":"Optional start date filter (Y-m-d).","disabled":true},{"key":"last_updated_to","value":"","description":"Optional end date filter (Y-m-d).","disabled":true}],"raw":"{{baseUrl}}\/api\/v1\/consumers?page=&per_page=&sort_by=&sort_direction=&is_active=1&last_updated_from=&last_updated_to="},"method":"GET","header":[{"key":"Accept","value":"application\/json"},{"key":"Content-Type","value":"application\/json"}],"body":null,"description":"Retrieves a paginated list of consumers.\n\nUse the documented query parameters for pagination, sorting, and filtering. The response uses\nthe `consumers` resource type and places consumer fields under `data.attributes`."},"response":[{"header":[],"code":200,"body":"{\n  \"jsonapi\": {\"version\": \"1.1\"},\n  \"links\": {\"first\": \"https:\/\/state.test\/api\/v1\/consumers?page=1\", \"last\": \"https:\/\/state.test\/api\/v1\/consumers?page=1\", \"prev\": null, \"next\": null},\n  \"meta\": {\"current_page\": 1, \"from\": 1, \"last_page\": 1, \"per_page\": 15, \"to\": 1, \"total\": 1},\n  \"data\": [{\"type\": \"consumers\", \"id\": \"8b9cfd33-ea53-4dae-bf77-20ba1b9ef108\", \"attributes\": {\"first_name\": \"John\", \"middle_name\": null, \"last_name\": \"Doe\", \"preferred_name\": null, \"email\": \"john.doe@example.com\", \"last_4_ssn\": null, \"date_of_birth\": null, \"last_updated\": \"2026-05-20T05:35:13.000000Z\"}}]\n}","name":"JSON:API success"},{"header":[],"code":401,"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"message\": \"Unauthenticated.\"\n  }\n}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\n  \"error\": {\n    \"status\": 403,\n    \"message\": \"You are not authorized to perform this action\"\n  }\n}","name":"User is missing list-users ability"},{"header":[],"code":500,"body":"{\n  \"status\": false,\n  \"message\": \"An unexpected error occurred while processing your request\",\n  \"trace\": []\n}","name":"Server error"}]},{"name":"Retrieve Consumer","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/consumers\/{consumer_id|account_id}","query":[{"key":"include","value":"","description":"Optional comma-separated relationships. Allowed: addresses, accounts, discounts, emails, payments, phones.","disabled":true}],"raw":"{{baseUrl}}\/api\/v1\/consumers\/{consumer_id|account_id}?include=","variable":[{"id":"consumer_id|account_id","key":"consumer_id|account_id","value":"fddd6ee5-d8b2-33c4-a981-c5d01c293f49","description":"Either a consumer ID or an account ID."}]},"method":"GET","header":[{"key":"Accept","value":"application\/json"},{"key":"Content-Type","value":"application\/json"}],"body":null,"description":"Retrieves a single consumer.\n\nUse the path identifier to resolve either a consumer ID or an account ID. The response uses\nthe `consumers` resource type and places consumer fields under `data.attributes`."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"consumers\",\"id\":\"8b9cfd33-ea53-4dae-bf77-20ba1b9ef108\",\"attributes\":{\"first_name\":\"Taylor\",\"middle_name\":null,\"last_name\":\"Example\",\"preferred_name\":null,\"email\":\"taylor.example@example.test\",\"is_active\":true,\"created_at\":\"2026-01-02T09:00:00.000000Z\",\"updated_at\":\"2026-01-03T09:00:00.000000Z\"}}}","name":"JSON:API success"},{"header":[],"code":400,"body":"{\"errors\":[{\"status\":\"400\",\"code\":\"invalid_include\",\"title\":\"Invalid include parameter\",\"detail\":\"Supported consumer includes are: addresses, accounts, discounts, emails, payments, phones.\"}]}","name":"Invalid include"},{"header":[],"code":401,"body":"{\"error\":{\"status\": 401, \"message\": \"Unauthenticated.\"}}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\"error\":{\"status\": 403, \"message\": \"You are not authorized to perform this action\"}}","name":"User is missing privileges"}]},{"name":"Update Consumer","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/consumers\/:consumer_id","query":[],"raw":"{{baseUrl}}\/api\/v1\/consumers\/:consumer_id","variable":[{"id":"consumer_id","key":"consumer_id","value":"fddd6ee5-d8b2-33c4-a981-c5d01c293f49","description":"The consumer ID to update."}]},"method":"PATCH","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"first_name\":\"Taylor\",\"middle_name\":\"Morgan\",\"last_name\":\"Example\",\"preferred_name\":\"Tay\",\"email\":\"taylor@example.com\",\"last_4_ssn\":\"1234\",\"date_of_birth\":\"1990-01-15\"},\"type\":\"consumers\",\"id\":\"fddd6ee5-d8b2-33c4-a981-c5d01c293f49\"}}"},"description":"Updates the editable profile fields for a consumer."},"response":[{"header":[],"code":200,"body":"{\n  \"jsonapi\": {\"version\": \"1.1\"},\n  \"data\": {\n    \"type\": \"consumers\",\n    \"id\": \"55112a2d-36d7-3446-b776-9f0663a9994a\",\n    \"attributes\": {\n      \"first_name\": \"Taylor\",\n      \"middle_name\": \"Morgan\",\n      \"last_name\": \"Example\",\n      \"preferred_name\": \"Tay\",\n      \"email\": \"taylor@example.com\",\n      \"last_4_ssn\": \"1234\",\n      \"date_of_birth\": \"1990-01-15\",\n      \"last_updated\": \"2026-01-03T09:00:00.000000Z\"\n    }\n  }\n}","name":"JSON:API success"},{"header":[],"code":400,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"400\",\"code\":\"invalid_resource_document\",\"title\":\"Invalid resource document\",\"detail\":\"The JSON:API data.attributes member must be an object.\",\"source\":{\"pointer\":\"\/data\/attributes\"}}]}","name":"Invalid JSON:API document"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"403\",\"title\":\"You are not authorized to perform this action\"}]}","name":"User is missing update-user ability"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Consumer not found\"}]}","name":"Consumer not found"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"code\":\"invalid_attribute\",\"title\":\"Invalid consumer update\",\"detail\":\"The email field must be a valid email address.\",\"source\":{\"pointer\":\"\/data\/attributes\/email\"}}]}","name":"Validation failed"}]},{"name":"Addresses","description":"Endpoints for managing consumer addresses.","item":[{"name":"Create Consumer Address","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/consumers\/:consumer_id\/addresses","query":[],"raw":"{{baseUrl}}\/api\/v1\/consumers\/:consumer_id\/addresses","variable":[{"id":"consumer_id","key":"consumer_id","value":"fddd6ee5-d8b2-33c4-a981-c5d01c293f49","description":"The consumer ID."}]},"method":"POST","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"address_1\":\"123 Main Street\",\"city\":\"Austin\",\"postal_code\":\"78701\"},\"type\":\"addresses\",\"id\":\"fddd6ee5-d8b2-33c4-a981-c5d01c293f49\"}}"},"description":"Creates an address for a consumer."},"response":[{"header":[],"code":201,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"addresses\",\"id\":\"d9352b9e-9a5a-4372-af65-f75e64d81b7e\",\"attributes\":{\"address_1\":\"123 Main Street\",\"address_2\":\"Suite 200\",\"city\":\"Austin\",\"state_code\":\"TX\",\"country_code\":\"US\",\"postal_code\":\"78701\",\"type\":\"home\",\"is_primary\":true,\"updated_at\":\"2026-07-21T10:00:00.000000Z\"}}}","name":"JSON:API success"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"403\",\"title\":\"You are not authorized to perform this action\"}]}","name":"User is missing update-user ability"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Consumer not found\"}]}","name":"Consumer not found"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"code\":\"invalid_attribute\",\"title\":\"Invalid address creation\",\"detail\":\"The address 1 field is required.\",\"source\":{\"pointer\":\"\/data\/attributes\/address_1\"}}]}","name":"Validation failed"}]},{"name":"Retrieve Consumer Address","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/consumers\/:consumer_id\/addresses\/:address_id","query":[],"raw":"{{baseUrl}}\/api\/v1\/consumers\/:consumer_id\/addresses\/:address_id","variable":[{"id":"consumer_id","key":"consumer_id","value":"fddd6ee5-d8b2-33c4-a981-c5d01c293f49","description":"The consumer ID."},{"id":"address_id","key":"address_id","value":"d9352b9e-9a5a-4372-af65-f75e64d81b7e","description":"The address ID."}]},"method":"GET","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":null,"description":"Retrieves one consumer address."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"addresses\",\"id\":\"d9352b9e-9a5a-4372-af65-f75e64d81b7e\",\"attributes\":{\"address_1\":\"123 Main Street\",\"address_2\":\"Suite 200\",\"city\":\"Austin\",\"state_code\":\"TX\",\"country_code\":\"US\",\"postal_code\":\"78701\",\"type\":\"home\",\"is_primary\":true,\"updated_at\":\"2026-07-21T10:00:00.000000Z\"}}}","name":"JSON:API success"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"403\",\"title\":\"You are not authorized to perform this action\"}]}","name":"User is missing view-user ability"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Address not found\"}]}","name":"Address not found"}]},{"name":"Update Consumer Address","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/consumers\/:consumer_id\/addresses\/:address_id","query":[],"raw":"{{baseUrl}}\/api\/v1\/consumers\/:consumer_id\/addresses\/:address_id","variable":[{"id":"consumer_id","key":"consumer_id","value":"fddd6ee5-d8b2-33c4-a981-c5d01c293f49","description":"The consumer ID."},{"id":"address_id","key":"address_id","value":"d9352b9e-9a5a-4372-af65-f75e64d81b7e","description":"The address ID."}]},"method":"PATCH","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":null,\"type\":\"addresses\",\"id\":\"d9352b9e-9a5a-4372-af65-f75e64d81b7e\"}}"},"description":"Updates a consumer address."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"addresses\",\"id\":\"d9352b9e-9a5a-4372-af65-f75e64d81b7e\",\"attributes\":{\"address_1\":\"456 Congress Avenue\",\"address_2\":\"Suite 300\",\"city\":\"Austin\",\"state_code\":\"TX\",\"country_code\":\"US\",\"postal_code\":\"78701\",\"type\":\"work\",\"is_primary\":true,\"updated_at\":\"2026-07-21T10:00:00.000000Z\"}}}","name":"JSON:API success"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"403\",\"title\":\"You are not authorized to perform this action\"}]}","name":"User is missing update-user ability"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Address not found\"}]}","name":"Address not found"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"code\":\"invalid_attribute\",\"title\":\"Invalid address update\",\"detail\":\"The city field is required.\",\"source\":{\"pointer\":\"\/data\/attributes\/city\"}}]}","name":"Validation failed"}]},{"name":"Delete Consumer Address","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/consumers\/:consumer_id\/addresses\/:address_id","query":[],"raw":"{{baseUrl}}\/api\/v1\/consumers\/:consumer_id\/addresses\/:address_id","variable":[{"id":"consumer_id","key":"consumer_id","value":"fddd6ee5-d8b2-33c4-a981-c5d01c293f49","description":"The consumer ID."},{"id":"address_id","key":"address_id","value":"d9352b9e-9a5a-4372-af65-f75e64d81b7e","description":"The address ID."}]},"method":"DELETE","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":null,"description":"Deletes a consumer address."},"response":[{"header":[],"code":204,"body":"","name":"Address deleted"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"403\",\"title\":\"You are not authorized to perform this action\"}]}","name":"User is missing update-user ability"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Address not found\"}]}","name":"Address not found"}]}]}]},{"name":"Accounts","description":"","item":[{"name":"Disputes","description":"Endpoints for creating and updating disputes.","item":[{"name":"Create a Dispute","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/dispute\/create","query":[],"raw":"{{baseUrl}}\/api\/v1\/dispute\/create"},"method":"POST","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"account_id\":\"\\\"TEST1\\\"\",\"reason\":\"\\\"not_my_debt\\\"\",\"description\":\"Neque delectus rerum et impedit.\"}"},"description":"This endpoint allows a user to create a dispute for a specific debt account.\nThe request requires an account number, a reason, and a description, with an optional document upload."},"response":[{"header":[],"code":200,"body":"{\n  \"status\": true,\n  \"message\": \"No debts found\",\n  \"data\": []\n}","name":"No accounts found for given account_id"},{"header":[],"code":201,"body":"{\n  \"message\": \"Dispute created successfully\",\n  \"dispute\": {\n      \"uuid\": \"bcXXXXXX-XXXX\",\n      \"user_debt_id\": 1,\n      \"dispute_reason\": \"not_my_debt\",\n      \"dispute_description\": \"This is my testing description\",\n      \"dispute_uploaded_file\": null,\n      \"file_path\": null,\n      \"storage_disk\": null,\n      \"dispute_status\": \"submitted\",\n      \"admin_notes\": null,\n      \"source\": \"api\",\n      \"updated_at\": \"2025-09-29T11:24:07.000000Z\",\n      \"created_at\": \"2025-09-29T11:24:07.000000Z\",\n      \"debt\": {\n          \"uuid\": \"2aXXXXXX-XXXX\",\n          \"import_data_file_id\": 1,\n          \"payment_plan_id\": null,\n          \"consumer_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n          \"account_id\": \"TEST1\",\n          \"client\": {\n              \"client_name\": \"Staging\",\n              \"client_identifier\": \"Test-1\",\n              \"created_at\": \"2025-09-06T02:24:46.000000Z\",\n              \"updated_at\": \"2025-09-06T02:24:46.000000Z\",\n              \"company_client_rules_count\": 0,\n              \"has_rules\": false,\n              \"company_client_rules\": [],\n              \"discounts\": []\n          },\n          \"discount\": null,\n          \"company\": {\n              \"company_name\": \"TPS-BHG\",\n              \"url_slug\": \"bhg\",\n              \"status_id\": 1,\n              \"created_at\": \"2025-09-06T02:12:32.000000Z\",\n              \"updated_at\": \"2025-09-08T16:01:21.000000Z\",\n              \"moov_account_id\": \"6bXXXXXX-XXXX\",\n              \"moov_wallet_id\": \"7yXXXX-XXXX\",\n              \"timezone\": \"America\/New_York\",\n              \"moov_descriptor\": \"TPS-BHG \",\n              \"company_rules\": [\n                  {\n                      \"rule_id\": 2,\n                      \"value_json\": \"false\",\n                      \"created_at\": \"2025-03-21T20:13:59.000000Z\",\n                      \"updated_at\": \"2025-06-23T23:10:07.000000Z\",\n                      \"value\": false,\n                      \"rule\": {\n                          \"name\": \"use_amount_due_as_max_payment\",\n                          \"description\": \"Use \\\"amount due\\\" as the max allowed payment. When false use the current account balance amount.\",\n                          \"type\": \"boolean\",\n                          \"default_value_json\": \"true\"\n                      }\n                  }\n              ],\n              \"discounts\": []\n          }\n      }\n  }\n}","name":"Dispute created successfully"},{"header":[],"code":403,"body":"{\n  \"status\": false,\n  \"message\": \"Unauthorized\",\n  \"data\": []\n}","name":"Unauthorized user trying to dispute debt"},{"header":[],"code":422,"body":"{\n  \"status\": false,\n  \"message\": \"Validation Error\",\n  \"error\": [\n      \"The account number field is required.\",\n      \"Invalid dispute reason provided.\"\n  ]\n}","name":"Validation errors"},{"header":[],"code":500,"body":"{\n  \"error\": {\n    \"status\": 500,\n    \"message\": \"Internal Server Error\"\n  }\n}","name":"Internal Server Error"}]},{"name":"Update a Dispute","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/dispute\/:id","query":[],"raw":"{{baseUrl}}\/api\/v1\/dispute\/:id","variable":[{"id":"id","key":"id","value":1,"description":"The ID of the dispute to be updated."}]},"method":"PUT","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"reason\":\"\\\"amount_wrong\\\"\",\"description\":\"\\\"Updated description of dispute\\\"\"},\"type\":\"disputes\"}}"},"description":"This endpoint allows a user to update the reason and description of an existing dispute.\nThe request requires the dispute ID in the URL path, along with updated reason and description fields.\n\nPUT \/api\/v1\/dispute\/{id}"},"response":[{"header":[],"code":200,"body":"{\n  \"status\": true,\n  \"message\": \"Dispute updated successfully.\",\n  \"data\": []\n}","name":"Dispute updated successfully"},{"header":[],"code":200,"body":"{\n  \"status\": true,\n  \"message\": \"No dispute found to update\",\n  \"data\": []\n}","name":"No dispute found for given ID"},{"header":[],"code":422,"body":"{\n  \"status\": false,\n  \"message\": \"Validation errors\",\n  \"errors\": [\n      \"The reason field is required.\",\n      \"The description field is required.\"\n  ]\n}","name":"Validation errors"},{"header":[],"code":500,"body":"{\n  \"status\": false,\n  \"message\": \"Something went wrong\",\n  \"errors\": \"Exception message here\"\n}","name":"Unexpected error"}]}]},{"name":"Payment Links","description":"Endpoints for retrieving account payment links.","item":[{"name":"Retrieve Portal Links","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/accounts\/purl","query":[{"key":"account_ids","value":"12345678,98765432","description":"Comma-separated account IDs for GET requests. Maximum 1,000 IDs.","disabled":false},{"key":"page","value":"","description":"Optional page number for JSON:API responses.","disabled":true},{"key":"per_page","value":"","description":"Optional page size for JSON:API responses. Min 1, max 100.","disabled":true},{"key":"utm_source","value":"","description":"Optional traffic source, such as a search engine, publisher, or newsletter.","disabled":true},{"key":"utm_medium","value":"","description":"Optional marketing medium, such as cpc, email, or social.","disabled":true},{"key":"utm_campaign","value":"","description":"Optional campaign name used to group a promotion.","disabled":true},{"key":"utm_term","value":"","description":"Optional paid-search keyword or audience term.","disabled":true},{"key":"utm_content","value":"","description":"Optional creative, placement, or call-to-action identifier.","disabled":true}],"raw":"{{baseUrl}}\/api\/v1\/accounts\/purl?account_ids=12345678%2C98765432&page=&per_page=&utm_source=&utm_medium=&utm_campaign=&utm_term=&utm_content="},"method":"GET","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"account_ids\":[\"12345678\",\"98765432\"]},\"type\":\"accounts\"}}"},"description":"Returns payment links for the provided account IDs. Use a comma-separated\n`account_ids` query parameter with GET, or a JSON array with POST.\n\n### Request size and bulk processing\n\nThis is a synchronous lookup: it returns one payment link for each supplied account\nin the same response, with no batch or job created. Send at most 1,000 account IDs per\nrequest. Use GET for short, linkable requests; URL-length limits vary by client and proxy, so\nuse POST for larger lists.\n\n### Campaign tracking\n\nAdd any of the standard UTM fields below to attribute traffic to the payment links.\nEach supplied value is copied to every returned link and URL-encoded automatically.\nOnly the documented UTM fields are included; empty values are omitted, control characters\nare removed, and values are limited to 255 characters."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"links\":{\"first\":\"https:\/\/state.test\/api\/v1\/accounts\/purl?account_ids=12345678%2C98765432&page=1\",\"last\":\"https:\/\/state.test\/api\/v1\/accounts\/purl?account_ids=12345678%2C98765432&page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"per_page\":15,\"to\":2,\"total\":2},\"data\":[{\"type\":\"payment-links\",\"id\":\"12345678\",\"attributes\":{\"account_id\":\"12345678\",\"url\":\"https:\/\/acme.example\/i\/Ab3dEf\"}},{\"type\":\"payment-links\",\"id\":\"98765432\",\"attributes\":{\"account_id\":\"98765432\",\"url\":\"https:\/\/acme.example\/i\/Zx91Qa\"}}]}","name":"JSON:API success"},{"header":[],"code":400,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"400\",\"title\":\"Validation errors\"}]}","name":"Invalid request"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"403\",\"title\":\"You are not authorized to perform this action\"}]}","name":"User is missing privileges"}]},{"name":"Create Embed Link","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/link\/embed","query":[],"raw":"{{baseUrl}}\/api\/v1\/link\/embed"},"method":"POST","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"seed\":\"400\",\"accounts\":[{\"account\":\"400\",\"RecipientName\":\"JOHN SMITH\",\"Address1\":\"6 BAD OLE PUTTY CAT\",\"Address2\":\"ROAD\",\"City\":\"MADISON\",\"State\":\"WI\",\"Zip\":\"12345\",\"Balance\":60,\"RemoveAccount\":\"\",\"Client\":\"TEST\",\"ClientName\":\"TEST ACCOUNT\",\"ConsumerAccount\":\"400-1234\",\"ClientModel\":\"\",\"ClientAccountNumber\":\"77700315\",\"PatientName\":\"SYLVESTER CAT\",\"DueDate\":\"04\\\/30\\\/2021\",\"AdmitDate\":\"\",\"DischargeDate\":\"\",\"LastName\":\"SMITH\",\"Element1\":\"1234\",\"TotalDue\":53,\"PaymentTypeCode\":\"\",\"FEE\":\"N\",\"Phase\":\"30\",\"RPDOB\":\"01\\\/01\\\/1901\",\"RPPhone\":\" \",\"DBEmail\":\"jsmith@test.com\",\"EmailApproval\":\"\",\"AGENCYOPTOUTPROCESS\":\"N\",\"InitialBal\":\"33.00\",\"Disposition\":\"3SKP\",\"RPTCLTGRP\":\"KKTST3\",\"ListDate\":\"02\\\/18\\\/2021\"}]},\"type\":\"account-imports\"}}"},"description":"Ingest an updated batch of accounts and generate a payment link for the seed account."},"response":[{"header":[],"code":200,"body":"{\n  \"message\": \"Payment link created successfully.\",\n  \"payment_link\": \"https:\/\/tenant.test\/link\/7d5d2b92-24d1-4e9b-946d-9d62f83c86d1\"\n}","name":"Success"},{"header":[],"code":422,"body":"{\n  \"message\": \"Validation failed.\",\n  \"errors\": {\n    \"accounts\": [\"The accounts field is required.\"]\n  }\n}","name":"Validation failed"}]}]},{"name":"List Accounts","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/accounts","query":[{"key":"page","value":"","description":"Page number for pagination.","disabled":true},{"key":"per_page","value":"","description":"Number of records per page (max: 100).","disabled":true},{"key":"sort_by","value":"","description":"Field to sort by (id, account_id, group_reference, creditor_account_number, amount_due, original_amount_due, client_current_balance, status, date_due, debt_open_date, created_at, updated_at).","disabled":true},{"key":"sort_direction","value":"","description":"Sort direction (asc or desc).","disabled":true},{"key":"status","value":"active","description":"Filter by debt status.","disabled":false},{"key":"client_debt_id","value":"CD-90904901","description":"","disabled":false},{"key":"client_id","value":"8","description":"Must match an existing stored value.","disabled":false},{"key":"in_plan","value":"","description":"Filter debts in payment plans (true or false).","disabled":true},{"key":"in_dispute","value":"","description":"Filter debts with disputes (true or false).","disabled":true},{"key":"amount_due_min","value":"222121717","description":"Minimum amount due in cents.","disabled":false},{"key":"amount_due_max","value":"222121717","description":"Maximum amount due in cents.","disabled":false},{"key":"created_at_from","value":"2026-07-28","description":"date Filter debts created on or after this date (Y-m-d).","disabled":false},{"key":"created_at_to","value":"2026-07-28","description":"date Filter debts created on or before this date (Y-m-d).","disabled":false},{"key":"date_due_from","value":"2026-12-10","description":"date Filter debts due on or after this date (Y-m-d).","disabled":false},{"key":"date_due_to","value":"2026-12-10","description":"date Filter debts due on or before this date (Y-m-d).","disabled":false},{"key":"debt_open_date_from","value":"2025-05-21","description":"date Filter debts opened on or after this date (Y-m-d).","disabled":false},{"key":"debt_open_date_to","value":"2025-05-21","description":"date Filter debts opened on or before this date (Y-m-d).","disabled":false},{"key":"account_id","value":"","description":"Filter by public account ID (partial match).","disabled":true},{"key":"consumer_id","value":"fddd6ee5-d8b2-33c4-a981-c5d01c293f49","description":"Filter by consumer ID.","disabled":false},{"key":"creditor_identifier","value":"","description":"Filter by creditor identifier.","disabled":true}],"raw":"{{baseUrl}}\/api\/v1\/accounts?page=&per_page=&sort_by=&sort_direction=&status=active&client_debt_id=CD-90904901&client_id=8&in_plan=&in_dispute=&amount_due_min=222121717&amount_due_max=222121717&created_at_from=2026-07-28&created_at_to=2026-07-28&date_due_from=2026-12-10&date_due_to=2026-12-10&debt_open_date_from=2025-05-21&debt_open_date_to=2025-05-21&account_id=&consumer_id=fddd6ee5-d8b2-33c4-a981-c5d01c293f49&creditor_identifier="},"method":"GET","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":null,"description":"Retrieves a paginated list of account records with advanced filtering and sorting capabilities.\n\nThis endpoint is designed for efficient querying of large debt datasets with comprehensive\nfiltering options and company-scoped access control.\n\n**Key Features**:\n- **Pagination**: Efficient pagination with configurable page size (default: 15, max: 100)\n- **Sorting**: Sort by allowed debt fields (amount, date, status, etc.) in ascending or descending order\n- **Filtering**: Multiple filter criteria including status, amounts, dates, user, client\n- **Calculated Fields**: All calculated fields included (amount_due_formatted, has_open_dispute, etc.)\n\n**Pagination Parameters**:\n- `page`: Page number (default: 1)\n- `per_page`: Records per page (default: 15, max: 100)\n\n**Sorting Parameters**:\n- `sort_by`: Field to sort by (id, account_id, group_reference, amount_due, original_amount_due, client_current_balance, status, date_due, debt_open_date, created_at, updated_at) (default: `created_at`)\n- `sort_direction`: Sort direction (`asc` or `desc`, default: `desc`)\n\n**Filter Parameters**:\n- `status`: Filter by debt status (e.g., \"active\", \"paid\", \"closed\")\n- `account_id`: Filter by public account ID (partial match)\n- `consumer_id`: Filter by consumer ID\n- `creditor_identifier`: Filter by creditor identifier\n- `in_plan`: Filter debts enrolled in payment plans (true\/false)\n- `in_dispute`: Filter debts with active disputes (true\/false)\n- `amount_due_min`: Minimum amount due in cents\n- `amount_due_max`: Maximum amount due in cents\n- `created_at_from`: Filter debts created on or after this date (Y-m-d)\n- `created_at_to`: Filter debts created on or before this date (Y-m-d)\n- `date_due_from`: Filter debts due on or after this date (Y-m-d)\n- `date_due_to`: Filter debts due on or before this date (Y-m-d)\n- `debt_open_date_from`: Filter debts opened on or after this date (Y-m-d)\n- `debt_open_date_to`: Filter debts opened on or before this date (Y-m-d)\n\n**Multi-tenancy**: Results are automatically filtered to the authenticated user's company.\nOnly debts within your company are returned.\n\n**Performance**: This endpoint uses database indexing and optimized queries to\nhandle large datasets.\n\n**Note**: All monetary values are in cents (USD). Use calculated field `amount_due_formatted`\nfor human-readable currency format.\n\n<aside class=\"warning\">Requires 'list-debts' ability. A 403 response indicates missing privileges.<\/aside>"},"response":[{"header":[],"code":200,"body":"{\n  \"status\": true,\n  \"message\": \"Debts retrieved successfully\",\n  \"data\": {\n    \"current_page\": 1,\n    \"data\": [\n      {\n        \"uuid\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n        \"consumer_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n        \"account_id\": \"JOY34R09\",\n        \"group_id\": \"GROUP-001\",\n        \"client_debt_id\": \"CLIJOY612\",\n        \"amount_due\": 150000,\n        \"undiscounted_amount_due\": 150000,\n        \"original_amount_due\": 200000,\n        \"client_initial_balance\": 200000,\n        \"client_current_balance\": 150000,\n        \"amount_due_formatted\": \"$1,500.00\",\n        \"remaining_amount_due\": 150000,\n        \"remaining_current_balance\": 150000,\n        \"has_open_dispute\": false,\n        \"open_dispute_status\": null,\n        \"in_plan\": false,\n        \"in_dispute\": false,\n        \"can_charge_convenience_fee\": true,\n        \"status\": \"active\",\n        \"debt_open_date\": \"2024-01-15\",\n        \"date_due\": \"2024-06-30\",\n        \"created_at\": \"2024-01-15T10:30:00.000000Z\",\n        \"updated_at\": \"2024-05-01T14:22:00.000000Z\"\n      }\n    ],\n    \"first_page_url\": \"http:\/\/example.com\/api\/v1\/debts?page=1\",\n    \"from\": 1,\n    \"last_page\": 5,\n    \"last_page_url\": \"http:\/\/example.com\/api\/v1\/debts?page=5\",\n    \"links\": [\n      {\n        \"url\": null,\n        \"label\": \"&laquo; Previous\",\n        \"active\": false\n      },\n      {\n        \"url\": \"http:\/\/example.com\/api\/v1\/debts?page=1\",\n        \"label\": \"1\",\n        \"active\": true\n      },\n      {\n        \"url\": \"http:\/\/example.com\/api\/v1\/debts?page=2\",\n        \"label\": \"2\",\n        \"active\": false\n      }\n    ],\n    \"next_page_url\": \"http:\/\/example.com\/api\/v1\/debts?page=2\",\n    \"path\": \"http:\/\/example.com\/api\/v1\/debts\",\n    \"per_page\": 15,\n    \"prev_page_url\": null,\n    \"to\": 15,\n    \"total\": 73\n  }\n}","name":"Success with paginated results"},{"header":[],"code":400,"body":"{\n  \"status\": false,\n  \"message\": \"Validation errors\",\n  \"errors\": [\n    \"Please choose a valid sort field: id, account_id, group_reference, amount_due, original_amount_due, client_current_balance, status, date_due, debt_open_date, created_at, or updated_at.\"\n  ]\n}","name":"Validation failed"},{"header":[],"code":401,"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"message\": \"Unauthenticated.\"\n  }\n}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\n  \"error\": {\n    \"status\": 403,\n    \"message\": \"You are not authorized to perform this action\"\n  }\n}","name":"User is missing 'list-debts' ability"},{"header":[],"code":500,"body":"{\n  \"status\": false,\n  \"message\": \"An unexpected error occurred while processing your request\",\n  \"trace\": []\n}","name":"Server error"}]},{"name":"Create Account","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/accounts","query":[],"raw":"{{baseUrl}}\/api\/v1\/accounts"},"method":"POST","header":[{"key":"Idempotency-Key","value":"string optional A unique key used to safely retry the same provisioning request. When omitted, the request is processed normally without replay protection."},{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"account_id\":\"ACCT-10042\",\"amount_due_cents\":125000,\"status\":\"active\",\"consumer\":{\"organization_consumer_id\":\"consumer-10042\",\"first_name\":\"Taylor\",\"middle_name\":\"Morgan\",\"last_name\":\"Example\",\"preferred_name\":\"Tay\",\"email\":\"taylor@example.com\",\"last_4_ssn\":\"1234\",\"date_of_birth\":\"1990-01-15\",\"phone\":\"+12175550123\",\"addresses\":[{\"address_1\":\"123 Main Street\",\"city\":\"Springfield\",\"state\":\"IL\",\"postal_code\":\"62701\",\"country_code\":\"US\"}]},\"creditor\":{\"id\":\"HCP-ABC-001\",\"name\":\"Healthcare Provider ABC\"}},\"type\":\"accounts\"}}"},"description":"Creates an account for Consumer and Creditor. If the consumer or creditor does not exist, they will be created."},"response":[{"header":[],"code":201,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"accounts\",\"id\":\"ACCT-10042\",\"attributes\":{\"account_id\":\"ACCT-10042\",\"account_group_id\":\"GROUP-001\",\"creditor_account_id\":\"HCP-8841\",\"amount_due\":125000,\"currency\":\"USD\",\"status\":\"active\"}}}","name":"Account provisioned"},{"header":[],"code":409,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"409\",\"code\":\"account_provisioning_conflict\",\"title\":\"Account provisioning conflict\"}]}","name":"Idempotency or creditor conflict"}]},{"name":"Retrieve Account","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/accounts\/{account_id|creditor_account_id}","query":[],"raw":"{{baseUrl}}\/api\/v1\/accounts\/{account_id|creditor_account_id}","variable":[{"id":"account_id|creditor_account_id","key":"account_id|creditor_account_id","value":"DOCS-1001","description":"Either a public account ID or a creditor account ID."}]},"method":"GET","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":null,"description":"Retrieves one account using its public account ID or creditor account number."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"accounts\",\"id\":\"DOCS-1001\",\"attributes\":{\"account_id\":\"DOCS-1001\",\"account_group_id\":\"GROUP-001\",\"creditor_account_id\":\"CLI-1001\",\"amount_due\":150000,\"currency\":\"USD\",\"status\":\"active\",\"date_due\":\"2026-06-30\",\"in_payment_plan\":false,\"in_dispute\":false,\"last_updated\":\"2026-05-01T14:22:00.000000Z\"}}}","name":"JSON:API success"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"403\",\"title\":\"You are not authorized to perform this action\"}]}","name":"User is missing view-debts ability"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Account not found\",\"detail\":\"No account was found with the provided identifier.\"}]}","name":"Account not found"}]},{"name":"Update Debt","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/accounts\/:id","query":[],"raw":"{{baseUrl}}\/api\/v1\/accounts\/:id","variable":[{"id":"id","key":"id","value":11,"description":"The ID of the User Debt to update."}]},"method":"PUT","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":null,\"type\":\"accounts\"}}"},"description":"Updates an existing user debt record in the system by its ID.\nThe record must already exist, and the request must pass validation rules\nfor updatable fields such as `original_balance`, `account_status`.\n\nIf the record does not exist, a 404 error will be returned.\nOn success, the updated User Debt record is returned in the response."},"response":[{"header":[],"code":200,"body":"{\n  \"status\": true,\n  \"message\": \"Success\",\n  \"data\": {\n    \"uuid\": \"xxxx-xxxx-xxxx\",\n    \"consumer_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n    \"account_id\": \"EXT12345\",\n    \"amount_due\": 1500,\n    \"undiscounted_amount_due\": 2000,\n    \"client_id\": 7,\n    \"status\": \"active\",\n    ...\n  }\n}","name":"Debt updated successfully"},{"header":[],"code":400,"body":"{\n  \"status\": false,\n  \"message\": \"Validation Error\",\n  \"errors\": {\n    \"The original balance field is required.\",\n    \"The account status field is required.\",\n    \"The current balance field must be a number.\",\n     ...\n  }\n}","name":"Validation failed"},{"header":[],"code":500,"body":"{\n  \"status\": false,\n  \"message\": \"Something went wrong\",\n  \"errors\": \"Exception message here\"\n}","name":"Unexpected error"}]}]},{"name":"Payments","description":"","item":[{"name":"List Payments","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/payments","query":[{"key":"page","value":"1","description":"Optional page number.","disabled":false},{"key":"per_page","value":"15","description":"Optional page size. Min 1, max 100.","disabled":false},{"key":"account_id","value":"1555887746","description":"Optional account ID filter. Includes payments for its account group.","disabled":false},{"key":"payment_id","value":"14000000008","description":"Filter by specific payment ID.","disabled":false},{"key":"processor_id","value":"34bb6634-64db-3ceb-a6b7-e892138d9057","description":"Filter by specific payment processor ID.","disabled":false},{"key":"type","value":"","description":"Filter by payment type. Options: 'history', 'future'.","disabled":true},{"key":"status","value":"approved","description":"Filter by payment status label. Options: Unsubmitted, Queued, Pending, Approved, Completed, Canceled, Failed, Reversed, Scheduled, Processing, Dispute Pending, Disputed, Refund Pending, Refunded, Awaiting Payment.","disabled":false},{"key":"from","value":"2026-07-03","description":"date Filter payments on or after this date (Y-m-d).","disabled":false},{"key":"until","value":"2026-07-03","description":"date Filter payments on or before this date (Y-m-d).","disabled":false}],"raw":"{{baseUrl}}\/api\/v1\/payments?page=1&per_page=15&account_id=1555887746&payment_id=14000000008&processor_id=34bb6634-64db-3ceb-a6b7-e892138d9057&type=&status=approved&from=2026-07-03&until=2026-07-03"},"method":"GET","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"page\":1,\"per_page\":15,\"account_id\":\"1555887746\",\"payment_id\":\"14000000008\",\"processor_id\":\"34bb6634-64db-3ceb-a6b7-e892138d9057\",\"status\":\"approved\",\"from\":\"2026-07-03\",\"until\":\"2026-07-03\"},\"type\":\"payments\"}}"},"description":"Retrieves a paginated list of payments available to the authenticated organization.\n\nUse `account_id` to restrict the results to an account and its group. Other filters may be\ncombined with pagination to narrow the organization-wide collection."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"links\":{\"first\":\"https:\/\/state.test\/api\/v1\/payments?page=1\",\"last\":\"https:\/\/state.test\/api\/v1\/payments?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"per_page\":15,\"to\":1,\"total\":1},\"data\":[{\"type\":\"payments\",\"id\":\"1001\",\"attributes\":{\"processor_id\":\"txn_123456\",\"payment_method_id\":\"pm_123456\",\"account_id\":\"12345678\",\"status\":\"Completed\",\"status_description\":\"Payment successfully processed\",\"amount_cents\":10000,\"debt_applied_amount_cents\":10000,\"convenience_fee_amount_cents\":0,\"charged_amount_cents\":10000,\"payment_date\":\"2023-10-01T12:00:00Z\",\"created_date\":\"2023-10-01T12:00:00Z\",\"failed_date\":null,\"completed_date\":\"2023-10-01T12:05:00Z\",\"receipt_email\":\"user@example.com\",\"in_plan\":true,\"batch_id\":\"SWEEP-001\",\"utm_tracking\":{\"utm_source\":\"newsletter\",\"utm_medium\":\"email\"}}}]}","name":"JSON:API success"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"title\":\"Validation failed\"}]}","name":"Validation failed"}]},{"name":"Create Payment","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/payments","query":[],"raw":"{{baseUrl}}\/api\/v1\/payments"},"method":"POST","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"payment_method_id\":\"0f579d94-5145-36e1-a68c-74fb30142abf\",\"payment_amount_in_cents\":5000,\"email\":\"chirthe@example.com\",\"account_id\":\"ACC-001\"},\"type\":\"payments\"}}"},"description":"Creates a one-time payment for a single debt account using an existing payment method.\n\nIf the provided account number is a seed account, the existing payment allocation logic may include grouped debts when calculating and applying the payment.\n\nFor one-time payments, full versus partial is inferred from `payment_amount_in_cents` compared with the selected debt balance."},"response":[{"header":[],"code":201,"body":"{\n  \"message\": \"Payment created successfully.\",\n  \"data\": {\n    \"uuid\": \"d8cbb0d9-2864-4d27-85f3-77ec2f449126\",\n    \"account_id\": \"ACC-001\",\n    \"account_ids\": [\"ACC-001\"],\n    \"processor_id\": null,\n    \"numeric_id\": \"1001\",\n    \"status\": \"Scheduled\",\n    \"status_description\": null,\n    \"amount_cents\": 5000,\n    \"debt_applied_amount_cents\": 5000,\n    \"convenience_fee_amount_cents\": 0,\n    \"charged_amount_cents\": 5000,\n    \"amount_decimal\": \"$50.00\",\n    \"payment_date\": \"2026-01-15\",\n    \"created_date\": \"2026-01-14T10:00:00Z\",\n    \"completed_date\": null,\n    \"receipt_email\": \"billing@example.com\"\n  }\n}","name":"Scheduled payment created"},{"header":[],"code":201,"body":"{\n  \"message\": \"Payment created successfully.\",\n  \"data\": {\n    \"uuid\": \"d8cbb0d9-2864-4d27-85f3-77ec2f449126\",\n    \"account_id\": \"ACC-001\",\n    \"account_ids\": [\"ACC-001\"],\n    \"processor_id\": \"tr_123\",\n    \"numeric_id\": \"1001\",\n    \"status\": \"Completed\",\n    \"status_description\": null,\n    \"amount_cents\": 5000,\n    \"debt_applied_amount_cents\": 5000,\n    \"convenience_fee_amount_cents\": 0,\n    \"charged_amount_cents\": 5000,\n    \"amount_decimal\": \"$50.00\",\n    \"payment_date\": \"2026-01-14T10:00:00Z\",\n    \"created_date\": \"2026-01-14T10:00:00Z\",\n    \"completed_date\": \"2026-01-14T10:00:05Z\",\n    \"receipt_email\": \"billing@example.com\"\n  }\n}","name":"Same-day payment processed"},{"header":[],"code":201,"body":"{\n  \"message\": \"Payment plan created successfully.\",\n  \"data\": {\n    \"payment_plan_uuid\": \"8ee7d3f2-6d49-4c9e-8d9d-29f35d5061b6\",\n    \"account_id\": \"ACC-001\",\n    \"account_ids\": [\"ACC-001\"],\n    \"status\": \"Active\",\n    \"amount_cents\": 5000,\n    \"amount_decimal\": \"$50.00\",\n    \"frequency\": \"monthly\",\n    \"number_of_payments\": 2,\n    \"start_date\": \"2026-01-15\",\n    \"finish_date\": \"2026-02-15\",\n    \"payment_day_of_month\": 15,\n    \"payment_day_of_week\": null,\n    \"recurring_schedule_label\": \"Monthly on 15th\",\n    \"recurring_payment_amount_in_cents\": 2500,\n    \"final_payment_amount_in_cents\": 2500,\n    \"receipt_email\": \"billing@example.com\",\n    \"payments\": [\n      {\n        \"uuid\": \"d8cbb0d9-2864-4d27-85f3-77ec2f449126\",\n        \"account_id\": \"ACC-001\",\n        \"account_ids\": [\"ACC-001\"],\n        \"processor_id\": null,\n        \"numeric_id\": \"1001\",\n        \"status\": \"Scheduled\",\n        \"status_description\": null,\n        \"amount_cents\": 2500,\n        \"debt_applied_amount_cents\": 2500,\n        \"convenience_fee_amount_cents\": 0,\n        \"charged_amount_cents\": 2500,\n        \"amount_decimal\": \"$25.00\",\n        \"payment_date\": \"2026-01-15\",\n        \"created_date\": \"2026-01-14T10:00:00Z\",\n        \"completed_date\": null,\n        \"receipt_email\": \"billing@example.com\"\n      },\n      {\n        \"uuid\": \"f5fbb01d-4b1e-4ccf-9c24-3982ef99d2e5\",\n        \"account_id\": \"ACC-001\",\n        \"account_ids\": [\"ACC-001\"],\n        \"processor_id\": null,\n        \"numeric_id\": \"1002\",\n        \"status\": \"Scheduled\",\n        \"status_description\": null,\n        \"amount_cents\": 2500,\n        \"debt_applied_amount_cents\": 2500,\n        \"convenience_fee_amount_cents\": 0,\n        \"charged_amount_cents\": 2500,\n        \"amount_decimal\": \"$25.00\",\n        \"payment_date\": \"2026-02-15\",\n        \"created_date\": \"2026-01-14T10:00:00Z\",\n        \"completed_date\": null,\n        \"receipt_email\": \"billing@example.com\"\n      }\n    ]\n  }\n}","name":"Payment plan created"},{"header":[],"code":404,"body":"{\"message\": \"Debt not found.\"}","name":"Debt not found"},{"header":[],"code":409,"body":"{\"message\": \"Payment blocked: outstanding payments exceed amount due.\", \"payment\": {\"uuid\": \"d8cbb0d9-2864-4d27-85f3-77ec2f449126\", \"status\": \"Failed\"}}","name":"Amount due conflict"},{"header":[],"code":422,"body":"{\"message\": \"The payment amount in cents field is required.\", \"errors\": {\"payment_amount_in_cents\": [\"The payment amount in cents field is required.\"]}}","name":"Validation failed"},{"header":[],"code":422,"body":"{\"message\": \"The provided payment method could not be resolved for this account.\"}","name":"Payment method unresolved"},{"header":[],"code":502,"body":"{\"message\": \"The payment processor is currently unavailable. Please try again later.\"}","name":"Processor unavailable"}]},{"name":"Retrieve Payment","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/payments\/{payment_id|processor_id}","query":[],"raw":"{{baseUrl}}\/api\/v1\/payments\/{payment_id|processor_id}","variable":[{"id":"payment_id|processor_id","key":"payment_id|processor_id","value":"14000000008","description":"Either a public payment ID or a processor ID."}]},"method":"GET","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":null,"description":"Retrieves one payment by its public payment ID or processor ID."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"payments\",\"id\":\"1001\",\"attributes\":{\"processor_id\":\"txn_123456\",\"payment_method_id\":\"pm_123456\",\"account_id\":\"12345678\",\"status\":\"Completed\"}}}","name":"JSON:API success"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Payment not found\"}]}","name":"Payment not found"}]},{"name":"Cancel Payment","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/payments\/:identifier\/cancel","query":[],"raw":"{{baseUrl}}\/api\/v1\/payments\/:identifier\/cancel","variable":[{"id":"identifier","key":"identifier","value":"1001","description":"Public payment ID or processor ID."}]},"method":"POST","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"cancel_reason\":\"Consumer requested cancellation.\"},\"type\":\"payments\"}}"},"description":"Issues a cancellation for a cancelable payment. Cancellation windows vary by payment type\nand processor state, so the processor can reject a cancellation request after its applicable\npayment window has closed."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"payments\",\"id\":\"1001\",\"attributes\":{\"status\":\"Canceled\"}}}","name":"Payment cancellation issued"},{"header":[],"code":403,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"403\",\"title\":\"Payment cancellation is not permitted\"}]}","name":"Cancellation is not permitted"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Payment not found\"}]}","name":"Payment not found"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"title\":\"Payment cannot be cancelled\"}]}","name":"Payment cannot be cancelled"}]}]},{"name":"Payment Plans","description":"","item":[{"name":"Create Payment Plan","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/payment-plans","query":[],"raw":"{{baseUrl}}\/api\/v1\/payment-plans"},"method":"POST","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"payment_method_id\":\"0f579d94-5145-36e1-a68c-74fb30142abf\",\"payment_amount_in_cents\":85,\"account_id\":\"1555887746\",\"plan_total_amount_in_cents\":7500,\"frequency\":\"monthly\",\"number_of_payments\":3,\"start_date\":\"2026-08-15\"},\"type\":\"payment-plans\"}}"},"description":"Creates a payment plan and its scheduled installments for one account or account group.\nNew integrations should use this endpoint instead of the deprecated `payment_plan` payload on Create Payment."},"response":[{"header":[],"code":201,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"payment-plans\",\"id\":\"8ee7d3f2-6d49-4c9e-8d9d-29f35d5061b6\",\"attributes\":{\"status\":\"Active\",\"frequency\":\"monthly\",\"payment_count\":3,\"plan_total_amount_cents\":7500}}}","name":"Payment plan created"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"title\":\"Validation failed\"}]}","name":"Validation failed"}]},{"name":"List Payment Plans","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/payment-plans","query":[{"key":"page","value":"1","description":"Optional page number.","disabled":false},{"key":"per_page","value":"15","description":"Optional page size. Min 1, max 100.","disabled":false},{"key":"account_id","value":"1555887746","description":"Optional account ID filter.","disabled":false},{"key":"status","value":"active","description":"Optional plan status. Allowed: active, completed, canceled.","disabled":false},{"key":"frequency","value":"biweekly","description":"Optional recurrence frequency. Allowed: daily, weekly, biweekly, monthly.","disabled":false},{"key":"recurring_day","value":"Thursday","description":"Optional recurring weekday or day of month.","disabled":false},{"key":"plan_selection_type","value":"suggested","description":"Optional selection source. Allowed: suggested, custom.","disabled":false},{"key":"payment_count_min","value":"3","description":"Optional minimum installment count.","disabled":false},{"key":"payment_count_max","value":"12","description":"Optional maximum installment count.","disabled":false},{"key":"plan_total_amount_min","value":"10000","description":"Optional minimum plan total in cents.","disabled":false},{"key":"plan_total_amount_max","value":"100000","description":"Optional maximum plan total in cents.","disabled":false},{"key":"enrollment_date_from","value":"","description":"date Optional enrollment date start (Y-m-d).","disabled":true},{"key":"enrollment_date_to","value":"","description":"date Optional enrollment date end (Y-m-d).","disabled":true},{"key":"start_date_from","value":"","description":"date Optional first payment date start (Y-m-d).","disabled":true},{"key":"start_date_to","value":"","description":"date Optional first payment date end (Y-m-d).","disabled":true},{"key":"finish_date_from","value":"","description":"date Optional last payment date start (Y-m-d).","disabled":true},{"key":"finish_date_to","value":"","description":"date Optional last payment date end (Y-m-d).","disabled":true}],"raw":"{{baseUrl}}\/api\/v1\/payment-plans?page=1&per_page=15&account_id=1555887746&status=active&frequency=biweekly&recurring_day=Thursday&plan_selection_type=suggested&payment_count_min=3&payment_count_max=12&plan_total_amount_min=10000&plan_total_amount_max=100000&enrollment_date_from=&enrollment_date_to=&start_date_from=&start_date_to=&finish_date_from=&finish_date_to="},"method":"GET","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"page\":1,\"per_page\":15,\"account_id\":\"1555887746\",\"status\":\"active\",\"frequency\":\"biweekly\",\"recurring_day\":\"Thursday\",\"plan_selection_type\":\"suggested\",\"payment_count_min\":3,\"payment_count_max\":12,\"plan_total_amount_min\":10000,\"plan_total_amount_max\":100000},\"type\":\"payment-plans\"}}"},"description":"Retrieves a paginated list of payment plans available to the authenticated organization.\nUse the filters to narrow plans by status, schedule preferences, selection source, balances, and dates."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"links\":{\"first\":\"https:\/\/state.test\/api\/v1\/payment-plans?page=1\",\"last\":\"https:\/\/state.test\/api\/v1\/payment-plans?page=1\",\"prev\":null,\"next\":null},\"meta\":{\"current_page\":1,\"from\":1,\"last_page\":1,\"per_page\":15,\"to\":1,\"total\":1},\"data\":[{\"type\":\"payment-plans\",\"id\":\"8ee7d3f2-6d49-4c9e-8d9d-29f35d5061b6\",\"attributes\":{\"status\":\"Active\",\"frequency\":\"biweekly\",\"recurring_day\":\"Thursday\",\"plan_selection_type\":\"suggested\",\"payment_count\":10}}]}","name":"JSON:API success"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"title\":\"Validation failed\"}]}","name":"Validation failed"}]},{"name":"Cancel Payment Plan","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/payment-plans\/:payment_plan_id\/cancel","query":[],"raw":"{{baseUrl}}\/api\/v1\/payment-plans\/:payment_plan_id\/cancel","variable":[{"id":"payment_plan_id","key":"payment_plan_id","value":"8ee7d3f2-6d49-4c9e-8d9d-29f35d5061b6","description":"The public payment plan ID."}]},"method":"POST","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"reason\":\"Consumer requested cancellation.\"},\"type\":\"payment-plans\"}}"},"description":"Cancels an active payment plan, cancels all remaining scheduled installments, and removes\nplan status from the associated accounts. This performs the same domain operation as the\nFilament admin payment-plan cancellation action."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"payment-plans\",\"id\":\"8ee7d3f2-6d49-4c9e-8d9d-29f35d5061b6\",\"attributes\":{\"status\":\"Canceled\",\"status_reason\":\"Consumer requested cancellation.\"}}}","name":"Payment plan cancelled"},{"header":[],"code":403,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"403\",\"title\":\"Payment plan cancellation is not permitted\"}]}","name":"Cancellation is not permitted"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Payment plan not found\"}]}","name":"Payment plan not found"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"title\":\"Payment plan cannot be cancelled\"}]}","name":"Plan cannot be cancelled"}]},{"name":"Retrieve Payment Plan","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/payment-plans\/:payment_plan_id","query":[{"key":"include","value":"","description":"Optional comma-separated relationships. Allowed: payments.","disabled":true}],"raw":"{{baseUrl}}\/api\/v1\/payment-plans\/:payment_plan_id?include=","variable":[{"id":"payment_plan_id","key":"payment_plan_id","value":"8ee7d3f2-6d49-4c9e-8d9d-29f35d5061b6","description":"The public payment plan ID."}]},"method":"GET","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":null,"description":"Retrieves one payment plan by its public plan ID. Include `payments` to return every\npublic payment in the plan using the same fields as payment endpoints."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"payment-plans\",\"id\":\"8ee7d3f2-6d49-4c9e-8d9d-29f35d5061b6\",\"attributes\":{\"status\":\"Active\",\"status_reason\":null,\"frequency\":\"biweekly\",\"recurring_day\":\"Thursday\",\"plan_selection_type\":\"suggested\",\"payment_count\":10,\"plan_total_amount_cents\":39125,\"first_payment_amount_cents\":4000,\"recurring_payment_amount_cents\":4000,\"last_payment_amount_cents\":3125,\"paid_amount_cents\":0,\"scheduled_amount_cents\":39125,\"enrollment_date\":\"2026-07-20\",\"start_date\":\"2026-07-28\",\"finish_date\":\"2026-12-01\",\"balance_at_enrollment_cents\":39125,\"group_balance_at_enrollment_cents\":39125,\"outside_plan_balance_at_enrollment_cents\":0}}}","name":"JSON:API success"},{"header":[],"code":400,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"400\",\"code\":\"invalid_include\",\"title\":\"Invalid include parameter\"}]}","name":"Invalid include"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Payment plan not found\"}]}","name":"Payment plan not found"}]}]},{"name":"Payment Methods","description":"","item":[{"name":"List Payment Methods","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/payment-methods","query":[{"key":"account_id","value":"ACC-001","description":"The public account ID that owns the payment methods.","disabled":false}],"raw":"{{baseUrl}}\/api\/v1\/payment-methods?account_id=ACC-001"},"method":"GET","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"account_id\":\"xgislyfktjnmbj\"},\"type\":\"payment-method-contexts\"}}"},"description":"Retrieves the saved payment methods for an account in the authenticated organization.\nProcessor payloads and unmasked payment details are never returned."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":[{\"type\":\"payment-methods\",\"id\":\"payment-method-001\",\"attributes\":{\"payment_method_id\":\"payment-method-001\",\"type\":\"Card\",\"brand\":\"visa\",\"last_four\":\"1234\",\"expiration\":\"12\/28\",\"is_default\":true}}]}","name":"JSON:API success"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Account not found\"}]}","name":"Account not found"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"title\":\"Validation failed\"}]}","name":"Validation failed"}]},{"name":"Retrieve Payment Method","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/payment-methods\/:payment_method_id","query":[{"key":"account_id","value":"ACC-001","description":"The public account ID that owns the payment method.","disabled":false}],"raw":"{{baseUrl}}\/api\/v1\/payment-methods\/:payment_method_id?account_id=ACC-001","variable":[{"id":"payment_method_id","key":"payment_method_id","value":"0f579d94-5145-36e1-a68c-74fb30142abf","description":"The public payment method ID."}]},"method":"GET","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"account_id\":\"rbaqkkr\"},\"type\":\"payment-method-contexts\"}}"},"description":"Retrieves one saved payment method for an account in the authenticated organization."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"payment-methods\",\"id\":\"payment-method-001\",\"attributes\":{\"payment_method_id\":\"payment-method-001\",\"type\":\"Card\",\"brand\":\"visa\",\"last_four\":\"1234\",\"expiration\":\"12\/28\",\"is_default\":true}}}","name":"JSON:API success"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Payment method not found\"}]}","name":"Payment method not found"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"title\":\"Validation failed\"}]}","name":"Validation failed"}]},{"name":"Create Method Context","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/payment-method\/context","query":[],"raw":"{{baseUrl}}\/api\/v1\/payment-method\/context"},"method":"POST","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"account_id\":\"JOY34R09\"},\"type\":\"payment-method-contexts\"}}"},"description":"Creates the short-lived setup credentials needed to add a payment method for a debtor.\n\nSend an `account_id` to resolve the consumer and receive the processor account details\nneeded by your payment method collection flow. The response includes the merchant account,\nthe debtor account, the account holder name, and a token limited to adding all supported\npayment method types. The token expires after 30 minutes.\n\nAnteloope does not receive or store raw card numbers, CVV, routing numbers, or bank account\nnumbers through this endpoint. Those values should be submitted directly to the payment\nprocessor using the returned token."},"response":[{"header":[],"code":200,"body":"{\n  \"status\": true,\n  \"message\": \"Payment method context created successfully\",\n  \"data\": {\n    \"merchant_account_id\": \"merchant-account-id\",\n    \"account_id\": \"debtor-account-id\",\n    \"account_holder_name\": \"Jane Doe\",\n    \"token\": \"eyJhbGciOi...\",\n    \"token_life\": 1800,\n    \"token_scope\": \"\/fed.read \/accounts\/debtor-account-id\/cards.write \/accounts\/debtor-account-id\/bank-accounts.write\"\n  }\n}","name":"Payment method context created"},{"header":[],"code":400,"body":"{\n  \"status\": false,\n  \"message\": \"Validation errors\",\n  \"errors\": [\n    \"Please provide a debt account ID.\"\n  ]\n}","name":"Validation failed"},{"header":[],"code":401,"body":"{\n  \"error\": {\n    \"status\": 401,\n    \"message\": \"Unauthenticated.\"\n  }\n}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\n  \"error\": {\n    \"status\": 403,\n    \"message\": \"You are not authorized to perform this action\"\n  }\n}","name":"User is missing 'create-payment-methods' ability"},{"header":[],"code":404,"body":"{\n  \"status\": false,\n  \"message\": \"Debt account not found\",\n  \"errors\": [\n    \"No account found with the provided account_id\"\n  ]\n}","name":"Debt account not found"},{"header":[],"code":422,"body":"{\n  \"status\": false,\n  \"message\": \"Unable to create payment method context\",\n  \"errors\": [\n    \"Payment account could not be prepared.\"\n  ]\n}","name":"Processor context unavailable"}]}]},{"name":"Creditors","description":"","item":[{"name":"List Creditors","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/creditors","query":[{"key":"page","value":"","description":"Optional page number.","disabled":true},{"key":"per_page","value":"","description":"Optional page size. Min 1, max 100.","disabled":true},{"key":"creditor_id","value":"","description":"Optional exact creditor identifier.","disabled":true},{"key":"creditor_name","value":"","description":"Optional creditor name filter.","disabled":true},{"key":"is_first_party_payment","value":"","description":"Optional first-party payment filter.","disabled":true}],"raw":"{{baseUrl}}\/api\/v1\/creditors?page=&per_page=&creditor_id=&creditor_name=&is_first_party_payment="},"method":"GET","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":null,\"type\":\"creditors\"}}"},"description":"Retrieves a paginated list of creditors available to the authenticated organization."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":[{\"type\":\"creditors\",\"id\":\"HCP-ABC-001\",\"attributes\":{\"creditor_id\":\"HCP-ABC-001\",\"creditor_name\":\"Healthcare Provider ABC\"}}]}","name":"JSON:API success"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"403\",\"title\":\"You are not authorized to perform this action\"}]}","name":"User is missing view-debts ability"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"title\":\"Validation failed\"}]}","name":"Validation failed"}]},{"name":"Create Creditor","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/creditors","query":[],"raw":"{{baseUrl}}\/api\/v1\/creditors"},"method":"POST","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":{\"creditor_id\":\"qpdisdculmji\",\"creditor_name\":\"nkcph\"},\"type\":\"creditors\"}}"},"description":"Creates a creditor within the authenticated organization."},"response":[{"header":[],"code":201,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"creditors\",\"id\":\"HCP-ABC-001\",\"attributes\":{\"creditor_id\":\"HCP-ABC-001\",\"creditor_name\":\"Healthcare Provider ABC\"}}}","name":"Creditor created"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":403,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"403\",\"title\":\"Organization context required\"}]}","name":"Organization context required"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"title\":\"Validation failed\"}]}","name":"Validation failed"}]},{"name":"Retrieve Creditor","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/creditors\/:creditor_id","query":[],"raw":"{{baseUrl}}\/api\/v1\/creditors\/:creditor_id","variable":[{"id":"creditor_id","key":"creditor_id","value":"HCP-ABC-001","description":"The public creditor identifier."}]},"method":"GET","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":null,"description":"Retrieves one creditor by its public creditor ID."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"creditors\",\"id\":\"HCP-ABC-001\",\"attributes\":{\"creditor_id\":\"HCP-ABC-001\",\"creditor_name\":\"Healthcare Provider ABC\"}}}","name":"JSON:API success"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Creditor not found\"}]}","name":"Creditor not found"}]},{"name":"Update Creditor","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/creditors\/:creditor_id","query":[],"raw":"{{baseUrl}}\/api\/v1\/creditors\/:creditor_id","variable":[{"id":"creditor_id","key":"creditor_id","value":"HCP-ABC-001","description":"The public creditor identifier."}]},"method":"PATCH","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":{"mode":"raw","raw":"{\"data\":{\"attributes\":null,\"type\":\"creditors\",\"id\":\"HCP-ABC-001\"}}"},"description":"Updates editable creditor information. The public creditor ID cannot be changed."},"response":[{"header":[],"code":200,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"data\":{\"type\":\"creditors\",\"id\":\"HCP-ABC-001\",\"attributes\":{\"creditor_id\":\"HCP-ABC-001\",\"creditor_name\":\"Healthcare Provider ABC\"}}}","name":"Creditor updated"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Creditor not found\"}]}","name":"Creditor not found"},{"header":[],"code":422,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"422\",\"title\":\"Validation failed\"}]}","name":"Validation failed"}]},{"name":"Delete Creditor","request":{"url":{"host":"{{baseUrl}}","path":"api\/v1\/creditors\/:creditor_id","query":[],"raw":"{{baseUrl}}\/api\/v1\/creditors\/:creditor_id","variable":[{"id":"creditor_id","key":"creditor_id","value":"HCP-ABC-001","description":"The public creditor identifier."}]},"method":"DELETE","header":[{"key":"Content-Type","value":"application\/json"},{"key":"Accept","value":"application\/json"}],"body":null,"description":"Deletes an unused creditor. Creditors with existing accounts cannot be deleted."},"response":[{"header":[],"code":204,"body":"{}","name":"Creditor deleted"},{"header":[],"code":401,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"401\",\"title\":\"Unauthenticated.\"}]}","name":"User is not authenticated"},{"header":[],"code":404,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"404\",\"title\":\"Creditor not found\"}]}","name":"Creditor not found"},{"header":[],"code":409,"body":"{\"jsonapi\":{\"version\":\"1.1\"},\"errors\":[{\"status\":\"409\",\"title\":\"Creditor has accounts\"}]}","name":"Creditor has accounts"}]}]}],"auth":{"type":"bearer","bearer":[{"key":"Authorization","type":"string"}]}}