Start a run now
Trigger every in-scope connection immediately.
A RUNNING run blocks this with 409 run_in_flight — it owns live Airbyte jobs, and a second run would stack a duplicate sync on each of them. A HELD run does not block: a hold is a run parked waiting for a person, and that person asking for a fresh run IS the decision, so the held run is closed as skipped (superseded) and a new one starts.
Runs are one per client per day, so a same-day rerun returns 409 run_exists_today — retry the failed steps instead. Requires ak_.
curl -X POST "https://mythic-analytics.gulp.workers.dev/client/v1/airbyte/pipelines/example_string/runs" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://mythic-analytics.gulp.workers.dev/client/v1/airbyte/pipelines/example_string/runs"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.post(url, headers=headers)
print(response.json())
const response = await fetch("https://mythic-analytics.gulp.workers.dev/client/v1/airbyte/pipelines/example_string/runs", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("POST", "https://mythic-analytics.gulp.workers.dev/client/v1/airbyte/pipelines/example_string/runs", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://mythic-analytics.gulp.workers.dev/client/v1/airbyte/pipelines/example_string/runs')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"run_id": "example_string",
"client_id": "example_string",
"run_date": "2024-12-25",
"status": "running",
"complete": true,
"forced": true,
"held_reason": "example_string",
"triggered_by": "schedule",
"started_at": "2024-12-25T10:00:00Z",
"finished_at": "2024-12-25T10:00:00Z",
"totals": {
"total": 42,
"succeeded": 42,
"failed": 42,
"skipped": 42,
"records_committed": 42
},
"connections": [
{
"connection_id": "example_string",
"name": "John Doe",
"platform": "example_string",
"status": "pending",
"reason": "example_string",
"job_id": 123,
"records": 42,
"bytes": 42,
"duration_seconds": 42,
"first_time": true,
"last_success_at": "2024-12-25T10:00:00Z"
}
]
}
}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
{
"error": "Forbidden",
"message": "You don't have permission to access this resource",
"code": 403
}
{
"error": "Conflict",
"message": "The request conflicts with the current state of the resource",
"code": 409,
"details": "Resource already exists"
}
/pipelines/{clientId}/runsTarget server for requests. Edit to use your own host.
Agency key as bearer token, format Bearer ak_.... Grants full read-write access scoped to the agency. Agency-wide scoped keys (mcp_ with no fixed location) are accepted too and need airbyte:read or airbyte:write; a client-bound mcp_ key gets 403 agency_key_required. See Using an mcp_ key over HTTP.
Bearer ak_.... Grants full read-write access scoped to the agency. Agency-wide scoped keys (mcp_ with no fixed location) are accepted too and need airbyte:read or airbyte:write; a client-bound mcp_ key gets 403 agency_key_required. See Using an mcp_ key over HTTP.
Location secret key as bearer token, format Bearer sk_.... Grants read-only access; the agency is resolved from the location. Write endpoints return 403.
Bearer sk_.... Grants read-only access; the agency is resolved from the location. Write endpoints return 403.
Client (location) identifier the pipeline belongs to.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Agency key as bearer token, format Bearer ak_.... Grants full read-write access scoped to the agency. Agency-wide scoped keys (mcp_ with no fixed location) are accepted too and need airbyte:read or airbyte:write; a client-bound mcp_ key gets 403 agency_key_required. See Using an mcp_ key over HTTP.
Bearer token. Location secret key as bearer token, format Bearer sk_.... Grants read-only access; the agency is resolved from the location. Write endpoints return 403.
Path Parameters
Client (location) identifier the pipeline belongs to.
Responses
One client's syncs for one day. Also the body of the completion webhook, under data.