Verifier · Developers
Verifier · Developers
WorkspaceOpenAPI JSONQuickstartAPI reference
GET /v1/pipelinesPOST /v1/pipelinesDELETE /v1/pipelines/{pipeline_id}GET /v1/pipelines/{pipeline_id}PATCH /v1/pipelines/{pipeline_id}POST /v1/pipelines/{pipeline_id}/pausePOST /v1/pipelines/{pipeline_id}/pushPOST /v1/pipelines/{pipeline_id}/resumeGET /v1/pipelines/{pipeline_id}/runsGET /v1/pipelines/{pipeline_id}/runs/{run_id}POST /v1/pipelines/{pipeline_id}/trigger
Pipelines

POST /v1/pipelines

POST /v1/pipelines

Family: Pipelines · Operation ID: v1_create_pipeline

Access

Workspace API key: Authorization: Bearer <key>. The key is scoped to its workspace; the backend checks operation permissions and quota.

Open pipelines

Required scope: pipelines.write

Create a key in Developer settings. Set API_BASE_URL to the current app origin.

Request example

curl --fail-with-body -X POST "$API_BASE_URL/v1/pipelines" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @request.json

Request body · application/json

{
  "$ref": "#/components/schemas/CreatePipelineInput",
  "definition": {
    "example": {
      "delivery": {
        "dashboard": true,
        "max_attempts": 5,
        "retry_backoff_seconds": 300,
        "webhook": null
      },
      "name": "Weekly Cleanup",
      "policy": {
        "missed_run_window_hours": 24
      },
      "schedule": {
        "cron": "0 9 * * 1",
        "timezone": "UTC"
      },
      "source": {
        "list_id": 123,
        "type": "list_snapshot"
      },
      "status": "active",
      "verification": {
        "delta_mode": true,
        "freshness_days": 30
      }
    },
    "properties": {
      "delivery": {
        "$ref": "#/components/schemas/PipelineDeliveryConfig"
      },
      "name": {
        "type": "string"
      },
      "policy": {
        "$ref": "#/components/schemas/PipelinePolicyConfig"
      },
      "schedule": {
        "$ref": "#/components/schemas/PipelineSchedule"
      },
      "source": {
        "$ref": "#/components/schemas/PipelineSource"
      },
      "status": {
        "$ref": "#/components/schemas/PipelineStatus"
      },
      "verification": {
        "$ref": "#/components/schemas/PipelineVerificationSettings"
      }
    },
    "required": [
      "name",
      "source",
      "schedule"
    ],
    "type": "object"
  }
}

Responses

201

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PipelineView"
      }
    }
  },
  "description": "Pipeline created"
}

400

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PipelineErrorResponse"
      }
    }
  },
  "description": "Bad request"
}

403

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PipelineErrorResponse"
      }
    }
  },
  "description": "Forbidden"
}

500

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PipelineErrorResponse"
      }
    }
  },
  "description": "Internal server error"
}

503

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PipelineErrorResponse"
      }
    }
  },
  "description": "Service unavailable"
}

default

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ErrorEnvelope"
      }
    }
  },
  "description": "Request error"
}

Download the full OpenAPI contract

GET /v1/pipelines

Previous Page

DELETE /v1/pipelines/{pipeline_id}

Next Page