§ DOCUMENTATION

Clear an asset in two calls.

Starla runs a pre-flight compliance evaluation on regulated marketing assets and returns a clause-cited verdict against Portman, DISCUS, ASA, TTB, platform and house standards. It advises; it never publishes or approves.

Getting started

An evaluation is asynchronous. You hand Starla a batch of assets and the frameworks to judge them against, and it hands back an id you can poll. Every asset in the batch becomes one job— the API's own noun for a single ruling.

  1. 01

    Submit the assets

    POST /v1/evaluations as multipart form data: a name, the frameworks to judge against, and the files themselves. The evaluation id comes back immediately.

  2. 02

    Poll the evaluation

    GET /v1/evaluations/{evaluationId} returns the batch's status and, once it is completed, the section-by-section ruling for every asset in it.

  3. 03

    Zoom into one asset

    Optional. Each file in a batch is a job — GET /v1/jobs/{id} reads a single one back on its own, with the clause each finding cites.

  4. 04

    Work with what is already there

    Optional. GET /v1/frameworks lists what you can judge against, GET /v1/assets lists the media already in the workspace, and POST /v1/uploads sends a large file straight to storage instead of through the evaluation call.

Authentication

Every request carries a tenant-scoped API key in an X-API-Key header. Keys are issued per workspace and never leave the server that holds them — keep yours in an environment variable, not in client code.

Header
X-API-Key: $STARLA_API_KEY

A missing or expired key returns 401 Unauthorized. The session token the web app carries is not an API key and will be rejected the same way — the public API accepts nothing but this header.

Every endpoint, in full

Requests, parameters and response shapes for the public API.

Read the reference