Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ShohjahonSohibov/repo-for-agent/llms.txt

Use this file to discover all available pages before exploring further.

The Tickets API provides a full issue-tracking workflow for your TMS operations — from driver incidents and paperwork disputes to load delays and billing questions. Each ticket can carry comments, be assigned to a user, progress through statuses, and optionally receive AI-generated resolution suggestions powered by the AskAI integration. Related controllers handle standalone comments, BOL/POD paperwork issues, and the email accounts that feed tickets automatically.

TicketsController — /api/tickets

Core ticket management. All endpoints require JWT authentication.

GET /api/tickets

List tickets for the current company. Supports filtering by status, assignee, and date range, plus standard pagination. Required permission: Tickets.View
cURL
curl "https://your-domain.com/api/tickets?status=Open&page=1&pageSize=20" \
  -H "Authorization: Bearer <accessToken>"

GET /api/tickets/{id}

Retrieve full ticket details including its comment thread and status history. Required permission: Tickets.View
id
number
required
The ticket’s database ID.
Response fields
id
number
required
Ticket ID.
title
string
required
Short summary of the issue.
description
string
Full description of the issue.
status
string
required
Current ticket status (e.g., Open, InProgress, Resolved, Closed).
assignedUserId
number
ID of the user the ticket is assigned to, or null if unassigned.
comments
array
List of comments attached to the ticket.

POST /api/tickets

Create a new ticket. Required permission: Tickets.Create
title
string
required
Short summary of the issue.
description
string
Detailed description of the issue.
loadId
number
Associate the ticket with a specific load, if applicable.
cURL
curl -X POST https://your-domain.com/api/tickets \
  -H "Authorization: Bearer <accessToken>" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Missing POD for load #1045",
    "description": "Driver did not upload the proof of delivery document after completing the stop.",
    "loadId": 1045
  }'

PUT /api/tickets/{id}

Update ticket fields such as title and description. Required permission: Tickets.Update
id
number
required
The ticket’s database ID.

DELETE /api/tickets/{id}

Delete a ticket. This is a soft delete. Required permission: Tickets.Delete
id
number
required
The ticket’s database ID.

POST /api/tickets/{id}/comments

Add a comment to a ticket. Use this for notes, updates, or inter-team communication related to the issue. Required permission: Tickets.Update
id
number
required
The ticket’s database ID.
content
string
required
The comment text. Markdown is supported.
cURL
curl -X POST https://your-domain.com/api/tickets/88/comments \
  -H "Authorization: Bearer <accessToken>" \
  -H "Content-Type: application/json" \
  -d '{"content": "Contacted driver — POD will be uploaded by end of day."}'

PUT /api/tickets/{id}/assign

Assign a ticket to a specific user. Required permission: Tickets.Update
id
number
required
The ticket’s database ID.
userId
number
required
ID of the user to assign the ticket to.

PUT /api/tickets/{id}/status

Change the status of a ticket. Required permission: Tickets.Update
id
number
required
The ticket’s database ID.
status
string
required
New status value. Valid values depend on your configuration (e.g., Open, InProgress, Resolved, Closed).

POST /api/tickets/{id}/ai-suggestions

Request AI-generated resolution suggestions for a ticket. The endpoint sends the ticket’s title and description to AskAI and returns a list of recommended actions or similar resolved tickets. Required permission: Tickets.View
id
number
required
The ticket’s database ID.
Response fields
suggestions
array
required
List of AI-generated suggestion objects.
suggestions[].text
string
required
Suggested resolution step or action.
suggestions[].confidence
number
Confidence score between 0 and 1.
cURL
curl -X POST https://your-domain.com/api/tickets/88/ai-suggestions \
  -H "Authorization: Bearer <accessToken>"
Response
{
  "suggestions": [
    {
      "text": "Request the driver to upload the POD via the mobile app under the load's Files tab.",
      "confidence": 0.92
    },
    {
      "text": "Contact the broker directly at dispatch@atlasfreight.com to obtain a copy of the signed delivery receipt.",
      "confidence": 0.78
    }
  ]
}
AI suggestions require the AskAI integration to be configured in your ELD/TMS settings. If AskAI is not configured, this endpoint returns an empty suggestions array.

CommentsController — /api/comments

Standalone comment management. Comments can be attached to tickets and other entities.
MethodEndpointPermissionDescription
GET/api/commentsComments.ViewList comments
GET/api/comments/{id}Comments.ViewGet a comment by ID
POST/api/commentsComments.CreateCreate a new comment
PUT/api/comments/{id}Comments.UpdateUpdate a comment
DELETE/api/comments/{id}Comments.DeleteDelete a comment

PaperWorkIssuesController — /api/paperwork-issues

Track and resolve BOL (Bill of Lading) and POD (Proof of Delivery) document issues associated with loads.

GET /api/paperwork-issues

List all paperwork issues for the current company. Required permission: PaperworkIssues.View

GET /api/paperwork-issues/{id}

Get details of a specific paperwork issue. Required permission: PaperworkIssues.View
id
number
required
The paperwork issue ID.

POST /api/paperwork-issues

Create a new paperwork issue. Required permission: PaperworkIssues.Create
loadId
number
required
The load the issue is associated with.
issueType
string
required
Type of document issue (e.g., MissingBOL, MissingPOD, IncorrectSignature).
notes
string
Additional context about the issue.

PUT /api/paperwork-issues/{id}

Update a paperwork issue’s details. Required permission: PaperworkIssues.Update
id
number
required
The paperwork issue ID.

PUT /api/paperwork-issues/{id}/resolve

Mark a paperwork issue as resolved. Sets the resolvedAt timestamp and records the resolving user. Required permission: PaperworkIssues.Update
id
number
required
The paperwork issue ID.
resolutionNote
string
Optional note describing how the issue was resolved.
cURL
curl -X PUT https://your-domain.com/api/paperwork-issues/15/resolve \
  -H "Authorization: Bearer <accessToken>" \
  -H "Content-Type: application/json" \
  -d '{"resolutionNote": "Driver uploaded signed POD via mobile app."}'

Email management

UpdaterAgent monitors connected email accounts (via Nylas OAuth) and automatically classifies inbound messages — for example, routing rate confirmation emails into the load pipeline.

EmailAddressesController — /api/email-addresses

Manage the email accounts connected for monitoring.
MethodEndpointPermissionDescription
GET/api/email-addressesEmailAddresses.ViewList connected email addresses
GET/api/email-addresses/{id}EmailAddresses.ViewGet an email address by ID
POST/api/email-addressesEmailAddresses.CreateAdd an email address
PUT/api/email-addresses/{id}EmailAddresses.UpdateUpdate an email address
DELETE/api/email-addresses/{id}EmailAddresses.DeleteRemove an email address
POST/api/email-addresses/{id}/connectEmailAddresses.UpdateConnect email via OAuth (Nylas)

EmailMessagesController — /api/email-messages

View and reprocess email messages that have been ingested from connected accounts.
MethodEndpointPermissionDescription
GET/api/email-messagesEmailMessages.ViewList all ingested email messages
GET/api/email-messages/{id}EmailMessages.ViewGet a specific email message
POST/api/email-messages/{id}/processEmailMessages.UpdateManually trigger processing of an email
POST/api/email-messages/{id}/classifyEmailMessages.UpdateRe-classify an email’s category

Build docs developers (and LLMs) love