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

Publications

Status Message Type Description Documentation
✅ publications:query Retrieve a list of published publications with change detection. View
✅ publication:query Retrieve a single published publication by ID or import_id. View

Files

Status Message Type Description Documentation
✅ files:query Retrieve a list of files. View
✅ file:query Retrieve a single file 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

Status Message Type Description Documentation
✅ form:fill Fill a form. View

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

Files

Status Message Type Description Documentation
✅ files:upsert Create a file or update a single file 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
✅ todos:upsert Create a todo or update a single todo by ID. View
✅ 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