ListStream Docs

Authentication

Keys and tokens

The API uses OAuth 2.0 client credentials. Exchange a key for an access token, then send the token with every call.

Keys

Create keys in the developer console. A key is a client ID and a secret; the secret is shown once and stored only as a hash.

Test keys
ls_test_…: only for your sandbox ID; nothing is published. See Test mode.
Live keys
ls_live_…: publish, only for agencies that approved your connection.
Per account
Up to 5 active keys per environment. Give each a label so you know where it's used.

Access tokens

Send the client ID and secret with HTTP Basic auth (or as client_id and client_secret in the form body). The token lasts an hour: reuse it rather than asking for one per call.

http
POST https://liststream.com.au/oauth/token
Authorization: Basic base64(<client_id>:<client_secret>)
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials

200 OK
{ "access_token": "eyJ...", "token_type": "Bearer", "expires_in": 3600 }

Then send Authorization: Bearer <access_token> on every API call. Test tokens carry the scopes listings:write listings:read; live tokens also carry connections.

Revoking

Revoke a key in the console. It stops working straight away, including tokens already issued from it (401).

Errors

The token endpoint answers in the OAuth format, { error, error_description }: invalid_client (401) for an unknown, wrong or revoked key, unsupported_grant_type (400), and slow_down (429) if you ask for tokens too often.