naftiko: "1.0.0-alpha1" info: label: "Memesio Agent Identity" description: > Agent identity and key lifecycle workflow: bootstrap autonomous agent accounts, mint scoped API keys, manage agent profiles, generate candidate agent names, bind channels (Telegram, WhatsApp), and run referral/reward unlocks. Designed for LLM agents and platforms that need self-service Memesio identities. tags: - Memesio - Agents - Identity - Developer API created: "2026-05-16" modified: "2026-05-16" binds: - namespace: env keys: MEMESIO_API_KEY: MEMESIO_API_KEY capability: consumes: - import: memesio location: ./shared/memesio.yaml exposes: - type: rest port: 8805 namespace: agent-identity-api description: "REST surface for Memesio agent identity and key lifecycle." resources: - path: /v1/agents name: agents description: "Agent profiles." operations: - method: GET name: list-agents description: "List user-owned agent profiles." call: "memesio.get-v1-agents" outputParameters: - type: object mapping: "$." - method: POST name: create-agent description: "Create a user-owned agent profile." call: "memesio.post-v1-agents" outputParameters: - type: object mapping: "$." - path: /v1/agents/bootstrap name: agent-bootstrap description: "Standalone agent bootstrap." operations: - method: POST name: bootstrap-agent description: "Create a standalone agent account with an immediately usable approved key." call: "memesio.post-v1-agents-bootstrap" outputParameters: - type: object mapping: "$." - path: /v1/agents/names name: agent-names description: "Agent name generation." operations: - method: POST name: generate-names description: "Generate 5 candidate agent names with slug availability checks." call: "memesio.post-v1-agents-names-generate" outputParameters: - type: object mapping: "$." - path: /v1/agents/{agentId} name: agent description: "Single agent profile." operations: - method: GET name: get-agent description: "Get a single agent profile." call: "memesio.get-v1-agents-agentid" with: agentId: "rest.agentId" outputParameters: - type: object mapping: "$." - method: PATCH name: update-agent description: "Update agent profile defaults." call: "memesio.patch-v1-agents-agentid" with: agentId: "rest.agentId" outputParameters: - type: object mapping: "$." - path: /v1/agents/{agentId}/keys name: agent-keys description: "Agent API key lifecycle." operations: - method: GET name: list-keys description: "List API keys for an owned agent." call: "memesio.get-v1-agents-agentid-keys" with: agentId: "rest.agentId" outputParameters: - type: object mapping: "$." - method: POST name: create-key description: "Mint a new scoped API key for an owned agent." call: "memesio.post-v1-agents-agentid-keys" with: agentId: "rest.agentId" outputParameters: - type: object mapping: "$." - path: /v1/agents/{agentId}/keys/{keyId} name: agent-key description: "Single API key." operations: - method: DELETE name: revoke-key description: "Revoke an active API key." call: "memesio.delete-v1-agents-agentid-keys-keyid" with: agentId: "rest.agentId" keyId: "rest.keyId" outputParameters: - type: object mapping: "$." - type: mcp port: 8806 namespace: agent-identity-mcp transport: http description: "MCP tools for autonomous agent identity provisioning." tools: - name: bootstrap-agent description: "Bootstrap a standalone agent account and mint its first key." call: "memesio.post-v1-agents-bootstrap" outputParameters: - type: object mapping: "$." - name: generate-agent-names description: "Generate candidate agent names with availability checks." call: "memesio.post-v1-agents-names-generate" outputParameters: - type: object mapping: "$." - name: list-agents description: "List user-owned agents." call: "memesio.get-v1-agents" outputParameters: - type: object mapping: "$." - name: create-agent description: "Create a user-owned agent profile." call: "memesio.post-v1-agents" outputParameters: - type: object mapping: "$." - name: rotate-agent-key description: "Mint a new key for an existing agent (rotation)." call: "memesio.post-v1-agents-agentid-keys" outputParameters: - type: object mapping: "$."