Skip to main content
POST
/
job-titles
Create a job title
curl --request POST \
  --url https://www.ruddr.io/api/workspace/job-titles \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "isActive": true
}
'
import requests

url = "https://www.ruddr.io/api/workspace/job-titles"

payload = {
    "name": "<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>', isActive: true})
};

fetch('https://www.ruddr.io/api/workspace/job-titles', 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/job-titles",
  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>',
    '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/job-titles"

	payload := strings.NewReader("{\n  \"name\": \"<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/job-titles")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"name\": \"<string>\",\n  \"isActive\": true\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://www.ruddr.io/api/workspace/job-titles")

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  \"isActive\": true\n}"

response = http.request(request)
puts response.read_body
{
  "id": "c7d9e1f3-84a2-4b56-9e03-f1a8b2c74d60",
  "name": "Project Manager",
  "isActive": true,
  "createdAt": "2025-03-01T14:22:10.543Z"
}
{
  "status": 400,
  "message": "There was a problem processing your request. See errors for more details.",
  "errors": [
    "'name' is required"
  ]
}
{
  "status": 409,
  "message": "A Job Title with the same name already exists."
}
A title that can be assigned to workspace members and used to filter reports.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
name
string
required

The name of the job title. Max 255 characters.

isActive
boolean

Whether the job title is active. Defaults to true if not provided.

Response

200

id
string

The unique identifier for the object.

name
string

The name of the job title.

isActive
boolean

Whether the job title is active.

createdAt
string<date-time>

The timestamp when the object was created.