Create documentation / Developers

API and integrations

Create a key in the app, make a first request, and handle jobs and errors in your integration.

1. Create an API key inside Create

Sign in and open API management from the main menu. Choose Create API key, enter a recognizable Key name, and select Expires in. The app offers 7, 30, and 90 days.

Select Create key when ready. Copy the key immediately; its full value is shown only once. Store it in your server's secret configuration. Keys have full access to the Create operations allowed for their account and projects; there is no per-key permission picker.

Use a separate key for each integration. Never include a real key in a browser bundle, public repository, or screenshot.

Name the integration and choose an expiration before creating the key.

2. Confirm the key with a read-only request

The base URL is https://create.mango9.com/api/v1. Send the key as a bearer token from your backend.

With the key already stored in an environment variable, make an identity request:

curl --fail-with-body https://create.mango9.com/api/v1/me \
  -H "Authorization: Bearer $CREATE_API_KEY"

Successful JSON responses contain data and meta.requestId. On failure, inspect error.code and error.message. Keep the request ID for troubleshooting without logging the secret key.

API documentation shows the bearer header, expiry, and request limit alongside the account reference.

3. Find and inspect the endpoint

Open API documentation → Endpoint reference. Search by path, method, or feature, then expand an endpoint to inspect its inputs and response. Download OpenAPI for the machine-readable contract.

Create an empty project using POST /projects with a body such as {"name":"Spring launch","aspectRatio":"9:16"}. Keep the returned project and scene identifiers. This operation creates the workspace without submitting generation work.

Use GET /models to discover models and account pricing. Consult the current OpenAPI schema for each operation's required fields.

4. Submit and follow asynchronous jobs

Provide the project, scene, model, and inputs required by the generation operation. Send a UUID Idempotency-Key for a new request, retain the returned job identifier, and poll the documented job endpoint until it reaches a terminal state.

An accepted request is still processing. Download the output after completion.

After an uncertain timeout, retry the identical request with its original key. Changed inputs require a new key. Check the first job's outcome before submitting new paid work.

5. Connect editing and completion events

Start an editor session, attach and sync media, and read the current timeline. Editor commands require the current revision and an idempotency key. After a revision conflict, fetch the latest timeline and review the intended change.

Register a public HTTPS webhook for supported production/review events or completed native renders. Generation jobs use polling. Verify HMAC-SHA256 signatures against the exact raw body and timestamp, reject timestamps outside five minutes, and deduplicate body.id. Delivery is at least once.

The interactive editor uses a signed-in Mango9 browser session with project edit access. An API key does not sign a person into that browser editor.

6. Rotate keys and handle limits

Return to API management to review Active or All keys, expiry, and last use. Create a replacement, update your integration, and verify it before revoking the old key.

The current limit is 120 requests per minute per key. Respect Retry-After on 429 and 503 responses. Check the current reference when adding or changing an operation.