> ## Documentation Index
> Fetch the complete documentation index at: https://developer.swoogo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Formatting conventions

> Data formats and standards used across all API endpoints

This page covers the data formats and conventions used across all Swoogo API requests and responses.

## IDs

All resource identifiers (`event_id`, `registrant_id`, `session_id`, etc.) must be transmitted as **integer values**.

## Date and time

Timestamps follow the **ISO 8601** standard:

| Format         | Example               | Usage                                  |
| -------------- | --------------------- | -------------------------------------- |
| Full date-time | `2024-11-08 16:04:40` | Created/updated timestamps, scheduling |
| Date only      | `2024-11-08`          | Date filters, date-only fields         |
| Time only      | `16:04:40`            | Time-only fields                       |

## Time zones

Time zone values must use one of the zone identifiers the API supports. United States zones use POSIX-style names (e.g., `US/Eastern`, `US/Central`, `US/Mountain`, `US/Pacific`, `US/Alaska`, `US/Arizona`), while most other zones use region/city names (e.g., `Europe/London`, `Europe/Paris`, `Asia/Tokyo`, `Australia/Sydney`, `America/Los_Angeles`, `America/Mexico_City`). `UTC` is also accepted.

<Warning>Timezone abbreviations (e.g., `EST`, `EDT`, `PST`, `CET`) are **not** accepted. Some IANA identifiers are also not accepted — most notably `America/New_York`, which must be submitted as `US/Eastern`.</Warning>

## Currencies

Currency values use the **ISO 4217** three-letter format (e.g., `USD`, `EUR`, `GBP`). See the full list of [ISO 4217 currency codes](https://en.wikipedia.org/wiki/ISO_4217).

## Addresses

* **Countries** — Use **ISO 3166 Alpha-2** codes (e.g., `US`, `GB`, `DE`, `AU`)
* **States and provinces** — Use standard 2-character abbreviations (e.g., `CA`, `NY`, `ON`)

## Boolean values

<Info>Booleans are formatted differently in requests vs. responses.</Info>

| Context                       | True   | False   |
| ----------------------------- | ------ | ------- |
| **Sending** (request body)    | `1`    | `0`     |
| **Receiving** (response JSON) | `true` | `false` |

## Phone numbers

The API uses **E.164 format** — the international standard that includes the country code without spaces or special characters.

| Country        | Example          |
| -------------- | ---------------- |
| United States  | `+1234567890`    |
| United Kingdom | `+447911123456`  |
| Australia      | `+61412345678`   |
| Germany        | `+4915112345678` |

<Warning>If the E.164 format isn't provided, the system attempts to assign a country code automatically, but accuracy is not guaranteed. Always include the country code prefix.</Warning>

## Expand parameter

Certain `GET` endpoints support the `expand` parameter to include related objects in the response. Pass a comma-separated list of singular object type names:

```
GET /registrants?expand=contact,sessions
```

<Info>Using `expand` caps the maximum page size at **200** items per page.</Info>
