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.

  1. 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_inactive or api_key_owner_not_admin if 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.

  2. Respect Retry-After and send an Idempotency-Key on writes

    Wait for Retry-After on a 429, send an Idempotency-Key on every write, and follow the retry decision table. See Rate limits, Idempotency and Errors.

  3. Handle responses that are not application/problem+json

    A 413, 502 or 504 can come from the platform and carry no code and no requestId. Decide by the status and do not try to read a code.

  4. Tolerate unknown properties and enum values

    Clients generated with closed enums break on the additive changes the version policy allows. See Versioning.

  5. Log, alert and subscribe

    Log X-Request-Id on every call. Filmo generates it on the server, so you cannot choose it; when you contact support, send the requestId together with the approximate time of the request. Alert on 401 api_key_owner_inactive and api_key_owner_not_admin, and on the Deprecation and Sunset headers. Subscribe to the feed of the Changelog tab.

  6. 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 origin to exclude api. 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.

  7. 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.

  8. Review the capabilities and limits, and test

    Read Capabilities and limits for the hard limits, then run the checks in Testing.

The 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.

Run GET /api/v1/account 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"
  • Guides

    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-Key header 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.