Skip to main content
GET
/
runs
List runs
curl --request GET \
  --url https://api.superglue.ai/v1/runs \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.superglue.ai/v1/runs"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.superglue.ai/v1/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.superglue.ai/v1/runs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$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.superglue.ai/v1/runs"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.superglue.ai/v1/runs")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.superglue.ai/v1/runs")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "data": [
    {
      "runId": "7f3e9c1a-2b4d-4e8f-9a3b-1c5d7e9f2a4b",
      "toolId": "550e8400-e29b-41d4-a716-446655440000",
      "status": "success",
      "metadata": {
        "startedAt": "2023-11-07T05:31:56Z",
        "completedAt": "2023-11-07T05:31:56Z",
        "durationMs": 5234
      },
      "tool": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "steps": [
          {
            "id": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
            "config": {
              "url": "https://api.example.com/search",
              "method": "GET",
              "type": "request",
              "queryParams": {
                "q": "<<(sourceData) => sourceData.query>>",
                "limit": 10
              },
              "headers": {
                "Content-Type": "application/json",
                "Authorization": "Bearer <<(sourceData) => sourceData.credentials.apiKey>>"
              },
              "body": "{\"query\": \"<<(sourceData) => sourceData.query>>\"}",
              "pagination": {
                "type": "cursorBased",
                "pageSize": "50",
                "cursorPath": "meta.next_cursor",
                "stopCondition": "(response, pageInfo, sourceData) => !response.data.pagination.has_more || pageInfo.totalFetched >= sourceData.maxResults"
              },
              "systemId": "3f7c8d9e-1a2b-4c5d-8e9f-0a1b2c3d4e5f"
            },
            "instruction": "Fetch user details from the API",
            "modify": false,
            "dataSelector": "(sourceData) => sourceData.data.items",
            "failureBehavior": "fail"
          }
        ],
        "name": "Web Search",
        "version": "2.1.0",
        "instruction": "Search the web for the given query and return relevant results",
        "inputSchema": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string"
            },
            "maxResults": {
              "type": "integer",
              "default": 10
            }
          },
          "required": [
            "query"
          ]
        },
        "outputSchema": {},
        "outputTransform": "(sourceData) => sourceData.map(item => ({ id: item.id, title: item.name }))",
        "folder": "integrations/payments",
        "archived": false,
        "createdAt": "2023-11-07T05:31:56Z",
        "updatedAt": "2023-11-07T05:31:56Z"
      },
      "toolPayload": {},
      "data": {},
      "error": "Connection timeout after 30000 milliseconds",
      "stepResults": [
        {
          "stepId": "<string>",
          "success": true,
          "data": {},
          "error": "<string>"
        }
      ],
      "options": {},
      "requestSource": "api",
      "traceId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "resultStorageUri": "s3://superglue-results/org123/runs/7f3e9c1a.json",
      "userId": "<string>",
      "executionMode": "prod",
      "fileArtifacts": [
        {
          "fileKey": "report",
          "filename": "monthly_report.csv",
          "contentType": "text/csv",
          "size": 52480,
          "downloadUrl": "https://s3.amazonaws.com/bucket/org/run-files/runId/report.csv?X-Amz-Expires=3600"
        }
      ],
      "important_notice": "<string>"
    }
  ],
  "page": 1,
  "limit": 50,
  "total": 327,
  "hasMore": true
}

Authorizations

Authorization
string
header
required

Static API key authentication using Bearer token scheme. Include your API key in the Authorization header: Authorization: Bearer YOUR_API_KEY

Alternatively, you can use the token query parameter to authenticate.

API keys can be generated in your superglue dashboard.

Query Parameters

toolId
string
status
enum<string>
Available options:
running,
success,
failed,
aborted
requestSources
string

Filter by request sources (comma-separated for multiple values)

userId
string

Filter runs by user ID

systemId
string

Filter runs by system ID

page
integer
default:1
limit
integer
default:50
Required range: x <= 100

Response

200 - application/json

List of runs

data
object[]
page
integer
Example:

1

limit
integer
Example:

50

total
integer
Example:

327

hasMore
boolean
Example:

true