Skip to main content
GET
/
workflows
/
{workflowId}
/
logs
cURL
curl -X GET "https://production.runalloy.com/workflows/{workflowId}/logs?userId={{userId}}" \
  -H "Authorization: bearer YOUR_API_KEY" \
  -H "x-api-version: 2025-09"
import requests

url = "https://production.runalloy.com/workflows/{workflowId}/logs"
params = {"userId": "{{userId}}"}
headers = {
    "Authorization": "bearer YOUR_API_KEY",
    "x-api-version": "2025-09"
}

response = requests.get(url, params=params, headers=headers)
print(response.json())
const userId = "{{userId}}";
const workflowId = "{workflowId}";
const url = `https://production.runalloy.com/workflows/${workflowId}/logs?userId=${userId}`;

fetch(url, {
  method: "GET",
  headers: {
    "Authorization": "bearer YOUR_API_KEY",
    "x-api-version": "2025-09"
  }
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error("Error:", error));
<?php
$userId = "{{userId}}";
$workflowId = "{workflowId}";
$url = "https://production.runalloy.com/workflows/{$workflowId}/logs?userId=" . urlencode($userId);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: bearer YOUR_API_KEY",
    "x-api-version: 2025-09"
]);

$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
?>
package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
    "net/url"
)

func main() {
    userId := "{{userId}}"
    workflowId := "{workflowId}"
    baseURL := "https://production.runalloy.com/workflows/" + workflowId + "/logs"
    params := url.Values{}
    params.Add("userId", userId)
    fullURL := baseURL + "?" + params.Encode()

    req, _ := http.NewRequest("GET", fullURL, nil)
    req.Header.Set("Authorization", "bearer YOUR_API_KEY")
    req.Header.Set("x-api-version", "2025-09")

    client := &http.Client{}
    resp, _ := client.Do(req)
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)
    var data map[string]interface{}
    json.Unmarshal(body, &data)
    fmt.Println(data)
}
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import com.google.gson.Gson;
import java.util.Map;

public class Example {
    public static void main(String[] args) throws Exception {
        String userId = "{{userId}}";
        String workflowId = "{workflowId}";
        String baseUrl = "https://production.runalloy.com/workflows/" + workflowId + "/logs";
        String urlString = baseUrl + "?userId=" + java.net.URLEncoder.encode(userId, "UTF-8");
        
        URL url = new URL(urlString);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Authorization", "bearer YOUR_API_KEY");
        conn.setRequestProperty("x-api-version", "2025-09");
        
        BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String inputLine;
        StringBuilder response = new StringBuilder();
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();
        
        Gson gson = new Gson();
        Map<String, Object> data = gson.fromJson(response.toString(), Map.class);
        System.out.println(data);
    }
}
require 'net/http'
require 'json'
require 'uri'

userId = "{{userId}}"
workflowId = "{workflowId}"
base_url = "https://production.runalloy.com/workflows/#{workflowId}/logs"
uri = URI(base_url)
params = { userId: userId }
uri.query = URI.encode_www_form(params)

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

request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'bearer YOUR_API_KEY'
request['x-api-version'] = '2025-09'

response = http.request(request)
data = JSON.parse(response.body)
puts data
{
  "data": [
    {
      "executionId": "uGmauA50FBlibba3JkPfB",
      "startedAt": "2024-11-15T17:57:42.233Z",
      "stoppedAt": "2024-11-15T17:57:42.847Z",
      "finished": true,
      "results": [
        {
          "startedAt": "2024-11-15T17:57:42.233Z",
          "stoppedAt": "2024-11-15T17:57:42.287Z",
          "data": [
            [
              {
                "json": {},
                "id": "1e2ef00f-af4c-405e-88b7-c71536d28ddd"
              }
            ]
          ],
          "connectorId": "6ad63c40-1abc-4289-8287-c62ef8bb2003"
        },
        {
          "startedAt": "2024-11-15T17:57:42.391Z",
          "data": [
            [
              {
                "json": null,
                "profileId": {
                  "type": "profile",
                  "id": "01F1EQ9A32KABYFC7Q0QNNHH33",
                  "attributes": {
                    "email": "gregg@runalloy.com",
                    "phone_number": "+12394750599",
                    "external_id": null
                  },
                  "relationships": {
                    "lists": {
                      "links": {
                        "self": "https://a.klaviyo.com/api/profiles/01F1EQ9A32KABYFC7Q0QNNHH33/relationships/lists/",
                        "related": "https://a.klaviyo.com/api/profiles/01F1EQ9A32KABYFC7Q0QNNHH33/lists/"
                      }
                    },
                    "segments": {
                      "links": {
                        "self": "https://a.klaviyo.com/api/profiles/01F1EQ9A32KABYFC7Q0QNNHH33/relationships/segments/",
                        "related": "https://a.klaviyo.com/api/profiles/01F1EQ9A32KABYFC7Q0QNNHH33/segments/"
                      }
                    },
                    "conversation": {
                      "links": {
                        "self": "https://a.klaviyo.com/api/profiles/01F1EQ9A32KABYFC7Q0QNNHH33/relationships/conversation/",
                        "related": "https://a.klaviyo.com/api/profiles/01F1EQ9A32KABYFC7Q0QNNHH33/conversation/"
                      }
                    }
                  },
                  "links": {
                    "self": "https://a.klaviyo.com/api/profiles/01F1EQ9A32KABYFC7Q0QNNHH33/"
                  }
                },
                "statusCode": 200,
                "id": "a6c68f48-4ef0-4d16-a009-3b47db6f611f"
              }
            ]
          ],
          "stoppedAt": "2024-11-15T17:57:42.781Z",
          "connectorId": "ae331681-25a5-452c-8d21-884fada67437"
        }
      ],
      "inputs": [
        {
          "connectorId": "6ad63c40-1abc-4289-8287-c62ef8bb2003",
          "data": {}
        },
        {
          "connectorId": "ae331681-25a5-452c-8d21-884fada67437",
          "data": {
            "apiVersion": "legacy",
            "profileFrom": "emailAddress",
            "email": "gregg@runalloy.com"
          }
        }
      ]
    }
  ]
}

Headers

Authorization
string
default:bearer YOUR_API_KEY
required
x-api-version
string
default:2025-09
required

The version of the API to use. The current API version is 2025-09.

Path Parameters

workflowId
string
required

The Id of the git workflow you want to find logs for

Query Parameters

userId
string

The Id of the user you want delete logs for. Returned from the Create User endpoint

page
integer<int32>

page of results

limit
integer<int32>

Number of results per page (max 30, default 10)

order
string

asc or desc for ascending/descending (default desc)

Response

200 - application/json

200