> For the complete documentation index, see [llms.txt](https://doc-api.blurit.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc-api.blurit.io/api-v1/using-the-api-v1.md).

# Using the API v1

## Workflow

The **BlurIt** **Anonymization API** operates asynchronously, as the processing time for media files can vary significantly—from a few seconds for images to several hours for large video files. To monitor the status of an anonymization job, the API provides two options:

* **Pull Mode**: You periodically check the status of a job by calling the `GET /innovation-service/anonymization` endpoint until the job is complete.
* **Push Mode**: We notify you of any changes to the job status via a webhook endpoint that you create and host.

### Pull mode workflow

* **Create a Job**\
  Send a `POST` request to `/innovation-service/anonymization` to create an anonymization job. The API will return a unique Job ID.
* **Check Job Status** *(Optional)*\
  Use the `GET /innovation-service/anonymization` endpoint to retrieve the job's current status (e.g., started, completed, failed). Pass the Job ID received in step 1 as a parameter.

  > **Note**: This step is optional if you use webhooks to receive status updates.
* **Download the Processed Media**\
  Once the job is complete, use the `GET /innovation-service/result/{fileName}` endpoint to download the processed media. Provide the file name from step 2 or from the WebSocket message (if applicable).

**⚠ Important:**

In pull mode, step 2 must be performed periodically until the job processing is complete—regardless of whether the result is successful or has failed.

<figure><img src="https://4132544247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FR8lhgtK7MaVTEBLYlu3j%2Fuploads%2FtcGPItcWoDWyE5ll70Ia%2Fschema.png?alt=media&amp;token=94956ef5-9b00-49fb-b053-1333a78598e8" alt=""><figcaption></figcaption></figure>

### Push mode workflow

For details about the workflow when using Webhooks, refer to the following section :

[Webhook](/api-v1/webhook.md)

## Supported file formats

The BlurIt Anonymization API supports the following file formats :thumbsup:

* Images
  * JPEG
  * PNG
  * WEBP
* Videos
  * MP4
  * AVI
  * MOV
  * MKV
* ZIP archives containing supported image or video files.

For a detailed list of supported MIME types, please refer to the `input_format` parameter description in the `POST /innovation-service/anonymization` documentation.

## Limitations

* The file size for media uploaded to the BlurIt Anonymization API must not exceed **8 GB**.
* For ZIP files, the 8 GB limitation applies to the ZIP file itself (including all files contained within the archive).
