A valid request URL is required to generate request examples"phone_number,consent,opted_out,first_contact,last_contact,consent_basis,consent_source,consent_at\n+14155551234,express,false,2026-06-01T09:00:00Z,2026-07-10T14:20:00Z,express_written,web_form,2026-06-01T09:00:00Z\n"{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Export SMS contacts + consent as CSV (TCPA proof)
Streams the full filtered contact set (same filters as the list, no paging) as CSV — the 4-year TCPA consent-proof export (phone, consent tier, opt-out, first/last contact, latest consent basis/source/timestamp). The same consent + optedOut filters apply, so consent=conversational,express&optedOut=false exports the outbound-ready opted-in list. Use this when… you need the whole set as a file for records/proof (no paging). To read contacts programmatically page-by-page as JSON, use listSMSContacts instead.
A valid request URL is required to generate request examples"phone_number,consent,opted_out,first_contact,last_contact,consent_basis,consent_source,consent_at\n+14155551234,express,false,2026-06-01T09:00:00Z,2026-07-10T14:20:00Z,express_written,web_form,2026-06-01T09:00:00Z\n"{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"type": "about:blank",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Authorizations
Flowyte secret API key (Authorization: Bearer flowyte_sk_live_…). Scope-gated; is scoped to your organization — a key can never reach another tenant. The listed scopes in each operation's apiKey requirement are the scopes that key must hold. The tokenUrl is nominal: keys are minted in the dashboard.
Query Parameters
Filter by phone-number substring.
Filter by coarse consent tier. A comma-separated subset of none, conversational, express (compiled to a SQL IN); an unknown value is a 400. Omit for all tiers. The outbound-ready opted-in list is consent=conversational,express&optedOut=false.
"conversational,express"
Tri-state org-wide opt-out (suppression) filter. Omit for all contacts; true = only opted-out (suppressed) numbers; false = only reachable (NOT suppressed) numbers. Combine with consent for the outbound-ready list (consent=conversational,express&optedOut=false).
Response
CSV of the org's SMS contacts + consent.
The response is of type string.