{
  "opencollection": "1.0.0",
  "info": {
    "name": "Lingopal API v2 Jobs Upload API",
    "version": "v2"
  },
  "request": {
    "auth": {
      "type": "apikey",
      "key": "X-API-Key",
      "value": "{{X-API-Key}}",
      "placement": "header"
    }
  },
  "items": [
    {
      "info": {
        "name": "Upload",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Upload and register a small file",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://vod-api.lingopal-dev.com/v2/jobs/upload-and-register",
            "body": {
              "type": "multipart-form",
              "data": []
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Uploads a small file directly to Lingopal and registers it as media or a document. For files larger than the direct upload limit, use `/v2/storage/uploads` multipart upload. Provide target languages and translation context later through the appropriate `/v2/jobs/{job_id}` workflow endpoint."
        },
        {
          "info": {
            "name": "Register jobs for later use",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://vod-api.lingopal-dev.com/v2/jobs/register",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Registers one or more uploaded or externally hosted file URLs as Lingopal media/document records. This endpoint records source metadata only; processing inputs such as target languages and translation context are supplied later through the appropriate `/v2/jobs/{job_id}` workflow endpoint. Per-item failures are returned in the `results` array with `status=\"error\"`."
        },
        {
          "info": {
            "name": "Create a presigned storage upload",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://vod-api.lingopal-dev.com/v2/storage/uploads",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Returns one or more presigned S3 upload URLs for uploading a source file before registering it with `/v2/jobs/register`. Provide `file_size` to request a multipart upload."
        },
        {
          "info": {
            "name": "Complete a multipart storage upload",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://vod-api.lingopal-dev.com/v2/storage/uploads/complete",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "X-API-Key",
              "value": "{{X-API-Key}}",
              "placement": "header"
            }
          },
          "docs": "Completes an S3 multipart upload created by `/v2/storage/uploads`. Only uploads owned by the authenticated user can be completed."
        }
      ]
    }
  ],
  "bundled": true
}