Initial commit: BMS skill with template support
This commit is contained in:
107
references/key-schemas.md
Normal file
107
references/key-schemas.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# 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 | ✅ |
|
||||
Reference in New Issue
Block a user