Skip to content

List operations

listOperations

GET /api/v1/operations

Scope, any one of: files.write files.move files.delete files.overwriteRate cost: 1

The person’s operations through this app, newest first, finished ones included for 7 days after they finish: for a client that lost an operation’s id

Copies with files.write, moves with files.move, deletes held for approval with files.delete, version restores held for approval with files.overwrite. Each is the operation as it stands; poll one with getOperation for its answer.

Any one of these scopes is enough; which applies depends on the kind of operation being read.

Terminal window
curl "$FOLDR/api/v1/operations" \
-H "Authorization: Bearer $TOKEN"

$FOLDR is your site’s address (for example https://files.example.com) and $TOKEN is an access token. See Getting access.

NameInTypeRequiredDescription
cursorquerystringNoFrom a previous page’s next_cursor.
limitqueryintegerNoOperations per page, from 1: default 50; more than 200 is read as 200. 0 is refused.
StatusMeaningBody
200One page of Operations.application/json: OperationPage

OperationPage:

FieldTypeDescription
itemsarray of OperationRequired. This page’s entries.
next_cursorstring or nullRequired. The cursor for the next page, or null when this is the last.
truncatedbooleanRequired. True when the collection holds more than one listing can read (a folder of more than 25,000 entries): the pages give the first 25,000 the storage lists, and every page of it says true, so a null next_cursor is not the whole folder. False otherwise.

Example:

{
"items": [
{
"id": "0191f2c4-8a1e-7b52-9d3a-5c1e0b7a4d21",
"kind": "string",
"state": "pending_approval",
"phase": "string",
"created_at": "2026-11-04T09:30:00Z",
"started_at": "2026-11-04T09:30:00Z",
"finished_at": "2026-11-04T09:30:00Z",
"source": {},
"target": {},
"version_id": "string",
"progress": {},
"result": {},
"deletion": {},
"approval": {},
"failures": [
{}
],
"failures_truncated": false
}
],
"next_cursor": "string",
"truncated": false
}

Every error is an application/problem+json document (ProblemDetails); branch on its type or code. See Errors.

StatusProblem typesWhen
400invalid-cursor
invalid-request
One of: Invalid cursor (invalid-cursor); Invalid request (invalid-request).
401invalid-tokenInvalid token (invalid-token).
403insufficient-scopeInsufficient scope (insufficient-scope).
429rate-limitedToo many requests (rate-limited).
500internal-errorInternal error (internal-error).