Skip to main content

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

FieldTypeRequired
namestringyes
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

FieldTypeRequired
namestringyes
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.

note

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.