API docs

zpe files

mount /files · base https://zpe.vc/files · v4.0.0 · 15 operations · 10 write · 0 need no account · beta

archived: committed 2026-11-01, from 69440287. Contract: https://zpe.vc/files/_/api/v1/openapi.json

POST /_/api/v1/copy Copy a file or a whole folder to another path postCopy

Copy a file or a whole folder to another path

Parameters

nameinrequiredtypenotes
fromquerynostringThe file or folder to copy. Send it here or as `from` in a JSON body.
overwritequerynobooleanReplace the destination when it already exists. Default false.
toquerynostringWhere the copy goes. Send it here or as `to` in a JSON body.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Copy a file or a whole folder to another path, with a token from the door.

POST /_/api/v1/copy
curl -X POST 'https://zpe.vc/files/_/api/v1/copy?from=string&overwrite=false&to=string' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

POST /_/api/v1/counts Count the direct children of one or more folders postCounts

Count the direct children of one or more folders

Parameters

No parameters.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Count the direct children of one or more folders, with a token from the door.

POST /_/api/v1/counts
curl -X POST 'https://zpe.vc/files/_/api/v1/counts' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

DELETE /_/api/v1/delete Delete a file or folder, or move it to the trash with `?soft=1` deleteDelete

Delete a file or folder, or move it to the trash with `?soft=1`

Parameters

nameinrequiredtypenotes
pathqueryyesstringThe file or folder to delete, relative to the account's prefix.
softquerynobooleanMove it to the trash instead of deleting it.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Delete a file or folder, or move it to the trash with `?soft=1`, with a token from the door.

DELETE /_/api/v1/delete
curl -X DELETE 'https://zpe.vc/files/_/api/v1/delete?path=string&soft=false' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

GET /_/api/v1/download Download one file's bytes getDownload

Download one file's bytes

Parameters

nameinrequiredtypenotes
pathqueryyesstringThe object key to read, relative to the account's prefix.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Download one file's bytes, with a token from the door.

GET /_/api/v1/download
curl -X GET 'https://zpe.vc/files/_/api/v1/download?path=string' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

GET /_/api/v1/list List one folder, sorted, folders first getList

List one folder, sorted, folders first

Parameters

nameinrequiredtypenotes
cursorquerynostringThe `nextCursor` a previous page answered, to read the next one.
limitquerynointegerHow many entries to answer. The whole folder when absent.
pathquerynostringThe folder to list, relative to the account's prefix. The root when absent.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

List one folder, sorted, folders first, with a token from the door.

GET /_/api/v1/list
curl -X GET 'https://zpe.vc/files/_/api/v1/list?cursor=string&limit=0&path=string' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

POST /_/api/v1/mkdir Create a folder, with its parent markers postMkdir

Create a folder, with its parent markers

Parameters

nameinrequiredtypenotes
pathqueryyesstringThe folder to create, relative to the account's prefix.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Create a folder, with its parent markers, with a token from the door.

POST /_/api/v1/mkdir
curl -X POST 'https://zpe.vc/files/_/api/v1/mkdir?path=string' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

POST /_/api/v1/rename Rename or move a file or folder postRename

Rename or move a file or folder

Parameters

nameinrequiredtypenotes
fromquerynostringThe file or folder to move. Send it here or as `from` in a JSON body.
overwritequerynobooleanReplace the destination when it already exists. Default false.
toquerynostringIts new path. Send it here or as `to` in a JSON body.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Rename or move a file or folder, with a token from the door.

POST /_/api/v1/rename
curl -X POST 'https://zpe.vc/files/_/api/v1/rename?from=string&overwrite=false&to=string' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

GET /_/api/v1/search Search the account's files by name getSearch

Search the account's files by name

Parameters

nameinrequiredtypenotes
cursorquerynostringThe `nextCursor` a previous page answered, to read the next one.
limitquerynointegerHow many hits to answer. Default 100.
matchqueryno"name"`name` matches a file's whole name instead of a substring of it, for a caller that knows the name it wants.
prefixquerynostringOnly search under this folder, relative to the account's prefix.
qquerynostringThe text to find in a file's name. An empty one answers nothing rather than everything.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Search the account's files by name, with a token from the door.

GET /_/api/v1/search
curl -X GET 'https://zpe.vc/files/_/api/v1/search?cursor=string&limit=0&match=name&prefix=string&q=string' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

GET /_/api/v1/stat Read one file's metadata without its bytes getStat

Read one file's metadata without its bytes

Parameters

nameinrequiredtypenotes
pathqueryyesstringThe object key to read the metadata of, relative to the account's prefix.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Read one file's metadata without its bytes, with a token from the door.

GET /_/api/v1/stat
curl -X GET 'https://zpe.vc/files/_/api/v1/stat?path=string' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

GET /_/api/v1/trash List the trash, restore from it, or empty it getTrash

List the trash, restore from it, or empty it

Parameters

No parameters.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

List the trash, restore from it, or empty it, with a token from the door.

GET /_/api/v1/trash
curl -X GET 'https://zpe.vc/files/_/api/v1/trash' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

POST /_/api/v1/trash List the trash, restore from it, or empty it postTrash

List the trash, restore from it, or empty it

Parameters

nameinrequiredtypenotes
actionqueryno"restore"`restore` restores the keys named in the body. Absent, the body's keys are soft-deleted instead.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

List the trash, restore from it, or empty it, with a token from the door.

POST /_/api/v1/trash
curl -X POST 'https://zpe.vc/files/_/api/v1/trash?action=restore' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

DELETE /_/api/v1/trash List the trash, restore from it, or empty it deleteTrash

List the trash, restore from it, or empty it

Parameters

No parameters.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

List the trash, restore from it, or empty it, with a token from the door.

DELETE /_/api/v1/trash
curl -X DELETE 'https://zpe.vc/files/_/api/v1/trash' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

POST /_/api/v1/upload Upload a file, or write and remove one raw PUT at a time postUpload

Upload a file, or write and remove one raw PUT at a time

Parameters

nameinrequiredtypenotes
overwritequerynobooleanReplace a file of the same name. Default false.
pathquerynostringThe folder to write into — or, with `uploads`, the file key the multipart upload is for.
uploadIdquerynostringComplete the multipart upload this id names, with the parts in a JSON body.
uploadsquerynobooleanStart a multipart upload and answer its `uploadId`. Send it with no value.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Upload a file, or write and remove one raw PUT at a time, with a token from the door.

POST /_/api/v1/upload
curl -X POST 'https://zpe.vc/files/_/api/v1/upload?overwrite=false&path=string&uploadId=string&uploads=false' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

PUT /_/api/v1/upload Upload a file, or write and remove one raw PUT at a time putUpload

Upload a file, or write and remove one raw PUT at a time

Parameters

nameinrequiredtypenotes
partNumberqueryyesintegerWhich part this body is, counted from 1.
pathqueryyesstringThe file key this part belongs to.
uploadIdqueryyesstringThe multipart upload this part belongs to.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Upload a file, or write and remove one raw PUT at a time, with a token from the door.

PUT /_/api/v1/upload
curl -X PUT 'https://zpe.vc/files/_/api/v1/upload?partNumber=0&path=string&uploadId=string' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.

DELETE /_/api/v1/upload Upload a file, or write and remove one raw PUT at a time deleteUpload

Upload a file, or write and remove one raw PUT at a time

Parameters

nameinrequiredtypenotes
pathqueryyesstringThe file key the abandoned upload was for.
uploadIdqueryyesstringThe multipart upload to abandon.

Request body

None: this operation takes its arguments in the path and the query.

Responses

statusmeaningbody
200The answerobject
400The request could not be readobject
401The credential is missing or does not open this accountobject
403This account may not do thatobject
404Nothing is hereobject
429Too many requestsobject

Example

Upload a file, or write and remove one raw PUT at a time, with a token from the door.

DELETE /_/api/v1/upload
curl -X DELETE 'https://zpe.vc/files/_/api/v1/upload?path=string&uploadId=string' \
  -H 'Authorization: Bearer $ZPE_TOKEN'
200 application/json
{}

The example is generated from the schema in the contract: the shape is the document's, the values are placeholders.