Statuses
List statuses
Returns all statuses defined in a workspace, ordered by position.
GET
/
api
/
v1
/
workspaces
/
{id}
/
statuses
List statuses
curl --request GET \
--url https://api.getarca.app/api/v1/workspaces/{id}/statuses \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getarca.app/api/v1/workspaces/{id}/statuses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getarca.app/api/v1/workspaces/{id}/statuses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.getarca.app/api/v1/workspaces/{id}/statuses';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.getarca.app/api/v1/workspaces/{id}/statuses"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.getarca.app/api/v1/workspaces/{id}/statuses"
req, _ := http.NewRequest("GET", 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))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getarca.app/api/v1/workspaces/{id}/statuses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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;
}falsefalserequire 'uri'
require 'net/http'
url = URI("https://api.getarca.app/api/v1/workspaces/{id}/statuses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.getarca.app/api/v1/workspaces/{id}/statuses")
.header("Authorization", "Bearer <token>")
.asString();import Foundation
let url = URL(string: "https://api.getarca.app/api/v1/workspaces/{id}/statuses")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.timeoutInterval = 10
request.allHTTPHeaderFields = ["Authorization": "Bearer <token>"]
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))using RestSharp;
var options = new RestClientOptions("https://api.getarca.app/api/v1/workspaces/{id}/statuses");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://api.getarca.app/api/v1/workspaces/{id}/statuses");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://api.getarca.app/api/v1/workspaces/{id}/statuses");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);using RestSharp;
var options = new RestClientOptions("https://api.getarca.app/api/v1/workspaces/{id}/statuses");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.getarca.app/api/v1/workspaces/{id}/statuses")
.get()
.addHeader("Authorization", "Bearer <token>")
.build()
val response = client.newCall(request).execute()[
{
"id": 1,
"workspace_id": 3,
"name": "Backlog",
"icon": null,
"color": "gray",
"category": "pending",
"position": 1,
"created_at": "2026-01-01T00:00:00.000Z"
},
{
"id": 2,
"workspace_id": 3,
"name": "In Progress",
"icon": "in-progress",
"color": "blue",
"category": "active",
"position": 2,
"created_at": "2026-01-01T00:00:00.000Z"
},
{
"id": 3,
"workspace_id": 3,
"name": "Done",
"icon": "check",
"color": "green",
"category": "completed",
"position": 3,
"created_at": "2026-01-01T00:00:00.000Z"
}
]
{
"error": "Invalid API key"
}
{
"error": "Scope 'workspaces:read' is required for this endpoint"
}
{
"error": "Workspace not found"
}
Requires the
workspaces:read scope. You must be a member of the workspace.Path parameters
string
required
The numeric workspace ID.
Response
Returns an array of status objects ordered byposition ascending.
number
required
Status identifier.
number
required
Workspace this status belongs to.
string
required
Status label (e.g.,
"In Progress", "Done").string | null
Icon slug associated with the status.
string | null
Color value associated with the status.
string
required
Status category. One of
pending, active, done, completed, or cancelled.number
required
Sort position (ascending order).
string
required
UTC ISO-8601 creation timestamp.
[
{
"id": 1,
"workspace_id": 3,
"name": "Backlog",
"icon": null,
"color": "gray",
"category": "pending",
"position": 1,
"created_at": "2026-01-01T00:00:00.000Z"
},
{
"id": 2,
"workspace_id": 3,
"name": "In Progress",
"icon": "in-progress",
"color": "blue",
"category": "active",
"position": 2,
"created_at": "2026-01-01T00:00:00.000Z"
},
{
"id": 3,
"workspace_id": 3,
"name": "Done",
"icon": "check",
"color": "green",
"category": "completed",
"position": 3,
"created_at": "2026-01-01T00:00:00.000Z"
}
]
{
"error": "Invalid API key"
}
{
"error": "Scope 'workspaces:read' is required for this endpoint"
}
{
"error": "Workspace not found"
}
Was this page helpful?
⌘I
List statuses
curl --request GET \
--url https://api.getarca.app/api/v1/workspaces/{id}/statuses \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getarca.app/api/v1/workspaces/{id}/statuses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getarca.app/api/v1/workspaces/{id}/statuses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.getarca.app/api/v1/workspaces/{id}/statuses';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.getarca.app/api/v1/workspaces/{id}/statuses"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.getarca.app/api/v1/workspaces/{id}/statuses"
req, _ := http.NewRequest("GET", 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))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getarca.app/api/v1/workspaces/{id}/statuses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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;
}falsefalserequire 'uri'
require 'net/http'
url = URI("https://api.getarca.app/api/v1/workspaces/{id}/statuses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.getarca.app/api/v1/workspaces/{id}/statuses")
.header("Authorization", "Bearer <token>")
.asString();import Foundation
let url = URL(string: "https://api.getarca.app/api/v1/workspaces/{id}/statuses")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.timeoutInterval = 10
request.allHTTPHeaderFields = ["Authorization": "Bearer <token>"]
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))using RestSharp;
var options = new RestClientOptions("https://api.getarca.app/api/v1/workspaces/{id}/statuses");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://api.getarca.app/api/v1/workspaces/{id}/statuses");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://api.getarca.app/api/v1/workspaces/{id}/statuses");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);using RestSharp;
var options = new RestClientOptions("https://api.getarca.app/api/v1/workspaces/{id}/statuses");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.getarca.app/api/v1/workspaces/{id}/statuses")
.get()
.addHeader("Authorization", "Bearer <token>")
.build()
val response = client.newCall(request).execute()[
{
"id": 1,
"workspace_id": 3,
"name": "Backlog",
"icon": null,
"color": "gray",
"category": "pending",
"position": 1,
"created_at": "2026-01-01T00:00:00.000Z"
},
{
"id": 2,
"workspace_id": 3,
"name": "In Progress",
"icon": "in-progress",
"color": "blue",
"category": "active",
"position": 2,
"created_at": "2026-01-01T00:00:00.000Z"
},
{
"id": 3,
"workspace_id": 3,
"name": "Done",
"icon": "check",
"color": "green",
"category": "completed",
"position": 3,
"created_at": "2026-01-01T00:00:00.000Z"
}
]
{
"error": "Invalid API key"
}
{
"error": "Scope 'workspaces:read' is required for this endpoint"
}
{
"error": "Workspace not found"
}