Sieve Jobs API

Push, retrieve, list, and cancel asynchronous function jobs.

Operations 4

POST /push Push New Job #
GET /jobs List Jobs #
GET /jobs/{job_id} Get Job #
DELETE /jobs/{job_id} Cancel Job #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sieve-jobs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sieve-jobs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sieve Functions Jobs API
  description: REST API for the Sieve AI media-processing platform. Sieve exposes prebuilt public functions and apps (transcription, dubbing, lip-sync, segmentation, object tracking, background removal, and more) as well as custom user functions, all invoked asynchronously as jobs. Submit a job with the Push endpoint, then poll the Jobs endpoints for status and outputs or receive results via webhooks.
  termsOfService: https://www.sievedata.com/terms
  contact:
    name: Sieve Support
    url: https://docs.sievedata.com
  version: v2
servers:
- url: https://mango.sievedata.com/v2
  description: Sieve API v2
security:
- ApiKeyAuth: []
tags:
- name: Jobs
  description: Push, retrieve, list, and cancel asynchronous function jobs.
paths:
  /push:
    post:
      operationId: pushJob
      tags:
      - Jobs
      summary: Push New Job
      description: Creates a new job by running a function. Specify the function with `function` (author/name[:version]) or `id` - one or the other, not both - and pass the function's parameters in `inputs`. Optionally register `webhooks` to be notified on job events.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PushRequest'
            example:
              function: sieve/dubbing
              inputs:
                file:
                  url: https://storage.googleapis.com/sieve-public-data/assets/dub.m4a
                target_language: spanish
              webhooks:
              - type: job.complete
                url: https://example.com/sieve-webhook
      responses:
        '200':
          description: The job was accepted and queued.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PushResponse'
        '401':
          description: Missing or invalid API key.
        '422':
          description: Validation error in the request body.
  /jobs:
    get:
      operationId: listJobs
      tags:
      - Jobs
      summary: List Jobs
      description: List all jobs in your organization, optionally filtered by status.
      parameters:
      - name: limit
        in: query
        description: The maximum number of jobs to show.
        required: false
        schema:
          type: integer
          default: 500
      - name: offset
        in: query
        description: Exclude the first N jobs.
        required: false
        schema:
          type: integer
          default: 0
      - name: status
        in: query
        description: Filter by status. One of queued, processing, error, finished, cancelled. Leave empty to get all statuses.
        required: false
        schema:
          type: string
          default: ''
      responses:
        '200':
          description: A page of jobs.
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Job'
                  next_offset:
                    type: integer
                    default: -1
        '401':
          description: Missing or invalid API key.
        '422':
          description: Validation error.
  /jobs/{job_id}:
    get:
      operationId: getJob
      tags:
      - Jobs
      summary: Get Job
      description: Get information about a specific job by id, including status and outputs.
      parameters:
      - name: job_id
        in: path
        description: The ID of the job.
        required: true
        schema:
          type: string
        example: 43d7add5-61cf-44ad-aac8-c5d14c642bb4
      - name: offset
        in: query
        description: Exclude the first N outputs.
        required: false
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: The job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '400':
          description: Bad request.
        '401':
          description: Missing or invalid API key.
        '404':
          description: Job not found.
        '422':
          description: Validation error.
    delete:
      operationId: cancelJob
      tags:
      - Jobs
      summary: Cancel Job
      description: Cancels a running job.
      parameters:
      - name: job_id
        in: path
        description: The ID of the job.
        required: true
        schema:
          type: string
        example: 43d7add5-61cf-44ad-aac8-c5d14c642bb4
      responses:
        '200':
          description: The job was cancelled.
          content:
            application/json:
              schema:
                type: object
                required:
                - message
                properties:
                  message:
                    type: string
                    description: Description of the event.
        '400':
          description: Bad request.
        '401':
          description: Missing or invalid API key.
        '404':
          description: Job not found.
        '422':
          description: Validation error.
components:
  schemas:
    Webhook:
      type: object
      required:
      - type
      - url
      properties:
        type:
          type: string
          description: The webhook event type.
          enum:
          - job.start
          - job.complete
          - job.complete.no_output
          - job.new_output
        url:
          type: string
          description: The URL Sieve will POST the notification to.
    PushRequest:
      type: object
      required:
      - inputs
      properties:
        function:
          type:
          - string
          - 'null'
          description: The name of the function, in the format author/name[:version]. Either function or id may be specified, but not both.
        id:
          type:
          - string
          - 'null'
          description: The ID of the function to be called.
        inputs:
          type: object
          description: The inputs to the job. Fields vary by function.
          additionalProperties: true
        webhooks:
          type:
          - array
          - 'null'
          description: Webhooks to notify on job events.
          items:
            $ref: '#/components/schemas/Webhook'
        env:
          type:
          - object
          - 'null'
          description: Environment variables for the given job.
          additionalProperties: true
    PushResponse:
      type: object
      required:
      - id
      - run_id
      - stream_output
      - status
      - organization_id
      - model_id
      - workflow_id
      properties:
        id:
          type: string
          description: The ID of the job.
        run_id:
          type: string
          description: Internal metadata.
        stream_output:
          type: boolean
          description: Whether the output will be streamed.
        status:
          type: string
          description: The status of the job.
          enum:
          - queued
          - processing
          - error
          - finished
          - cancelled
        organization_id:
          type: string
          description: The ID of the organization.
        model_id:
          type: string
          description: The ID of the model.
        workflow_id:
          type:
          - string
          - 'null'
          description: The ID of the workflow.
    Job:
      type: object
      required:
      - id
      - function_id
      - organization_id
      - status
      properties:
        id:
          type: string
          description: The id of the job.
        function_id:
          type: string
          description: The id of the function that the job belongs to.
        organization_id:
          type: string
          description: The ID of the organization that submitted the function.
        function:
          type:
          - object
          - 'null'
          description: The function that the job belongs to.
          additionalProperties: true
        status:
          type: string
          description: The status of the job.
          enum:
          - queued
          - processing
          - error
          - finished
          - cancelled
        created_at:
          type:
          - string
          - 'null'
          format: date-time
          description: The UTC time the job was created.
        started_at:
          type:
          - string
          - 'null'
          format: date-time
          description: The UTC time the job started processing.
        completed_at:
          type:
          - string
          - 'null'
          format: date-time
          description: The UTC time the job was completed.
        error:
          type:
          - string
          - 'null'
          description: The error the job ran into. Empty string if there is no error.
        visibility:
          type: string
          description: '"public" or "private".'
        run_id:
          type:
          - string
          - 'null'
          description: The run_id of the job.
        inputs:
          type: object
          description: The inputs the job was submitted with.
          additionalProperties: true
        outputs:
          type: array
          description: The outputs produced by the job.
          items:
            type: object
            additionalProperties: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: The Sieve API key to authenticate with.