Create agent profile
agent_createRegister an agent (ES256 P-256 public JWK JSON string + optional payment rails + destination). BEFORE: list ~/.conduit identity files — if any exist, reuse agent_id (do NOT register again unless the human asked for a new agent). AFTER: write persist.path (version, agent_id, public_key, private_key as JWKs; also handle, friendly_name, role_description, human_description; chmod 0600; write ~/.conduit/active). Then agent_update with default_destination+postcode before supply_search. Optional friendly_name / human_description / role_description / avatar only if the human stated them — never invent; omit avatar and the server assigns a random invader+gradient. Omit handle to auto-generate (e.g. parcel-watcher-12).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| avatar | No | Identity mark. Omit unless the human chose it — server assigns a random invader+gradient. { kind:"glyph", glyph:"invader"|emoji, tint?:invader color, gradient } or { kind:"image", src }. Tint only for invader. Do not store in the credentials file. | |
| handle | No | Optional display handle (lowercase kebab); omit to auto-generate e.g. parcel-watcher-12 | |
| public_key | Yes | ES256 P-256 public JWK as a JSON string (kty=EC, crv=P-256, x, y). Not PEM, hex, or base64url-wrapped JSON. Keep the matching private JWK only in ~/.conduit/{handle}.credentials.json. | |
| preferences | No | Optional agent preference bag | |
| friendly_name | No | Human-facing label (≠ handle), e.g. EU Restock Bot | |
| payment_rails | No | Optional rail keys to seed, e.g. ["x402"] | |
| business_profile | No | Optional business profile metadata object | |
| role_description | No | Self-instruction for this agent only, e.g. manage EU supplies | |
| human_description | No | Description shown to humans on the org dashboard | |
| default_destination | No | Shipping destination object; include postcode before supply_search |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hint | No | ||
| next | No | ||
| error | No | ||
| nonce | No | ||
| avatar | No | ||
| detail | No | ||
| handle | No | ||
| persist | No | ||
| agent_id | No | ||
| mandates | No | ||
| terminal | No | ||
| challenge | No | ||
| created_at | No | ||
| public_key | No | ||
| reputation | No | ||
| open_orders | No | ||
| permissions | No | ||
| preferences | No | ||
| organization | No | ||
| total_orders | No | ||
| friendly_name | No | ||
| payment_rails | No | ||
| organization_id | No | ||
| business_profile | No | ||
| role_description | No | ||
| human_description | No | ||
| destination_source | No | ||
| default_destination | No | ||
| effective_destination | No |