{"openapi":"3.0.0","info":{"title":"agnt.id API","version":"v1"},"servers":[{"url":"https://api.agnt.id","description":"Production"}],"security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"},"apiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]},"AuthLoginRequest":{"type":"object","properties":{"tenant_id":{"type":"string"},"email":{"type":"string","format":"email"},"password":{"type":"string"}},"required":["tenant_id","email","password"],"example":{"tenant_id":"tenant-uuid","email":"admin@alice.dev","password":"password123"}},"AuthTokenResponse":{"type":"object","properties":{"token":{"type":"string"}},"required":["token"],"example":{"token":"jwt.token.here"}},"AuthSession":{"type":"object","properties":{"tenant_id":{"type":"string"},"user_id":{"type":"string"},"email":{"type":"string","format":"email"}},"required":["tenant_id","user_id","email"]},"AuthSessionResponse":{"type":"object","properties":{"session":{"$ref":"#/components/schemas/AuthSession"},"token":{"type":"string"}},"required":["session"]},"MagicLinkRequest":{"type":"object","properties":{"tenant_id":{"type":"string"},"email":{"type":"string","format":"email"}},"required":["tenant_id","email"]},"MagicLinkVerifyRequest":{"type":"object","properties":{"tenant_id":{"type":"string"},"token":{"type":"string"}},"required":["tenant_id","token"]},"AuthChangePasswordRequest":{"type":"object","properties":{"current_password":{"type":"string"},"new_password":{"type":"string","minLength":12}},"required":["current_password","new_password"],"example":{"current_password":"current-password123","new_password":"new-password-456789"}},"Tenant":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string","format":"email"},"created_at":{"type":"string"}}},"Role":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"Scope":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"ApiKey":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string"},"revoked_at":{"type":["string","null"]}}},"ApiKeyWithSecret":{"allOf":[{"$ref":"#/components/schemas/ApiKey"},{"type":"object","properties":{"api_key":{"type":"string"}}}]},"UsageEvent":{"type":"object","properties":{"id":{"type":"string"},"event_id":{"type":"string"},"tenant_id":{"type":"string"},"occurred_at":{"type":"string"},"meter":{"type":"string"},"quantity":{"type":"number"},"metadata":{"type":"object","additionalProperties":{"type":"string"}}}},"FunnelEvent":{"type":"object","properties":{"session_id":{"type":"string"},"event":{"type":"string"},"route":{"type":"string"},"name":{"type":["string","null"]},"occurred_at":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"type":"string"}}}},"FunnelSummary":{"type":"object","properties":{"window_days":{"type":"integer"},"latest_at":{"type":["string","null"]},"by_event":{"type":"array","items":{"type":"object","properties":{"event":{"type":"string"},"count":{"type":"integer"}}}},"by_route":{"type":"array","items":{"type":"object","properties":{"route":{"type":"string"},"count":{"type":"integer"}}}}}},"UsageSummary":{"type":"object","properties":{"meter":{"type":"string"},"total":{"type":"string"}}},"Plan":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"stripe_price_id":{"type":["string","null"]},"rate_limit_max":{"type":"integer"},"rate_limit_window_seconds":{"type":"integer"}}},"Subscription":{"type":"object","properties":{"id":{"type":"string"},"tenant_id":{"type":"string"},"plan_id":{"type":["string","null"]},"stripe_customer_id":{"type":"string"},"stripe_subscription_id":{"type":"string"},"status":{"type":"string"},"created_at":{"type":"string"}}},"CreditBalance":{"type":"object","properties":{"balance":{"type":"number"}}},"CreditLedgerEntry":{"type":"object","properties":{"id":{"type":"string"},"amount":{"type":"number"},"reason":{"type":"string"},"created_at":{"type":"string"}}},"StripeEvent":{"type":"object","properties":{"id":{"type":"string"},"stripe_event_id":{"type":"string"},"type":{"type":"string"},"received_at":{"type":"string"}}},"AgentTask":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"AgentTaskDetail":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"payload":{},"result":{},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"AgentTaskCreateRequest":{"type":"object","properties":{"agent":{"type":"string"},"payload":{},"priority":{"type":"integer"},"ttl_ms":{"type":"integer"}},"required":["agent","payload"],"example":{"agent":"validator","payload":{"ping":true},"priority":5,"ttl_ms":30000}},"AgntRecord":{"type":"object","properties":{"wallets":{"type":"object","additionalProperties":{"type":"string"}},"defaultWallet":{"type":"string"},"agentId":{"type":"string"},"a2a":{"type":"string"},"mcp":{"type":"string"},"texts":{"type":"object","additionalProperties":{"type":"string"}},"identity":{"type":"string"},"wallet":{"type":"string"},"ens":{"type":"string"},"did":{"type":"string"},"trustModels":{"type":"array","items":{"type":"string"}},"x402Config":{"type":"object","properties":{"paymentAddress":{"type":"string"},"pricePerCall":{"type":"string"},"chainId":{"type":"integer"},"protocolFeeBps":{"type":"integer"},"enabled":{"type":"boolean"}}},"reputationRegistry":{"type":"string"},"skills":{"type":"array","items":{"type":"string"}},"domains":{"type":"array","items":{"type":"string"}},"a2aVersion":{"type":"string"},"mcpVersion":{"type":"string"},"profileURI":{"type":"string"}}},"AgntName":{"type":"object","properties":{"name":{"type":"string"},"owner":{"type":"string"},"resolver":{"type":["string","null"]},"expires_at":{"type":"string"},"records":{"$ref":"#/components/schemas/AgntRecord"}}},"AgntGatewayReputationSnapshot":{"type":"object","properties":{"score":{"type":"number"},"confidence":{"type":"number"},"sampleCount":{"type":"integer"},"updatedAt":{"type":"string"},"evidenceRoot":{"type":"string"},"source":{"type":"string"},"components":{"type":"object","properties":{"trustSignalCount":{"type":"integer"},"reputationSignalCount":{"type":"integer"},"a2aReceipts30d":{"type":"integer"},"a2aSuccessRate30d":{"type":["number","null"]},"a2aAvgLatencyMs30d":{"type":["number","null"]}}}}},"AgntGatewayReputationResponse":{"type":"object","properties":{"chain_id":{"type":"string"},"name":{"type":"string"},"linked_agent_id":{"type":["string","null"]},"snapshot":{"$ref":"#/components/schemas/AgntGatewayReputationSnapshot"}}},"AgntCommitRequest":{"type":"object","properties":{"commitment":{"type":"string"}},"required":["commitment"]},"AgntCommitResponse":{"type":"object","properties":{"commitment":{"type":"string"},"expires_at":{"type":"string"}}},"AgntRegisterRequest":{"type":"object","properties":{"name":{"type":"string"},"owner":{"type":"string"},"salt":{"type":"string"},"duration":{"type":"integer"},"records":{"$ref":"#/components/schemas/AgntRecord"},"resolver":{"type":["string","null"]}},"required":["name","owner","salt","duration"]},"AgntUpdateRequest":{"type":"object","properties":{"name":{"type":"string"},"owner":{"type":"string"},"records":{"$ref":"#/components/schemas/AgntRecord"}},"required":["name","owner","records"]},"AgntRenewRequest":{"type":"object","properties":{"name":{"type":"string"},"owner":{"type":"string"},"duration":{"type":"integer"}},"required":["name","owner","duration"]},"AgntTransferRequest":{"type":"object","properties":{"name":{"type":"string"},"owner":{"type":"string"},"newOwner":{"type":"string"}},"required":["name","owner","newOwner"]},"AgntResolverRequest":{"type":"object","properties":{"name":{"type":"string"},"owner":{"type":"string"},"resolver":{"type":["string","null"]}},"required":["name","owner","resolver"]},"AgntReverseRequest":{"type":"object","properties":{"name":{"type":"string"},"owner":{"type":"string"},"chain_id":{"type":"string"},"address":{"type":"string"}},"required":["name","owner","chain_id","address"]},"AgntNamehashResponse":{"type":"object","properties":{"namehash":{"type":"string"}}},"AgntLabelhashResponse":{"type":"object","properties":{"labelhash":{"type":"string"}}},"AgntReverseResponse":{"type":"object","properties":{"name":{"type":"string"},"chain_id":{"type":"string"},"address":{"type":"string"}}},"AgntReverseLookupResponse":{"type":"object","properties":{"name":{"type":"string"}}},"AgntGatewayResolveResponse":{"type":"object","properties":{"name":{"type":"string"},"owner":{"type":"string"},"resolver":{"type":["string","null"]},"expires_at":{"type":"string"},"records":{"$ref":"#/components/schemas/AgntRecord"},"source":{"type":"string","enum":["cache","registry"]}}},"AgntGatewayReverseResponse":{"type":"object","properties":{"name":{"type":"string"},"verified":{"type":"boolean"},"source":{"type":"string","enum":["cache","registry"]}}},"AgntGatewayStatusResponse":{"type":"object","properties":{"canonical_chain_id":{"type":"string"},"mirror_chain_ids":{"type":"array","items":{"type":"string"}}}},"AgntAvailability":{"type":"object","properties":{"available":{"type":"boolean"}}},"AgntOwnerResponse":{"type":"object","properties":{"owner":{"type":["string","null"]}}},"AgntExpiryResponse":{"type":"object","properties":{"expires_at":{"type":["string","null"]}}},"FaultEvent":{"type":"object","properties":{"id":{"type":"string"},"level":{"type":"string"},"message":{"type":"string"},"created_at":{"type":"string"}}},"WsSession":{"type":"object","properties":{"id":{"type":"string"},"connected_at":{"type":"string"},"disconnected_at":{"type":["string","null"]}}},"CircuitBreaker":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"state":{"type":"string"},"failure_count":{"type":"integer"},"updated_at":{"type":"string"}}},"FileEntry":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"path":{"type":"string"},"created_at":{"type":"string"}}},"FileUploadRequest":{"type":"object","properties":{"name":{"type":"string"},"path":{"type":"string"}},"required":["name"],"example":{"name":"report.pdf","path":"report.pdf"}},"FileUploadResponse":{"type":"object","properties":{"upload_url":{"type":"string"},"file":{"$ref":"#/components/schemas/FileEntry"}}},"FileGrant":{"type":"object","properties":{"id":{"type":"string"},"file_id":{"type":"string"},"granted_to":{"type":"string"},"created_at":{"type":"string"}}},"PhotoEntry":{"type":"object","properties":{"id":{"type":"string"},"storage_key":{"type":"string"},"created_at":{"type":"string"}}},"PhotoUploadRequest":{"type":"object","properties":{"filename":{"type":"string"}},"required":["filename"],"example":{"filename":"image.jpg"}},"PhotoUploadResponse":{"type":"object","properties":{"upload_url":{"type":"string"},"photo":{"$ref":"#/components/schemas/PhotoEntry"}}},"PhotoAnalysis":{"type":"object","properties":{"id":{"type":"string"},"photo_id":{"type":"string"},"result":{},"created_at":{"type":"string"}}},"EmailAccount":{"type":"object","properties":{"id":{"type":"string"},"provider":{"type":"string"},"provider_account_id":{"type":"string"},"created_at":{"type":"string"}}},"LedgerAccount":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"created_at":{"type":"string"}}},"AccountBalance":{"type":"object","properties":{"account_id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"balance":{"type":"number"}}},"JournalEntry":{"type":"object","properties":{"id":{"type":"string"},"memo":{"type":["string","null"]},"status":{"type":"string"},"created_at":{"type":"string"},"posted_at":{"type":["string","null"]}}},"JournalCreateRequest":{"type":"object","properties":{"memo":{"type":"string"}},"example":{"memo":"January close"}},"BookEntry":{"type":"object","properties":{"id":{"type":"string"},"journal_entry_id":{"type":"string"},"account_id":{"type":"string"},"direction":{"type":"string"},"amount":{"type":"number"}}},"JournalEntryCreateRequest":{"type":"object","properties":{"account_id":{"type":"string"},"direction":{"type":"string"},"amount":{"type":"number"}},"required":["account_id","direction","amount"]},"OpsSummary":{"type":"object","properties":{"tasks":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string"},"count":{"type":"integer"}}}},"faults":{"type":"array","items":{"type":"object","properties":{"level":{"type":"string"},"count":{"type":"integer"}}}},"ws_sessions":{"type":"object","properties":{"total":{"type":"integer"},"active":{"type":"integer"}}}}}}},"paths":{"/v1/openapi":{"get":{"summary":"OpenAPI spec","security":[],"responses":{"200":{"description":"OK"}}}},"/v1/auth/login":{"post":{"summary":"Login","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthLoginRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthSessionResponse"}}}}}}},"/v1/auth/magic-link":{"post":{"summary":"Magic link","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagicLinkRequest"}}}},"responses":{"200":{"description":"OK"}}}},"/v1/auth/magic-link/verify":{"post":{"summary":"Verify magic link","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagicLinkVerifyRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthSessionResponse"}}}}}}},"/v1/auth/refresh":{"post":{"summary":"Refresh token","security":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthSessionResponse"}}}}}}},"/v1/auth/session":{"get":{"summary":"Current browser session","security":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"session":{"$ref":"#/components/schemas/AuthSession"}},"required":["session"]}}}}}}},"/v1/auth/change-password":{"post":{"summary":"Change current user password","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthChangePasswordRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthSessionResponse"}}}}}}},"/v1/auth/logout":{"post":{"summary":"Logout","security":[],"responses":{"200":{"description":"OK"}}}},"/v1/tenants":{"get":{"summary":"List tenants","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tenant"}}}}}}},"post":{"summary":"Create tenant","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"example":{"name":"Acme"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tenant"}}}}}}},"/v1/tenants/{id}":{"get":{"summary":"Get tenant","responses":{"200":{"description":"OK"}}}},"/v1/users":{"get":{"summary":"List users","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}}}},"post":{"summary":"Create user","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"password":{"type":"string"}},"required":["email","password"]},"example":{"email":"user@alice.dev","password":"password123"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}}}},"/v1/users/{id}":{"patch":{"summary":"Update user","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"password":{"type":"string"}}}}}},"responses":{"200":{"description":"OK"}}}},"/v1/users/{id}/roles":{"get":{"summary":"List user roles","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Role"}}}}}}},"post":{"summary":"Assign role","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"role_id":{"type":"string"}},"required":["role_id"]}}}},"responses":{"200":{"description":"OK"}}}},"/v1/users/{id}/roles/{roleId}":{"delete":{"summary":"Remove role","responses":{"200":{"description":"OK"}}}},"/v1/roles":{"get":{"summary":"List roles","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Role"}}}}}}},"post":{"summary":"Create role","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}}},"required":["name"]}}}},"responses":{"200":{"description":"OK"}}}},"/v1/roles/{id}":{"delete":{"summary":"Delete role","responses":{"200":{"description":"OK"}}}},"/v1/roles/{id}/scopes":{"get":{"summary":"List role scopes","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Scope"}}}}}}},"post":{"summary":"Assign scope","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scope_id":{"type":"string"}},"required":["scope_id"]}}}},"responses":{"200":{"description":"OK"}}}},"/v1/roles/{id}/scopes/{scopeId}":{"delete":{"summary":"Remove scope","responses":{"200":{"description":"OK"}}}},"/v1/scopes":{"get":{"summary":"List scopes","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Scope"}}}}}}},"post":{"summary":"Create scope","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}}}},"responses":{"200":{"description":"OK"}}}},"/v1/scopes/{id}":{"delete":{"summary":"Delete scope","responses":{"200":{"description":"OK"}}}},"/v1/api-keys":{"get":{"summary":"List API keys","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiKey"}}}}}}},"post":{"summary":"Create API key","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyWithSecret"}}}}}}},"/v1/api-keys/{id}":{"delete":{"summary":"Revoke API key","responses":{"200":{"description":"OK"}}}},"/v1/usage/events":{"post":{"summary":"Ingest usage","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageEvent"},"example":{"event_id":"evt-1","occurred_at":"2026-02-03T00:00:00Z","meter":"tokens","quantity":123,"metadata":{"model":"claude"}}}}},"responses":{"200":{"description":"OK"}}},"get":{"summary":"List usage events","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UsageEvent"}}}}}}}},"/v1/funnel/events":{"post":{"summary":"Capture public funnel event","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunnelEvent"},"example":{"session_id":"sess_123","event":"register_cta_click","route":"/","occurred_at":"2026-03-03T00:00:00Z","metadata":{"source":"home_hero"}}}}},"responses":{"200":{"description":"OK"}}}},"/v1/usage/summary":{"get":{"summary":"Usage summary","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UsageSummary"}}}}}}}},"/v1/billing/plans":{"get":{"summary":"List plans","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Plan"}}}}}}},"post":{"summary":"Create plan","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"stripe_price_id":{"type":"string"},"rate_limit_max":{"type":"integer"},"rate_limit_window_seconds":{"type":"integer"}},"required":["name"]},"example":{"name":"Pro","stripe_price_id":"price_123","rate_limit_max":2000,"rate_limit_window_seconds":60}}}},"responses":{"200":{"description":"OK"}}}},"/v1/billing/subscribe":{"post":{"summary":"Subscribe","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"price_id":{"type":"string"},"customer_email":{"type":"string"}},"required":["price_id","customer_email"]},"example":{"price_id":"price_123","customer_email":"billing@acme.com"}}}},"responses":{"200":{"description":"OK"}}}},"/v1/billing/credits":{"get":{"summary":"Credit balance","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditBalance"}}}}}}},"/v1/billing/subscription":{"get":{"summary":"Current subscription","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Subscription"}}}}}}},"/v1/billing/credit-ledger":{"get":{"summary":"Credit ledger","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreditLedgerEntry"}}}}}}}},"/v1/billing/stripe-events":{"get":{"summary":"Stripe events","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StripeEvent"}}}}}}}},"/v1/ops/funnel/summary":{"get":{"summary":"Public funnel summary","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunnelSummary"}}}}}}},"/v1/webhooks/stripe":{"post":{"summary":"Stripe webhook","security":[],"responses":{"200":{"description":"OK"}}}},"/v1/agents/tasks":{"get":{"summary":"List agent tasks","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentTask"}}}}}}},"post":{"summary":"Create agent task","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentTaskCreateRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentTask"}}}}}}},"/v1/agents/tasks/{id}":{"get":{"summary":"Get agent task","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentTaskDetail"}}}}}}},"/v1/agents/tasks/{id}/retry":{"post":{"summary":"Retry task","responses":{"200":{"description":"OK"}}}},"/v1/agents/tasks/{id}/resolve":{"post":{"summary":"Resolve task","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decision":{"type":"string"}},"required":["decision"]},"example":{"decision":"approved"}}}},"responses":{"200":{"description":"OK"}}}},"/v1/agnt/commit":{"post":{"summary":"Commit AGNT registration","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntCommitRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntCommitResponse"}}}}}}},"/v1/agnt/register":{"post":{"summary":"Register AGNT name","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntRegisterRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntName"}}}}}}},"/v1/agnt/update":{"post":{"summary":"Update AGNT records","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntUpdateRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntName"}}}}}}},"/v1/agnt/renew":{"post":{"summary":"Renew AGNT name","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntRenewRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntName"}}}}}}},"/v1/agnt/transfer":{"post":{"summary":"Transfer AGNT name","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntTransferRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntName"}}}}}}},"/v1/agnt/resolver":{"post":{"summary":"Set AGNT resolver","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntResolverRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntName"}}}}}}},"/v1/agnt/reverse":{"post":{"summary":"Set AGNT reverse record","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntReverseRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntReverseResponse"}}}}}}},"/v1/agnt/gateway/status":{"get":{"summary":"AGNT gateway status","security":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntGatewayStatusResponse"}}}}}}},"/v1/agnt/gateway/resolve/{name}":{"get":{"summary":"Gateway resolve AGNT name","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntGatewayResolveResponse"}}}}}}},"/v1/agnt/gateway/reputation/{name}":{"get":{"summary":"Gateway reputation snapshot for AGNT name","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}},{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntGatewayReputationResponse"}}}}}}},"/v1/agnt/gateway/reverse/{chain_id}/{address}":{"get":{"summary":"Gateway reverse-resolve AGNT name","security":[],"parameters":[{"name":"chain_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"address","in":"path","required":true,"schema":{"type":"string"}},{"name":"verify","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntGatewayReverseResponse"}}}}}}},"/v1/agnt/gateway/available/{name}":{"get":{"summary":"Gateway availability check for AGNT name","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}},{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain_id":{"type":"string"},"name":{"type":"string"},"available":{"type":"boolean"},"reserved":{"type":"boolean"},"invalid":{"type":"boolean"}}}}}}}}},"/v1/agnt/gateway/search":{"get":{"summary":"Search AGNT names by prefix","security":[],"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string"}},{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"owner":{"type":"string"},"resolver":{"type":["string","null"]},"expires_at":{"type":["string","null"]}}}},"source":{"type":"string"}}}}}}}}},"/v1/agnt/gateway/owner/{address}":{"get":{"summary":"List AGNT names owned by an address","security":[],"parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string"}},{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"owner":{"type":"string"},"resolver":{"type":["string","null"]},"expires_at":{"type":["string","null"]},"token_id":{"type":["string","null"]},"node":{"type":["string","null"]},"domain_verifications":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"ens":{"type":"string"},"source":{"type":"string"}}}}}}}}},"/v1/agnt/gateway/owner-recovery/{address}":{"get":{"summary":"Run a bounded on-chain recovery scan for names owned by an address","security":[],"parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string"}},{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"owner":{"type":"string"},"resolver":{"type":["string","null"]},"expires_at":{"type":["string","null"]},"token_id":{"type":["string","null"]},"node":{"type":["string","null"]},"domain_verifications":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"note":{"type":"string"},"source":{"type":"string"},"cached":{"type":"boolean"},"lookback_blocks":{"type":"integer"},"latest_block":{"type":"string"}}}}}}}}},"/v1/agnt/gateway/indexer/status":{"get":{"summary":"Indexer checkpoint status","security":[],"parameters":[{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain_id":{"type":"string"},"enabled":{"type":"boolean"},"server_time":{"type":"string"},"checkpoints":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}}}}},"/v1/agnt/gateway/trust/agent/{agentId}":{"get":{"summary":"Trust score for a linked agent identifier","security":[],"parameters":[{"name":"agentId","in":"path","required":true,"schema":{"type":"string"}},{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain_id":{"type":"string"},"agent_id":{"type":"string"},"signal_key":{"type":"string"},"score":{"type":"object","properties":{"score":{"type":"number"},"badge":{"type":"string"},"confidence":{"type":"number"},"breakdown":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"linked_names":{"type":"array","items":{"type":"string"}},"signals":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}}}}},"/v1/agnt/gateway/trust/{name}":{"get":{"summary":"Trust score for an AGNT name","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}},{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain_id":{"type":"string"},"name":{"type":"string"},"score":{"type":"object","properties":{"score":{"type":"number"},"badge":{"type":"string"},"confidence":{"type":"number"},"breakdown":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"signals":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}}}}},"/v1/agnt/gateway/setup-discovery":{"get":{"summary":"Inspect a domain or repo and infer importable AGNT records","security":[],"parameters":[{"name":"source","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"source":{"type":"object","additionalProperties":true},"title":{"type":"string"},"description":{"type":"string"},"suggestedRecords":{"type":"object","properties":{"a2aEndpoint":{"type":"string"},"mcpEndpoint":{"type":"string"},"avatar":{"type":"string"},"skills":{"type":"array","items":{"type":"string"}},"domains":{"type":"array","items":{"type":"string"}}}},"detected":{"type":"object","additionalProperties":true},"evidence":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}}}}},"/v1/agnt/gateway/domain/{name}":{"get":{"summary":"Verified domains for an AGNT name","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}},{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain_id":{"type":"string"},"name":{"type":"string"},"domains":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}}}}},"/v1/agnt/gateway/production-readiness/{name}":{"get":{"summary":"Evaluate whether an AGNT profile is production-ready","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}},{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain_id":{"type":"string"},"name":{"type":"string"},"summary":{"type":"object","additionalProperties":true},"trustLanguage":{"type":"object","additionalProperties":true},"health":{"type":"object","additionalProperties":true},"checklist":{"type":"array","items":{"type":"object","additionalProperties":true}},"issues":{"type":"array","items":{"type":"object","additionalProperties":true}},"relay_status":{"type":"object","additionalProperties":true}}}}}}}}},"/v1/agnt/gateway/domain/challenge":{"post":{"summary":"Create a domain verification challenge","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"chain_id":{"type":"string"},"name":{"type":"string"},"owner":{"type":"string"},"domain":{"type":"string"},"method":{"type":"string","enum":["well_known","dns_txt","any"]}},"required":["chain_id","name","owner","domain"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"chain_id":{"type":"string"},"name":{"type":"string"},"domain":{"type":"string"},"method":{"type":"string"},"token":{"type":"string"},"message":{"type":"string"},"expires_at":{"type":"string"},"well_known_url":{"type":"string"},"dns_txt_host":{"type":"string"},"dns_txt_value":{"type":"string"}}}}}}}}},"/v1/agnt/gateway/domain/verify":{"post":{"summary":"Verify a challenged domain","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"signature":{"type":"string"}},"required":["id","signature"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain_id":{"type":"string"},"name":{"type":"string"},"domain":{"type":"string"},"status":{"type":"string"},"proof_uri":{"type":"string"},"expires_at":{"type":"string"}}}}}}}}},"/v1/agnt/gateway/receipts/{name}":{"get":{"summary":"List A2A receipts for an AGNT name","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}},{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain_id":{"type":"string"},"name":{"type":"string"},"receipts":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}}}}},"/v1/agnt/gateway/stats":{"get":{"summary":"Gateway registration statistics","security":[],"parameters":[{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain_id":{"type":"string"},"total":{"type":"integer"}}}}}}}}},"/v1/agnt/gateway/discover":{"get":{"summary":"Discover AGNT profiles","security":[],"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string"}},{"name":"skill","in":"query","required":false,"schema":{"type":"string"}},{"name":"domain","in":"query","required":false,"schema":{"type":"string"}},{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain_id":{"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"owner":{"type":"string"},"resolver":{"type":["string","null"]},"expires_at":{"type":["string","null"]},"records":{"$ref":"#/components/schemas/AgntRecord"},"ranking_score":{"type":"number"},"trust":{"type":"object","properties":{"score":{"type":"number"},"badge":{"type":"string"},"confidence":{"type":"number"},"breakdown":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"domain_verified":{"type":"boolean"}}}},"has_more":{"type":"boolean"}}}}}}}}},"/v1/agnt/gateway/facets":{"get":{"summary":"List discovery facet values","security":[],"parameters":[{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"chain_id":{"type":"string"},"skills":{"type":"array","items":{"type":"string"}},"domains":{"type":"array","items":{"type":"string"}}}}}}}}}},"/v1/agnt/gateway/relay-status/{name}":{"get":{"summary":"Cross-chain relay status for an AGNT name","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/v1/agnt/gateway/subnames/{name}":{"get":{"summary":"List subnames for a parent AGNT name","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"parent_name":{"type":"string"},"subnames":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}}}}},"/v1/agnt/gateway/expiring":{"get":{"summary":"Expiry summary for one or more AGNT names","security":[],"parameters":[{"name":"names","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"names":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"expires_at":{"type":["string","null"]},"days_remaining":{"type":"integer"},"status":{"type":"string"}}}}}}}}}}}},"/v1/agnt/gateway/activity":{"get":{"summary":"Recent AGNT ecosystem activity","security":[],"parameters":[{"name":"chain_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"activity":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"name":{"type":"string"},"owner":{"type":["string","null"]},"timestamp":{"type":"string"},"details":{"type":["string","null"]}}}}}}}}}}}},"/v1/agnt/gateway/analytics/{name}":{"get":{"summary":"Resolution analytics for an AGNT name","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"daily":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"count":{"type":"integer"}}}},"total_30d":{"type":"integer"},"total_7d":{"type":"integer"},"total_today":{"type":"integer"}}}}}}}}},"/v1/agnt/badge/{name}.svg":{"get":{"summary":"SVG trust badge for an AGNT name","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"image/svg+xml":{"schema":{"type":"string"}}}}}}},"/v1/relay/chains":{"get":{"summary":"List relay-supported chains","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"canonical":{"type":"object","additionalProperties":true},"mirror_chains":{"type":"array","items":{"type":"object","additionalProperties":true}},"active_count":{"type":"integer"},"total_count":{"type":"integer"}}}}}}}}},"/a2a/v1/{name}/.well-known/agent.json":{"get":{"summary":"Resolve an A2A agent card for an AGNT name","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"url":{"type":"string"},"version":{"type":"string"},"capabilities":{"type":"object","additionalProperties":true},"defaultInputModes":{"type":"array","items":{"type":"string"}},"defaultOutputModes":{"type":"array","items":{"type":"string"}},"skills":{"type":"array","items":{"type":"object","additionalProperties":true}},"provider":{"type":"object","additionalProperties":true},"documentationUrl":{"type":"string"},"iconUrl":{"type":"string"}}}}}}}}},"/a2a/v1/.well-known/agent.json":{"get":{"summary":"Resolve the default A2A agent card","security":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"url":{"type":"string"},"version":{"type":"string"},"capabilities":{"type":"object","additionalProperties":true},"defaultInputModes":{"type":"array","items":{"type":"string"}},"defaultOutputModes":{"type":"array","items":{"type":"string"}},"skills":{"type":"array","items":{"type":"object","additionalProperties":true}},"provider":{"type":"object","additionalProperties":true},"documentationUrl":{"type":"string"},"iconUrl":{"type":"string"}}}}}}}}},"/v1/agnt/namehash/{name}":{"get":{"summary":"Compute AGNT namehash","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntNamehashResponse"}}}}}}},"/v1/agnt/reverse/{chain_id}/{address}":{"get":{"summary":"Reverse-resolve AGNT name","security":[],"parameters":[{"name":"chain_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"address","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntReverseLookupResponse"}}}}}}},"/v1/agnt/labelhash/{label}":{"get":{"summary":"Compute AGNT labelhash","security":[],"parameters":[{"name":"label","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntLabelhashResponse"}}}}}}},"/v1/agnt/resolve/{name}":{"get":{"summary":"Resolve AGNT name","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntName"}}}}}}},"/v1/agnt/available/{name}":{"get":{"summary":"Check AGNT availability","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntAvailability"}}}}}}},"/v1/agnt/owner/{name}":{"get":{"summary":"Get AGNT owner","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntOwnerResponse"}}}}}}},"/v1/agnt/expiry/{name}":{"get":{"summary":"Get AGNT expiry","security":[],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgntExpiryResponse"}}}}}}},"/v1/files":{"get":{"summary":"List files","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FileEntry"}}}}}}}},"/v1/files/upload-url":{"post":{"summary":"Create file upload URL","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileUploadRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileUploadResponse"}}}}}}},"/v1/files/{id}/download-url":{"get":{"summary":"Get download URL","responses":{"200":{"description":"OK"}}}},"/v1/files/access-grant":{"post":{"summary":"Grant file access","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string"},"granted_to":{"type":"string"}},"required":["file_id","granted_to"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileGrant"}}}}}}},"/v1/files/access-grants":{"get":{"summary":"List file grants","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FileGrant"}}}}}}}},"/v1/photos":{"get":{"summary":"List photos","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhotoEntry"}}}}}}}},"/v1/photos/upload-url":{"post":{"summary":"Create photo upload URL","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhotoUploadRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhotoUploadResponse"}}}}}}},"/v1/photos/analyze":{"post":{"summary":"Analyze photo","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"photo_id":{"type":"string"}},"required":["photo_id"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentTask"}}}}}}},"/v1/photos/{id}":{"get":{"summary":"Get photo","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhotoEntry"}}}}}}},"/v1/photos/{id}/analysis":{"get":{"summary":"Get photo analysis","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhotoAnalysis"}}}}}}},"/v1/email/oauth/{provider}/start":{"get":{"summary":"Start OAuth flow","responses":{"200":{"description":"OK"}}}},"/v1/email/oauth/{provider}/callback":{"get":{"summary":"OAuth callback","security":[],"responses":{"200":{"description":"OK"}}}},"/v1/email/oauth/{provider}/url":{"get":{"summary":"OAuth URL","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}}}}}}}}},"/v1/email/accounts":{"get":{"summary":"List email accounts","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EmailAccount"}}}}}}}},"/v1/ops/ws-sessions":{"get":{"summary":"WS sessions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WsSession"}}}}}}}},"/v1/ops/faults":{"get":{"summary":"List faults","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FaultEvent"}}}}}}},"post":{"summary":"Create fault","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"level":{"type":"string"},"message":{"type":"string"}},"required":["level","message"]},"example":{"level":"L2","message":"Simulated fault"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FaultEvent"}}}}}}},"/v1/ops/circuit-breakers":{"get":{"summary":"Circuit breakers","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CircuitBreaker"}}}}}}}},"/v1/ops/circuit-breakers/{name}/reset":{"post":{"summary":"Reset breaker","responses":{"200":{"description":"OK"}}}},"/v1/ops/bus":{"get":{"summary":"Bus info","responses":{"200":{"description":"OK"}}}},"/v1/ops/summary":{"get":{"summary":"Ops summary","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpsSummary"}}}}}}},"/v1/ledger/accounts":{"get":{"summary":"List accounts","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LedgerAccount"}}}}}}},"post":{"summary":"Create account","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"}},"required":["name","type"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LedgerAccount"}}}}}}},"/v1/ledger/accounts/balances":{"get":{"summary":"Account balances","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AccountBalance"}}}}}}}},"/v1/ledger/accounts/{id}/balance":{"get":{"summary":"Account balance","responses":{"200":{"description":"OK"}}}},"/v1/ledger/journal":{"get":{"summary":"List journals","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/JournalEntry"}}}}}}},"post":{"summary":"Create journal","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalCreateRequest"}}}},"responses":{"200":{"description":"OK"}}}},"/v1/ledger/journal/{id}/entries":{"get":{"summary":"List journal entries","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BookEntry"}}}}}}},"post":{"summary":"Add journal entry","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalEntryCreateRequest"}}}},"responses":{"200":{"description":"OK"}}}},"/v1/ledger/journal/{id}/post":{"post":{"summary":"Post journal","responses":{"200":{"description":"OK"}}}},"/v1/healthz":{"get":{"summary":"Health check","security":[],"responses":{"200":{"description":"OK"}}}},"/v1/metrics":{"get":{"summary":"Prometheus metrics","security":[],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string"}}}}}}}}}