Skip to content

Agent discovery ​

Generated applications should be understandable by both people and coding agents.

Expose:

text
GET /agent
GET /agent/manifest
GET /docs
GET /health
GET /ready

Endpoint responses ​

GET /agent ​

Returns a minimal agent description:

json
{
  "name": "my-app",
  "version": "0.1.0",
  "description": "A sample Arqen application",
  "storage_mode": "memory"
}

GET /agent/manifest ​

Returns the full agent manifest with tool definitions, schemas, and metadata:

json
{
  "name": "my-app",
  "version": "0.1.0",
  "description": "A sample Arqen application",
  "storage_mode": "memory",
  "tools": [
    {
      "name": "create_user",
      "description": "Create a new user account",
      "input": {
        "type": "object",
        "properties": {
          "email": { "type": "string", "format": "email" },
          "name": { "type": "string" }
        },
        "required": ["email", "name"]
      },
      "output": {
        "type": "object",
        "properties": {
          "id": { "type": "string" },
          "email": { "type": "string" },
          "name": { "type": "string" }
        }
      },
      "scopes": ["users:write"],
      "effect": "write",
      "idempotent": false
    }
  ]
}

GET /docs ​

Returns the current HTML API summary. Applications can additionally expose the OpenAPI document and Swagger UI generated by arqen::openapi; those routes are application wiring decisions rather than automatic framework routes.

GET /health ​

Returns liveness status:

json
{
  "status": "ok"
}

GET /ready ​

Returns readiness status, checking dependencies:

json
{
  "status": "ok",
  "checks": {
    "thingd": "ok"
  }
}

The manifest describes the application, tools, input/output schemas, required scopes, read/write effects, idempotency behavior, and operations that enqueue jobs. Generated applications also include a README with start, test, storage, credential, and extension guidance. Teams may add private local instructions, but those files are not required for discovery and are not part of Arqen's public repository contract.

Rust-first backend toolkit · explicit integrations for HTTP, jobs, and Thingd