files:query
Description: Retrieve a list of files/documents for the authenticated account.
Request Schema
{
"payload": {
"type": "files:query",
"q": {
"per_page": 25,
"page": 1,
"title_cont": "report"
}
},
"signature": "payload_ed25519_hex_signature",
"source_public_key": "your_client_public_key"
}
Request Attributes
- See global request attributes
- See search request attributes, and:
-
payload.q.title_cont- String - Records containing a given string in the file title -
payload.q.page- Integer - Page number for pagination (default: 1) -
payload.q.per_page- Integer - Items per page (default: 20)
Authentication Behavior
This endpoint follows Pattern A: Full Account Access.
All authentication methods see the same data - no person filtering is applied.
Response Schema
{
"source_public_key": "community_public_key",
"source_site": {
"protocol": "https",
"fqdn": "arkipel.localhost:3000"
},
"created_at": "2025-03-18T10:30:00Z",
"signature": "8b6392d5550605bd6ccddf9c21ebec470de4b44e4b4deb746076e37ab61c5346e07e7c7c7cebb5bbee41cdd92a476bcd3f02373d146ec165b31c31fc31c9ce0d",
"payload": {
"type": "files:query",
"q": {
"per_page": 25,
"page": 1,
"total": 10
},
"resources": [
{
"id": 1,
"import_id": "DOC-001",
"title": "Annual Report 2024",
"description": "Annual financial report for the community",
"attachable_type": "Organization",
"attachable_id": 456,
"created_at": "2025-03-17T09:00:00Z",
"updated_at": "2025-03-17T09:00:00Z"
}
]
}
}
Response Attributes
-
payload.q- Object - Query metadata including pagination info-
per_page- Integer - Items per page -
page- Integer - Current page number -
total- Integer - Total number of matching files
-
-
payload.resources- Array of file objects:-
id- Integer - Unique identifier -
import_id- String - External reference ID -
title- String - File title -
description- String - File description (optional) -
attachable_type- String - The type of entity this file is attached to -
attachable_id- Integer - The ID of the attached entity -
created_at- ISO 8601 timestamp - Creation time -
updated_at- ISO 8601 timestamp - Last update time
-
Error Responses
When an invalid query parameter is provided:
{
"source_public_key": "community_public_key",
"source_site": {
"protocol": "https",
"fqdn": "arkipel.localhost:3000"
},
"created_at": "2025-03-18T10:30:00Z",
"signature": "...",
"payload": {
"type": "files:query",
"q": { "invalid_param" => "value" }
},
"error": "Error message",
"status": "bad_request"
}
Real Life Example
{
"source_public_key": "bwyexzko74pnnjn741936fnaujxyhib9rpx8rggtejwnc3cz6ans",
"source_site": {
"protocol": "https",
"fqdn": "arkipel.co"
},
"created_at": "2026-02-14T14:14:22Z",
"signature": "0b7cf3e421c4d7e4212e2069fbfbfd6734d0809fa3603e492949dc5b948da691f277c601d48b9cbac2bebbfdf697e8e01aa93ff54ae53afab4c5c2272dea0400",
"payload": {
"type": "files:query",
"q": {
"per_page": 10,
"page": 1,
"total": 5,
"title_cont": "report"
},
"resources": [
{
"id": 123,
"import_id": "DOC-2024-001",
"title": "Annual Report 2024",
"description": "Annual financial report for the community",
"attachable_type": "Organization",
"attachable_id": 456,
"created_at": "2025-03-15T10:00:00Z",
"updated_at": "2025-03-15T10:00:00Z"
}
]
}
}
Usage Notes
- This is an ephemeral query - no message is persisted to the database
- Files are ordered by
updated_at DESC(newest first) by default - Soft-deleted files are automatically excluded from results
- Authentication can be via token, whitelist, or membership
- All files in the account are accessible regardless of authentication method