Create a Soul

ACR Dashboard
POST
/v1/souls

Proposed operation. Creates one company-scoped Human or Creature Soul from a bounded description and an optional ordered manifest of admitted source-asset IDs. An empty manifest creates from the description alone. Source admission, safety, profile derivation, Looks, and Voice may outlive the HTTP request, so the response is an asynchronous operation.

Authorization

bearerAuth
AuthorizationBearer <token>

Organization-scoped bearer credential. Credentials are scoped, revocable, and never represented by a Soul or operation ID.

In: header

Header Parameters

Idempotency-Key*string

Opaque replay key for this mutation. Repeating the same key with the same request returns the original result; reusing it with different input returns a conflict.

Length1 <= length <= 128
X-Kallfi-Workspace-ID?string

Untrusted explicit workspace UUID. Omitted selects Personal. Workspace commands require current membership, role, surface and grant; explicit denied selection never falls back. Account-owned commands reject a nonpersonal selected workspace. One Account surface key spans currently authorized workspaces; selecting a workspace never issues another key.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://acr.kallfi.red/v1/souls" \  -H "Idempotency-Key: string" \  -H "Content-Type: application/json" \  -d '{    "external_soul_id": "string",    "kind": "human",    "description": "string",    "source_asset_ids": []  }'
{  "soul": {    "soul_id": "string",    "external_soul_id": "string",    "kind": "human",    "description": "string",    "lifecycle": "draft",    "revision": 1,    "source_asset_ids": [      "string"    ],    "capabilities": {      "responses": true,      "image_generation": true,      "video_generation": true    },    "created_at": "2019-08-24T14:15:22Z",    "updated_at": "2019-08-24T14:15:22Z"  },  "operation": {    "operation_id": "string",    "status": "accepted",    "resource": {      "type": "source_asset",      "id": "string"    },    "progress_percent": 0,    "quote": {      "quote_id": "string"    },    "usage": {      "reserved_gems": 0,      "consumed_gems": 0,      "released_gems": 0    },    "failure": {      "code": "string",      "message": "string",      "retryable": true    },    "output": {      "kind": "text",      "text": "string",      "media": [        {          "kind": "image",          "url": "http://example.com"        }      ]    },    "created_at": "2019-08-24T14:15:22Z",    "updated_at": "2019-08-24T14:15:22Z",    "links": {      "self": "http://example.com"    },    "kind": "source_asset_validation"  }}