curl --request POST \
--url https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/"
headers = {"X-API-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"cells_awaiting": 123,
"cells_done": 123,
"cells_failed": 123,
"cells_no_data": 123,
"cells_skipped": 123,
"cells_total": 123,
"completed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"error": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"row_scope": {
"kind": "all_rows",
"record_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"rows": 123
},
"started_at": "2023-11-07T05:31:56Z",
"status": "pending",
"table_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trigger": "cell_edited",
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"column_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"credits_charged": 0,
"export_retry_attempt": 0
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Cancel a table run
Request cancellation of one active run: the run flips to cancelling, its running pages observe the flip within about a second (answers already in the table stay; a cell still computing is dropped uncharged), and the workflow finalizes the run as cancelled. Edge case: a cancel accepted after the final page has already computed finalizes the run as completed (or completed_with_errors) instead of cancelled.
curl --request POST \
--url https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/"
headers = {"X-API-Key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/tables/{table_id}/runs/{run_id}/cancel/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"cells_awaiting": 123,
"cells_done": 123,
"cells_failed": 123,
"cells_no_data": 123,
"cells_skipped": 123,
"cells_total": 123,
"completed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"error": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"row_scope": {
"kind": "all_rows",
"record_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"rows": 123
},
"started_at": "2023-11-07T05:31:56Z",
"status": "pending",
"table_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"trigger": "cell_edited",
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"column_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"credits_charged": 0,
"export_retry_attempt": 0
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Response
Successful Response
A table recompute run with its static denominator and monotone counters.
Cells the run held because an input they read has not been computed yet. Not a final state: a later run fills them. Counted within cells_done.
Cells processed so far; clamped to cells_total so the banner can never overshoot.
Cells whose formula evaluation failed.
Cells that ran clean but found nothing. Never retried, and excluded from errored views. Free for a lookup; an AI column's cell is charged what it used. Counted within cells_done.
Cells the run deliberately skipped: a missing required input or a false run condition. Counted within cells_done.
Exact static denominator, fixed when the run plan is minted.
Failure description when the run status is failed.
The rows this run resolved to at mint. Present on every read so a resync cannot lose it and silently fall back to painting the whole column busy.
Show child attributes
Show child attributes
The run's lifecycle status.
pending, running, cancelling, cancelled, paused_for_credits, completed, completed_with_errors, failed What kind of mutation requested the run.
cell_edited, row_added, row_manual, column_added, column_edited, column_manual The column a column-lineage run recomputes, parsed from its workflow identity; null for whole-table runs. Narrows the grid's busy paint to one column; row_scope is what narrows it to the rows within that column.
Every column this run's plan covers, in dependency (layer) order, not the order they were requested in. Null on runs minted before the plan was published, where column_id is all there is. This is what narrows the grid's busy paint when one run covers several columns, which column_id cannot express.
Credits charged so far. Grows while the run works, as its finished cells are settled every few seconds; final once the run ends.
How many automatic export retries preceded this run. 0 is a run a person or a schedule asked for; higher values mark the follow-ups queued for rows whose push failed for a retryable reason, so a run history can tell 'we tried again' from 'you ran it again'.
Was this page helpful?