Data Standards
This section defines the data formats and conventions used throughout the API.
Monetary Amounts
All monetary values are represented in cents as integers.
| Amount | Representation |
|---|---|
| $1.00 | 100 |
| $157.50 | 15750 |
| $0.05 | 5 |
Fields Using Cents
amount_due_in_cents- Balance amount dueamount_in_cents- Payment amount or line item amount
Date and Time Formats
Date Only
Use yyyy-mm-dd format (ISO 8601 date).
{
"due_date": "2025-12-01",
"date_posted": "2025-11-14"
}
Date and Time
Use ISO 8601 format with timezone.
{
"last_updated_at": "2025-11-14T12:34:56.000Z",
"initiated_at": "2025-11-15T14:22:10Z",
"posted_at": "2025-11-15T14:25:30Z"
}
- Always include timezone (use
Zfor UTC or offset like-05:00) - Milliseconds are optional but supported
Address Format
Addresses follow US postal standards.
{
"address_line_1": "3384 Montgomery Way",
"address_line_2": "#2",
"city": "Bowling Green",
"state": "KY",
"zip": "42104"
}
Field Requirements
| Field | Required | Format |
|---|---|---|
address_line_1 | Yes | Street address |
address_line_2 | No | Apartment, suite, unit, etc. |
city | Yes | City name |
state | Yes | Two-letter state code (e.g., KY, CA) |
zip | Yes | 5-digit ZIP code |
Account Status
Accounts have one of the following statuses:
| Status | Description |
|---|---|
active | Account is in good standing and can receive payments |
inactive | Account exists but is not currently active |
blocked | Account is blocked from receiving payments |
Payment Status
See Payment Processing for detailed status information.
| Status | Description |
|---|---|
processing | Payment is being processed |
succeeded | Payment completed successfully |
failed | Payment failed |
canceled | Payment was canceled |
String Encoding
- All strings must be UTF-8 encoded
- JSON responses must use
Content-Type: application/json; charset=utf-8
Null Values
- Optional fields may be omitted or set to
null - Required fields must always be present and non-null
- Empty strings (
"") are not equivalent tonull
{
"memo": "November payment",
"failure_reason": null
}
Error Responses
Error responses follow a standard format:
{
"code": "ACCOUNT_NOT_FOUND",
"message": "The specified account does not exist",
"details": {
"account_id": "ACCT-123456"
}
}
| Field | Required | Description |
|---|---|---|
code | No | Machine-readable error code |
message | No | Human-readable error message |
details | No | Additional context for debugging |