import Indices from 'indicesio';
const client = new Indices({
apiKey: process.env['INDICES_API_KEY'], // This is the default and can be omitted
});
const run = await client.beta.runs.run({ connector_id: 'connector_id' });
console.log(run.id);import os
from indices import Indices
client = Indices(
api_key=os.environ.get("INDICES_API_KEY"), # This is the default and can be omitted
)
run = client.beta.runs.run(
connector_id="connector_id",
)
print(run.id)curl --request POST \
--url https://api.indices.io/v1beta/runs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"connector_id": "<string>",
"arguments": {},
"secret_bindings": {},
"async": false,
"max_timeout_s": 300
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.indices.io/v1beta/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([
'connector_id' => '<string>',
'arguments' => [
],
'secret_bindings' => [
],
'async' => false,
'max_timeout_s' => 300
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.indices.io/v1beta/runs"
payload := strings.NewReader("{\n \"connector_id\": \"<string>\",\n \"arguments\": {},\n \"secret_bindings\": {},\n \"async\": false,\n \"max_timeout_s\": 300\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.indices.io/v1beta/runs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"connector_id\": \"<string>\",\n \"arguments\": {},\n \"secret_bindings\": {},\n \"async\": false,\n \"max_timeout_s\": 300\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.indices.io/v1beta/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"connector_id\": \"<string>\",\n \"arguments\": {},\n \"secret_bindings\": {},\n \"async\": false,\n \"max_timeout_s\": 300\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"connector_id": "<string>",
"arguments": {},
"status": "pending",
"result_json": "<string>",
"error": {
"type": "<string>",
"message": "<string>",
"retryable": true,
"exception": "<string>",
"details": {}
},
"has_logs": true,
"created_at": "2023-11-07T05:31:56Z",
"finished_at": "2023-11-07T05:31:56Z",
"secret_bindings": {}
}{
"id": "<string>",
"connector_id": "<string>",
"arguments": {},
"status": "pending",
"result_json": "<string>",
"error": {
"type": "<string>",
"message": "<string>",
"retryable": true,
"exception": "<string>",
"details": {}
},
"has_logs": true,
"created_at": "2023-11-07T05:31:56Z",
"finished_at": "2023-11-07T05:31:56Z",
"secret_bindings": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Run a connector
Execute a connector. By default the call blocks until the run finishes. Pass async: true to return immediately, in which case you should poll GET /runs to retrieve the result once it’s ready.
import Indices from 'indicesio';
const client = new Indices({
apiKey: process.env['INDICES_API_KEY'], // This is the default and can be omitted
});
const run = await client.beta.runs.run({ connector_id: 'connector_id' });
console.log(run.id);import os
from indices import Indices
client = Indices(
api_key=os.environ.get("INDICES_API_KEY"), # This is the default and can be omitted
)
run = client.beta.runs.run(
connector_id="connector_id",
)
print(run.id)curl --request POST \
--url https://api.indices.io/v1beta/runs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"connector_id": "<string>",
"arguments": {},
"secret_bindings": {},
"async": false,
"max_timeout_s": 300
}
'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.indices.io/v1beta/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([
'connector_id' => '<string>',
'arguments' => [
],
'secret_bindings' => [
],
'async' => false,
'max_timeout_s' => 300
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.indices.io/v1beta/runs"
payload := strings.NewReader("{\n \"connector_id\": \"<string>\",\n \"arguments\": {},\n \"secret_bindings\": {},\n \"async\": false,\n \"max_timeout_s\": 300\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.indices.io/v1beta/runs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"connector_id\": \"<string>\",\n \"arguments\": {},\n \"secret_bindings\": {},\n \"async\": false,\n \"max_timeout_s\": 300\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.indices.io/v1beta/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"connector_id\": \"<string>\",\n \"arguments\": {},\n \"secret_bindings\": {},\n \"async\": false,\n \"max_timeout_s\": 300\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"connector_id": "<string>",
"arguments": {},
"status": "pending",
"result_json": "<string>",
"error": {
"type": "<string>",
"message": "<string>",
"retryable": true,
"exception": "<string>",
"details": {}
},
"has_logs": true,
"created_at": "2023-11-07T05:31:56Z",
"finished_at": "2023-11-07T05:31:56Z",
"secret_bindings": {}
}{
"id": "<string>",
"connector_id": "<string>",
"arguments": {},
"status": "pending",
"result_json": "<string>",
"error": {
"type": "<string>",
"message": "<string>",
"retryable": true,
"exception": "<string>",
"details": {}
},
"has_logs": true,
"created_at": "2023-11-07T05:31:56Z",
"finished_at": "2023-11-07T05:31:56Z",
"secret_bindings": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Enter your API key as the bearer token. Set header: Authorization to Bearer <api_key>
Body
ID of the connector to execute.
Arguments to pass to the connector. Optional if the connector does not require any arguments.
Mapping of secret slot names to secret IDs. Each slot defined in the connector's required_secrets must be mapped to a user-owned secret.
Show child attributes
Show child attributes
When true, return immediately with a pending run; poll retrieveRun for the result.
Maximum execution time in seconds before the run is timed out.
1 <= x <= 3600Response
Successful response
Unique identifier for the object.
ID of the connector executed in this run.
Arguments in this run for the connector's input parameters.
Lifecycle status of the run: pending, running, success, connector_error, timed_out, result_too_large, or internal_error. connector_error means the connector's code failed (see error); timed_out and internal_error are platform outcomes worth retrying; result_too_large is not retryable as-is.
pending, running, success, connector_error, timed_out, result_too_large, internal_error Execution result of the run. In JSON, matching the connector's output schema. Limited to 100MB; results above 100MB will be truncated and result in a result_too_large status.
Why the run failed. Present iff status is connector_error; for platform failures the status itself is the reason.
Show child attributes
Show child attributes
Whether the run has associated logs
Timestamp when the object was created.
Timestamp when the object was last updated.
Secrets to use for this run. This dict must be a mapping of secret slot names to secret IDs.
Show child attributes
Show child attributes