naftiko: "1.0.0-alpha2" info: label: "Letta API — Scheduled Messages" description: >- Scheduled messages — one-time or cron-recurring messages that drive agents over time. 4 operations. Lead operation: Schedule Agent Message. Self-contained Naftiko capability covering one Letta business surface. tags: - Letta - Stateful Agents - Scheduled Messages created: "2026-05-08" modified: "2026-05-22" binds: - namespace: env keys: LETTA_API_KEY: LETTA_API_KEY capability: consumes: - type: http namespace: "letta-scheduled-messages" baseUri: "https://api.letta.com" description: "Letta API — Scheduled Messages business capability. Self-contained, no shared references." authentication: type: bearer token: "{{env.LETTA_API_KEY}}" resources: - name: "agents-by-id-schedule" path: "/v1/agents/{agent_id}/schedule" operations: - name: "scheduledmessages_scheduleagentmessage" method: POST description: "Schedule Agent Message" inputParameters: - name: "agent_id" in: path type: string required: true description: "agent_id parameter" - name: "body" in: body type: object required: true description: "Body" outputRawFormat: json outputParameters: - name: result type: object value: "$." - name: "scheduledmessages_listscheduledmessages" method: GET description: "List Scheduled Agent Messages" inputParameters: - name: "agent_id" in: path type: string required: true description: "agent_id parameter" - name: "limit" in: query type: string required: false description: "limit parameter" - name: "after" in: query type: string required: false description: "after parameter" outputRawFormat: json outputParameters: - name: result type: object value: "$." - name: "agents-by-id-schedule-by-id" path: "/v1/agents/{agent_id}/schedule/{scheduled_message_id}" operations: - name: "scheduledmessages_deletescheduledmessage" method: DELETE description: "Delete Scheduled Agent Message" inputParameters: - name: "agent_id" in: path type: string required: true description: "agent_id parameter" - name: "scheduled_message_id" in: path type: string required: true description: "scheduled_message_id parameter" - name: "body" in: body type: object required: true description: "Body" outputRawFormat: json outputParameters: - name: result type: object value: "$." - name: "scheduledmessages_retrievescheduledmessage" method: GET description: "Retrieve Scheduled Agent Message" inputParameters: - name: "agent_id" in: path type: string required: true description: "agent_id parameter" - name: "scheduled_message_id" in: path type: string required: true description: "scheduled_message_id parameter" outputRawFormat: json outputParameters: - name: result type: object value: "$." exposes: - type: rest namespace: "letta-scheduled-messages-rest" port: 8080 description: "REST adapter for Letta API — Scheduled Messages. One Spectral-compliant resource per consumed operation." resources: - path: "/v1/agents/{agent-id}/schedule" name: "agents-by-id-schedule" description: "REST surface for agents-by-id-schedule." operations: - method: POST name: "scheduledmessages_scheduleagentmessage" description: "Schedule Agent Message" call: "letta-scheduled-messages.scheduledmessages_scheduleagentmessage" with: "agent_id": "rest.agent_id" "body": "rest.body" outputParameters: - type: object mapping: "$." - method: GET name: "scheduledmessages_listscheduledmessages" description: "List Scheduled Agent Messages" call: "letta-scheduled-messages.scheduledmessages_listscheduledmessages" with: "agent_id": "rest.agent_id" "limit": "rest.limit" "after": "rest.after" outputParameters: - type: object mapping: "$." - path: "/v1/agents/{agent-id}/schedule/{scheduled-message-id}" name: "agents-by-id-schedule-by-id" description: "REST surface for agents-by-id-schedule-by-id." operations: - method: DELETE name: "scheduledmessages_deletescheduledmessage" description: "Delete Scheduled Agent Message" call: "letta-scheduled-messages.scheduledmessages_deletescheduledmessage" with: "agent_id": "rest.agent_id" "scheduled_message_id": "rest.scheduled_message_id" "body": "rest.body" outputParameters: - type: object mapping: "$." - method: GET name: "scheduledmessages_retrievescheduledmessage" description: "Retrieve Scheduled Agent Message" call: "letta-scheduled-messages.scheduledmessages_retrievescheduledmessage" with: "agent_id": "rest.agent_id" "scheduled_message_id": "rest.scheduled_message_id" outputParameters: - type: object mapping: "$." - type: mcp namespace: "letta-scheduled-messages-mcp" port: 9090 transport: http description: "MCP adapter for Letta API — Scheduled Messages. One verb-noun tool per consumed operation." tools: - name: "schedule-agent-message" description: "Schedule Agent Message" hints: readOnly: false destructive: false idempotent: false call: "letta-scheduled-messages.scheduledmessages_scheduleagentmessage" with: "agent_id": "tools.agent_id" "body": "tools.body" outputParameters: - type: object mapping: "$." - name: "list-scheduled-agent-messages" description: "List Scheduled Agent Messages" hints: readOnly: true destructive: false idempotent: true call: "letta-scheduled-messages.scheduledmessages_listscheduledmessages" with: "agent_id": "tools.agent_id" "limit": "tools.limit" "after": "tools.after" outputParameters: - type: object mapping: "$." - name: "delete-scheduled-agent-message" description: "Delete Scheduled Agent Message" hints: readOnly: false destructive: true idempotent: true call: "letta-scheduled-messages.scheduledmessages_deletescheduledmessage" with: "agent_id": "tools.agent_id" "scheduled_message_id": "tools.scheduled_message_id" "body": "tools.body" outputParameters: - type: object mapping: "$." - name: "retrieve-scheduled-agent-message" description: "Retrieve Scheduled Agent Message" hints: readOnly: true destructive: false idempotent: true call: "letta-scheduled-messages.scheduledmessages_retrievescheduledmessage" with: "agent_id": "tools.agent_id" "scheduled_message_id": "tools.scheduled_message_id" outputParameters: - type: object mapping: "$."