curl --request POST \
--url https://www.ruddr.io/api/workspace/pipeline-activities \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subject": "<string>",
"date": "2023-12-25",
"typeId": "<string>",
"content": "<string>",
"duration": 123,
"memberIds": [
"<string>"
],
"contactIds": [
"<string>"
],
"companyIds": [
"<string>"
],
"opportunityIds": [
"<string>"
]
}
'import requests
url = "https://www.ruddr.io/api/workspace/pipeline-activities"
payload = {
"subject": "<string>",
"date": "2023-12-25",
"typeId": "<string>",
"content": "<string>",
"duration": 123,
"memberIds": ["<string>"],
"contactIds": ["<string>"],
"companyIds": ["<string>"],
"opportunityIds": ["<string>"]
}
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({
subject: '<string>',
date: '2023-12-25',
typeId: '<string>',
content: '<string>',
duration: 123,
memberIds: ['<string>'],
contactIds: ['<string>'],
companyIds: ['<string>'],
opportunityIds: ['<string>']
})
};
fetch('https://www.ruddr.io/api/workspace/pipeline-activities', 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-activities",
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([
'subject' => '<string>',
'date' => '2023-12-25',
'typeId' => '<string>',
'content' => '<string>',
'duration' => 123,
'memberIds' => [
'<string>'
],
'contactIds' => [
'<string>'
],
'companyIds' => [
'<string>'
],
'opportunityIds' => [
'<string>'
]
]),
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-activities"
payload := strings.NewReader("{\n \"subject\": \"<string>\",\n \"date\": \"2023-12-25\",\n \"typeId\": \"<string>\",\n \"content\": \"<string>\",\n \"duration\": 123,\n \"memberIds\": [\n \"<string>\"\n ],\n \"contactIds\": [\n \"<string>\"\n ],\n \"companyIds\": [\n \"<string>\"\n ],\n \"opportunityIds\": [\n \"<string>\"\n ]\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-activities")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"subject\": \"<string>\",\n \"date\": \"2023-12-25\",\n \"typeId\": \"<string>\",\n \"content\": \"<string>\",\n \"duration\": 123,\n \"memberIds\": [\n \"<string>\"\n ],\n \"contactIds\": [\n \"<string>\"\n ],\n \"companyIds\": [\n \"<string>\"\n ],\n \"opportunityIds\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/pipeline-activities")
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 \"subject\": \"<string>\",\n \"date\": \"2023-12-25\",\n \"typeId\": \"<string>\",\n \"content\": \"<string>\",\n \"duration\": 123,\n \"memberIds\": [\n \"<string>\"\n ],\n \"contactIds\": [\n \"<string>\"\n ],\n \"companyIds\": [\n \"<string>\"\n ],\n \"opportunityIds\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "a3d7e1b2-5c94-4f68-b0a2-e8f1d3c76a49",
"subject": "Discovery call with client",
"content": "Discussed project requirements and timeline expectations.",
"direction": "outbound",
"date": "2025-09-15",
"duration": 30,
"createdAt": "2025-09-15T14:22:31.482Z",
"pipelineActivityType": {
"id": "9c3a7d1e-5b28-4f60-a4e2-d8f1b0c73a96",
"name": "Call"
},
"members": [
{
"id": "b4e8c2f1-7d35-4a90-81b3-f6a9d0e54c27",
"name": "Sarah Johnson"
}
],
"contacts": [
{
"id": "c5f9d3a2-8e46-4b01-92c4-a7b0e1f65d38",
"name": "John Smith"
}
],
"companies": [
{
"id": "d6a0e4b3-9f57-4c12-a3d5-b8c1f2a76e49",
"name": "Acme Corp"
}
],
"opportunities": [
{
"id": "e7b1f5c4-0a68-4d23-b4e6-c9d2a3b87f50",
"name": "Website Redesign"
}
]
}Create a pipeline activity
curl --request POST \
--url https://www.ruddr.io/api/workspace/pipeline-activities \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subject": "<string>",
"date": "2023-12-25",
"typeId": "<string>",
"content": "<string>",
"duration": 123,
"memberIds": [
"<string>"
],
"contactIds": [
"<string>"
],
"companyIds": [
"<string>"
],
"opportunityIds": [
"<string>"
]
}
'import requests
url = "https://www.ruddr.io/api/workspace/pipeline-activities"
payload = {
"subject": "<string>",
"date": "2023-12-25",
"typeId": "<string>",
"content": "<string>",
"duration": 123,
"memberIds": ["<string>"],
"contactIds": ["<string>"],
"companyIds": ["<string>"],
"opportunityIds": ["<string>"]
}
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({
subject: '<string>',
date: '2023-12-25',
typeId: '<string>',
content: '<string>',
duration: 123,
memberIds: ['<string>'],
contactIds: ['<string>'],
companyIds: ['<string>'],
opportunityIds: ['<string>']
})
};
fetch('https://www.ruddr.io/api/workspace/pipeline-activities', 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-activities",
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([
'subject' => '<string>',
'date' => '2023-12-25',
'typeId' => '<string>',
'content' => '<string>',
'duration' => 123,
'memberIds' => [
'<string>'
],
'contactIds' => [
'<string>'
],
'companyIds' => [
'<string>'
],
'opportunityIds' => [
'<string>'
]
]),
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-activities"
payload := strings.NewReader("{\n \"subject\": \"<string>\",\n \"date\": \"2023-12-25\",\n \"typeId\": \"<string>\",\n \"content\": \"<string>\",\n \"duration\": 123,\n \"memberIds\": [\n \"<string>\"\n ],\n \"contactIds\": [\n \"<string>\"\n ],\n \"companyIds\": [\n \"<string>\"\n ],\n \"opportunityIds\": [\n \"<string>\"\n ]\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-activities")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"subject\": \"<string>\",\n \"date\": \"2023-12-25\",\n \"typeId\": \"<string>\",\n \"content\": \"<string>\",\n \"duration\": 123,\n \"memberIds\": [\n \"<string>\"\n ],\n \"contactIds\": [\n \"<string>\"\n ],\n \"companyIds\": [\n \"<string>\"\n ],\n \"opportunityIds\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/pipeline-activities")
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 \"subject\": \"<string>\",\n \"date\": \"2023-12-25\",\n \"typeId\": \"<string>\",\n \"content\": \"<string>\",\n \"duration\": 123,\n \"memberIds\": [\n \"<string>\"\n ],\n \"contactIds\": [\n \"<string>\"\n ],\n \"companyIds\": [\n \"<string>\"\n ],\n \"opportunityIds\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "a3d7e1b2-5c94-4f68-b0a2-e8f1d3c76a49",
"subject": "Discovery call with client",
"content": "Discussed project requirements and timeline expectations.",
"direction": "outbound",
"date": "2025-09-15",
"duration": 30,
"createdAt": "2025-09-15T14:22:31.482Z",
"pipelineActivityType": {
"id": "9c3a7d1e-5b28-4f60-a4e2-d8f1b0c73a96",
"name": "Call"
},
"members": [
{
"id": "b4e8c2f1-7d35-4a90-81b3-f6a9d0e54c27",
"name": "Sarah Johnson"
}
],
"contacts": [
{
"id": "c5f9d3a2-8e46-4b01-92c4-a7b0e1f65d38",
"name": "John Smith"
}
],
"companies": [
{
"id": "d6a0e4b3-9f57-4c12-a3d5-b8c1f2a76e49",
"name": "Acme Corp"
}
],
"opportunities": [
{
"id": "e7b1f5c4-0a68-4d23-b4e6-c9d2a3b87f50",
"name": "Website Redesign"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The subject of the pipeline activity. Max 255 characters.
The date of the pipeline activity. Will be in the form YYYY-MM-DD.
The uuid of the pipeline activity type.
The content or body of the pipeline activity. Max 5000 characters.
Whether the activity was initiated by your team (outbound) or by the other party (inbound).
inbound, outbound The duration of the pipeline activity in minutes.
The uuids of the members to associate with this activity.
The uuids of the contacts to associate with this activity.
The uuids of the companies to associate with this activity.
The uuids of the opportunities to associate with this activity.
Response
200
The unique identifier for the object.
The subject of the pipeline activity.
The content or body of the pipeline activity.
Whether the activity was initiated by your team (outbound) or by the other party (inbound).
inbound, outbound The date of the pipeline activity. Will be in the form YYYY-MM-DD.
The duration of the pipeline activity in minutes.
The timestamp when the object was created.
The pipeline activity type associated with this activity.
Show child attributes
Show child attributes
The members associated with this activity.
Show child attributes
Show child attributes
The contacts associated with this activity.
Show child attributes
Show child attributes
The companies associated with this activity.
Show child attributes
Show child attributes
The opportunities associated with this activity.
Show child attributes
Show child attributes