API Documentation

Version 2 (/api/v2). Processing files is done via jobs, each containing one or more tasks.

Introduction

A typical job imports a file, converts it, then exports the result. Tasks reference each other's outputs by name, so you can fan out (convert and thumbnail at once) or chain operations.

Base URL: https://fileconvert.myevent-labs.io/api/v2

Authentication

Create an API key in your dashboard, then send it as a Bearer token:

Authorization: Bearer fc_live_xxx

Scopes limit what a key can do: user.read, user.write, task.read, task.write, webhook.read, webhook.write.

Jobs & tasks

Create a job:

curl -X POST https://fileconvert.myevent-labs.io/api/v2/jobs \
  -H "Authorization: Bearer fc_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "tasks": {
      "import-1":  { "operation": "import/url", "url": "https://example.com/report.pdf" },
      "convert-1": { "operation": "convert", "input": "import-1", "output_format": "docx" },
      "export-1":  { "operation": "export/url", "input": "convert-1" }
    }
  }'

Response:

{
  "data": {
    "id": "job_abc123",
    "status": "finished",
    "tasks": [
      { "name": "import-1",  "status": "finished" },
      { "name": "convert-1", "status": "finished", "credits": 4 },
      { "name": "export-1",  "status": "finished",
        "result": { "files": [
          { "name": "report.docx", "size": 18234,
            "url": "https://fileconvert.myevent-labs.io/api/files/file_xyz" }
        ] } }
    ]
  }
}

Tasks are executed in order. Supported operations: import/url, import/base64, convert, export/url.

Retrieve a job or task:

GET https://fileconvert.myevent-labs.io/api/v2/jobs/{id}
GET https://fileconvert.myevent-labs.io/api/v2/tasks/{id}

Conversion operations

List the conversion matrix:

GET https://fileconvert.myevent-labs.io/api/v2/operations?filter[operation]=convert
GET https://fileconvert.myevent-labs.io/api/v2/operations?filter[input_format]=pdf

The catalog currently exposes 2,156 conversion pairs across 205 formats.

Format catalog

Browse supported formats and conversions from the home page, or per category (e.g. images).

Errors & limits

{ "message": "The given data was invalid.", "code": "INVALID_DATA" }

Standard HTTP status codes: 401 (unauthenticated), 403 (missing scope), 402 (insufficient credits), 422 (invalid data), 429 (rate limited), 500 (server error).

Credits

Conversions consume credits: a base cost per conversion type plus roughly one credit per minute of processing. Only successful conversions are charged. Check prices with:

GET https://fileconvert.myevent-labs.io/api/v2/plans/package/1000
GET https://fileconvert.myevent-labs.io/api/v2/plans/subscription/1000