Files
herolib/examples/hero/heroserver/openrpc.json
2025-11-22 05:36:04 +02:00

2955 lines
104 KiB
JSON

{
"openrpc": "1.0.0",
"info": {
"title": "Hero Models API",
"version": "1.0.0"
},
"methods": [
{
"name": "calendar.get",
"summary": "Get a calendar by ID",
"description": "Retrieve a calendar by ID. Returns the calendar object.",
"params": [
{
"name": "id",
"description": "ID of calendar to fetch",
"required": true,
"schema": {
"type": "integer",
"example": 1,
"minimum": 0
}
}
],
"result": {
"name": "calendar",
"description": "Calendar object",
"schema": {
"$ref": "#/components/schemas/Calendar"
}
}
},
{
"name": "calendar.set",
"summary": "Create or update a calendar",
"description": "Create or update a calendar. Returns the ID of the calendar.",
"params": [
{
"name": "calendar",
"description": "Calendar object to create or update",
"required": true,
"schema": {
"$ref": "#/components/schemas/Calendar"
}
},
{
"name": "events",
"description": "Array of event IDs to add to the calendar",
"required": false,
"schema": {
"type": "array",
"example": [
1,
2,
3
],
"items": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "color",
"description": "Hex color code for the calendar",
"required": false,
"schema": {
"type": "string",
"example": "#FF0000"
}
},
{
"name": "timezone",
"description": "Timezone for the calendar",
"required": false,
"schema": {
"type": "string",
"example": "UTC"
}
},
{
"name": "is_public",
"description": "Whether the calendar is public",
"required": false,
"schema": {
"type": "boolean",
"example": true
}
}
],
"result": {
"name": "id",
"description": "ID of the created/updated calendar",
"schema": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "calendar.delete",
"summary": "Delete a calendar by ID",
"description": "Delete a calendar by ID. Returns true if successful.",
"params": [
{
"name": "id",
"description": "ID of calendar to delete",
"required": true,
"schema": {
"type": "integer",
"minimum": 0,
"example": 1
}
}
],
"result": {
"name": "result",
"description": "Success result",
"schema": {
"type": "boolean"
}
}
},
{
"name": "calendar.exist",
"summary": "Check if a calendar exists by ID",
"description": "Check if a calendar exists by ID. Returns true or false.",
"params": [
{
"name": "id",
"description": "ID of calendar to check",
"required": true,
"schema": {
"type": "integer",
"minimum": 0,
"example": 1
}
}
],
"result": {
"name": "exists",
"description": "Whether the calendar exists",
"schema": {
"type": "boolean"
}
}
},
{
"name": "calendar.list",
"summary": "List all calendars",
"description": "List all calendars. Returns an array of calendar objects.",
"params": [],
"result": {
"name": "calendars",
"description": "List of all calendar objects",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Calendar"
}
}
}
},
{
"name": "calendar_event.get",
"summary": "Get a calendar event by ID",
"description": "Retrieve a calendar event by ID. Returns the event object.",
"params": [
{
"name": "id",
"description": "ID of calendar event to fetch",
"required": true,
"schema": {
"type": "integer",
"minimum": 0,
"example": 1
}
}
],
"result": {
"name": "calendar_event",
"description": "Calendar event object",
"schema": {
"$ref": "#/components/schemas/CalendarEvent"
}
}
},
{
"name": "calendar_event.set",
"summary": "Create or update a calendar event",
"description": "Create or update a calendar event. Returns the ID of the event.",
"params": [
{
"name": "calendar_event",
"description": "Calendar event object to create or update",
"required": true,
"schema": {
"$ref": "#/components/schemas/CalendarEvent"
}
}
],
"result": {
"name": "id",
"description": "ID of the created/updated calendar event",
"schema": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "calendar_event.delete",
"summary": "Delete a calendar event by ID",
"description": "Delete a calendar event by ID. Returns true if successful.",
"params": [
{
"name": "id",
"description": "ID of calendar event to delete",
"required": true,
"schema": {
"type": "integer",
"minimum": 0,
"example": 1
}
}
],
"result": {
"name": "result",
"description": "Success result",
"schema": {
"type": "boolean"
}
}
},
{
"name": "calendar_event.exist",
"summary": "Check if a calendar event exists by ID",
"description": "Check if a calendar event exists by ID. Returns true or false.",
"params": [
{
"name": "id",
"description": "ID of calendar event to check",
"required": true,
"schema": {
"type": "integer",
"minimum": 0,
"example": 1
}
}
],
"result": {
"name": "exists",
"description": "Whether the calendar event exists",
"schema": {
"type": "boolean"
}
}
},
{
"name": "calendar_event.list",
"summary": "List all calendar events",
"description": "List all calendar events. Returns an array of event objects.",
"params": [],
"result": {
"name": "calendar_events",
"description": "List of all calendar event objects",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CalendarEvent"
}
}
}
},
{
"name": "chat_group.get",
"summary": "Get a chat group by ID",
"description": "Retrieve a chat group by ID. Returns the chat group object.",
"params": [
{
"name": "id",
"description": "ID of chat group to fetch",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "chat_group",
"description": "Chat group object",
"schema": {
"$ref": "#/components/schemas/ChatGroup"
}
}
},
{
"name": "chat_group.set",
"summary": "Create or update a chat group",
"description": "Create or update a chat group. Returns the ID of the chat group.",
"params": [
{
"name": "chat_group",
"description": "Chat group object to create or update",
"required": true,
"schema": {
"$ref": "#/components/schemas/ChatGroup"
}
}
],
"result": {
"name": "id",
"description": "ID of the created/updated chat group",
"schema": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "chat_group.delete",
"summary": "Delete a chat group by ID",
"description": "Delete a chat group by ID. Returns true if successful.",
"params": [
{
"name": "id",
"description": "ID of chat group to delete",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "result",
"description": "Success result",
"schema": {
"type": "boolean"
}
}
},
{
"name": "chat_group.exist",
"summary": "Check if a chat group exists by ID",
"description": "Check if a chat group exists by ID. Returns true or false.",
"params": [
{
"name": "id",
"description": "ID of chat group to check",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "exists",
"description": "Whether the chat group exists",
"schema": {
"type": "boolean"
}
}
},
{
"name": "chat_group.list",
"summary": "List all chat groups",
"description": "List all chat groups. Returns an array of chat group objects.",
"params": [],
"result": {
"name": "chat_groups",
"description": "List of all chat group objects",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChatGroup"
}
}
}
},
{
"name": "chat_message.get",
"summary": "Get a chat message by ID",
"description": "Retrieve a chat message by ID. Returns the message object.",
"params": [
{
"name": "id",
"description": "ID of chat message to fetch",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "chat_message",
"description": "Chat message object",
"schema": {
"$ref": "#/components/schemas/ChatMessage"
}
}
},
{
"name": "chat_message.set",
"summary": "Create or update a chat message",
"description": "Create or update a chat message. Returns the ID of the message.",
"params": [
{
"name": "chat_message",
"description": "Chat message object to create or update",
"required": true,
"schema": {
"$ref": "#/components/schemas/ChatMessage"
}
}
],
"result": {
"name": "id",
"description": "ID of the created/updated chat message",
"schema": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "chat_message.delete",
"summary": "Delete a chat message by ID",
"description": "Delete a chat message by ID. Returns true if successful.",
"params": [
{
"name": "id",
"description": "ID of chat message to delete",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "result",
"description": "Success result",
"schema": {
"type": "boolean"
}
}
},
{
"name": "chat_message.exist",
"summary": "Check if a chat message exists by ID",
"description": "Check if a chat message exists by ID. Returns true or false.",
"params": [
{
"name": "id",
"description": "ID of chat message to check",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "exists",
"description": "Whether the chat message exists",
"schema": {
"type": "boolean"
}
}
},
{
"name": "chat_message.list",
"summary": "List all chat messages",
"description": "List all chat messages. Returns an array of message objects.",
"params": [],
"result": {
"name": "chat_messages",
"description": "List of all chat message objects",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChatMessage"
}
}
}
},
{
"name": "contact.get",
"summary": "Get a contact by ID",
"description": "Retrieve a contact by ID. Returns the contact object.",
"params": [
{
"name": "id",
"description": "ID of contact to fetch",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "contact",
"description": "Contact object",
"schema": {
"$ref": "#/components/schemas/Contact"
}
}
},
{
"name": "contact.set",
"summary": "Create or update a contact",
"description": "Create or update a contact. Returns the ID of the contact.",
"params": [
{
"name": "contact",
"description": "Contact object to create or update",
"required": true,
"schema": {
"$ref": "#/components/schemas/Contact"
}
}
],
"result": {
"name": "id",
"description": "ID of the created/updated contact",
"schema": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "contact.delete",
"summary": "Delete a contact by ID",
"description": "Delete a contact by ID. Returns true if successful.",
"params": [
{
"name": "id",
"description": "ID of contact to delete",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "result",
"description": "Success result",
"schema": {
"type": "boolean"
}
}
},
{
"name": "contact.exist",
"summary": "Check if a contact exists by ID",
"description": "Check if a contact exists by ID. Returns true or false.",
"params": [
{
"name": "id",
"description": "ID of contact to check",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "exists",
"description": "Whether the contact exists",
"schema": {
"type": "boolean"
}
}
},
{
"name": "contact.list",
"summary": "List all contacts",
"description": "List all contacts. Returns an array of contact objects.",
"params": [],
"result": {
"name": "contacts",
"description": "List of all contact objects",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Contact"
}
}
}
},
{
"name": "group.get",
"summary": "Get a group by ID",
"description": "Retrieve a group by ID. Returns the group object.",
"params": [
{
"name": "id",
"description": "ID of group to fetch",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "group",
"description": "Group object",
"schema": {
"$ref": "#/components/schemas/Group"
}
}
},
{
"name": "group.set",
"summary": "Create or update a group",
"description": "Create or update a group. Returns the ID of the group.",
"params": [
{
"name": "group",
"description": "Group object to create or update",
"required": true,
"schema": {
"$ref": "#/components/schemas/Group"
}
}
],
"result": {
"name": "id",
"description": "ID of the created/updated group",
"schema": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "group.delete",
"summary": "Delete a group by ID",
"description": "Delete a group by ID. Returns true if successful.",
"params": [
{
"name": "id",
"description": "ID of group to delete",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "result",
"description": "Success result",
"schema": {
"type": "boolean"
}
}
},
{
"name": "group.exist",
"summary": "Check if a group exists by ID",
"description": "Check if a group exists by ID. Returns true or false.",
"params": [
{
"name": "id",
"description": "ID of group to check",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "exists",
"description": "Whether the group exists",
"schema": {
"type": "boolean"
}
}
},
{
"name": "group.list",
"summary": "List all groups",
"description": "List all groups. Returns an array of group objects.",
"params": [],
"result": {
"name": "groups",
"description": "List of all group objects",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Group"
}
}
}
},
{
"name": "message.get",
"summary": "Get a message by ID",
"description": "Retrieve a message by ID. Returns the message object.",
"params": [
{
"name": "id",
"description": "ID of message to fetch",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "message",
"description": "Message object",
"schema": {
"$ref": "#/components/schemas/Message"
}
}
},
{
"name": "message.set",
"summary": "Create or update a message",
"description": "Create or update a message. Returns the ID of the message.",
"params": [
{
"name": "message",
"description": "Message object to create or update",
"required": true,
"schema": {
"$ref": "#/components/schemas/Message"
}
}
],
"result": {
"name": "id",
"description": "ID of the created/updated message",
"schema": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "message.delete",
"summary": "Delete a message by ID",
"description": "Delete a message by ID. Returns true if successful.",
"params": [
{
"name": "id",
"description": "ID of message to delete",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "result",
"description": "Success result",
"schema": {
"type": "boolean"
}
}
},
{
"name": "message.exist",
"summary": "Check if a message exists by ID",
"description": "Check if a message exists by ID. Returns true or false.",
"params": [
{
"name": "id",
"description": "ID of message to check",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "exists",
"description": "Whether the message exists",
"schema": {
"type": "boolean"
}
}
},
{
"name": "message.list",
"summary": "List all messages",
"description": "List all messages. Returns an array of message objects.",
"params": [],
"result": {
"name": "messages",
"description": "List of all message objects",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Message"
}
}
}
},
{
"name": "planning.get",
"summary": "Get a planning by ID",
"description": "Retrieve a planning by ID. Returns the planning object.",
"params": [
{
"name": "id",
"description": "ID of planning to fetch",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "planning",
"description": "Planning object",
"schema": {
"$ref": "#/components/schemas/Planning"
}
}
},
{
"name": "planning.set",
"summary": "Create or update a planning",
"description": "Create or update a planning. Returns the ID of the planning.",
"params": [
{
"name": "planning",
"description": "Planning object to create or update",
"required": true,
"schema": {
"$ref": "#/components/schemas/Planning"
}
}
],
"result": {
"name": "id",
"description": "ID of the created/updated planning",
"schema": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "planning.delete",
"summary": "Delete a planning by ID",
"description": "Delete a planning by ID. Returns true if successful.",
"params": [
{
"name": "id",
"description": "ID of planning to delete",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "result",
"description": "Success result",
"schema": {
"type": "boolean"
}
}
},
{
"name": "planning.exist",
"summary": "Check if a planning exists by ID",
"description": "Check if a planning exists by ID. Returns true or false.",
"params": [
{
"name": "id",
"description": "ID of planning to check",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "exists",
"description": "Whether the planning exists",
"schema": {
"type": "boolean"
}
}
},
{
"name": "planning.list",
"summary": "List all plannings",
"description": "List all plannings. Returns an array of planning objects.",
"params": [],
"result": {
"name": "plannings",
"description": "List of all planning objects",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Planning"
}
}
}
},
{
"name": "profile.get",
"summary": "Get a profile by ID",
"description": "Retrieve a profile by ID. Returns the profile object.",
"params": [
{
"name": "id",
"description": "ID of profile to fetch",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "profile",
"description": "Profile object",
"schema": {
"$ref": "#/components/schemas/Profile"
}
}
},
{
"name": "profile.set",
"summary": "Create or update a profile",
"description": "Create or update a profile. Returns the ID of the profile.",
"params": [
{
"name": "profile",
"description": "Profile object to create or update",
"required": true,
"schema": {
"$ref": "#/components/schemas/Profile"
}
}
],
"result": {
"name": "id",
"description": "ID of the created/updated profile",
"schema": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "profile.delete",
"summary": "Delete a profile by ID",
"description": "Delete a profile by ID. Returns true if successful.",
"params": [
{
"name": "id",
"description": "ID of profile to delete",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "result",
"description": "Success result",
"schema": {
"type": "boolean"
}
}
},
{
"name": "profile.exist",
"summary": "Check if a profile exists by ID",
"description": "Check if a profile exists by ID. Returns true or false.",
"params": [
{
"name": "id",
"description": "ID of profile to check",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "exists",
"description": "Whether the profile exists",
"schema": {
"type": "boolean"
}
}
},
{
"name": "profile.list",
"summary": "List all profiles",
"description": "List all profiles. Returns an array of profile objects.",
"params": [],
"result": {
"name": "profiles",
"description": "List of all profile objects",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Profile"
}
}
}
},
{
"name": "project.get",
"summary": "Get a project by ID",
"description": "Retrieve a project by ID. Returns the project object.",
"params": [
{
"name": "id",
"description": "ID of project to fetch",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "project",
"description": "Project object",
"schema": {
"$ref": "#/components/schemas/Project"
}
}
},
{
"name": "project.set",
"summary": "Create or update a project",
"description": "Create or update a project. Returns the ID of the project.",
"params": [
{
"name": "project",
"description": "Project object to create or update",
"required": true,
"schema": {
"$ref": "#/components/schemas/Project"
}
}
],
"result": {
"name": "id",
"description": "ID of the created/updated project",
"schema": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "project.delete",
"summary": "Delete a project by ID",
"description": "Delete a project by ID. Returns true if successful.",
"params": [
{
"name": "id",
"description": "ID of project to delete",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "result",
"description": "Success result",
"schema": {
"type": "boolean"
}
}
},
{
"name": "project.exist",
"summary": "Check if a project exists by ID",
"description": "Check if a project exists by ID. Returns true or false.",
"params": [
{
"name": "id",
"description": "ID of project to check",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "exists",
"description": "Whether the project exists",
"schema": {
"type": "boolean"
}
}
},
{
"name": "project.list",
"summary": "List all projects",
"description": "List all projects. Returns an array of project objects.",
"params": [],
"result": {
"name": "projects",
"description": "List of all project objects",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Project"
}
}
}
},
{
"name": "project_issue.get",
"summary": "Get a project issue by ID",
"description": "Retrieve a project issue by ID. Returns the issue object.",
"params": [
{
"name": "id",
"description": "ID of project issue to fetch",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "project_issue",
"description": "Project issue object",
"schema": {
"$ref": "#/components/schemas/ProjectIssue"
}
}
},
{
"name": "project_issue.set",
"summary": "Create or update a project issue",
"description": "Create or update a project issue. Returns the ID of the issue.",
"params": [
{
"name": "project_issue",
"description": "Project issue object to create or update",
"required": true,
"schema": {
"$ref": "#/components/schemas/ProjectIssue"
}
}
],
"result": {
"name": "id",
"description": "ID of the created/updated project issue",
"schema": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "project_issue.delete",
"summary": "Delete a project issue by ID",
"description": "Delete a project issue by ID. Returns true if successful.",
"params": [
{
"name": "id",
"description": "ID of project issue to delete",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "result",
"description": "Success result",
"schema": {
"type": "boolean"
}
}
},
{
"name": "project_issue.exist",
"summary": "Check if a project issue exists by ID",
"description": "Check if a project issue exists by ID. Returns true or false.",
"params": [
{
"name": "id",
"description": "ID of project issue to check",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "exists",
"description": "Whether the project issue exists",
"schema": {
"type": "boolean"
}
}
},
{
"name": "project_issue.list",
"summary": "List all project issues",
"description": "List all project issues. Returns an array of issue objects.",
"params": [],
"result": {
"name": "project_issues",
"description": "List of all project issue objects",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProjectIssue"
}
}
}
},
{
"name": "registration_desk.get",
"summary": "Get a registration desk by ID",
"description": "Retrieve a registration desk by ID. Returns the registration desk object.",
"params": [
{
"name": "id",
"description": "ID of registration desk to fetch",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "registration_desk",
"description": "Registration desk object",
"schema": {
"$ref": "#/components/schemas/RegistrationDesk"
}
}
},
{
"name": "registration_desk.set",
"summary": "Create or update a registration desk",
"description": "Create or update a registration desk. Returns the ID of the registration desk.",
"params": [
{
"name": "registration_desk",
"description": "Registration desk object to create or update",
"required": true,
"schema": {
"$ref": "#/components/schemas/RegistrationDesk"
}
}
],
"result": {
"name": "id",
"description": "ID of the created/updated registration desk",
"schema": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "registration_desk.delete",
"summary": "Delete a registration desk by ID",
"description": "Delete a registration desk by ID. Returns true if successful.",
"params": [
{
"name": "id",
"description": "ID of registration desk to delete",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "result",
"description": "Success result",
"schema": {
"type": "boolean"
}
}
},
{
"name": "registration_desk.exist",
"summary": "Check if a registration desk exists by ID",
"description": "Check if a registration desk exists by ID. Returns true or false.",
"params": [
{
"name": "id",
"description": "ID of registration desk to check",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "exists",
"description": "Whether the registration desk exists",
"schema": {
"type": "boolean"
}
}
},
{
"name": "registration_desk.list",
"summary": "List all registration desks",
"description": "List all registration desks. Returns an array of registration desk objects.",
"params": [],
"result": {
"name": "registration_desks",
"description": "List of all registration desk objects",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RegistrationDesk"
}
}
}
},
{
"name": "user.get",
"summary": "Get a user by ID",
"description": "Retrieve a user by ID. Returns the user object.",
"params": [
{
"name": "id",
"description": "ID of user to fetch",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "user",
"description": "User object",
"schema": {
"$ref": "#/components/schemas/User"
}
}
},
{
"name": "user.set",
"summary": "Create or update a user",
"description": "Create or update a user. Returns the ID of the user.",
"params": [
{
"name": "user",
"description": "User object to create or update",
"required": true,
"schema": {
"$ref": "#/components/schemas/User"
}
}
],
"result": {
"name": "id",
"description": "ID of the created/updated user",
"schema": {
"type": "integer",
"minimum": 0
}
}
},
{
"name": "user.delete",
"summary": "Delete a user by ID",
"description": "Delete a user by ID. Returns true if successful.",
"params": [
{
"name": "id",
"description": "ID of user to delete",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "result",
"description": "Success result",
"schema": {
"type": "boolean"
}
}
},
{
"name": "user.exist",
"summary": "Check if a user exists by ID",
"description": "Check if a user exists by ID. Returns true or false.",
"params": [
{
"name": "id",
"description": "ID of user to check",
"required": true,
"schema": {
"type": "integer",
"minimum": 0
}
}
],
"result": {
"name": "exists",
"description": "Whether the user exists",
"schema": {
"type": "boolean"
}
}
},
{
"name": "user.list",
"summary": "List all users",
"description": "List all users. Returns an array of user objects.",
"params": [],
"result": {
"name": "users",
"description": "List of all user objects",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/User"
}
}
}
}
],
"components": {
"schemas": {
"Base": {
"type": "object",
"description": "Base properties inherited by all model objects",
"properties": {
"id": {
"type": "integer",
"minimum": 0,
"description": "Unique identifier",
"example": 1
},
"name": {
"type": "string",
"description": "Object name",
"example": "My Object"
},
"description": {
"type": "string",
"description": "Object description",
"example": "A sample object description"
},
"created_at": {
"type": "integer",
"description": "Unix timestamp when created",
"example": 1704110400
},
"updated_at": {
"type": "integer",
"description": "Unix timestamp when last updated",
"example": 1704110400
},
"securitypolicy": {
"type": "integer",
"minimum": 0,
"description": "Security policy ID",
"example": 1
},
"tags": {
"type": "integer",
"minimum": 0,
"description": "Tags ID",
"example": 1
},
"messages": {
"type": "array",
"description": "Associated message IDs",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
1,
2,
3
]
}
}
},
"Calendar": {
"title": "Calendar",
"description": "A calendar object",
"allOf": [
{
"$ref": "#/components/schemas/Base"
}
],
"properties": {
"events": {
"type": "array",
"description": "IDs of calendar events",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
1,
2,
3
]
},
"color": {
"type": "string",
"description": "Hex color code for the calendar",
"example": "#FF0000"
},
"timezone": {
"type": "string",
"description": "Timezone for the calendar",
"example": "UTC"
},
"is_public": {
"type": "boolean",
"description": "Whether the calendar is public",
"example": true
}
}
},
"CalendarEvent": {
"title": "CalendarEvent",
"description": "A calendar event object",
"allOf": [
{
"$ref": "#/components/schemas/Base"
}
],
"properties": {
"title": {
"type": "string",
"description": "Event title",
"example": "Team Meeting"
},
"start_time": {
"type": "integer",
"description": "Unix timestamp for event start",
"example": 1704110400
},
"end_time": {
"type": "integer",
"description": "Unix timestamp for event end",
"example": 1704114000
},
"registration_desks": {
"type": "array",
"description": "IDs of registration desks for tracking invitees",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
1,
2
]
},
"attendees": {
"type": "array",
"description": "List of event attendees",
"items": {
"$ref": "#/components/schemas/Attendee"
},
"example": []
},
"docs": {
"type": "array",
"description": "Linked documents for the event",
"items": {
"$ref": "#/components/schemas/EventDoc"
},
"example": []
},
"calendar_id": {
"type": "integer",
"minimum": 0,
"description": "ID of the associated calendar",
"example": 1
},
"status": {
"type": "string",
"description": "Current status of the event",
"enum": [
"draft",
"published",
"cancelled",
"completed"
],
"example": "published"
},
"is_all_day": {
"type": "boolean",
"description": "Whether this is an all-day event",
"example": false
},
"reminder_mins": {
"type": "array",
"description": "Minutes before event for reminders",
"items": {
"type": "integer"
},
"example": [
15,
60
]
},
"color": {
"type": "string",
"description": "Hex color code for the event",
"example": "#0000FF"
},
"timezone": {
"type": "string",
"description": "Timezone for the event",
"example": "UTC"
},
"priority": {
"type": "string",
"description": "Event priority level",
"enum": [
"low",
"normal",
"urgent"
],
"example": "normal"
},
"public": {
"type": "boolean",
"description": "Whether the event is public",
"example": true
},
"locations": {
"type": "array",
"description": "Event locations",
"items": {
"$ref": "#/components/schemas/EventLocation"
},
"example": []
},
"is_template": {
"type": "boolean",
"description": "Whether this is a template event",
"example": false
}
}
},
"Attendee": {
"title": "Attendee",
"description": "An event attendee",
"type": "object",
"properties": {
"user_id": {
"type": "integer",
"minimum": 0,
"description": "ID of the user",
"example": 123
},
"status_latest": {
"type": "string",
"description": "Latest attendance status",
"enum": [
"invited",
"accepted",
"declined",
"tentative"
],
"example": "accepted"
},
"attendance_required": {
"type": "boolean",
"description": "Whether attendance is required",
"example": true
},
"admin": {
"type": "boolean",
"description": "Whether user can manage the event",
"example": false
},
"organizer": {
"type": "boolean",
"description": "Whether user is an organizer",
"example": false
},
"location": {
"type": "string",
"description": "Optional location for this attendee",
"example": "Conference Room A"
},
"log": {
"type": "array",
"description": "Attendance status log",
"items": {
"$ref": "#/components/schemas/AttendeeLog"
},
"example": []
}
}
},
"AttendeeLog": {
"title": "AttendeeLog",
"description": "An attendance status log entry",
"type": "object",
"properties": {
"timestamp": {
"type": "integer",
"minimum": 0,
"description": "Unix timestamp of status change",
"example": 1704110400
},
"status": {
"type": "string",
"description": "Attendance status",
"enum": [
"invited",
"accepted",
"declined",
"tentative"
],
"example": "accepted"
},
"remark": {
"type": "string",
"description": "Optional remark about status change",
"example": "Looking forward to it!"
}
}
},
"EventDoc": {
"title": "EventDoc",
"description": "A document linked to an event",
"type": "object",
"properties": {
"fs_item": {
"type": "integer",
"minimum": 0,
"description": "File system item ID",
"example": 456
},
"cat": {
"type": "string",
"description": "Document category (lowercase)",
"example": "agenda"
},
"public": {
"type": "boolean",
"description": "Whether document is public",
"example": true
}
}
},
"EventLocation": {
"title": "EventLocation",
"description": "An event location",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Location name",
"example": "Conference Room A"
},
"description": {
"type": "string",
"description": "Location description",
"example": "Main building, 2nd floor"
},
"cat": {
"type": "string",
"description": "Location category",
"enum": [
"online",
"physical",
"hybrid"
],
"example": "physical"
},
"docs": {
"type": "array",
"description": "Documents for this location",
"items": {
"$ref": "#/components/schemas/EventDoc"
},
"example": []
}
}
},
"ChatGroup": {
"title": "ChatGroup",
"description": "A chat group object",
"allOf": [
{
"$ref": "#/components/schemas/Base"
}
],
"properties": {
"chat_type": {
"type": "string",
"description": "Type of chat group",
"enum": [
"public_channel",
"private_channel",
"direct_message",
"group_message"
],
"example": "public_channel"
},
"last_activity": {
"type": "integer",
"description": "Unix timestamp of last activity",
"example": 1704110400
},
"is_archived": {
"type": "boolean",
"description": "Whether the chat group is archived",
"example": false
},
"group_id": {
"type": "integer",
"minimum": 0,
"description": "Associated group ID",
"example": 1
}
}
},
"ChatMessage": {
"title": "ChatMessage",
"description": "A chat message object",
"allOf": [
{
"$ref": "#/components/schemas/Base"
}
],
"properties": {
"content": {
"type": "string",
"description": "Message content",
"example": "Hello everyone! How is the project going?"
},
"chat_group_id": {
"type": "integer",
"minimum": 0,
"description": "ID of the chat group",
"example": 1
},
"sender_id": {
"type": "integer",
"minimum": 0,
"description": "ID of the message sender",
"example": 123
},
"parent_messages": {
"type": "array",
"description": "Links to parent messages (replies, references)",
"items": {
"$ref": "#/components/schemas/MessageLink"
},
"example": []
},
"fs_files": {
"type": "array",
"description": "File system item IDs attached to message",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
201,
202
]
},
"message_type": {
"type": "string",
"description": "Type of message",
"enum": [
"text",
"image",
"file",
"voice",
"video",
"system",
"announcement"
],
"example": "text"
},
"status": {
"type": "string",
"description": "Message delivery status",
"enum": [
"sent",
"delivered",
"read",
"failed",
"deleted"
],
"example": "delivered"
},
"reactions": {
"type": "array",
"description": "User reactions to the message",
"items": {
"$ref": "#/components/schemas/MessageReaction"
},
"example": []
},
"mentions": {
"type": "array",
"description": "User IDs mentioned in the message",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
456,
789
]
}
}
},
"MessageLink": {
"title": "MessageLink",
"description": "A link to another message",
"type": "object",
"properties": {
"message_id": {
"type": "integer",
"minimum": 0,
"description": "ID of the linked message",
"example": 456
},
"link_type": {
"type": "string",
"description": "Type of link relationship",
"enum": [
"reply",
"reference",
"forward",
"quote"
],
"example": "reply"
}
}
},
"MessageReaction": {
"title": "MessageReaction",
"description": "A reaction to a message",
"type": "object",
"properties": {
"user_id": {
"type": "integer",
"minimum": 0,
"description": "ID of the user who reacted",
"example": 123
},
"emoji": {
"type": "string",
"description": "Emoji used for reaction",
"example": "👍"
},
"timestamp": {
"type": "integer",
"description": "Unix timestamp when reaction was added",
"example": 1704110400
}
}
},
"Contact": {
"title": "Contact",
"description": "A contact object",
"allOf": [
{
"$ref": "#/components/schemas/Base"
}
],
"properties": {
"emails": {
"type": "array",
"description": "Email addresses",
"items": {
"type": "string"
},
"example": [
"john.doe@example.com",
"john@company.com"
]
},
"user_id": {
"type": "integer",
"minimum": 0,
"description": "Associated user ID",
"example": 123
},
"phones": {
"type": "array",
"description": "Phone numbers",
"items": {
"type": "string"
},
"example": [
"+1-555-123-4567",
"+1-555-987-6543"
]
},
"addresses": {
"type": "array",
"description": "Physical addresses",
"items": {
"type": "string"
},
"example": [
"123 Main St, City, State 12345"
]
},
"avatar_url": {
"type": "string",
"description": "URL to avatar image",
"example": "https://example.com/avatar.jpg"
},
"bio": {
"type": "string",
"description": "Biography or description",
"example": "Software Engineer with 5 years experience"
},
"timezone": {
"type": "string",
"description": "Timezone",
"example": "UTC"
},
"status": {
"type": "string",
"description": "Contact status",
"enum": [
"active",
"inactive"
],
"example": "active"
},
"profile_ids": {
"type": "array",
"description": "Associated profile IDs",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
1,
2
]
}
}
},
"Group": {
"title": "Group",
"description": "A group object",
"allOf": [
{
"$ref": "#/components/schemas/Base"
}
],
"properties": {
"members": {
"type": "array",
"description": "Group members",
"items": {
"$ref": "#/components/schemas/GroupMember"
},
"example": []
},
"subgroups": {
"type": "array",
"description": "IDs of child groups",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
10,
11
]
},
"parent_group": {
"type": "integer",
"minimum": 0,
"description": "ID of parent group",
"example": 5
},
"is_public": {
"type": "boolean",
"description": "Whether the group is public",
"example": true
}
}
},
"GroupMember": {
"title": "GroupMember",
"description": "A group member",
"type": "object",
"properties": {
"user_id": {
"type": "integer",
"minimum": 0,
"description": "ID of the user",
"example": 123
},
"role": {
"type": "string",
"description": "Member role in the group",
"enum": [
"reader",
"writer",
"admin",
"owner"
],
"example": "writer"
},
"joined_at": {
"type": "integer",
"description": "Unix timestamp when user joined",
"example": 1704110400
}
}
},
"Message": {
"title": "Message",
"description": "A message object",
"allOf": [
{
"$ref": "#/components/schemas/Base"
}
],
"properties": {
"subject": {
"type": "string",
"description": "Message subject",
"example": "Project Update - Week 1"
},
"message": {
"type": "string",
"description": "Message content",
"example": "Here's the weekly project update with current progress and next steps."
},
"parent": {
"type": "integer",
"minimum": 0,
"description": "ID of parent message (for replies)",
"example": 456
},
"author": {
"type": "integer",
"minimum": 0,
"description": "ID of message author",
"example": 123
},
"to": {
"type": "array",
"description": "IDs of primary recipients",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
789,
101
]
},
"cc": {
"type": "array",
"description": "IDs of CC recipients",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
102,
103
]
},
"send_log": {
"type": "array",
"description": "Log of message delivery attempts",
"items": {
"$ref": "#/components/schemas/SendLog"
},
"example": []
}
}
},
"SendLog": {
"title": "SendLog",
"description": "A send log entry",
"type": "object",
"properties": {
"to": {
"type": "array",
"description": "IDs of recipients in this send attempt",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
789,
101
]
},
"cc": {
"type": "array",
"description": "IDs of CC recipients in this send attempt",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
102
]
},
"status": {
"type": "string",
"description": "Delivery status",
"enum": [
"sent",
"received",
"acknowledged"
],
"example": "sent"
},
"timestamp": {
"type": "integer",
"minimum": 0,
"description": "Unix timestamp of send attempt",
"example": 1704110400
}
}
},
"Planning": {
"title": "Planning",
"description": "A planning object",
"allOf": [
{
"$ref": "#/components/schemas/Base"
}
],
"properties": {
"color": {
"type": "string"
},
"timezone": {
"type": "string"
},
"is_public": {
"type": "boolean"
},
"calendar_template_id": {
"type": "integer",
"minimum": 0
},
"registration_desk_id": {
"type": "integer",
"minimum": 0
},
"autoschedule_rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PlanningRecurrenceRule"
}
},
"invite_rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PlanningRecurrenceRule"
}
},
"attendees_required": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0
}
},
"attendees_optional": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0
}
}
}
},
"PlanningRecurrenceRule": {
"title": "PlanningRecurrenceRule",
"description": "A planning recurrence rule",
"type": "object",
"properties": {
"until": {
"type": "integer",
"minimum": 0
},
"by_weekday": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 7
}
},
"by_monthday": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 31
}
},
"hour_from": {
"type": "integer",
"minimum": 0,
"maximum": 23
},
"hour_to": {
"type": "integer",
"minimum": 0,
"maximum": 23
},
"duration": {
"type": "integer",
"minimum": 0
},
"priority": {
"type": "integer",
"minimum": 0,
"maximum": 10
}
}
},
"Profile": {
"title": "Profile",
"description": "A profile object",
"allOf": [
{
"$ref": "#/components/schemas/Base"
}
],
"properties": {
"user_id": {
"type": "integer",
"minimum": 0
},
"summary": {
"type": "string"
},
"headline": {
"type": "string"
},
"location": {
"type": "string"
},
"industry": {
"type": "string"
},
"picture_url": {
"type": "string"
},
"background_image_url": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"website": {
"type": "string"
},
"experience": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Experience"
}
},
"education": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Education"
}
},
"skills": {
"type": "array",
"items": {
"type": "string"
}
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"Experience": {
"title": "Experience",
"description": "A work experience entry",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"company": {
"type": "string"
},
"location": {
"type": "string"
},
"start_date": {
"type": "integer",
"minimum": 0
},
"end_date": {
"type": "integer",
"minimum": 0
},
"current": {
"type": "boolean"
},
"description": {
"type": "string"
}
}
},
"Education": {
"title": "Education",
"description": "An education entry",
"type": "object",
"properties": {
"school": {
"type": "string"
},
"degree": {
"type": "string"
},
"field_of_study": {
"type": "string"
},
"start_date": {
"type": "integer",
"minimum": 0
},
"end_date": {
"type": "integer",
"minimum": 0
},
"description": {
"type": "string"
}
}
},
"Project": {
"title": "Project",
"description": "A project object",
"allOf": [
{
"$ref": "#/components/schemas/Base"
}
],
"properties": {
"swimlanes": {
"type": "array",
"description": "Project swimlanes for organizing work",
"items": {
"$ref": "#/components/schemas/Swimlane"
},
"example": []
},
"milestones": {
"type": "array",
"description": "Project milestones",
"items": {
"$ref": "#/components/schemas/Milestone"
},
"example": []
},
"fs_files": {
"type": "array",
"description": "File system item IDs associated with project",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
101,
102,
103
]
},
"status": {
"type": "string",
"description": "Current project status",
"enum": [
"planning",
"active",
"on_hold",
"completed",
"cancelled"
],
"example": "active"
},
"start_date": {
"type": "integer",
"description": "Unix timestamp for project start date",
"example": 1704110400
},
"end_date": {
"type": "integer",
"description": "Unix timestamp for project end date",
"example": 1706788800
}
}
},
"Swimlane": {
"title": "Swimlane",
"description": "A project swimlane",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Swimlane name",
"example": "To Do"
},
"description": {
"type": "string",
"description": "Swimlane description",
"example": "Tasks that need to be started"
},
"order": {
"type": "integer",
"description": "Display order",
"example": 1
},
"color": {
"type": "string",
"description": "Hex color code",
"example": "#FF0000"
},
"is_done": {
"type": "boolean",
"description": "Whether this swimlane represents completed work",
"example": false
}
}
},
"Milestone": {
"title": "Milestone",
"description": "A project milestone",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Milestone name",
"example": "Phase 1 Complete"
},
"description": {
"type": "string",
"description": "Milestone description",
"example": "Complete all Phase 1 deliverables"
},
"due_date": {
"type": "integer",
"description": "Unix timestamp for due date",
"example": 1706788800
},
"completed": {
"type": "boolean",
"description": "Whether milestone is completed",
"example": false
},
"issues": {
"type": "array",
"description": "Issue IDs associated with this milestone",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
1,
2,
3
]
}
}
},
"ProjectIssue": {
"title": "ProjectIssue",
"description": "A project issue object",
"allOf": [
{
"$ref": "#/components/schemas/Base"
}
],
"properties": {
"title": {
"type": "string",
"description": "Issue title",
"example": "Implement user authentication system"
},
"project_id": {
"type": "integer",
"minimum": 0,
"description": "ID of the associated project",
"example": 1
},
"issue_type": {
"type": "string",
"description": "Type of issue",
"enum": [
"task",
"story",
"bug",
"question",
"epic",
"subtask"
],
"example": "task"
},
"priority": {
"type": "string",
"description": "Issue priority level",
"enum": [
"lowest",
"low",
"medium",
"high",
"highest",
"critical"
],
"example": "medium"
},
"status": {
"type": "string",
"description": "Current issue status",
"enum": [
"open",
"in_progress",
"blocked",
"review",
"testing",
"done",
"closed"
],
"example": "open"
},
"swimlane": {
"type": "string",
"description": "Swimlane name for organization",
"example": "To Do"
},
"assignees": {
"type": "array",
"description": "IDs of users assigned to this issue",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
123,
456
]
},
"reporter": {
"type": "integer",
"minimum": 0,
"description": "ID of user who reported the issue",
"example": 789
},
"milestone": {
"type": "string",
"description": "Milestone name",
"example": "Phase 1 Complete"
},
"deadline": {
"type": "integer",
"description": "Unix timestamp for deadline",
"example": 1706788800
},
"estimate": {
"type": "integer",
"description": "Estimated hours to complete",
"example": 8
},
"fs_files": {
"type": "array",
"description": "File system item IDs attached to issue",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
301,
302
]
},
"parent_id": {
"type": "integer",
"minimum": 0,
"description": "ID of parent issue (for subtasks)",
"example": 10
},
"children": {
"type": "array",
"description": "IDs of child issues (subtasks)",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
11,
12
]
}
}
},
"RegistrationDesk": {
"title": "RegistrationDesk",
"description": "A registration desk object",
"allOf": [
{
"$ref": "#/components/schemas/Base"
}
],
"properties": {
"fs_items": {
"type": "array",
"description": "File attachments for registration",
"items": {
"$ref": "#/components/schemas/RegistrationFileAttachment"
},
"example": []
},
"white_list": {
"type": "array",
"description": "User IDs allowed to register",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
123,
456,
789
]
},
"white_list_accepted": {
"type": "array",
"description": "User IDs from whitelist who have been accepted",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
123,
456
]
},
"required_list": {
"type": "array",
"description": "User IDs required to register",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
123
]
},
"black_list": {
"type": "array",
"description": "User IDs blocked from registration",
"items": {
"type": "integer",
"minimum": 0
},
"example": [
999
]
},
"start_time": {
"type": "integer",
"minimum": 0,
"description": "Unix timestamp when registration opens",
"example": 1704110400
},
"end_time": {
"type": "integer",
"minimum": 0,
"description": "Unix timestamp when registration closes",
"example": 1706788800
},
"acceptance_required": {
"type": "boolean",
"description": "Whether registrations require manual acceptance",
"example": true
},
"registrations": {
"type": "array",
"description": "List of registrations",
"items": {
"$ref": "#/components/schemas/Registration"
},
"example": []
}
}
},
"RegistrationFileAttachment": {
"title": "RegistrationFileAttachment",
"description": "A file attachment for registration",
"type": "object",
"properties": {
"fs_item": {
"type": "integer",
"minimum": 0,
"description": "File system item ID",
"example": 401
},
"cat": {
"type": "string",
"description": "File category",
"example": "document"
},
"public": {
"type": "boolean",
"description": "Whether file is publicly accessible",
"example": false
}
}
},
"Registration": {
"title": "Registration",
"description": "A registration entry",
"type": "object",
"properties": {
"user_id": {
"type": "integer",
"minimum": 0,
"description": "ID of the registered user",
"example": 123
},
"accepted": {
"type": "boolean",
"description": "Whether registration has been accepted",
"example": true
},
"accepted_by": {
"type": "integer",
"minimum": 0,
"description": "ID of user who accepted the registration",
"example": 456
},
"timestamp": {
"type": "integer",
"minimum": 0,
"description": "Unix timestamp when registration was submitted",
"example": 1704110400
},
"timestamp_acceptation": {
"type": "integer",
"minimum": 0,
"description": "Unix timestamp when registration was accepted",
"example": 1704196800
}
}
},
"User": {
"title": "User",
"description": "A user object",
"allOf": [
{
"$ref": "#/components/schemas/Base"
}
],
"properties": {
"user_id": {
"type": "integer",
"minimum": 0,
"description": "User ID from ledger system",
"example": 456
},
"contact_id": {
"type": "integer",
"minimum": 0,
"description": "Associated contact ID",
"example": 123
},
"status": {
"type": "string",
"description": "User status",
"enum": [
"active",
"inactive",
"suspended",
"pending"
],
"example": "active"
},
"profile_ids": {
"type": "array",
"description": "Associated profile IDs",
"items": {
"type": "string"
},
"example": [
"profile_1",
"profile_2"
]
}
}
}
}
}
}