Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.auvy.ai/llms.txt

Use this file to discover all available pages before exploring further.

Neurons API

Neurons are the agents you configure: model, instructions, memory, tools (via reflexes), and scope (core | workspace | brain). To run HTTP or channel traffic against a neuron, attach or use a receptor that targets it—see Receptors API and Neuron scope.

Unified resource catalog (same spine)

Neurons are kind: neuron on the unified resource spine. Alongside the vertical routes below, you can use the Resources catalog for symmetric list/read/history/version operations:
OperationCatalog (resource UUID)Vertical (/v1/neurons)
ListGET /v1/resources/neuronsGET /v1/neurons
Read head by UUIDGET /v1/resources/neurons/:resource_idGET /v1/neurons/:id (also accepts name/slug segments)
Version history rowsGET /v1/resources/neurons/:resource_id/historyGET /v1/neurons/:id/versions (summary shape differs)
Version body snapshotGET /v1/resources/neurons/:resource_id/versions/:versionGET /v1/neurons/:id/versions/:version
Promote version → headPOST /v1/resources/:resource_id/versions/:version/promotePOST /v1/neurons/:id/versions/:version/promote
DeleteDELETE /v1/resources/neurons/:resource_idsoft-delete (spine); restore via POST .../restoreDELETE /v1/neurons/:idhard remove on the vertical route
Create / updateUse POST /v1/neurons, PUT /v1/neurons/:id (or central patch where applicable)
Invoke / reflex joinsPOST /v1/neurons/:id/invoke, reflex routes under /v1/neurons/:id/reflexes
Catalog list and UUID reads apply the same brain-coordinate attachment and core catalog redaction rules as GET /v1/neurons. Slug-style resolution stays on GET /v1/neurons/:segment only. SDK: auvy.neurons.list, UUID auvy.neurons.get, listVersions, getVersion call /v1/resources/neurons/... under the hood. auvy.neurons.softDelete / restore map to catalog delete/restore. Use auvy.neurons for create, update, vertical delete (hard remove), invoke, reflex joins, promoteVersion, get(..., { version }), and get with a non-UUID segment (slug). Prefer auvy.resources.neurons when you want the catalog namespace explicitly (same HTTP).
const rows = await auvy.neurons.list({ search: 'billing' })
const head = await auvy.neurons.get(neuronUuid)

List Neurons

Get a list of neurons with optional filtering.
Brain scope required. Include the X-Brain-Id header or configure getBrainId in the public client.
GET /v1/neurons

Headers

HeaderTypeDescription
X-Brain-Idstring (UUID)Required. Brain ID for scoping

Query Parameters

ParameterTypeDescription
searchstringSearch by name or description
limitnumberMaximum number of results (default: 20)
offsetnumberOffset for pagination
sortBystringSort field: created_at, updated_at, name
sortDirectionstringSort direction: asc or desc

Example Request

const neurons = await auvy.neurons.list({
  is_active: true
})

Get Neuron

Get a single neuron by ID. By default this returns the latest head; pass version=N to return the same full neuron JSON shape hydrated from that historical version.
GET /v1/neurons/:id
GET /v1/neurons/:id?version=N

Path Parameters

ParameterTypeDescription
idstringNeuron UUID

Query Parameters

ParameterTypeDescription
versionnumberOptional historical resource version. Invalid values return 400; missing or inaccessible versions return 404.

Create Neuron

Create a new neuron.
POST /v1/neurons

Request Body

FieldTypeRequiredDescription
namestringYesNeuron name (normalized to a slug-like identifier)
brain_idstring (UUID)Yes*Brain ID; may be implied by X-Brain-Id when using session auth
descriptionstringNoNeuron description
neuron_configobjectNoNeuron configuration (see below)
is_activebooleanNoActive status (default: true)
scopestringNobrain (default), workspace, or core. See Neuron scope

Neuron Configuration

The neuron_config object can include:
FieldTypeDescription
recollection_idsarrayArray of recollection UUIDs for memory access (must be valid UUIDs)
sub_neuron_idsarrayArray of neuron UUIDs in the same brain this neuron may delegate to; merged with subagents for policy and agent-end dynamic delegate_* tools
modelstringAI model to use
temperaturenumberModel temperature
max_tokensnumberMaximum tokens
The API may normalize or strip unsupported fields when persisting config. Note: A recollection is auto-created on neuron creation and added to recollection_ids if not provided. recollection_ids is preserved during updates unless explicitly changed.

Example Request

const neuron = await auvy.neurons.create({
  name: 'My Neuron',
  description: 'A sample neuron',
  scope: 'brain',
  neuron_config: {
    model: 'claude-haiku-4-5',
    temperature: 0.7
  },
  is_active: true
})

Update Neuron

Update an existing neuron.
PUT /v1/neurons/:id

Path Parameters

ParameterTypeDescription
idstringNeuron UUID

Request Body

All fields optional:
FieldTypeDescription
namestringNeuron name
descriptionstringNeuron description
neuron_configobjectNeuron configuration
is_activebooleanActive status
scopestringbrain, workspace, or core
When scope changes, the API syncs the matching receptor row’s scope when a receptor targets this neuron.

Delete Neuron

Removes the neuron via DELETE /v1/neurons/:id (hard remove on the vertical route).
DELETE /v1/neurons/:id

Path Parameters

ParameterTypeDescription
idstringNeuron UUID

Response

{
  "success": true
}
Note: This route performs a hard remove (including cache/search invalidation as implemented server-side). For soft-delete and POST /v1/resources/neurons/:resource_id/restore on the unified spine, use Unified resource catalog (DELETE /v1/resources/neurons/:resource_id).

Invoke neuron

Enqueue an asynchronous run for a neuron (same BullMQ receptor-execution job as receptor invoke).
POST /v1/neurons/:id/invoke

Request body (common fields)

FieldTypeDescription
messagestringUser message (or use data for structured neuron request)
dataobjectStructured invoke payload (alternative / extension to message)
trace_idstring (UUID)Optional; thread trace for Trace Chat and engram correlation
streambooleanWhen true, consume tokens via job stream
neuron_task_optionsobjectOptional worker merge; see below

neuron_task_options (trace persistence)

Merged into the job as neuronTaskOptions. Invalid shapes return 400 with a validation message.
FieldValuesDescription
trace_type"thread" | "system"Durable engram listing plane: default thread (includes delegated children on a user trace). Use system for background or worker-style runs so turns stay out of default Trace Chat / thread-scoped listings. Camel traceType is equivalent.
Older payloads may still send persisted_trace_type, persistedTraceType, or systemTrace: true; the server normalizes them to traceType before validation. Pathway: When the job includes pathwayContext, pathway-scoped persistence takes precedence. Completion neurons (neuron_type: completion): off-pathway runs already use system; omit neuron_task_options unless you are also passing pathwayContext or other worker fields. Delegate tools: Native delegate_* tools do not accept this object; child runs stay on the parent thread.

Response

{
  "job_id": "uuid",
  "status": "pending",
  "user_engram_id": null
}

Neuron Reflexes

List Neuron Reflexes

Get all reflexes associated with a neuron.
GET /v1/neurons/:id/reflexes

Path Parameters

ParameterTypeDescription
idstringNeuron UUID

Response

Returns array of reflex objects:
[
  {
    "id": "reflex-uuid",
    "name": "My Reflex",
    "type": "sensory",
    "is_active": true,
    "created_at": "2024-01-01T00:00:00Z"
  }
]

Add Reflex to Neuron

Associate a reflex with a neuron.
POST /v1/neurons/:id/reflexes

Path Parameters

ParameterTypeDescription
idstringNeuron UUID

Request Body

FieldTypeRequiredDescription
reflex_idstringYesReflex UUID

Example Request

await auvy.neurons.addReflex('neuron-uuid', 'reflex-uuid')

Remove Reflex from Neuron

Remove a reflex association from a neuron.
DELETE /v1/neurons/:id/reflexes/:reflexId

Path Parameters

ParameterTypeDescription
idstringNeuron UUID
reflexIdstringReflex UUID

Response

{
  "success": true
}

Error Responses

  • 404 - Neuron or reflex not found
  • 409 - Reflex already assigned to neuron (when adding)