Complete a held run anyway
Close a held run as succeeded despite failed syncs, and fire the completion webhook.
Deliberately a per-run decision and NOT a pipeline setting. The moment "partial is acceptable" becomes configuration, nobody looks at a held run again and the gate quietly becomes decoration.
forced: true is stamped on the run and travels in the webhook permanently, because everything built on this run was built on knowingly incomplete data. Requires ak_.
curl -X POST "https://mythic-analytics.gulp.workers.dev/client/v1/airbyte/pipelines/example_string/runs/example_string/force" \
-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/example_string/force"
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/example_string/force", {
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/example_string/force", 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/example_string/force')
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": "Not Found",
"message": "The requested resource was not found",
"code": 404
}
/pipelines/{clientId}/runs/{runId}/forceTarget 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.