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

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

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

fetch(url, {
method: "PUT",
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}/upgrade?userId=" . urlencode($userId);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
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 + "/upgrade"
params := url.Values{}
params.Add("userId", userId)
fullURL := baseURL + "?" + params.Encode()

req, _ := http.NewRequest("PUT", 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 + "/upgrade";
String urlString = baseUrl + "?userId=" + java.net.URLEncoder.encode(userId, "UTF-8");

URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("PUT");
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}/upgrade"
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::Put.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
{
  "upgraded": true
}
"{}"

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

Id of the parent workflow in which you are upgrading for the end user

Query Parameters

userId
string
required

Id of the end user you wish to upgrade the workflow for

Response

200

upgraded
boolean
default:true
Example:

true