Create a pipeline activity type
curl --request POST \
--url https://www.ruddr.io/api/workspace/pipeline-activity-types \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"isActive": true
}
'import requests
url = "https://www.ruddr.io/api/workspace/pipeline-activity-types"
payload = {
"name": "<string>",
"description": "<string>",
"isActive": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', description: '<string>', isActive: true})
};
fetch('https://www.ruddr.io/api/workspace/pipeline-activity-types', 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://www.ruddr.io/api/workspace/pipeline-activity-types",
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([
'name' => '<string>',
'description' => '<string>',
'isActive' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://www.ruddr.io/api/workspace/pipeline-activity-types"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"isActive\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://www.ruddr.io/api/workspace/pipeline-activity-types")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"isActive\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/pipeline-activity-types")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"isActive\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "e4b2c7a1-6d39-4f85-91e0-f3a8d5c02b64",
"name": "Follow-Up Call",
"description": "A scheduled call to follow up on a previous interaction.",
"readOnly": false,
"typeId": "call",
"createdAt": "2025-09-03T10:15:47.293Z",
"isActive": true
}{
"status": 400,
"message": "There was a problem processing your request. See errors for more details.",
"errors": [
"'name' is required"
]
}{
"status": 403,
"message": "Feature 'Pipeline' is not enabled."
}{
"status": 409,
"message": "A Pipeline Activity Type with the same name already exists."
}Pipeline Activity Types
Create a pipeline activity type
POST
/
pipeline-activity-types
Create a pipeline activity type
curl --request POST \
--url https://www.ruddr.io/api/workspace/pipeline-activity-types \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"isActive": true
}
'import requests
url = "https://www.ruddr.io/api/workspace/pipeline-activity-types"
payload = {
"name": "<string>",
"description": "<string>",
"isActive": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', description: '<string>', isActive: true})
};
fetch('https://www.ruddr.io/api/workspace/pipeline-activity-types', 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://www.ruddr.io/api/workspace/pipeline-activity-types",
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([
'name' => '<string>',
'description' => '<string>',
'isActive' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://www.ruddr.io/api/workspace/pipeline-activity-types"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"isActive\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://www.ruddr.io/api/workspace/pipeline-activity-types")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"isActive\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/pipeline-activity-types")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"isActive\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "e4b2c7a1-6d39-4f85-91e0-f3a8d5c02b64",
"name": "Follow-Up Call",
"description": "A scheduled call to follow up on a previous interaction.",
"readOnly": false,
"typeId": "call",
"createdAt": "2025-09-03T10:15:47.293Z",
"isActive": true
}{
"status": 400,
"message": "There was a problem processing your request. See errors for more details.",
"errors": [
"'name' is required"
]
}{
"status": 403,
"message": "Feature 'Pipeline' is not enabled."
}{
"status": 409,
"message": "A Pipeline Activity Type with the same name already exists."
}A classification for activities that occur during the sales process.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
The name of the pipeline activity type. Max 255 characters.
The type of pipeline activity.
Available options:
amount_change, call, client_assignment, edit, email, expected_close_date_change, file, meeting, next_steps_change, note, open_date_change, other, owner_change, probability_change, project_assignment, revenue_change, stage_change A description of the pipeline activity type. Max 5000 characters.
Whether the pipeline activity type is active. Defaults to true if not provided.
Response
200
The unique identifier for the object.
The name of the pipeline activity type.
A description of the pipeline activity type.
Whether the pipeline activity type is read-only.
The type of pipeline activity.
Available options:
amount_change, call, client_assignment, edit, email, expected_close_date_change, file, meeting, next_steps_change, note, open_date_change, other, owner_change, probability_change, project_assignment, revenue_change, stage_change The timestamp when the object was created.
Whether the pipeline activity type is active.