ThreadQuery
Menu

API reference

One API, explicit execution boundaries.

Authentication

Public data uses an X-API-Key or Bearer token with data.read. Account routes require account.read or account.write. Dashboard mutations also require the CSRF header.

curl https://api.threadquery.com/v1/users/x -H "X-API-Key: $THREADQUERY_API_KEY"

Endpoints

GET/v1/tweets/search

Search public posts through the entitled read pool.

5 credits
GET/v1/tweets/{tweet_id}

Retrieve one normalized public post.

1 credit
GET/v1/users/{username}

Retrieve one normalized public profile.

2 credits
POST/v1/account-pairing

Create a short-lived one-time pairing code.

account.write
POST/v1/accounts/{account_id}/posts

Create one post through the named customer account.

Idempotency-Key
POST/v1/accounts/{account_id}/posts/{post_id}/replies

Create one reply through the named customer account.

Idempotency-Key
DELETE/v1/accounts/{account_id}/posts/{post_id}

Delete a post owned by the named customer account.

Idempotency-Key

Connected accounts

Run uv run signalkite-connect pair after generating a code in the dashboard. Cookies and proxy credentials never appear in API responses.

Error contract

{ "error": { "code": 503, "message": "The X read worker pool is temporarily unavailable" } }

Ambiguous writes are categorized and never retried automatically.