curl --request POST \
--url https://api.getoneprofile.ai/tables/{table_id}/runs/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"all": false,
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"column_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"limit": 5000,
"offset": 500000,
"record_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"record_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"scope": "all",
"sorts": [
{
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"direction": "asc"
}
],
"where": {
"items": [
{
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "condition",
"value": "<string>"
}
],
"joiner": "and"
}
}
'import requests
url = "https://api.getoneprofile.ai/tables/{table_id}/runs/"
payload = {
"all": False,
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"column_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"limit": 5000,
"offset": 500000,
"record_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"record_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"scope": "all",
"sorts": [
{
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"direction": "asc"
}
],
"where": {
"items": [
{
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "condition",
"value": "<string>"
}
],
"joiner": "and"
}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
all: false,
column_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
column_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
limit: 5000,
offset: 500000,
record_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
record_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
scope: 'all',
sorts: [{column_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', direction: 'asc'}],
where: {
items: [
{
column_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
type: 'condition',
value: '<string>'
}
],
joiner: 'and'
}
})
};
fetch('https://api.getoneprofile.ai/tables/{table_id}/runs/', 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/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'all' => false,
'column_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'column_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'limit' => 5000,
'offset' => 500000,
'record_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'record_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'scope' => 'all',
'sorts' => [
[
'column_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'direction' => 'asc'
]
],
'where' => [
'items' => [
[
'column_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => 'condition',
'value' => '<string>'
]
],
'joiner' => 'and'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/tables/{table_id}/runs/"
payload := strings.NewReader("{\n \"all\": false,\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"column_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"limit\": 5000,\n \"offset\": 500000,\n \"record_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"record_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"scope\": \"all\",\n \"sorts\": [\n {\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"direction\": \"asc\"\n }\n ],\n \"where\": {\n \"items\": [\n {\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"condition\",\n \"value\": \"<string>\"\n }\n ],\n \"joiner\": \"and\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
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/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"all\": false,\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"column_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"limit\": 5000,\n \"offset\": 500000,\n \"record_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"record_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"scope\": \"all\",\n \"sorts\": [\n {\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"direction\": \"asc\"\n }\n ],\n \"where\": {\n \"items\": [\n {\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"condition\",\n \"value\": \"<string>\"\n }\n ],\n \"joiner\": \"and\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/tables/{table_id}/runs/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"all\": false,\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"column_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"limit\": 5000,\n \"offset\": 500000,\n \"record_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"record_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"scope\": \"all\",\n \"sorts\": [\n {\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"direction\": \"asc\"\n }\n ],\n \"where\": {\n \"items\": [\n {\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"condition\",\n \"value\": \"<string>\"\n }\n ],\n \"joiner\": \"and\"\n }\n}"
response = http.request(request)
puts response.read_body{
"request_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"runs": [
{
"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>"
}Start a table run
Start a run, priced first by the preview with the same body. kind says what it covers: column runs one computed column over a scope (all, errored, unfilled, first N, or chosen cells); columns runs several columns over chosen rows as one run in dependency order, which is what a swept selection becomes; rows runs chosen rows, or every row the view matches, across every computed column; failed_cells runs only the cells that failed, column by column. The run is refused before any work starts when the balance cannot cover its price. A run row is created after the request commits, so runs is often empty at first; the active runs feed picks each run up.
curl --request POST \
--url https://api.getoneprofile.ai/tables/{table_id}/runs/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"all": false,
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"column_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"limit": 5000,
"offset": 500000,
"record_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"record_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"scope": "all",
"sorts": [
{
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"direction": "asc"
}
],
"where": {
"items": [
{
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "condition",
"value": "<string>"
}
],
"joiner": "and"
}
}
'import requests
url = "https://api.getoneprofile.ai/tables/{table_id}/runs/"
payload = {
"all": False,
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"column_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"limit": 5000,
"offset": 500000,
"record_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"record_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"scope": "all",
"sorts": [
{
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"direction": "asc"
}
],
"where": {
"items": [
{
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "condition",
"value": "<string>"
}
],
"joiner": "and"
}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
all: false,
column_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
column_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
limit: 5000,
offset: 500000,
record_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
record_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
scope: 'all',
sorts: [{column_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', direction: 'asc'}],
where: {
items: [
{
column_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
type: 'condition',
value: '<string>'
}
],
joiner: 'and'
}
})
};
fetch('https://api.getoneprofile.ai/tables/{table_id}/runs/', 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/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'all' => false,
'column_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'column_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'limit' => 5000,
'offset' => 500000,
'record_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'record_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'scope' => 'all',
'sorts' => [
[
'column_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'direction' => 'asc'
]
],
'where' => [
'items' => [
[
'column_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => 'condition',
'value' => '<string>'
]
],
'joiner' => 'and'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/tables/{table_id}/runs/"
payload := strings.NewReader("{\n \"all\": false,\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"column_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"limit\": 5000,\n \"offset\": 500000,\n \"record_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"record_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"scope\": \"all\",\n \"sorts\": [\n {\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"direction\": \"asc\"\n }\n ],\n \"where\": {\n \"items\": [\n {\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"condition\",\n \"value\": \"<string>\"\n }\n ],\n \"joiner\": \"and\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
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/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"all\": false,\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"column_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"limit\": 5000,\n \"offset\": 500000,\n \"record_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"record_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"scope\": \"all\",\n \"sorts\": [\n {\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"direction\": \"asc\"\n }\n ],\n \"where\": {\n \"items\": [\n {\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"condition\",\n \"value\": \"<string>\"\n }\n ],\n \"joiner\": \"and\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/tables/{table_id}/runs/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"all\": false,\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"column_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"limit\": 5000,\n \"offset\": 500000,\n \"record_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"record_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"scope\": \"all\",\n \"sorts\": [\n {\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"direction\": \"asc\"\n }\n ],\n \"where\": {\n \"items\": [\n {\n \"column_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"condition\",\n \"value\": \"<string>\"\n }\n ],\n \"joiner\": \"and\"\n }\n}"
response = http.request(request)
puts response.read_body{
"request_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"runs": [
{
"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
Path Parameters
Body
What to run: a column, several columns over rows, rows, or every failed cell.
One body for the run and its preview, so the price quoted is the price of
the run asked for. kind says which of the fields apply.
What the run covers. column: one computed column (column_id) over a scope. columns: several columns (column_ids) over chosen rows (record_ids), as one run in dependency order, which is what a swept selection in the grid becomes. rows: chosen rows (record_ids), or every row the view matches (all), across every computed column. failed_cells: only the cells that failed, in every computed column; it takes no other field.
column, columns, rows, failed_cells kind=rows: run every row the view matches (where, row_status) instead of record_ids. At most view_scope_max_rows rows may match; a wider view is refused with scope_too_large.
kind=column: the column to run.
kind=columns: the computed columns to run, in any order. A column another one here feeds is planned once, after its input, so no column reads a value a sibling is still computing.
1 - 100 elementskind=column, scope=first_n: how many rows (default 10).
1 <= x <= 10000kind=column, scope=first_n: the row to start from, in display order; omit to start at the first row.
0 <= x <= 1000000kind=column, scope=cell: the target row; see also record_ids.
The target rows. kind=column with scope=cell (wins over record_id); kind=columns, shared by every column named; kind=rows, the rows to run instead of all. Duplicates are dropped and the order is kept.
1000The grid's active smart view (errored or fully computed rows), ANDed with where. kind=column, or kind=rows with all.
errored, fully_computed kind=column: all | errored | unfilled | first_n | cell. all, errored and first_n share the column's own run: a broader run replaces a narrower one still going, and cells already computed under the same definition are skipped. cell runs are independent of each other.
all, errored, unfilled, first_n, cell kind=column: the grid's active sort, so first_n means the first N rows the person can SEE rather than the first N in stored order. Ignored by every other scope.
8Show child attributes
Show child attributes
The grid's active filter, in the rows query's own vocabulary. kind=column: narrows every scope but cell to the matching rows (all runs every matching row, errored / unfilled keep only matching rows, first_n counts within them). kind=rows with all: the rows to run.
Show child attributes
Show child attributes
Response
Successful Response
The runs a run request asked for.
A run row is minted after the request commits, so runs is usually
empty at the moment of asking; request_ids is known at once, and each
run carries its request's id as its origin.
One id per run asked for: one for a column, columns or rows run, and one per computed column for a failed_cells run.
The runs already minted, in the order asked. A run whose start is still queued is absent; the active-runs feed picks it up.
Show child attributes
Show child attributes
Was this page helpful?