Steve API
Enterprise-grade documentation for Steve's public and private HTTP surfaces.
Steve exposes three live HTTP surfaces and one planned integration surface.
| Surface | Audience | Authentication | Status |
|---|---|---|---|
| External Integration API | Server-to-server integrations | Authorization: Bearer aok_... | Live |
| Invitation API | Browser-based account onboarding | Invitation token | Live |
| Workflow Agent API | Internal admin tooling | Convex session bearer token + super_admin role | Private |
| Upload Session API | Direct-to-R2 image ingestion | API key | Planned |
Base URL
All HTTP routes are served from the Convex site host:
If your frontend is configured with a Convex client URL such as https://<deployment>.convex.cloud or wss://<deployment>.convex.cloud, convert it to .convex.site for direct HTTP requests.
What exists today
The live external integration surface currently includes:
GET /api/v1/companiesGET /api/v1/jobs/{sessionId}POST /api/v1/webhooks/test
The invitation flow is also live:
GET /api/invitation/validatePOST /api/invitation/complete
The planned upload-session endpoints described elsewhere in the repository are not mounted in convex/http.ts yet. This docs site keeps those contracts separate and clearly marked as preview material.
Design characteristics
- External routes are versioned under
/api/v1. - Auth, rate limiting, and error handling are implemented centrally in
convex/lib/apiAuth.ts. - Asynchronous work is tracked through
apiSessions, which is what the job polling endpoint reads. - Webhook delivery is signed, retried, and tracked per session.
- Invitation and agent routes use a stricter CORS allowlist than the API-key surface.
- Workflow processing also supports a global image moderation pre-step, documented under the Platform section because it is not part of the public HTTP contract.
Recommended reading order
- Start with Base URLs.
- Review Authentication.
- If you need product and system context, read Project Overview, Technical Architecture, and Image Moderation.
- Read Errors and Rate Limits.
- Use the OpenAPI-backed pages under API Reference.
- If you are planning around future ingestion endpoints, read Upload Session API last.