Hive Core Gateway Engine¶
Version 1.0.0
Path Table¶
Reference Table¶
Path Details¶
[POST]/api/v1/auth/login¶
-
Summary
Login Access Token -
Operation id
login_access_token_api_v1_auth_login_post -
Description
Authenticates account nodes, aggregates inherited permission matrices, and issues active JWT token assets.
RequestBody¶
- application/x-www-form-urlencoded
{
grant_type?: Partial(string) & Partial(null)
username: string
password: string
scope?: string
client_id?: Partial(string) & Partial(null)
client_secret?: Partial(string) & Partial(null)
}
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[GET]/api/v1/hive/tickets¶
-
Summary
Get All Tickets -
Operation id
get_all_tickets_api_v1_hive_tickets_get -
Security
OAuth2PasswordBearer
Responses¶
- 200 Successful Response
application/json
{
id: integer
subject: string
description: string
priority: string
status: string
creation: string
raised_by_id: integer
}[]
[POST]/api/v1/hive/tickets¶
-
Summary
Create Ticket -
Operation id
create_ticket_api_v1_hive_tickets_post -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
Responses¶
- 201 Successful Response
application/json
{
id: integer
subject: string
description: string
priority: string
status: string
creation: string
raised_by_id: integer
}
- 422 Validation Error
application/json
[PUT]/api/v1/hive/tickets/{ticket_id}/status¶
-
Summary
Update Ticket Status -
Operation id
update_ticket_status_api_v1_hive_tickets__ticket_id__status_put -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
Responses¶
- 200 Successful Response
application/json
{
id: integer
subject: string
description: string
priority: string
status: string
creation: string
raised_by_id: integer
}
- 422 Validation Error
application/json
[POST]/api/v1/hive/tickets/{ticket_id}/replies¶
-
Summary
Add Ticket Reply -
Operation id
add_ticket_reply_api_v1_hive_tickets__ticket_id__replies_post -
Description
Adds a reply node to an existing ticket while validating row-level permissions. -
Security
OAuth2PasswordBearer
Parameters(Query)¶
RequestBody¶
- application/json
Responses¶
- 201 Successful Response
application/json
- 422 Validation Error
application/json
[GET]/api/v1/management/users¶
-
Summary
Get All Managed Users -
Operation id
get_all_managed_users_api_v1_management_users_get -
Security
OAuth2PasswordBearer
Responses¶
- 200 Successful Response
application/json
{
id: integer
email: string
name: string
roles: {
id: integer
name: string
description?: Partial(string) & Partial(null)
permissions: {
id?: Partial(integer) & Partial(null)
role_id?: Partial(integer) & Partial(null)
doctype: enum[USER, TICKET, ROLE, CLIENT, CONTACT, CLIENT_CATEGORY, ADMIN, NOTIFICATION, EXTERNAL_MESSAGE]
action: enum[CREATE, READ, WRITE, DELETE]
access_level: string
}[]
}[]
is_active: boolean
credentials: {
target_service: string
api_key?: Partial(string) & Partial(null)
api_secret?: Partial(string) & Partial(null)
additional_meta?: Partial(string) & Partial(null)
}[]
teams: {
id: integer
name: string
}[]
}[]
[PUT]/api/v1/management/users/{user_id}¶
-
Summary
Update Managed User Profile -
Operation id
update_managed_user_profile_api_v1_management_users__user_id__put -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
{
email?: Partial(string) & Partial(null)
name?: Partial(string) & Partial(null)
role_ids?: Partial(integer[]) & Partial(null)
is_active?: Partial(boolean) & Partial(null)
password?: Partial(string) & Partial(null)
team_ids?: Partial(integer[]) & Partial(null)
credentials?: Partial({
target_service: string
api_key?: Partial(string) & Partial(null)
api_secret?: Partial(string) & Partial(null)
additional_meta?: Partial(string) & Partial(null)
}[]) & Partial(null)
}
Responses¶
- 200 Successful Response
application/json
{
id: integer
email: string
name: string
roles: {
id: integer
name: string
description?: Partial(string) & Partial(null)
permissions: {
id?: Partial(integer) & Partial(null)
role_id?: Partial(integer) & Partial(null)
doctype: enum[USER, TICKET, ROLE, CLIENT, CONTACT, CLIENT_CATEGORY, ADMIN, NOTIFICATION, EXTERNAL_MESSAGE]
action: enum[CREATE, READ, WRITE, DELETE]
access_level: string
}[]
}[]
is_active: boolean
credentials: {
target_service: string
api_key?: Partial(string) & Partial(null)
api_secret?: Partial(string) & Partial(null)
additional_meta?: Partial(string) & Partial(null)
}[]
teams: {
id: integer
name: string
}[]
}
- 422 Validation Error
application/json
[POST]/api/v1/management/users/me/change-password¶
-
Summary
Change Personal Password -
Operation id
change_personal_password_api_v1_management_users_me_change_password_post -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[GET]/api/v1/management/roles¶
-
Summary
Get All Available System Roles -
Operation id
get_all_available_system_roles_api_v1_management_roles_get -
Security
OAuth2PasswordBearer
Responses¶
- 200 Successful Response
application/json
{
id: integer
name: string
description?: Partial(string) & Partial(null)
permissions: {
id?: Partial(integer) & Partial(null)
role_id?: Partial(integer) & Partial(null)
doctype: enum[USER, TICKET, ROLE, CLIENT, CONTACT, CLIENT_CATEGORY, ADMIN, NOTIFICATION, EXTERNAL_MESSAGE]
action: enum[CREATE, READ, WRITE, DELETE]
access_level: string
}[]
}[]
[POST]/api/v1/management/roles¶
-
Summary
Create New System Role -
Operation id
create_new_system_role_api_v1_management_roles_post -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
Responses¶
- 201 Successful Response
application/json
{
id: integer
name: string
description?: Partial(string) & Partial(null)
permissions: {
id?: Partial(integer) & Partial(null)
role_id?: Partial(integer) & Partial(null)
doctype: enum[USER, TICKET, ROLE, CLIENT, CONTACT, CLIENT_CATEGORY, ADMIN, NOTIFICATION, EXTERNAL_MESSAGE]
action: enum[CREATE, READ, WRITE, DELETE]
access_level: string
}[]
}
- 422 Validation Error
application/json
[PUT]/api/v1/management/roles/{role_id}¶
-
Summary
Update Existing System Role Matrix -
Operation id
update_existing_system_role_matrix_api_v1_management_roles__role_id__put -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
Responses¶
- 200 Successful Response
application/json
{
id: integer
name: string
description?: Partial(string) & Partial(null)
permissions: {
id?: Partial(integer) & Partial(null)
role_id?: Partial(integer) & Partial(null)
doctype: enum[USER, TICKET, ROLE, CLIENT, CONTACT, CLIENT_CATEGORY, ADMIN, NOTIFICATION, EXTERNAL_MESSAGE]
action: enum[CREATE, READ, WRITE, DELETE]
access_level: string
}[]
}
- 422 Validation Error
application/json
[GET]/api/v1/management/audit-logs¶
-
Summary
Get System Activity Trail -
Operation id
get_system_activity_trail_api_v1_management_audit_logs_get -
Security
OAuth2PasswordBearer
Parameters(Query)¶
Responses¶
- 200 Successful Response
application/json
{
id: integer
user_id?: Partial(integer) & Partial(null)
doctype: string
doc_id: integer
action: string
changes: {
}
timestamp: string
user?: Partial(#/components/schemas/AuditOperatorSchema) & Partial(null)
}[]
- 422 Validation Error
application/json
[GET]/api/v1/management/teams¶
-
Summary
Get All Workspace Teams -
Operation id
get_all_workspace_teams_api_v1_management_teams_get -
Security
OAuth2PasswordBearer
Responses¶
- 200 Successful Response
application/json
{
id: integer
name: string
description?: Partial(string) & Partial(null)
members: {
id: integer
name: string
email: string
}[]
}[]
[POST]/api/v1/management/teams¶
-
Summary
Provision New Corporate Team -
Operation id
provision_new_corporate_team_api_v1_management_teams_post -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
Responses¶
- 201 Successful Response
application/json
{
id: integer
name: string
description?: Partial(string) & Partial(null)
members: {
id: integer
name: string
email: string
}[]
}
- 422 Validation Error
application/json
[PUT]/api/v1/management/teams/{team_id}¶
-
Summary
Update Existing Corporate Team -
Operation id
update_existing_corporate_team_api_v1_management_teams__team_id__put -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
Responses¶
- 200 Successful Response
application/json
{
id: integer
name: string
description?: Partial(string) & Partial(null)
members: {
id: integer
name: string
email: string
}[]
}
- 422 Validation Error
application/json
[DELETE]/api/v1/management/teams/{team_id}¶
-
Summary
Purge Corporate Team Workspace -
Operation id
purge_corporate_team_workspace_api_v1_management_teams__team_id__delete -
Security
OAuth2PasswordBearer
Responses¶
-
204 Successful Response
-
422 Validation Error
application/json
[POST]/api/v1/management/teams/{team_id}/members¶
-
Summary
Add User To Team Boundary -
Operation id
add_user_to_team_boundary_api_v1_management_teams__team_id__members_post -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
Responses¶
- 201 Successful Response
application/json
- 422 Validation Error
application/json
[DELETE]/api/v1/management/teams/{team_id}/members/{user_id}¶
-
Summary
Remove User From Team Boundary -
Operation id
remove_user_from_team_boundary_api_v1_management_teams__team_id__members__user_id__delete -
Security
OAuth2PasswordBearer
Responses¶
-
204 Successful Response
-
422 Validation Error
application/json
[POST]/api/v1/crm/clients¶
-
Summary
Create Crm Client -
Operation id
create_crm_client_api_v1_crm_clients_post -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
{
// Internal system identification client code
code: string
company_name: string
industry?: Partial(string) & Partial(null)
website?: Partial(string) & Partial(null)
category_id?: Partial(integer) & Partial(null)
}
Responses¶
- 201 Successful Response
application/json
{
id: integer
code: string
company_name: string
industry?: Partial(string) & Partial(null)
website?: Partial(string) & Partial(null)
creation: string
owner_id: integer
owner?: Partial(#/components/schemas/CRMOwnerSummaryResponse) & Partial(null)
team_id?: Partial(integer) & Partial(null)
category_id?: Partial(integer) & Partial(null)
category?: Partial(#/components/schemas/CRMClientCategoryResponse) & Partial(null)
contacts: {
id: integer
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary: boolean
creation: string
}[]
}
- 422 Validation Error
application/json
[GET]/api/v1/crm/clients¶
-
Summary
Get All Crm Clients -
Operation id
get_all_crm_clients_api_v1_crm_clients_get -
Security
OAuth2PasswordBearer
Parameters(Query)¶
Responses¶
- 200 Successful Response
application/json
{
total: integer
items: {
id: integer
code: string
company_name: string
industry?: Partial(string) & Partial(null)
website?: Partial(string) & Partial(null)
creation: string
owner_id: integer
owner?: Partial(#/components/schemas/CRMOwnerSummaryResponse) & Partial(null)
team_id?: Partial(integer) & Partial(null)
category_id?: Partial(integer) & Partial(null)
category?: Partial(#/components/schemas/CRMClientCategoryResponse) & Partial(null)
contacts: {
id: integer
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary: boolean
creation: string
}[]
}[]
}
- 422 Validation Error
application/json
[PUT]/api/v1/crm/clients/{client_id}¶
-
Summary
Update Crm Client -
Operation id
update_crm_client_api_v1_crm_clients__client_id__put -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
{
// Internal system identification client code
code: string
company_name: string
industry?: Partial(string) & Partial(null)
website?: Partial(string) & Partial(null)
category_id?: Partial(integer) & Partial(null)
}
Responses¶
- 200 Successful Response
application/json
{
id: integer
code: string
company_name: string
industry?: Partial(string) & Partial(null)
website?: Partial(string) & Partial(null)
creation: string
owner_id: integer
owner?: Partial(#/components/schemas/CRMOwnerSummaryResponse) & Partial(null)
team_id?: Partial(integer) & Partial(null)
category_id?: Partial(integer) & Partial(null)
category?: Partial(#/components/schemas/CRMClientCategoryResponse) & Partial(null)
contacts: {
id: integer
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary: boolean
creation: string
}[]
}
- 422 Validation Error
application/json
[DELETE]/api/v1/crm/clients/{client_id}¶
-
Summary
Delete Crm Client -
Operation id
delete_crm_client_api_v1_crm_clients__client_id__delete -
Security
OAuth2PasswordBearer
Responses¶
-
204 Successful Response
-
422 Validation Error
application/json
[GET]/api/v1/crm/contacts¶
-
Summary
Get All Crm Contacts -
Operation id
get_all_crm_contacts_api_v1_crm_contacts_get -
Security
OAuth2PasswordBearer
Parameters(Query)¶
Responses¶
- 200 Successful Response
application/json
{
total: integer
items: {
id: integer
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary: boolean
creation: string
}[]
}
- 422 Validation Error
application/json
[POST]/api/v1/crm/contacts¶
-
Summary
Create Crm Contact -
Operation id
create_crm_contact_api_v1_crm_contacts_post -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
{
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary?: boolean
}
Responses¶
- 201 Successful Response
application/json
{
id: integer
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary: boolean
creation: string
}
- 422 Validation Error
application/json
[PUT]/api/v1/crm/contacts/{contact_id}¶
-
Summary
Update Crm Contact -
Operation id
update_crm_contact_api_v1_crm_contacts__contact_id__put -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
{
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary?: boolean
}
Responses¶
- 200 Successful Response
application/json
{
id: integer
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary: boolean
creation: string
}
- 422 Validation Error
application/json
[DELETE]/api/v1/crm/contacts/{contact_id}¶
-
Summary
Delete Crm Contact -
Operation id
delete_crm_contact_api_v1_crm_contacts__contact_id__delete -
Security
OAuth2PasswordBearer
Responses¶
-
204 Successful Response
-
422 Validation Error
application/json
[PATCH]/api/v1/crm/contacts/{contact_id}/set-primary¶
-
Summary
Set Primary Crm Contact -
Operation id
set_primary_crm_contact_api_v1_crm_contacts__contact_id__set_primary_patch -
Security
OAuth2PasswordBearer
Responses¶
- 200 Successful Response
application/json
{
id: integer
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary: boolean
creation: string
}
- 422 Validation Error
application/json
[PATCH]/api/v1/crm/contacts/{contact_id}/unset-primary¶
-
Summary
Unset Primary Crm Contact -
Operation id
unset_primary_crm_contact_api_v1_crm_contacts__contact_id__unset_primary_patch -
Security
OAuth2PasswordBearer
Responses¶
- 200 Successful Response
application/json
{
id: integer
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary: boolean
creation: string
}
- 422 Validation Error
application/json
[PATCH]/api/v1/crm/contacts/{contact_id}/unlink¶
-
Summary
Unlink Contact From Client -
Operation id
unlink_contact_from_client_api_v1_crm_contacts__contact_id__unlink_patch -
Security
OAuth2PasswordBearer
Responses¶
- 200 Successful Response
application/json
{
id: integer
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary: boolean
creation: string
}
- 422 Validation Error
application/json
[GET]/api/v1/crm/categories¶
-
Summary
Get All Client Categories -
Operation id
get_all_client_categories_api_v1_crm_categories_get -
Security
OAuth2PasswordBearer
Responses¶
- 200 Successful Response
application/json
[POST]/api/v1/crm/categories¶
-
Summary
Create Client Category -
Operation id
create_client_category_api_v1_crm_categories_post -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
Responses¶
- 201 Successful Response
application/json
- 422 Validation Error
application/json
[PUT]/api/v1/crm/categories/{cat_id}¶
-
Summary
Update Client Category -
Operation id
update_client_category_api_v1_crm_categories__cat_id__put -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[DELETE]/api/v1/crm/categories/{cat_id}¶
-
Summary
Delete Client Category -
Operation id
delete_client_category_api_v1_crm_categories__cat_id__delete -
Security
OAuth2PasswordBearer
Responses¶
-
204 Successful Response
-
422 Validation Error
application/json
[GET]/api/v1/crm/clients/{client_id}/credentials¶
-
Summary
Get Client Credentials -
Operation id
get_client_credentials_api_v1_crm_clients__client_id__credentials_get -
Security
OAuth2PasswordBearer
Responses¶
- 200 Successful Response
application/json
{
id: integer
client_id: integer
service_name: string
credential_type: string
username?: Partial(string) & Partial(null)
password?: Partial(string) & Partial(null)
token?: Partial(string) & Partial(null)
creation: string
}[]
- 422 Validation Error
application/json
[POST]/api/v1/crm/clients/{client_id}/credentials¶
-
Summary
Add Client Credential -
Operation id
add_client_credential_api_v1_crm_clients__client_id__credentials_post -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
{
service_name: string
// Must be 'user_pass' or 'token'
credential_type: string
username?: Partial(string) & Partial(null)
password?: Partial(string) & Partial(null)
token?: Partial(string) & Partial(null)
}
Responses¶
- 201 Successful Response
application/json
{
id: integer
client_id: integer
service_name: string
credential_type: string
username?: Partial(string) & Partial(null)
password?: Partial(string) & Partial(null)
token?: Partial(string) & Partial(null)
creation: string
}
- 422 Validation Error
application/json
[PUT]/api/v1/crm/clients/{client_id}/credentials/{cred_id}¶
-
Summary
Update Client Credential -
Operation id
update_client_credential_api_v1_crm_clients__client_id__credentials__cred_id__put -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
{
service_name: string
// Must be 'user_pass' or 'token'
credential_type: string
username?: Partial(string) & Partial(null)
password?: Partial(string) & Partial(null)
token?: Partial(string) & Partial(null)
}
Responses¶
- 200 Successful Response
application/json
{
id: integer
client_id: integer
service_name: string
credential_type: string
username?: Partial(string) & Partial(null)
password?: Partial(string) & Partial(null)
token?: Partial(string) & Partial(null)
creation: string
}
- 422 Validation Error
application/json
[DELETE]/api/v1/crm/clients/{client_id}/credentials/{cred_id}¶
-
Summary
Delete Client Credential -
Operation id
delete_client_credential_api_v1_crm_clients__client_id__credentials__cred_id__delete -
Security
OAuth2PasswordBearer
Responses¶
-
204 Successful Response
-
422 Validation Error
application/json
[PUT]/api/v1/crm/transfer/client/{client_id}¶
-
Summary
Transfer Client Records -
Operation id
transfer_client_records_api_v1_crm_transfer_client__client_id__put -
Description
Dynamically resolves Client model, executes ownership transfer, and validates RBAC boundaries. -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[GET]/api/v1/notifications¶
-
Summary
Get User Notifications -
Operation id
get_user_notifications_api_v1_notifications_get -
Security
OAuth2PasswordBearer
Parameters(Query)¶
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[POST]/api/v1/notifications/{notification_id}/read¶
-
Summary
Mark Notification As Seen -
Operation id
mark_notification_as_seen_api_v1_notifications__notification_id__read_post -
Security
OAuth2PasswordBearer
Responses¶
-
204 Successful Response
-
422 Validation Error
application/json
[POST]/api/v1/notifications/read-all¶
-
Summary
Mark All Notifications As Seen -
Operation id
mark_all_notifications_as_seen_api_v1_notifications_read_all_post -
Security
OAuth2PasswordBearer
Responses¶
- 204 Successful Response
[POST]/api/v1/notifications/broadcast¶
-
Summary
Admin Broadcast Notification -
Operation id
admin_broadcast_notification_api_v1_notifications_broadcast_post -
Security
OAuth2PasswordBearer
RequestBody¶
- application/json
{
title: string
message: string
severity: string
target_type: string
target_id?: Partial(integer) & Partial(null)
}
Responses¶
- 201 Successful Response
application/json
- 422 Validation Error
application/json
[GET]/api/v1/message-hub/messages/{message_id}/fetch-body¶
-
Summary
Fetch Message Body On Demand -
Operation id
fetch_message_body_on_demand_api_v1_message_hub_messages__message_id__fetch_body_get -
Description
Triggers on-demand scraping when opening a portal message with is_lazy_loaded=True.
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[POST]/api/v1/message-hub/messages/{message_id}/fetch-body¶
-
Summary
Fetch Lazy Loaded Body -
Operation id
fetch_lazy_loaded_body_api_v1_message_hub_messages__message_id__fetch_body_post -
Description
On-demand content retrieval for portal-scraped or truncated messages.
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[POST]/api/v1/message-hub/channels/{channel_id}/sync¶
-
Summary
Trigger Manual Channel Sync -
Operation id
trigger_manual_channel_sync_api_v1_message_hub_channels__channel_id__sync_post -
Description
Enqueues an immediate background IMAP sync job via Celery.
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[POST]/api/v1/message-hub/channels¶
-
Summary
Create Communication Channel -
Operation id
create_communication_channel_api_v1_message_hub_channels_post -
Description
Creates a new communication channel (Private or Shared email inbox).
Parameters(Query)¶
RequestBody¶
- application/json
{
name: string
channel_type: string
scope_type: string
target_folder?: string //default: INBOX
team_id?: Partial(integer) & Partial(null)
client_id?: Partial(integer) & Partial(null)
imap_host: string
imap_port?: integer //default: 993
smtp_host: string
smtp_port?: integer //default: 587
username: string
password: string
}
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[GET]/api/v1/message-hub/channels¶
-
Summary
List User Channels -
Operation id
list_user_channels_api_v1_message_hub_channels_get -
Description
Lists channels owned by current user or assigned to their team.
Parameters(Query)¶
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[POST]/api/v1/message-hub/channels/{channel_id}/test-connection¶
-
Summary
Test Channel Connection -
Operation id
test_channel_connection_api_v1_message_hub_channels__channel_id__test_connection_post -
Description
Synchronously attempts IMAP connection to validate credentials.
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[GET]/api/v1/message-hub/threads¶
-
Summary
List Threads -
Operation id
list_threads_api_v1_message_hub_threads_get -
Description
Lists message threads filtered by status, client, or team member.
Parameters(Query)¶
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[GET]/api/v1/message-hub/threads/{thread_id}¶
-
Summary
Get Thread Detail -
Operation id
get_thread_detail_api_v1_message_hub_threads__thread_id__get -
Description
Retrieves a complete thread timeline alongside active collision warnings.
Parameters(Query)¶
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[GET]/api/v1/message-hub/contacts/{contact_id}/threads¶
-
Summary
Get Threads For Contact -
Operation id
get_threads_for_contact_api_v1_message_hub_contacts__contact_id__threads_get -
Description
Retrieve all communication threads associated with a specific contact.
Responses¶
- 200 Successful Response
application/json
{
id: integer
subject?: Partial(string) & Partial(null)
status: string
contact_id?: Partial(integer) & Partial(null)
client_id?: Partial(integer) & Partial(null)
assigned_user_id?: Partial(integer) & Partial(null)
assigned_team_id?: Partial(integer) & Partial(null)
is_client_bound: boolean
last_activity_at: string
messages: {
id: integer
direction: string
sender_address: string
recipient_address: string
subject: string
body: string
created_at: string
}[]
}[]
- 422 Validation Error
application/json
[POST]/api/v1/message-hub/threads/{thread_id}/reply¶
-
Summary
Send Thread Reply -
Operation id
send_thread_reply_api_v1_message_hub_threads__thread_id__reply_post -
Description
Dispatches an email reply via channel SMTP and records the outbound message.
Parameters(Query)¶
RequestBody¶
- application/json
{
channel_id: integer
body: string
recipient_address: string
subject?: Partial(string) & Partial(null)
}
Responses¶
- 200 Successful Response
application/json
- 422 Validation Error
application/json
[POST]/api/v1/message-hub/threads/{thread_id}/locks¶
-
Summary
Heartbeat Presence Lock -
Operation id
heartbeat_presence_lock_api_v1_message_hub_threads__thread_id__locks_post
RequestBody¶
- application/json
{
user_id: integer
user_name: string
action_type?: enum[VIEWING, TYPING] //default: VIEWING
duration_seconds?: integer //default: 30
}
Responses¶
- 200 Successful Response
application/json
{
id: integer
thread_id: integer
user_id: integer
user_name: string
action_type: string
expires_at: string
}
- 422 Validation Error
application/json
[POST]/api/v1/message-hub/test-imap-poll¶
-
Summary
Trigger Manual Imap Poll -
Operation id
trigger_manual_imap_poll_api_v1_message_hub_test_imap_poll_post -
Description
Manually trigger an IMAP polling cycle for testing.
Responses¶
- 200 Successful Response
application/json
[GET]/v1/health¶
-
Summary
System Heartbeat Check -
Operation id
system_heartbeat_check_v1_health_get
Responses¶
- 200 Successful Response
application/json
[GET]/api/v1/trigger-log-test¶
-
Summary
Trigger Log Test -
Operation id
trigger_log_test_api_v1_trigger_log_test_get
Responses¶
- 200 Successful Response
application/json
References¶
#/components/schemas/ActionEnum¶
#/components/schemas/ActivityLogResponseSchema¶
{
id: integer
user_id?: Partial(integer) & Partial(null)
doctype: string
doc_id: integer
action: string
changes: {
}
timestamp: string
user?: Partial(#/components/schemas/AuditOperatorSchema) & Partial(null)
}
#/components/schemas/AddMemberPayloadSchema¶
#/components/schemas/AuditOperatorSchema¶
#/components/schemas/Body_login_access_token_api_v1_auth_login_post¶
{
grant_type?: Partial(string) & Partial(null)
username: string
password: string
scope?: string
client_id?: Partial(string) & Partial(null)
client_secret?: Partial(string) & Partial(null)
}
#/components/schemas/BroadcastPayloadSchema¶
{
title: string
message: string
severity: string
target_type: string
target_id?: Partial(integer) & Partial(null)
}
#/components/schemas/CRMClientCategoryCreate¶
#/components/schemas/CRMClientCategoryResponse¶
#/components/schemas/CRMClientCreate¶
{
// Internal system identification client code
code: string
company_name: string
industry?: Partial(string) & Partial(null)
website?: Partial(string) & Partial(null)
category_id?: Partial(integer) & Partial(null)
}
#/components/schemas/CRMClientCredentialCreate¶
{
service_name: string
// Must be 'user_pass' or 'token'
credential_type: string
username?: Partial(string) & Partial(null)
password?: Partial(string) & Partial(null)
token?: Partial(string) & Partial(null)
}
#/components/schemas/CRMClientCredentialResponse¶
{
id: integer
client_id: integer
service_name: string
credential_type: string
username?: Partial(string) & Partial(null)
password?: Partial(string) & Partial(null)
token?: Partial(string) & Partial(null)
creation: string
}
#/components/schemas/CRMClientEnvelopeResponse¶
{
total: integer
items: {
id: integer
code: string
company_name: string
industry?: Partial(string) & Partial(null)
website?: Partial(string) & Partial(null)
creation: string
owner_id: integer
owner?: Partial(#/components/schemas/CRMOwnerSummaryResponse) & Partial(null)
team_id?: Partial(integer) & Partial(null)
category_id?: Partial(integer) & Partial(null)
category?: Partial(#/components/schemas/CRMClientCategoryResponse) & Partial(null)
contacts: {
id: integer
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary: boolean
creation: string
}[]
}[]
}
#/components/schemas/CRMClientResponse¶
{
id: integer
code: string
company_name: string
industry?: Partial(string) & Partial(null)
website?: Partial(string) & Partial(null)
creation: string
owner_id: integer
owner?: Partial(#/components/schemas/CRMOwnerSummaryResponse) & Partial(null)
team_id?: Partial(integer) & Partial(null)
category_id?: Partial(integer) & Partial(null)
category?: Partial(#/components/schemas/CRMClientCategoryResponse) & Partial(null)
contacts: {
id: integer
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary: boolean
creation: string
}[]
}
#/components/schemas/CRMContactCreate¶
{
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary?: boolean
}
#/components/schemas/CRMContactEnvelopeResponse¶
{
total: integer
items: {
id: integer
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary: boolean
creation: string
}[]
}
#/components/schemas/CRMContactResponse¶
{
id: integer
first_name: string
last_name: string
email: string
phone?: Partial(string) & Partial(null)
client_id?: Partial(integer) & Partial(null)
is_primary: boolean
creation: string
}
#/components/schemas/CRMOwnerSummaryResponse¶
#/components/schemas/ChannelCreateSchema¶
{
name: string
channel_type: string
scope_type: string
target_folder?: string //default: INBOX
team_id?: Partial(integer) & Partial(null)
client_id?: Partial(integer) & Partial(null)
imap_host: string
imap_port?: integer //default: 993
smtp_host: string
smtp_port?: integer //default: 587
username: string
password: string
}
#/components/schemas/CredentialSchema¶
{
target_service: string
api_key?: Partial(string) & Partial(null)
api_secret?: Partial(string) & Partial(null)
additional_meta?: Partial(string) & Partial(null)
}
#/components/schemas/DocTypeEnum¶
#/components/schemas/HTTPValidationError¶
#/components/schemas/MessageReplySchema¶
{
channel_id: integer
body: string
recipient_address: string
subject?: Partial(string) & Partial(null)
}
#/components/schemas/MessageSummarySchema¶
{
id: integer
direction: string
sender_address: string
recipient_address: string
subject: string
body: string
created_at: string
}
#/components/schemas/PermissionSchema¶
{
id?: Partial(integer) & Partial(null)
role_id?: Partial(integer) & Partial(null)
doctype: enum[USER, TICKET, ROLE, CLIENT, CONTACT, CLIENT_CATEGORY, ADMIN, NOTIFICATION, EXTERNAL_MESSAGE]
action: enum[CREATE, READ, WRITE, DELETE]
access_level: string
}
#/components/schemas/RoleCreate¶
#/components/schemas/RoleResponse¶
{
id: integer
name: string
description?: Partial(string) & Partial(null)
permissions: {
id?: Partial(integer) & Partial(null)
role_id?: Partial(integer) & Partial(null)
doctype: enum[USER, TICKET, ROLE, CLIENT, CONTACT, CLIENT_CATEGORY, ADMIN, NOTIFICATION, EXTERNAL_MESSAGE]
action: enum[CREATE, READ, WRITE, DELETE]
access_level: string
}[]
}
#/components/schemas/TeamCreateSchema¶
#/components/schemas/TeamMemberSchema¶
#/components/schemas/TeamResponseSchema¶
{
id: integer
name: string
description?: Partial(string) & Partial(null)
members: {
id: integer
name: string
email: string
}[]
}
#/components/schemas/ThreadLockCreate¶
{
user_id: integer
user_name: string
action_type?: enum[VIEWING, TYPING] //default: VIEWING
duration_seconds?: integer //default: 30
}
#/components/schemas/ThreadLockResponse¶
{
id: integer
thread_id: integer
user_id: integer
user_name: string
action_type: string
expires_at: string
}
#/components/schemas/ThreadReplyCreateSchema¶
{
body: string
recipient_address?: Partial(string) & Partial(null)
channel_id?: Partial(integer) & Partial(null)
}
#/components/schemas/ThreadResponseSchema¶
{
id: integer
subject?: Partial(string) & Partial(null)
status: string
contact_id?: Partial(integer) & Partial(null)
client_id?: Partial(integer) & Partial(null)
assigned_user_id?: Partial(integer) & Partial(null)
assigned_team_id?: Partial(integer) & Partial(null)
is_client_bound: boolean
last_activity_at: string
messages: {
id: integer
direction: string
sender_address: string
recipient_address: string
subject: string
body: string
created_at: string
}[]
}
#/components/schemas/TicketCreate¶
#/components/schemas/TicketPriority¶
#/components/schemas/TicketReplyCreate¶
#/components/schemas/TicketResponse¶
{
id: integer
subject: string
description: string
priority: string
status: string
creation: string
raised_by_id: integer
}
#/components/schemas/TicketStatus¶
#/components/schemas/TicketStatusUpdate¶
#/components/schemas/TransferClientSchema¶
#/components/schemas/UserDetailedResponse¶
{
id: integer
email: string
name: string
roles: {
id: integer
name: string
description?: Partial(string) & Partial(null)
permissions: {
id?: Partial(integer) & Partial(null)
role_id?: Partial(integer) & Partial(null)
doctype: enum[USER, TICKET, ROLE, CLIENT, CONTACT, CLIENT_CATEGORY, ADMIN, NOTIFICATION, EXTERNAL_MESSAGE]
action: enum[CREATE, READ, WRITE, DELETE]
access_level: string
}[]
}[]
is_active: boolean
credentials: {
target_service: string
api_key?: Partial(string) & Partial(null)
api_secret?: Partial(string) & Partial(null)
additional_meta?: Partial(string) & Partial(null)
}[]
teams: {
id: integer
name: string
}[]
}
#/components/schemas/UserManagementUpdate¶
{
email?: Partial(string) & Partial(null)
name?: Partial(string) & Partial(null)
role_ids?: Partial(integer[]) & Partial(null)
is_active?: Partial(boolean) & Partial(null)
password?: Partial(string) & Partial(null)
team_ids?: Partial(integer[]) & Partial(null)
credentials?: Partial({
target_service: string
api_key?: Partial(string) & Partial(null)
api_secret?: Partial(string) & Partial(null)
additional_meta?: Partial(string) & Partial(null)
}[]) & Partial(null)
}