Custom API
Create, document, and publish a private REST API integration from an agent-facing CLI.
geni custom-api exposes the same six authoring actions as the platform agent and MCP surfaces. Custom APIs support API-key authentication and public REST APIs. OAuth-only services require an integration request in the dashboard.
Load the shared authoring contract before using these commands:
geni skills load custom-apiCreate an approved draft
Show the user the exact title and description and wait for approval. Then create the private draft:
geni custom-api create \
--title "Acme API" \
--description "Reads Acme customer and invoice records" \
--confirm--confirm is required. Omit --icon-url to use the stock gray wrench icon.
Authoring actions
geni custom-api list [--json]
geni custom-api get <id>
geni custom-api update <id> --file ./definition.json
geni custom-api upsert-operation <id> --file ./operation.json
geni custom-api delete-operation <id> <operationId> --confirm
geni custom-api set-status <id> <draft|live> [--confirm]update patches only the supplied definition fields: title, description, iconUrl, credentialType, secretFields, commonDocs, and setupGuide. upsert-operation creates an operation when operationId is absent and patches one when it is present. Both accept --json '<object>' for short payloads or --file <path> for documentation-heavy JSON.
Publishing requires --confirm, complete auth and documentation, and at least one operation. The server returns the exact missing sections without changing the draft when publication is blocked.