Base URL
Authentication
The API supports two authentication methods:Bearer Token
Include anAuthorization header with your token:
ipk_, is shown only once, and doesn’t expire unless you give it an expiry. It is bound to the team that was active when you created it, so it always acts on the same team.
Session Cookie
The dashboard uses session cookies (instapod_session) set at login. This is handled automatically by the browser.
Request Format
- All request bodies must be JSON with
Content-Type: application/json - All responses are JSON
Error Responses
Errors return an appropriate HTTP status code with a JSON body:Rate Limits
Per-pod concurrency
Three routes are also limited by how many requests one pod is serving at the same moment, not by how many you send per minute:
An HTTP request over the limit gets
429 with Retry-After: 1 straight away - it is not queued (the MCP tools wait up to 5 seconds for a slot before giving up). Wait for
the ones in progress to finish, then send it again. The count is shared by everything that reaches
the pod: the dashboard, the Web IDE, the CLI, the API and the MCP tools. A long-running
command or a slow download holds its place until it ends.
Per-pod concurrency
Three routes are also limited by how many requests one pod is serving at the same moment, not by how many you send per minute:
An HTTP request over the limit gets
429 with Retry-After: 1 straight away - it is not queued (the MCP tools wait up to 5 seconds for a slot before giving up). Wait for
the ones in progress to finish, then send it again. The count is shared by everything that reaches
the pod: the dashboard, the Web IDE, the CLI, the API and the MCP tools. A long-running
command or a slow download holds its place until it ends.