Skip to content

OpenAPI-generated Worker binding catalog

Each capability is a deployable Worker wrapper around one API:

  • A generated WorkerEntrypoint with namespaced methods you can bind from another Worker.
  • A capa.manifest.json with the source spec, upstream URL, auth style, and operation count.
  • One upstream HTTP request per method call, with a structured receipt returned alongside the result.

The catalog is moving toward one boring, useful command:

Terminal window
npx @acoyfellow/capa add <capability>

It should drop a hello-world Worker scaffold with the service binding already filled in. No registry theater; just a fast path from “I want Stripe/GitHub/Twitch” to a runnable Worker. Projects.dev can provision provider services and credentials; capa’s install path should make those APIs feel native inside Workers.

Generated capa capabilities
CapabilityOpsNSAuthBodyEntrypointActions
githubRepos, issues, pull requests, Actions, releases, and org workflows.1,18336BearerJSONGithubCapabilityDeploy
kubernetesCore Kubernetes resources and cluster APIs exposed through one generated binding.1,1116BearerJSONKubernetesCapabilityDeploy
gitlabProjects, MRs, pipelines — across the entire GitLab API.1,04751Private-TokenJSONGitlabCapabilityDeploy
jiraIssues, boards, sprints — JSRPC over Jira Cloud REST v3.60176BasicJSONJiraCapabilityDeploy
stripeCharges, customers, and subscriptions without hand-writing a Stripe wrapper.53473BearerFormStripeCapabilityDeploy
boxFiles, folders, collaboration, and metadata from the Box Platform API.29456BearerJSONBoxCapabilityDeploy
discordApplications, guilds, channels, messages, and webhooks from Discord HTTP API v10.23316BearerJSONDiscordCapabilityDeploy
sentryOrganizations, projects, issues, events, releases, and alerts from Sentry.2106BearerJSONSentryCapabilityDeploy
twilioAccounts, phone numbers, calls, messages, recordings, and Twilio REST resources.1972BasicFormTwilioCapabilityDeploy
slackChannels, chat, users, files, admin endpoints, and Slack Web API workflows.174174BearerFormSlackCapabilityDeploy
zoomMeetings, webinars, recordings, users, reports, and Zoom account operations.15514BearerJSONZoomCapabilityDeploy
twitchTwitch Helix channels, streams, clips, chat, moderation, and creator workflows.14430BearerJSONTwitchCapabilityDeploy
twilio-messagingMessaging Services, senders, compliance registrations, and delivery controls.585BasicFormTwilioMessagingCapabilityDeploy
twilio-verifyVerification services, factors, templates, rate limits, and fraud-safe flows.575BasicFormTwilioVerifyCapabilityDeploy

The catalog above is rendered from capabilities/*/capa.manifest.json at build time. You have two good options:

  • Generate a capability locally and use it only in your own account.
  • Send a capability to this repo if the API is broadly useful.

For a repo contribution:

  1. Run the codegen CLI against an OpenAPI/Swagger spec.
  2. Codegen writes capa.manifest.json alongside the generated source.
  3. Follow the contribution guide and run bun run check.
  4. Open a PR. The catalog picks it up automatically on the next build.
PropertyValue
Public HTTP routefetch() returns 404
Side effects per methodOne upstream HTTP request
Return shape{ result, evidence }
Returned receiptPlain JSON, no streams or handles
Authwrangler secret put
BillingCaller-pays

See Reference for the full return shape, codegen flags, and per-capability secret names.