The canonical, machine-readable contract for the public Swap3D developer API.
This repository describes the API-key interface used by the official Swap3D CLI and future SDKs and integrations. Dashboard, authentication, billing, and internal operations endpoints are intentionally excluded.
| Operation | Endpoint |
|---|---|
| Get capabilities | GET /openapi/formats |
| Get monthly usage | GET /openapi/usage |
| Submit a conversion | POST /openapi/convert |
| Get conversion status | GET /openapi/convert/status/{jobId} |
The production base URL is:
https://api.swap3d.studio/api/v1
Authenticated operations use a Swap3D API key as a Bearer token.
Node.js 22.12 or newer is required.
npm ci
npm testnpm test lints the source contract, produces a bundled specification at
dist/openapi.yaml, and confirms that the committed openapi.json artifact
matches openapi.yaml. SDKs and contract checks should consume the generated
JSON rather than maintaining another schema by hand.
Pull requests are also checked for breaking changes with oasdiff. Intentional breaking changes must use a new API version rather than silently changing the existing contract.
Keep the contract aligned with deployed behavior. Changes to endpoints,
authentication, limits, formats, status values, or error responses must be
implemented and tested in swap3d-studio before this specification is
updated.
See CONTRIBUTING.md before opening a pull request.
Do not open a public issue for suspected vulnerabilities. Follow SECURITY.md for private reporting.