Letta · Capability

Letta API — Providers

Providers — configure LLM provider credentials and routing. 8 operations. Lead operation: List Providers. Self-contained Naftiko capability covering one Letta business surface.

Letta API — Providers is a Naftiko capability published by Letta, one of 36 capabilities the APIs.io network indexes for this provider. It bundles 8 operations across the POST, GET, PATCH, and DELETE methods rooted at /v1/providers.

The capability includes 4 read-only operations and 4 state-changing operations. Lead operation: List Providers. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Letta, Stateful Agents, and Providers.

Run with Naftiko LettaStateful AgentsProviders

What You Can Do

GET
List_providers — List Providers
/v1/providers/
POST
Create_provider — Create Provider
/v1/providers/
GET
Retrieve_provider — Retrieve Provider
/v1/providers/{provider-id}
PATCH
Modify_provider — Modify Provider
/v1/providers/{provider-id}
DELETE
Delete_provider — Delete Provider
/v1/providers/{provider-id}
POST
Check_provider — Check Provider
/v1/providers/check
POST
Check_existing_provider — Check Existing Provider
/v1/providers/{provider-id}/check
PATCH
Refresh_provider_models — Refresh Provider Models
/v1/providers/{provider-id}/refresh

MCP Tools

list-providers

List Providers

read-only idempotent
create-provider

Create Provider

retrieve-provider

Retrieve Provider

read-only idempotent
modify-provider

Modify Provider

idempotent
delete-provider

Delete Provider

idempotent
check-provider

Check Provider

read-only
check-existing-provider

Check Existing Provider

read-only
refresh-provider-models

Refresh Provider Models

idempotent

Capability Spec

letta-providers.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "Letta API — Providers"
  description: >-
    Providers — configure LLM provider credentials and routing. 8 operations. Lead operation: List Providers. Self-contained Naftiko capability covering one Letta business surface.
  tags:
    - Letta
    - Stateful Agents
    - Providers
  created: "2026-05-08"
  modified: "2026-05-22"

binds:
  - namespace: env
    keys:
      LETTA_API_KEY: LETTA_API_KEY

capability:

  consumes:
    - type: http
      namespace: "letta-providers"
      baseUri: "https://api.letta.com"
      description: "Letta API — Providers business capability. Self-contained, no shared references."
      authentication:
        type: bearer
        token: "{{env.LETTA_API_KEY}}"
      resources:
        - name: "providers"
          path: "/v1/providers/"
          operations:
            - name: "list_providers"
              method: GET
              description: "List Providers"
              inputParameters:
                - name: "before"
                  in: query
                  type: string
                  required: false
                  description: "Provider ID cursor for pagination. Returns providers that come before this provider ID in the specified sort order"
                - name: "after"
                  in: query
                  type: string
                  required: false
                  description: "Provider ID cursor for pagination. Returns providers that come after this provider ID in the specified sort order"
                - name: "limit"
                  in: query
                  type: string
                  required: false
                  description: "Maximum number of providers to return"
                - name: "order"
                  in: query
                  type: string
                  required: false
                  description: "Sort order for providers by creation time. 'asc' for oldest first, 'desc' for newest first"
                - name: "order_by"
                  in: query
                  type: string
                  required: false
                  description: "Field to sort by"
                - name: "name"
                  in: query
                  type: string
                  required: false
                  description: "Filter providers by name"
                - name: "provider_type"
                  in: query
                  type: string
                  required: false
                  description: "Filter providers by type"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "create_provider"
              method: POST
              description: "Create Provider"
              inputParameters:
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Request payload"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "providers-by-id"
          path: "/v1/providers/{provider_id}"
          operations:
            - name: "retrieve_provider"
              method: GET
              description: "Retrieve Provider"
              inputParameters:
                - name: "provider_id"
                  in: path
                  type: string
                  required: true
                  description: "The ID of the provider in the format 'provider-<uuid4>'"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "modify_provider"
              method: PATCH
              description: "Modify Provider"
              inputParameters:
                - name: "provider_id"
                  in: path
                  type: string
                  required: true
                  description: "The ID of the provider in the format 'provider-<uuid4>'"
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Request payload"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
            - name: "delete_provider"
              method: DELETE
              description: "Delete Provider"
              inputParameters:
                - name: "provider_id"
                  in: path
                  type: string
                  required: true
                  description: "The ID of the provider in the format 'provider-<uuid4>'"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "providers-check"
          path: "/v1/providers/check"
          operations:
            - name: "check_provider"
              method: POST
              description: "Check Provider"
              inputParameters:
                - name: "body"
                  in: body
                  type: object
                  required: true
                  description: "Request payload"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "providers-by-id-check"
          path: "/v1/providers/{provider_id}/check"
          operations:
            - name: "check_existing_provider"
              method: POST
              description: "Check Existing Provider"
              inputParameters:
                - name: "provider_id"
                  in: path
                  type: string
                  required: true
                  description: "The ID of the provider in the format 'provider-<uuid4>'"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "providers-by-id-refresh"
          path: "/v1/providers/{provider_id}/refresh"
          operations:
            - name: "refresh_provider_models"
              method: PATCH
              description: "Refresh Provider Models"
              inputParameters:
                - name: "provider_id"
                  in: path
                  type: string
                  required: true
                  description: "The ID of the provider in the format 'provider-<uuid4>'"
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  exposes:
    - type: rest
      namespace: "letta-providers-rest"
      port: 8080
      description: "REST adapter for Letta API — Providers. One Spectral-compliant resource per consumed operation."
      resources:
        - path: "/v1/providers/"
          name: "providers"
          description: "REST surface for providers."
          operations:
            - method: GET
              name: "list_providers"
              description: "List Providers"
              call: "letta-providers.list_providers"
              with:
                "before": "rest.before"
                "after": "rest.after"
                "limit": "rest.limit"
                "order": "rest.order"
                "order_by": "rest.order_by"
                "name": "rest.name"
                "provider_type": "rest.provider_type"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: "create_provider"
              description: "Create Provider"
              call: "letta-providers.create_provider"
              with:
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/providers/{provider-id}"
          name: "providers-by-id"
          description: "REST surface for providers-by-id."
          operations:
            - method: GET
              name: "retrieve_provider"
              description: "Retrieve Provider"
              call: "letta-providers.retrieve_provider"
              with:
                "provider_id": "rest.provider_id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PATCH
              name: "modify_provider"
              description: "Modify Provider"
              call: "letta-providers.modify_provider"
              with:
                "provider_id": "rest.provider_id"
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: DELETE
              name: "delete_provider"
              description: "Delete Provider"
              call: "letta-providers.delete_provider"
              with:
                "provider_id": "rest.provider_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/providers/check"
          name: "providers-check"
          description: "REST surface for providers-check."
          operations:
            - method: POST
              name: "check_provider"
              description: "Check Provider"
              call: "letta-providers.check_provider"
              with:
                "body": "rest.body"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/providers/{provider-id}/check"
          name: "providers-by-id-check"
          description: "REST surface for providers-by-id-check."
          operations:
            - method: POST
              name: "check_existing_provider"
              description: "Check Existing Provider"
              call: "letta-providers.check_existing_provider"
              with:
                "provider_id": "rest.provider_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/providers/{provider-id}/refresh"
          name: "providers-by-id-refresh"
          description: "REST surface for providers-by-id-refresh."
          operations:
            - method: PATCH
              name: "refresh_provider_models"
              description: "Refresh Provider Models"
              call: "letta-providers.refresh_provider_models"
              with:
                "provider_id": "rest.provider_id"
              outputParameters:
                - type: object
                  mapping: "$."
    - type: mcp
      namespace: "letta-providers-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for Letta API — Providers. One verb-noun tool per consumed operation."
      tools:
        - name: "list-providers"
          description: "List Providers"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "letta-providers.list_providers"
          with:
            "before": "tools.before"
            "after": "tools.after"
            "limit": "tools.limit"
            "order": "tools.order"
            "order_by": "tools.order_by"
            "name": "tools.name"
            "provider_type": "tools.provider_type"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "create-provider"
          description: "Create Provider"
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: "letta-providers.create_provider"
          with:
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "retrieve-provider"
          description: "Retrieve Provider"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "letta-providers.retrieve_provider"
          with:
            "provider_id": "tools.provider_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "modify-provider"
          description: "Modify Provider"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "letta-providers.modify_provider"
          with:
            "provider_id": "tools.provider_id"
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "delete-provider"
          description: "Delete Provider"
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: "letta-providers.delete_provider"
          with:
            "provider_id": "tools.provider_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "check-provider"
          description: "Check Provider"
          hints:
            readOnly: true
            destructive: false
            idempotent: false
          call: "letta-providers.check_provider"
          with:
            "body": "tools.body"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "check-existing-provider"
          description: "Check Existing Provider"
          hints:
            readOnly: true
            destructive: false
            idempotent: false
          call: "letta-providers.check_existing_provider"
          with:
            "provider_id": "tools.provider_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: "refresh-provider-models"
          description: "Refresh Provider Models"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "letta-providers.refresh_provider_models"
          with:
            "provider_id": "tools.provider_id"
          outputParameters:
            - type: object
              mapping: "$."