---
title: "Create AI"
method: POST
path: "/ais"
tags: ["ais"]
---

# Create AI

`POST /ais`

## Request

- Base URL: `https://api.darwin.so/api/v1`
- URL: `https://api.darwin.so/api/v1/ais`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Explicitly create a Darwin-managed AI. Signup does not create one. The account may own up to 50 managed AIs; creation currently requires a verified phone number.

## Request body

- CreateAIRequest
  - `type` 'business'
  - `name` string, required
  - `handle` string
  - `avatarUrl` string, uri
  - `description` string
  - `links` object[]
  - `capabilities` object[]
  - `location` object
  - `organization` object
  - `visibility` 'PUBLIC' | 'RESTRICTED' | 'PRIVATE'
  - `profile` object

## Response `201`

The created business AI.

- object
  - `ai` AI, required
    - `id` string, required
    - `type` 'personal' | 'business', required
    - `name` string, required
    - `handle` string, nullable
    - `avatarUrl` string, uri, nullable
    - `description` string, nullable
    - `links` object[]
    - `capabilities` object[]
    - `location` object
    - `organization` object
    - `visibility` 'PUBLIC' | 'RESTRICTED' | 'PRIVATE', required
    - `accessPolicyId` string, nullable
    - `status` string, required
    - `profile` object
    - `role` 'owner' | 'admin' | 'member', nullable

## Other responses

- `400`: The request was invalid.
- `401`: The API key or access token is missing, invalid, expired, or revoked.
- `403`: The principal does not have the required scope or resource access.
- `404`: The resource was not found for this principal.

---

[API](https://skmtc.dev/darwin/apis/darwin-api.md) · [All operations](https://skmtc.dev/darwin/apis/darwin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/darwin/apis/darwin-api/revisions/56166fce7bfb?raw)
