Skip to main content
POST
/
tools
Register a new tool
curl --request POST \
  --url https://api.mnemom.ai/v1/tools \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "name": "<string>",
  "description": "<string>",
  "display_name": "<string>",
  "schema": {},
  "source_connector": "<string>"
}
'
{
  "name": "<string>",
  "version": 2,
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "display_name": "<string>",
  "description": "<string>",
  "schema": {},
  "source_connector": "<string>",
  "deprecated_at": "2023-11-07T05:31:56Z",
  "content_hash": "<string>"
}

Authorizations

Authorization
string
header
required

Supabase JWT token in Authorization: Bearer header

Headers

Idempotency-Key
string
required

Per-mutation idempotency key (RFC draft-ietf-httpapi-idempotency-key-header).

Required string length: 1 - 255

Body

application/json
name
string
required

Globally unique tool name. Convention: <connector>_<verb>_<noun> (e.g. campfire_create_chart_account). Org-scoped tools use the reserved org:<id>: prefix.

Pattern: ^([a-z][a-z0-9_]{1,127}|org:[a-z0-9-]{3,64}:[a-z][a-z0-9_]{1,127})$
class
enum<string>
required

8-entry action class taxonomy per mnemom-contracts/tool-manifest/v1.yaml. V7 gateway hooks bind on this for class-scoped enforcement.

Available options:
read,
internal_write,
consequential_internal_write,
consequential_external_write,
comms_internal,
comms_external,
engineering_attestation,
governance_write
domain
enum<string>
required

9-entry domain taxonomy. Used by domain-scoped value declarations like policy_attentiveness(domain: financial).

Available options:
financial,
engineering,
intelligence,
growth,
operations,
governance,
comms,
identity,
security
description
string | null
display_name
string | null
schema
object

OpenAPI fragment / JSON Schema for the tool parameters. Populated when the tool is imported via OpenAPI spec.

source_connector
string | null

Response

Tool registered.

name
string
required

Globally unique tool name. Convention: <connector>_<verb>_<noun> (e.g. campfire_create_chart_account). Org-scoped tools use the reserved org:<id>: prefix.

Pattern: ^([a-z][a-z0-9_]{1,127}|org:[a-z0-9-]{3,64}:[a-z][a-z0-9_]{1,127})$
class
enum<string>
required

8-entry action class taxonomy per mnemom-contracts/tool-manifest/v1.yaml. V7 gateway hooks bind on this for class-scoped enforcement.

Available options:
read,
internal_write,
consequential_internal_write,
consequential_external_write,
comms_internal,
comms_external,
engineering_attestation,
governance_write
domain
enum<string>
required

9-entry domain taxonomy. Used by domain-scoped value declarations like policy_attentiveness(domain: financial).

Available options:
financial,
engineering,
intelligence,
growth,
operations,
governance,
comms,
identity,
security
version
integer
required
Required range: x >= 1
created_at
string<date-time>
required
updated_at
string<date-time>
required
display_name
string | null
description
string | null
schema
object

OpenAPI fragment / JSON Schema for the tool parameters. Populated when the tool is imported via OpenAPI spec.

source_connector
string | null
deprecated_at
string<date-time> | null
content_hash
string | null
Pattern: ^sha256:[a-f0-9]{64}$