Folders
Folders organize your links. A link can be placed in a folder via the
linkConfigurations.folder_id field when creating or updating it.
All endpoints require an API key with the scope noted on each.
List folders
GET /folders
Scope: folders.read
curl https://api.prolinksqr.com/folders \
-H "Authorization: Basic key-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Response 200
Folders are sorted by creation date, newest first.
{
"data": [
{
"id": "0c8f...e21",
"name": "Campaigns",
"created_at": "Jun 24, 2026",
"updated_at": "Jun 24, 2026"
},
{
"id": "9a13...77b",
"name": "Events",
"created_at": "May 02, 2026",
"updated_at": "May 02, 2026"
}
]
}
Get a folder
GET /folders/:id
Scope: folders.read
curl https://api.prolinksqr.com/folders/0c8f...e21 \
-H "Authorization: Basic key-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Response 200
{ "data": { "id": "0c8f...e21", "name": "Campaigns" } }
Returns 404 with { "message": "Folder not found" } if the folder does not exist on
your account.
Create a folder
POST /folders
Scope: folders.create
| Field | Type | Required |
|---|---|---|
name | string | yes |
curl -X POST https://api.prolinksqr.com/folders \
-H "Authorization: Basic key-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{ "name": "Campaigns" }'
Response 200
Unlike most endpoints, create returns the new folder object directly (no data
wrapper):
{
"id": "0c8f...e21",
"account_id": "7b2d...a10",
"name": "Campaigns",
"created_at": "2026-06-24T09:14:02.511Z",
"updated_at": "2026-06-24T09:14:02.511Z"
}
Update a folder
PUT /folders/:id
Scope: folders.update
| Field | Type | Required |
|---|---|---|
name | string | yes |
curl -X PUT https://api.prolinksqr.com/folders/0c8f...e21 \
-H "Authorization: Basic key-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{ "name": "Spring Campaigns" }'
Response 200
{ "data": { "id": "0c8f...e21", "name": "Spring Campaigns" } }
Returns 404 with { "message": "Folder not found" } if the folder does not exist on
your account.
Responses may also include account_id, created_by, and updated_by; the examples
above are trimmed for readability.
Delete a folder
DELETE /folders/:id
Scope: folders.delete
curl -X DELETE https://api.prolinksqr.com/folders/0c8f...e21 \
-H "Authorization: Basic key-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Response 200
{ "message": "Folder deleted" }
Returns 404 with { "message": "Folder not found" } if the folder does not exist on
your account. Links inside the deleted folder are not deleted — their folder_id is
set back to null.