Skip to main content

The CLI covers your whole API

jojapi 0.2 goes beyond Worker code. From a terminal, CI or an AI agent you can now manage deployments, bindings, variables, the listing, its OpenAPI document, pricing, traffic and request logs. Every write that cannot be undone shows what will change and asks first. See Command-line interface.
  • Endpoints as code. jojapi export writes the API as an OpenAPI document that imports back without a single change. jojapi import previews every change field by field and ends with a digest; --apply --expect <digest> applies exactly that preview, and refuses if anything changed since. OpenAPI (JSON or YAML) and Postman Collections are read from a file or a URL.
  • Deployments. jojapi changes lists what production is behind; changes deploy promotes it and changes discard throws it away. jojapi deployments keep|public|archive changes one deployment.
  • Worker. jojapi resources add|remove|share|revoke|accept handles storage, queues and their shares. jojapi vars sets variables; secrets are read from a prompt or stdin, never from an argument. jojapi settings --logs on, jojapi usage and jojapi mode cover the rest.
  • Listing. jojapi info, create and update (--marketplace public names the checks that fail); jojapi endpoints show|add|update|hide|disable|delete|duplicate|move|example; jojapi groups, faqs, objects; and jojapi page, which shows the marketplace page as consumers see it.
  • Pricing. jojapi plans create|public|private|rate|display|add-object|delete|access; jojapi features; jojapi billing for what endpoints charge; jojapi agents for per-request agent prices; jojapi grant for one-off free quota.
  • Analytics. jojapi apis, dashboard, traffic, requests (credentials and cookies are always redacted), transactions and subscribers.

Management API

  • New plans come back with their slug. create-api-plan answers plan: {slug, type, blocked}, so you no longer have to list the plans again to find the new one.
  • Opaque ids for subscriptions and transfers. ProviderSubscriptions and pending-transfers return string ids, and the routes that take an id expect it exactly as returned. This includes studio/grant-quota and the Studio’s transfer and cancel actions. Raw numbers are refused.
  • Every error has a status. The few routes that answered errors with only a code now carry status as well (code stays for older clients).
  • Public plan limits apply when a plan is made public. Opening a private plan with update-api-plan now checks the same limits as creating a public plan: 10 public plans per API, one of them pay-as-you-go. The hidden plan behind agent payments no longer takes one of the 10 slots.
  • Small fixes. Switching an API’s Worker to the mode it already runs no longer creates a deployment. A Postman Collection imported from a URL is recorded as a Postman source. Access to a deleted plan can no longer be granted.