REST API
Use the REST API to manage Inth organizations and projects from a server, script, or CI job.
- Base URL.
https://api.inth.com - OpenAPI spec.
https://api.inth.com/openapi.json - Status.
GET /health
To connect Codex or another MCP client with your Inth account, use Inth MCP instead.
Authentication
The REST API uses organization API keys. These service credentials belong to an organization, not an individual user. Pass the key as a bearer token:
Create a key in Organization settings > API keys. Inth shows the inth_...
secret once. Store it like a deployment credential and never expose it in
client-side code.
Each key has access to its organization. See rate limits for plan requirements and request limits.
Responses
Every endpoint wraps its result in a stable envelope:
List endpoints return data as an array plus a pagination object. Pass
pagination.nextCursor as the cursor query parameter to fetch the next page:
Errors use the same envelope with success: false and a machine-readable
error.code. Validation errors may include an error.details array.
Every response carries an X-Request-Id header. Include it when reporting an issue.
Stability
Changes within v1 are additive. Clients should ignore fields they do not
recognize. Breaking changes use a new version prefix.
Treat resource IDs as opaque strings.
Endpoints
System
- Health check:
GET /health
Auth
- Start CLI device authorization:
POST /v1/auth/device/code - Poll for a CLI device token:
POST /v1/auth/device/token - List API keys:
GET /v1/auth/keys - Delete API key:
DELETE /v1/auth/keys/{keyId} - Roll API key:
POST /v1/auth/keys/{keyId}/roll - Get authenticated principal:
GET /v1/me
Organizations
- List organizations:
GET /v1/organizations
Projects
- List projects:
GET /v1/projects - Create project:
POST /v1/projects - Get project:
GET /v1/projects/{projectId} - Delete project:
DELETE /v1/projects/{projectId} - Update project:
PATCH /v1/projects/{projectId} - Get project consent settings:
GET /v1/projects/{projectId}/consent - Update project consent settings:
PATCH /v1/projects/{projectId}/consent - List provisioning regions:
GET /v1/regions