Lists
Create list
Creates a new list inside a folder.
POST
/
api
/
v1
/
lists
Create list
curl --request POST \
--url https://api.getarca.app/api/v1/lists \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"workspace_id": "<string>",
"folder_id": "<string>",
"name": "<string>",
"icon": "<string>",
"color": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
workspace_id: '<string>',
folder_id: '<string>',
name: '<string>',
icon: '<string>',
color: '<string>'
})
};
fetch('https://api.getarca.app/api/v1/lists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
workspace_id: '<string>',
folder_id: '<string>',
name: '<string>',
icon: '<string>',
color: '<string>'
})
};
fetch('https://api.getarca.app/api/v1/lists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.getarca.app/api/v1/lists';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
workspace_id: '<string>',
folder_id: '<string>',
name: '<string>',
icon: '<string>',
color: '<string>'
})
};
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/lists"
payload = {
"workspace_id": "<string>",
"folder_id": "<string>",
"name": "<string>",
"icon": "<string>",
"color": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getarca.app/api/v1/lists"
payload := strings.NewReader("{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\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))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getarca.app/api/v1/lists",
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([
'workspace_id' => '<string>',
'folder_id' => '<string>',
'name' => '<string>',
'icon' => '<string>',
'color' => '<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;
}falsefalserequire 'uri'
require 'net/http'
url = URI("https://api.getarca.app/api/v1/lists")
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 \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.post("https://api.getarca.app/api/v1/lists")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}")
.asString();import Foundation
let parameters = [
"workspace_id": "<string>",
"folder_id": "<string>",
"name": "<string>",
"icon": "<string>",
"color": "<string>"
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.getarca.app/api/v1/lists")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
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/lists");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://api.getarca.app/api/v1/lists");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}");
CURLcode ret = curl_easy_perform(hnd);CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://api.getarca.app/api/v1/lists");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}");
CURLcode ret = curl_easy_perform(hnd);using RestSharp;
var options = new RestClientOptions("https://api.getarca.app/api/v1/lists");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}")
val request = Request.Builder()
.url("https://api.getarca.app/api/v1/lists")
.post(body)
.addHeader("Authorization", "Bearer <token>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute(){
"id": 25,
"workspace_id": 3,
"folder_id": 10,
"name": "API Tasks",
"icon": "folder-1",
"color": "blue",
"position": 3,
"created_at": "2026-03-18T11:00:00.000Z"
}
{
"error": "workspace_id is required"
}
{
"error": "Invalid API key"
}
{
"error": "Scope 'lists:write' is required for this endpoint"
}
{
"error": "Folder not found"
}
Requires the
lists:write scope. Viewers cannot create lists.Request body
string
required
Numeric ID of the workspace to create the list in.
string
Numeric ID of the folder this list belongs to. The folder must exist in the
same workspace. Unlike the Arca app, this field is required when creating a
list via the API.
string
required
List name.
string
Optional icon identifier slug (e.g.,
"folder-1", "chart", "code").string
Optional color label. Defaults to
"gray" if not provided.Response
Returns the created list. Theposition is automatically assigned as one greater than the current maximum position in the workspace.
number
required
New list identifier.
number
required
Workspace this list belongs to.
number|null
required
Parent folder ID.
string
required
List name.
string | null
Icon.
null if not provided.string | null
Color. Defaults to
"gray".number
required
Auto-assigned sort position.
string
required
UTC ISO-8601 creation timestamp.
{
"id": 25,
"workspace_id": 3,
"folder_id": 10,
"name": "API Tasks",
"icon": "folder-1",
"color": "blue",
"position": 3,
"created_at": "2026-03-18T11:00:00.000Z"
}
{
"error": "workspace_id is required"
}
{
"error": "Invalid API key"
}
{
"error": "Scope 'lists:write' is required for this endpoint"
}
{
"error": "Folder not found"
}
Was this page helpful?
⌘I
Create list
curl --request POST \
--url https://api.getarca.app/api/v1/lists \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"workspace_id": "<string>",
"folder_id": "<string>",
"name": "<string>",
"icon": "<string>",
"color": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
workspace_id: '<string>',
folder_id: '<string>',
name: '<string>',
icon: '<string>',
color: '<string>'
})
};
fetch('https://api.getarca.app/api/v1/lists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
workspace_id: '<string>',
folder_id: '<string>',
name: '<string>',
icon: '<string>',
color: '<string>'
})
};
fetch('https://api.getarca.app/api/v1/lists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.getarca.app/api/v1/lists';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
workspace_id: '<string>',
folder_id: '<string>',
name: '<string>',
icon: '<string>',
color: '<string>'
})
};
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/lists"
payload = {
"workspace_id": "<string>",
"folder_id": "<string>",
"name": "<string>",
"icon": "<string>",
"color": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getarca.app/api/v1/lists"
payload := strings.NewReader("{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\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))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getarca.app/api/v1/lists",
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([
'workspace_id' => '<string>',
'folder_id' => '<string>',
'name' => '<string>',
'icon' => '<string>',
'color' => '<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;
}falsefalserequire 'uri'
require 'net/http'
url = URI("https://api.getarca.app/api/v1/lists")
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 \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.post("https://api.getarca.app/api/v1/lists")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}")
.asString();import Foundation
let parameters = [
"workspace_id": "<string>",
"folder_id": "<string>",
"name": "<string>",
"icon": "<string>",
"color": "<string>"
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.getarca.app/api/v1/lists")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
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/lists");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://api.getarca.app/api/v1/lists");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}");
CURLcode ret = curl_easy_perform(hnd);CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://api.getarca.app/api/v1/lists");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}");
CURLcode ret = curl_easy_perform(hnd);using RestSharp;
var options = new RestClientOptions("https://api.getarca.app/api/v1/lists");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"workspace_id\": \"<string>\",\n \"folder_id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"color\": \"<string>\"\n}")
val request = Request.Builder()
.url("https://api.getarca.app/api/v1/lists")
.post(body)
.addHeader("Authorization", "Bearer <token>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute(){
"id": 25,
"workspace_id": 3,
"folder_id": 10,
"name": "API Tasks",
"icon": "folder-1",
"color": "blue",
"position": 3,
"created_at": "2026-03-18T11:00:00.000Z"
}
{
"error": "workspace_id is required"
}
{
"error": "Invalid API key"
}
{
"error": "Scope 'lists:write' is required for this endpoint"
}
{
"error": "Folder not found"
}