---
title: "Register a new client"
method: POST
path: "/api/clients"
tags: ["Proxy Mode"]
---

# Register a new client

`POST /api/clients`

## Request

- Base URL: `https://agent.getaxonflow.com`
- URL: `https://agent.getaxonflow.com/api/clients`
- Auth: none declared
- TypeScript: <https://skmtc.dev/getaxonflow/apis/axonflow-agent-api/docs/api/clients/post.ts> (a function with typed inputs; its response is checked against the schema)

Register a new client application

## Request body

- Client
  - `id` string: Unique client identifier
  - `name` string: Client application name
  - `org_id` string: Organization ID for usage tracking
  - `tenant_id` string: Tenant ID for multi-tenancy
  - `permissions` string[]: Granted permissions
  - `rate_limit` integer: Requests per minute limit
  - `enabled` boolean: Whether client is active
  - `license_tier` 'Community' | 'starter' | 'professional' | 'enterprise': License tier
  - `license_expiry` string, date-time: When license expires

## Response `201`

Client created

- Client
  - `id` string: Unique client identifier
  - `name` string: Client application name
  - `org_id` string: Organization ID for usage tracking
  - `tenant_id` string: Tenant ID for multi-tenancy
  - `permissions` string[]: Granted permissions
  - `rate_limit` integer: Requests per minute limit
  - `enabled` boolean: Whether client is active
  - `license_tier` 'Community' | 'starter' | 'professional' | 'enterprise': License tier
  - `license_expiry` string, date-time: When license expires

## Other responses

- `400`: Invalid request body or parameters

---

[API](https://skmtc.dev/getaxonflow/apis/axonflow-agent-api.md) - [All operations](https://skmtc.dev/getaxonflow/apis/axonflow-agent-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getaxonflow/apis/axonflow-agent-api/revisions/34d30fcb7fa1?raw)
