The Interactions API is the HTTP surface for managing a project’s users, platforms, lines, and runtime tokens. It is the same API the dashboard and the sky CLI call under the hood — reach for it when you want to automate setup, drive changes from CI, or build internal tooling. If you are sending and receiving messages at runtime, use the @interactions-hq/skyline SDK or webhooks instead. This API is for the management plane.

Base URL

Every endpoint lives under a single host. HTTPS only.
https://api.interactions.co.in
For hackathon projects, your organizer may provide a different base URL. Pass it to the CLI via --api-host or INTERACTIONS_API_HOST. The runtime broker (POST /v1/auth/token) lives on the same host.

Authentication

The API uses HTTP Basic auth. The username is your projectId and the password is your projectSecret. Credentials are scoped to a single project.
curl -u "$PROJECT_ID:$PROJECT_SECRET" \
  "https://api.interactions.co.in/api/projects/$PROJECT_ID/skyline/users"
Retrieve credentials from the dashboard or your hackathon organizer. If a secret leaks, rotate it with sky projects regenerate-secret.
Project credentials grant full management access to a project. Store them in a secrets manager, not in source control or shell history.

Response format

Every response is JSON wrapped in a { succeed, data } envelope:
{
  "succeed": true,
  "data": {
    "id": "6a4d2e8c-7b1f-4d3a-9a8e-2c5d6f7e8a9b",
    "phoneNumber": "+15551234567",
    "type": "shared",
    "createdAt": "2026-05-14T19:00:00Z"
  }
}
On error, succeed is false:
{
  "succeed": false,
  "message": "phoneNumber must be E.164"
}
List endpoints return an array under data. Branch on the HTTP status code first, then read data.

Where to next

Create user

Register a recipient on your shared iMessage line.

Get started with the SDK

Send and receive messages from your agent server.