Cuddler · OpenAPI Overlay 1.0.0

Cuddler Platform API - operationIds and MCP tool bindings

45 actions 45 updates documentation extends ../openapi/_original/cuddler-ai-openapi.yml
Derived by API Evangelist Built from the contracts Cuddler publishes. Cuddler did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

operationIdx-mcp-tool

Targets 45 · first 16 shown; the file carries all of them

$.paths['/v1/webhook-endpoints/{id}'].get
$.paths['/v1/webhook-endpoints/{id}'].patch
$.paths['/v1/catalog'].get
$.paths['/v1/models'].get
$.paths['/v1/models/{id}'].get
$.paths['/v1/videos/estimate'].post
$.paths['/v1/videos'].post
$.paths['/v1/videos'].get
$.paths['/v1/videos/{id}'].get
$.paths['/v1/videos/{id}/cancel'].post
$.paths['/v1/videos/{id}/download'].get
$.paths['/v1/images/estimate'].post
$.paths['/v1/images'].post
$.paths['/v1/images'].get
$.paths['/v1/images/{id}'].get
$.paths['/v1/speech'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: Cuddler Platform API - operationIds and MCP tool bindings
  version: 1.0.0
extends: ../openapi/_original/cuddler-ai-openapi.yml
x-provenance:
  generated: '2026-11-04'
  method: derived
  source: openapi/cuddler-ai-openapi.yml (45 operations, no operationId on any) + documented MCP tool table at https://platform.cuddler.ai/docs/mcp.md
actions:
- target: $.paths['/v1/webhook-endpoints/{id}'].get
  description: Assign operationId get_webhook_endpoint (the provider spec has none)
  update:
    operationId: get_webhook_endpoint
- target: $.paths['/v1/webhook-endpoints/{id}'].patch
  description: Assign operationId update_webhook_endpoint (the provider spec has none)
  update:
    operationId: update_webhook_endpoint
- target: $.paths['/v1/catalog'].get
  description: Assign operationId get_catalog (the provider spec has none)
  update:
    operationId: get_catalog
- target: $.paths['/v1/models'].get
  description: Assign operationId list_models (the provider spec has none); bound to documented MCP tool list_models
  update:
    operationId: list_models
    x-mcp-tool:
      name: list_models
      server: https://api.cuddler.ai/v1/mcp
      test_key: true
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/models/{id}'].get
  description: Assign operationId get_model (the provider spec has none); bound to documented MCP tool get_model
  update:
    operationId: get_model
    x-mcp-tool:
      name: get_model
      server: https://api.cuddler.ai/v1/mcp
      test_key: true
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/videos/estimate'].post
  description: Assign operationId estimate_video (the provider spec has none); bound to documented MCP tool estimate_video
  update:
    operationId: estimate_video
    x-mcp-tool:
      name: estimate_video
      server: https://api.cuddler.ai/v1/mcp
      test_key: true
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/videos'].post
  description: Assign operationId create_video (the provider spec has none); bound to documented MCP tool create_video
  update:
    operationId: create_video
    x-mcp-tool:
      name: create_video
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/videos'].get
  description: Assign operationId list_videos (the provider spec has none); bound to documented MCP tool list_videos
  update:
    operationId: list_videos
    x-mcp-tool:
      name: list_videos
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/videos/{id}'].get
  description: Assign operationId get_video (the provider spec has none); bound to documented MCP tool get_video
  update:
    operationId: get_video
    x-mcp-tool:
      name: get_video
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/videos/{id}/cancel'].post
  description: Assign operationId cancel_video (the provider spec has none); bound to documented MCP tool cancel_video
  update:
    operationId: cancel_video
    x-mcp-tool:
      name: cancel_video
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/videos/{id}/download'].get
  description: Assign operationId download_video (the provider spec has none); bound to documented MCP tool download_video
  update:
    operationId: download_video
    x-mcp-tool:
      name: download_video
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/images/estimate'].post
  description: Assign operationId estimate_image (the provider spec has none); bound to documented MCP tool estimate_image
  update:
    operationId: estimate_image
    x-mcp-tool:
      name: estimate_image
      server: https://api.cuddler.ai/v1/mcp
      test_key: true
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/images'].post
  description: Assign operationId create_image (the provider spec has none); bound to documented MCP tool create_image
  update:
    operationId: create_image
    x-mcp-tool:
      name: create_image
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/images'].get
  description: Assign operationId list_images (the provider spec has none)
  update:
    operationId: list_images
- target: $.paths['/v1/images/{id}'].get
  description: Assign operationId get_image (the provider spec has none); bound to documented MCP tool get_image
  update:
    operationId: get_image
    x-mcp-tool:
      name: get_image
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/speech'].post
  description: Assign operationId create_speech (the provider spec has none); bound to documented MCP tool create_speech
  update:
    operationId: create_speech
    x-mcp-tool:
      name: create_speech
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/speech'].get
  description: Assign operationId list_speech (the provider spec has none)
  update:
    operationId: list_speech
- target: $.paths['/v1/music'].post
  description: Assign operationId create_music (the provider spec has none); bound to documented MCP tool create_music
  update:
    operationId: create_music
    x-mcp-tool:
      name: create_music
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/music'].get
  description: Assign operationId list_music (the provider spec has none)
  update:
    operationId: list_music
- target: $.paths['/v1/speech/estimate'].post
  description: Assign operationId estimate_speech (the provider spec has none); bound to documented MCP tool estimate_speech
  update:
    operationId: estimate_speech
    x-mcp-tool:
      name: estimate_speech
      server: https://api.cuddler.ai/v1/mcp
      test_key: true
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/music/estimate'].post
  description: Assign operationId estimate_music (the provider spec has none); bound to documented MCP tool estimate_music
  update:
    operationId: estimate_music
    x-mcp-tool:
      name: estimate_music
      server: https://api.cuddler.ai/v1/mcp
      test_key: true
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/speech/{id}'].get
  description: Assign operationId get_speech (the provider spec has none); bound to documented MCP tool get_speech
  update:
    operationId: get_speech
    x-mcp-tool:
      name: get_speech
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/music/{id}'].get
  description: Assign operationId get_music (the provider spec has none); bound to documented MCP tool get_music
  update:
    operationId: get_music
    x-mcp-tool:
      name: get_music
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/speech/{id}/cancel'].post
  description: Assign operationId cancel_speech (the provider spec has none)
  update:
    operationId: cancel_speech
- target: $.paths['/v1/music/{id}/cancel'].post
  description: Assign operationId cancel_music (the provider spec has none)
  update:
    operationId: cancel_music
- target: $.paths['/v1/voices'].get
  description: Assign operationId list_voices (the provider spec has none); bound to documented MCP tool list_voices
  update:
    operationId: list_voices
    x-mcp-tool:
      name: list_voices
      server: https://api.cuddler.ai/v1/mcp
      test_key: true
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/operations'].post
  description: Assign operationId create_operation (the provider spec has none)
  update:
    operationId: create_operation
- target: $.paths['/v1/operations/{id}'].get
  description: Assign operationId get_operation (the provider spec has none)
  update:
    operationId: get_operation
- target: $.paths['/v1/operations/{id}/execute'].post
  description: Assign operationId execute_operation (the provider spec has none)
  update:
    operationId: execute_operation
- target: $.paths['/v1/operations/{id}/uploads/{sourceId}'].post
  description: Assign operationId update_operation_upload (the provider spec has none)
  update:
    operationId: update_operation_upload
- target: $.paths['/v1/uploads'].post
  description: Assign operationId create_upload (the provider spec has none)
  update:
    operationId: create_upload
- target: $.paths['/v1/uploads/{id}'].get
  description: Assign operationId get_upload (the provider spec has none)
  update:
    operationId: get_upload
- target: $.paths['/v1/uploads/{id}/complete'].post
  description: Assign operationId complete_upload (the provider spec has none)
  update:
    operationId: complete_upload
- target: $.paths['/v1/portraits'].post
  description: Assign operationId authorize_portrait (the provider spec has none); bound to documented MCP tool authorize_portrait
  update:
    operationId: authorize_portrait
    x-mcp-tool:
      name: authorize_portrait
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/portraits/{id}'].get
  description: Assign operationId get_portrait_authorization (the provider spec has none); bound to documented MCP tool get_portrait_authorization
  update:
    operationId: get_portrait_authorization
    x-mcp-tool:
      name: get_portrait_authorization
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/portraits/{id}/revoke'].post
  description: Assign operationId revoke_portrait_authorization (the provider spec has none); bound to documented MCP tool revoke_portrait_authorization
  update:
    operationId: revoke_portrait_authorization
    x-mcp-tool:
      name: revoke_portrait_authorization
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/videos/{id}/references'].get
  description: Assign operationId get_video_references (the provider spec has none); bound to documented MCP tool get_video_references
  update:
    operationId: get_video_references
    x-mcp-tool:
      name: get_video_references
      server: https://api.cuddler.ai/v1/mcp
      test_key: false
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/balance'].get
  description: Assign operationId get_balance (the provider spec has none); bound to documented MCP tool get_balance
  update:
    operationId: get_balance
    x-mcp-tool:
      name: get_balance
      server: https://api.cuddler.ai/v1/mcp
      test_key: true
      source: https://platform.cuddler.ai/docs/mcp.md
- target: $.paths['/v1/usage'].get
  description: Assign operationId get_usage (the provider spec has none)
  update:
    operationId: get_usage
- target: $.paths['/v1/openapi.json'].get
  description: Assign operationId get_openapi (the provider spec has none)
  update:
    operationId: get_openapi
- target: $.paths['/v1/llms.txt'].get
  description: Assign operationId get_llms_txt (the provider spec has none)
  update:
    operationId: get_llms_txt
- target: $.paths['/ark/api/v3/contents/generations/tasks'].post
  description: Assign operationId ark_create_task (the provider spec has none)
  update:
    operationId: ark_create_task
- target: $.paths['/ark/api/v3/contents/generations/tasks'].get
  description: Assign operationId ark_list_tasks (the provider spec has none)
  update:
    operationId: ark_list_tasks
- target: $.paths['/ark/api/v3/contents/generations/tasks/{id}'].get
  description: Assign operationId ark_get_task (the provider spec has none)
  update:
    operationId: ark_get_task
- target: $.paths['/ark/api/v3/contents/generations/tasks/{id}'].delete
  description: Assign operationId ark_cancel_task (the provider spec has none)
  update:
    operationId: ark_cancel_task

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/cuddler-ai-operationids-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.