Create Action Class
curl --request POST \
--url https://{baseurl}/api/v1/management/action-classes \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"description": "From API Docs (optional)",
"key": "my-action",
"name": "My Action from Postman",
"type": "code",
"workspaceId": "{{workspaceId}}"
}
'import requests
url = "https://{baseurl}/api/v1/management/action-classes"
payload = {
"description": "From API Docs (optional)",
"key": "my-action",
"name": "My Action from Postman",
"type": "code",
"workspaceId": "{{workspaceId}}"
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: 'From API Docs (optional)',
key: 'my-action',
name: 'My Action from Postman',
type: 'code',
workspaceId: '{{workspaceId}}'
})
};
fetch('https://{baseurl}/api/v1/management/action-classes', 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://{baseurl}/api/v1/management/action-classes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'description' => 'From API Docs (optional)',
'key' => 'my-action',
'name' => 'My Action from Postman',
'type' => 'code',
'workspaceId' => '{{workspaceId}}'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{baseurl}/api/v1/management/action-classes"
payload := strings.NewReader("{\n \"description\": \"From API Docs (optional)\",\n \"key\": \"my-action\",\n \"name\": \"My Action from Postman\",\n \"type\": \"code\",\n \"workspaceId\": \"{{workspaceId}}\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{baseurl}/api/v1/management/action-classes")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"From API Docs (optional)\",\n \"key\": \"my-action\",\n \"name\": \"My Action from Postman\",\n \"type\": \"code\",\n \"workspaceId\": \"{{workspaceId}}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{baseurl}/api/v1/management/action-classes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"From API Docs (optional)\",\n \"key\": \"my-action\",\n \"name\": \"My Action from Postman\",\n \"type\": \"code\",\n \"workspaceId\": \"{{workspaceId}}\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"createdAt": "2024-04-23T08:58:47.507Z",
"description": null,
"id": "clvc5m82c000z494jkvnw1gh0",
"name": "My Action from Postman",
"noCodeConfig": null,
"type": "code",
"updatedAt": "2024-04-23T08:58:47.507Z",
"workspaceId": "clurwouax000azffxt7n5unn3"
}
}{
"code": "bad_request",
"details": {
"key": "Required",
"workspaceId": "Required"
},
"message": "Fields are missing or incorrectly formatted"
}Management API - Action Class
Create Action Class
Create Action Class from the UI or from the API! You can read more about them here.
POST
/
api
/
v1
/
management
/
action-classes
Create Action Class
curl --request POST \
--url https://{baseurl}/api/v1/management/action-classes \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"description": "From API Docs (optional)",
"key": "my-action",
"name": "My Action from Postman",
"type": "code",
"workspaceId": "{{workspaceId}}"
}
'import requests
url = "https://{baseurl}/api/v1/management/action-classes"
payload = {
"description": "From API Docs (optional)",
"key": "my-action",
"name": "My Action from Postman",
"type": "code",
"workspaceId": "{{workspaceId}}"
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: 'From API Docs (optional)',
key: 'my-action',
name: 'My Action from Postman',
type: 'code',
workspaceId: '{{workspaceId}}'
})
};
fetch('https://{baseurl}/api/v1/management/action-classes', 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://{baseurl}/api/v1/management/action-classes",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'description' => 'From API Docs (optional)',
'key' => 'my-action',
'name' => 'My Action from Postman',
'type' => 'code',
'workspaceId' => '{{workspaceId}}'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{baseurl}/api/v1/management/action-classes"
payload := strings.NewReader("{\n \"description\": \"From API Docs (optional)\",\n \"key\": \"my-action\",\n \"name\": \"My Action from Postman\",\n \"type\": \"code\",\n \"workspaceId\": \"{{workspaceId}}\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{baseurl}/api/v1/management/action-classes")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"From API Docs (optional)\",\n \"key\": \"my-action\",\n \"name\": \"My Action from Postman\",\n \"type\": \"code\",\n \"workspaceId\": \"{{workspaceId}}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{baseurl}/api/v1/management/action-classes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"From API Docs (optional)\",\n \"key\": \"my-action\",\n \"name\": \"My Action from Postman\",\n \"type\": \"code\",\n \"workspaceId\": \"{{workspaceId}}\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"createdAt": "2024-04-23T08:58:47.507Z",
"description": null,
"id": "clvc5m82c000z494jkvnw1gh0",
"name": "My Action from Postman",
"noCodeConfig": null,
"type": "code",
"updatedAt": "2024-04-23T08:58:47.507Z",
"workspaceId": "clurwouax000azffxt7n5unn3"
}
}{
"code": "bad_request",
"details": {
"key": "Required",
"workspaceId": "Required"
},
"message": "Fields are missing or incorrectly formatted"
}Headers
Body
application/json
Name of the action class
Minimum string length:
1Type of action class
Available options:
code, noCode The workspace ID where the action class will be created
Optional description of the action class
Required when type is 'code'. A unique identifier for the action. Not needed for 'noCode' type.
Minimum string length:
1Configuration object required when type is 'noCode'. Defines the conditions for triggering the action. Not needed for 'code' type.
Show child attributes
Show child attributes
Response
OK
The response is of type object.
Was this page helpful?
⌘I