> For the complete documentation index, see [llms.txt](https://docs.woohoo.dance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.woohoo.dance/ajax-filters/elements/ajax-filter-main-query/api-query.md).

# API query

Connect external REST APIs as data sources for your Breakdance loops. Fetch, sync, and display data from any API endpoint — all manageable from the WordPress admin.

#### API Source Manager

Create and manage API data sources from **Woohoo Filters > API Sources** in your WordPress admin. Each source defines an API endpoint, authentication, and sync schedule.

**Supported features:**

* **Authentication methods**: Bearer token (static or dynamic), Basic Auth, Custom Headers, and OAuth2 with automatic token refresh and 401 retry
* **Response formats**: JSON (default), CSV, and XML with auto-detection
* **Custom headers and query parameters**: Add any HTTP headers or URL parameters your API requires
* **Encryption**: Sensitive credentials (API keys, tokens, passwords) are encrypted at rest using AES-256-CBC

#### Data Sync

* **Manual sync**: Trigger from the admin UI at any time
* **Sync cancellation**: Cancel a running sync via the admin UI or REST endpoint
* **Error reporting**: Detailed error messages for HTTP failures, rate limiting, and malformed responses
* **Rate limiter**: Built-in request throttling to respect API rate limits

#### Test Connection

Before committing to a full sync, use **Test Connection** to preview the API response. Shows the first few records, response headers, and confirms your authentication works.

#### Breakdance Integration

API source data is stored as a custom post type (`woohoo_api_item`) and is fully queryable in Breakdance. Use Dynamic Data fields to display API-sourced content in any Breakdance element.
