Files
openclaw-bms/references/key-schemas.md

3.6 KiB

Key BMS API Schemas

Source: GET https://api.bms.kaseya.com/swagger/v2/swagger.json

TicketInputDto (POST/PUT /v2/servicedesk/tickets)

Field Type Required Notes
Title string Ticket subject
Details string Body/description
AccountId integer Client account ID
LocationId integer Account location ID
StatusId integer Use bms lookup statuses
PriorityId integer Use bms lookup priorities
TypeId integer Use bms lookup ticket-types
SourceId integer Use bms lookup sources
OpenDate string (ISO 8601) e.g. 2024-01-15T00:00:00
ContactId integer Contact person at the account
AssigneeId integer Technician assigned
QueueId integer Queue to place ticket in
IssueTypeId integer
SubIssueTypeId integer
DueDate string ISO 8601
SLAId integer
WorkTypeId integer

TicketFilterDto (inside GetTicketsInputDto.Filter)

Useful filter fields for POST /v2/servicedesk/tickets/search:

Field Type Notes
StatusNames string Comma-separated or single status name
AssigneeName string Partial match supported
PriorityNames string Priority name(s)
QueueNames string Queue name(s)
Account string Account name search
Title string Ticket title search
CreatedOnFrom string (ISO 8601) Date range start
CreatedOnTo string (ISO 8601) Date range end
OpenDateFrom / OpenDateTo string Open date range
DueDateFrom / DueDateTo string Due date range
ExcludeCompleted integer 1 = exclude completed
AccountIds string Comma-separated account IDs

TicketNotePostInputDto (POST /v2/servicedesk/tickets/{id}/notes)

Field Type Required Notes
Details string Note body
IsInternal boolean true = internal (hidden from client portal)
TypeId integer Note type ID — use bms lookup note-types
NoteDate string (ISO 8601) When the note was created
StatusId integer Change ticket status simultaneously

AssignTicketInputDto (POST /v2/servicedesk/tickets/{id}/assignticket)

Field Type Required Notes
Details string Assignment note text
IsInternal boolean
TypeId integer Note type
NoteDate string
StatusId integer Status after assignment
AssigneeId integer New assignee
QueueId integer Queue to move to

ResolveTicketDto (POST /v2/servicedesk/tickets/{id}/resolve)

Field Type Required Notes
Comment string Resolution description
StatusId integer Override resolved status
IsPublishToKnowledgeBase boolean Add to KB
IsInternal boolean

Pagination (GetTicketsInputDto)

Field Notes
PageNumber 1-indexed
PageSize Max ~100
Sort e.g. "CreatedOn desc"

Auth: POST /v2/security/authenticate

Multipart form-data:

Field Notes
GrantType "password" or "client_credentials"
UserName For password grant
Password For password grant
Tenant Your tenant name (required)
ClientId For client_credentials grant
ClientSecret For client_credentials grant

Response contains: AccessToken, RefreshToken, ExpiresIn

Auth: POST /v2/security/refreshtoken

JSON body:

Field Required
AccessToken
RefreshToken