curl --request POST \
--url https://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName}"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName}', 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://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName}"
req, _ := http.NewRequest("POST", 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.post("https://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"type": "about:blank",
"title": "One or more validation errors occurred.",
"status": 400,
"detail": "The request body failed validation. See errors for the offending fields.",
"errors": {
"email": [
"The email field is required."
]
},
"traceId": "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
}{
"type": "about:blank",
"title": "Not found.",
"status": 404,
"detail": "The requested resource does not exist or you do not have access to it.",
"traceId": "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
}{
"type": "about:blank",
"title": "Conflict.",
"status": 409,
"detail": "The request conflicts with the current state (for example, the resource already exists).",
"traceId": "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
}Fire a signal
Fires a named signal (for example an approval or rejection) on a workflow step that is
currently waiting for input, allowing the run to continue. The valid signals for a waiting
step — and the URL to call to fire each one — are listed under the step’s waiting.actions
in the run’s response, so a client can simply POST to the supplied href.
Returns 200 when the signal was fired and the run advanced. Returns 409 if the
step is no longer waiting (for example it has already been signalled or has timed out), and
404 if the run or workflow cannot be found.
Required scope: Workflows.Runs.Execute (Execute workflow run actions)
curl --request POST \
--url https://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName}"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName}', 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://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName}"
req, _ := http.NewRequest("POST", 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.post("https://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trelica.com/api/workflows/v1/{workflowId}/runs/{runId}/firedSignals/{activityId}/{signalName}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"type": "about:blank",
"title": "One or more validation errors occurred.",
"status": 400,
"detail": "The request body failed validation. See errors for the offending fields.",
"errors": {
"email": [
"The email field is required."
]
},
"traceId": "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
}{
"type": "about:blank",
"title": "Not found.",
"status": 404,
"detail": "The requested resource does not exist or you do not have access to it.",
"traceId": "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
}{
"type": "about:blank",
"title": "Conflict.",
"status": 409,
"detail": "The request conflicts with the current state (for example, the resource already exists).",
"traceId": "00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
}Authorizations
OAuth 2.0. Obtain an access token via the Client Credentials or Authorization Code flow, then send it as Authorization: Bearer <token>.
Path Parameters
The workflow's ID.
The run's ID.
The ID of the waiting step the signal is fired on.
The name of the signal to fire (one of the step's waiting actions).
Query Parameters
Optional iteration ID, for a step inside a loop.
Response
OK
Was this page helpful?