Echo Labs Docs
Search the docs
Find a guide, an endpoint or a section

List jobs

List workspace API jobs, newest first

GET https://api.el.ai/v1/jobs

Lists API jobs in this workspace, newest first. Status is filtered after pagination; keep paging until has_more is false, even if a page is shorter than limit.

Authorization

  • Authorization header · string Required

    Bearer el_live_…, a workspace API key. About keys

Query parameters

  • limit integer

    Page size. Defaults to 20, maximum 100; both are configurable per workspace.

    ≥ 1
  • starting_after string · uuid

    Last job ID from the previous page.

  • status string
    One of
    queued
    processing
    completed
    cancelled

Response · 200

application/json

Success.

  • object string
    One of
    list
  • data array of Job
    • id string · uuid
    • object string
      One of
      job
    • status string
      One of
      queued
      processing
      completed
      cancelled
    • progress integer · nullable
      0–100
    • eta string · date-time · nullable
    • title string
    • media object
      • type string
        One of
        url
        upload
      • url string · nullable
      • upload_id string · uuid · nullable
      • duration_seconds number
    • language string · nullable
    • options object
      • style string

        clean removes fillers, false starts, and stutters; verbatim keeps every spoken word.

        One of
        clean
        verbatim
        Default
        clean
      • model string

        Captioning model. Only ave-base is supported.

        One of
        ave-base
        Default
        ave-base
      • speaker_labels boolean

        Identify speaker turns. Set false for dialogue without labels.

        Default
        true
      • speaker_label_style string

        SRT/VTT labels: >> NAME:, [NAME], NAME:, or dashes without names. Ignored when speaker_labels is false. Transcripts use their native speaker headings; JSON has a separate speaker field.

        One of
        gt_name
        brackets
        colon
        dashes
        Default
        gt_name
      • atmospherics boolean

        Include meaningful non-speech sounds. Uses the same add-on pricing as dashboard checkout.

        Default
        true
      • profanity string

        Keep profanity, mask it (f***), replace it with [expletive], or omit it. Does not alter source audio.

        One of
        as_spoken
        mask
        label
        omit
        Default
        as_spoken
      • redactions Redactions

        Privacy controls for caption text, using the same redaction pricing as checkout. Source audio and video are unchanged.

        Accepts one of:
        • Standard replacement
        • Custom replacement requires replacement, custom_replacement
        • pii boolean

          Redact personal data such as emails and phone numbers.

          Default
          false
        • names boolean

          Redact named individuals.

          Default
          false
        • organizations boolean

          Redact organization names.

          Default
          false
        • terms array of string

          Custom terms to redact, one term per item; each must be a nonblank single line.

          Default
          []
          ≤ 200 items
        • replacement string

          Replace with [REDACTED], a category such as [EMAIL], nothing, or custom_replacement.

          One of
          redacted
          category_label
          silent
          custom_string
          Default
          category_label
        • custom_replacement string

          Required when replacement is custom_string. Nonblank, single-line text.

          1–120 chars
      • glossary array of string
      • webhook_url string · nullable
    • cost object · nullable
      • amount string

        Decimal amount in USD, net of refunds.

      • currency string
        One of
        usd
    • cancellation object · nullable
      • reason string
        One of
        unsupported_language
        unsupported_media
        unusable_media
        media_unavailable
        deleted
        not_started
      • message string
    • captions object · nullable
      • srt string · uri
      • vtt string · uri
      • txt string · uri
      • docx string · uri
      • json string · uri
    • metadata map of string

      String values. Defaults: 20 keys of 1–40 characters, values up to 500 characters. These maxima are configurable per workspace.

    • created_at string · date-time
    • completed_at string · date-time · nullable
  • has_more boolean

Headers

  • request-id string

    Support request identifier.

  • cache-control string
    One of
    no-store

Errors

Errors share one shape: an error object with a stable code and a human-readable message. See Errors and retries.

400Invalid request
401Missing, invalid or revoked API key
402Insufficient funds or budget
403Key or workspace does not allow this operation
404Resource not found in this workspace
409Conflict
413JSON body exceeds 64 KiB
415Unsupported content type
422Media or order cannot be processed
429Shared read limit per API key or write limit per workspace exceeded
500Internal error
503temporarily_unavailable: request limit enforcement is unavailable, or job submission is busy. Retry after 5 seconds.