cURL
curl -X GET "https://production.runalloy.com/users/{userId}/integrations/{integrationId}/install-url?userId={{userId}}" \
-H "Authorization: bearer YOUR_API_KEY" \
-H "x-api-version: 2025-09"import requests
url = "https://production.runalloy.com/users/{userId}/integrations/{integrationId}/install-url"
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 integrationId = "{integrationId}";
const url = `https://production.runalloy.com/users/${userId}/integrations/${integrationId}/install-url?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}}";
$integrationId = "{integrationId}";
$url = "https://production.runalloy.com/users/{$userId}/integrations/{$integrationId}/install-url?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}}"
integrationId := "{integrationId}"
baseURL := "https://production.runalloy.com/users/" + userId + "/integrations/" + integrationId + "/install-url"
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 integrationId = "{integrationId}";
String baseUrl = "https://production.runalloy.com/users/" + userId + "/integrations/" + integrationId + "/install-url";
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}}"
integrationId = "{integrationId}"
base_url = "https://production.runalloy.com/users/#{userId}/integrations/#{integrationId}/install-url"
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{
"url": "https://app.runalloy.com/embedded-install?integrationId=XXXXXXX&token=YYYYYYYY.ZZZZZZZZZZZZZ.WWWWWWWWWWWWWW-VVVVVVVVV&forgeMode=engaged&alwaysShowCredentials=true"
}Integrations
Generate Alloy Link
This endpoint generates an alloy Link. For more details on Embedded Link, please read this tutorial.
GET
/
users
/
{userId}
/
integrations
/
{integrationId}
/
install-url
cURL
curl -X GET "https://production.runalloy.com/users/{userId}/integrations/{integrationId}/install-url?userId={{userId}}" \
-H "Authorization: bearer YOUR_API_KEY" \
-H "x-api-version: 2025-09"import requests
url = "https://production.runalloy.com/users/{userId}/integrations/{integrationId}/install-url"
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 integrationId = "{integrationId}";
const url = `https://production.runalloy.com/users/${userId}/integrations/${integrationId}/install-url?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}}";
$integrationId = "{integrationId}";
$url = "https://production.runalloy.com/users/{$userId}/integrations/{$integrationId}/install-url?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}}"
integrationId := "{integrationId}"
baseURL := "https://production.runalloy.com/users/" + userId + "/integrations/" + integrationId + "/install-url"
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 integrationId = "{integrationId}";
String baseUrl = "https://production.runalloy.com/users/" + userId + "/integrations/" + integrationId + "/install-url";
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}}"
integrationId = "{integrationId}"
base_url = "https://production.runalloy.com/users/#{userId}/integrations/#{integrationId}/install-url"
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{
"url": "https://app.runalloy.com/embedded-install?integrationId=XXXXXXX&token=YYYYYYYY.ZZZZZZZZZZZZZ.WWWWWWWWWWWWWW-VVVVVVVVV&forgeMode=engaged&alwaysShowCredentials=true"
}Headers
The version of the API to use. The current API version is 2025-09.
Path Parameters
The Id of the integration you want to generate the Embedded Link for
Query Parameters
The user to generate the Embedded Link for
Response
200 - application/json
200
Example:
"https://app.runalloy.com/embedded-install?integrationId=XXXXXXX&token=YYYYYYYY.ZZZZZZZZZZZZZ.WWWWWWWWWWWWWW-VVVVVVVVV&forgeMode=engaged&alwaysShowCredentials=true"
⌘I

