Guides
Going live checklist
Go through these eight checks before your integration runs against production data. Each one points to the guide that explains it.
One key per integration, with the minimum scopes
Create it from a dedicated administrator account that will outlast any one person, and keep it in a secrets manager. The key and every OAuth connection act as the administrator who created them, and stop with 401
api_key_owner_inactiveorapi_key_owner_not_adminif that person leaves or stops being an administrator. Neither a key nor an OAuth connection uses a seat of its own, but the administrator account does. A key does not expire unless you set an expiry date when you create it, and it does not expire from inactivity. To rotate one, create a second key, move the integration to it and revoke the first. See how to generate a key and Scopes.Respect Retry-After and send an Idempotency-Key on writes
Wait for
Retry-Afteron a 429, send anIdempotency-Keyon every write, and follow the retry decision table. See Rate limits, Idempotency and Errors.Handle responses that are not application/problem+json
A 413, 502 or 504 can come from the platform and carry no
codeand norequestId. Decide by the status and do not try to read acode.Tolerate unknown properties and enum values
Clients generated with closed enums break on the additive changes the version policy allows. See Versioning.
Log, alert and subscribe
Log
X-Request-Idon every call. Filmo generates it on the server, so you cannot choose it; when you contact support, send therequestIdtogether with the approximate time of the request. Alert on 401api_key_owner_inactiveandapi_key_owner_not_admin, and on theDeprecationandSunsetheaders. Subscribe to the feed of the Changelog tab.Check the account's automations
Your writes fire the account's event workflows and you cannot suppress them per request. List the active workflows that start on an event or an entity, pause the ones that could reach a customer, and filter the others by
originto excludeapi. A workflow that calls the API with a key is expected to escape Filmo's loop protection, so never leave one that writes back unfiltered. See Testing.If you synchronize data, use the full-pass parameters
Pass the parameters that reveal records lists hide by default, take window boundaries from the server's time, and confirm with a GET before you delete anything on your side. See Syncing data.
Review the capabilities and limits, and test
Read Capabilities and limits for the hard limits, then run the checks in Testing.
What the account needs
Link to this section: What the account needsThe API and MCP are included in any paid plan and are not an add-on. Some modules are: a resource behind an add-on answers 402 addon_required when the account does not have it, so handle that response for each resource you use. Only administrators can create keys or consent to an OAuth connection.
A last check in production
Link to this section: A last check in productionRun GET /api once with the production key. Confirm the account is the one you expect, that the key has exactly the scopes you planned, that the add-ons you need are listed, and whether the account is still in a trial (trial). The call also returns the version of the contract and the limits that apply to the key.
curl -sS "${FILMO_BASE_URL:-https://app.filmo.io}/api/v1/account" \
-H "Authorization: Bearer $FILMO_API_KEY"Related pages
Link to this section: Related pagesGuides
Testing your integration
Start with a read-only key, check the account's automations before the first write, and keep irreversible operations out of any account that holds real data.
Guides
Scopes
A key carries scopes; each operation requires exactly one. Grant the fewest you need.
Guides
Idempotency and safe retries
Send an
Idempotency-Keyheader with every write and reuse the same value when you retry that operation: Filmo returns the stored result of the first attempt instead of writing twice.Guides
Versioning and deprecation
Within v1 Filmo only adds things. Anything that could break your integration is announced first, either as a new major version or as a deprecation with at least six months before the sunset.
Was this page helpful?