Arkipel Message Specifications
This section documents the current message types supported by Arkipel communities. Each message type includes, at least:
- Description
- Request schema
- Request attributes
- Response schema
All Messages
Queries (Read Operations)
Distributions
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | distributions:query | Retrieve a list of distributions. | View |
| ✅ | distribution:query | Retrieve a single distribution by ID. | View |
Distribution Templates
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | distribution_templates:query | Retrieve a list of distribution templates. | View |
Forms
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | forms:query | Retrieve a list of forms supported by the community. | View |
| ✅ | form:query | Retrieve a single form by ID. | View |
Households
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | households:query | Retrieve a list of households. | View |
| ✅ | household:query | Retrieve a single household by ID. | View |
Household Categories
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | household_categories:query | Retrieve a list of household categories. | View |
Notes
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | notes:query | Retrieve a list of notes. | View |
| ✅ | note:query | Retrieve a single note by ID. | View |
Rooms
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | rooms:query | Retrieve a list of rooms. | View |
| ✅ | room:query | Retrieve a single room by ID. | View |
| ✅ | room_comments:query | Retrieve comments for a room. | View |
Inbox
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | inbox:query | Consolidated inbox view of unread discussions. | View |
Organizations
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| 📅 | organizations:query | Retrieve a list of organizations. | View |
| 📅 | organization:query | Retrieve a single organization by ID. | View |
Organization Categories
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| 📅 | organization_categories:query | Retrieve a list of organization categories. | View |
People
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | people:query | Retrieve a list of people. | View |
| ✅ | person:query | Retrieve a single person by ID. | View |
Person Categories
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | person_categories:query | Retrieve a list of person categories. | View |
Todos
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | todos:query | Retrieve a list of todos. | View |
| ✅ | todo:query | Retrieve a single todo by ID. | View |
Mutations (Write/Destroy Operations)
Addresses
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| 📅 | address:delete | Delete a single address by ID. | View |
Contact Informations
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| 📅 | contact_information:delete | Delete a single contact information by ID. | View |
Distributions
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | distributions:upsert | Create a distribution or update a single distribution by ID. | View |
| ✅ | distribution:delete | Delete a single distribution by ID. | View |
| ✅ | distributions:delete | Delete a list of distributions. | View |
Forms
Households
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | households:upsert | Create a household or update a single household by ID. | View |
| ✅ | household:delete | Delete a single household by ID. | View |
| ✅ | household_person:delete | Delete a person link to an household by ID. | View |
Notes
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| 🚧 | notes:upsert | Create a note or update a single note by ID. | View |
Organizations
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | organizations:upsert | Create an organization or update a single organization by ID. | View |
| ✅ | organization:delete | Delete a single organization by ID. | View |
| 📅 | organization_person:delete | Delete a person link to an organization by ID. | View |
People
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | people:upsert | Create a person or update a single person by ID. | View |
| ✅ | person:delete | Delete a single person by ID. | View |
Procurements
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| 📅 | procurements:upsert | Create a procurement or update a single procurement by ID. | View |
| ❌ | procurement:delete | Delete a single procurement by ID. | View |
Publications
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | publications:upsert | Create a publication or update a single publication by ID. | View |
Rooms
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | rooms:upsert | Create a room or update a single room by ID. | View |
| ✅ | room_comments:upsert | Create a comment in a room. | View |
| ✅ | room:read | Mark room comments as read. | View |
Todos
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | todo:close | Close a single todo by ID. | View |
| ✅ | todo:reopen | Reopen a single todo by ID. | View |
System Messages
| Status | Message Type | Description | Documentation |
|---|---|---|---|
| ✅ | ping | Check connection health. | View |
| ✅ | arkipel_messages:query | Query a message from a given ID
| View |
| ✅ | whoami:query | Query the identity of the authenticated user and retrieve their full profile within the community context. | View |
Reference Documentation
| Document | Description |
|---|---|
| Global Schemas | Request/response envelope structure and pagination |
| Asynchronous Processing | How mutations work and how to track operation status |
| Authentication Behavior | How auth methods affect endpoint access |
| Error Handling | HTTP status codes, error messages, and retry strategies |
| API Connection | Authentication setup and configuration |
Quick Reference
Global Request Attributes
All messages require these fields. See Global Schemas for complete documentation.
-
payload.type- Message type (e.g.,people:query) -
signature- Ed25519 signature (keypair auth) -
source_public_key- Your public key (keypair auth) -
timestamp- ISO 8601 timestamp (token auth)
Search Request Attributes
Query messages support pagination in payload.q:
-
page- Integer, default: 1 -
per_page- Integer, default: 20, max: 100
Search Response Attributes
Query responses include pagination info in payload.q:
-
page- Current page number -
per_page- Records per page -
total- Total records available
Glossary
Message Implementation Status
| Emoji | Status | Meaning |
|---|---|---|
| ✅ | Implemented | Message is fully implemented |
| 🚧 | In Progress | Currently being worked on |
| ❌ | Not Implemented | Not started or not planned yet |
| 📅 | Planned | Scheduled for future implementation |
| 🗑️ | Deprecated | Message is deprecated |