For Agents
Create and update tickets, companies, contacts, contracts, projects, time entries, and invoices in Autotask PSA, and run filtered queries against any of the 200+ entity types using the uniform /query endpoint.
Get started with Datto Autotask PSA REST API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"create an Autotask ticket"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Datto Autotask PSA REST API API.
Create, update, and patch records across 200+ Autotask entities using their entity-specific POST, PUT, and PATCH endpoints
Run filtered, paginated queries against any entity via /V1.0/{Entity}/query with a JSON filter body
Inspect each entity's field definitions and user-defined fields via /entityInformation/fields and /entityInformation/userDefinedFields
Retrieve a single record by ID with GET /V1.0/{Entity}/{id} or delete it with DELETE
GET STARTED
Use for: Create a new ticket in Autotask for a customer, Find all open tickets assigned to a specific resource, Log a time entry against a ticket, Update the status of a project task
Not supported: Does not handle remote monitoring and management agents, network device discovery, or end-user remote control — use for PSA workflows: tickets, contracts, time, projects, and billing only.
Datto Autotask PSA is a professional services automation platform widely used by managed service providers (MSPs) to manage tickets, contracts, time entries, billing, and resource scheduling. The REST API exposes a uniform CRUD-and-query surface across more than 200 entities — Tickets, Companies, Contacts, Contracts, Projects, Tasks, Time Entries, Invoices, Resources — with consistent /entityInformation, /query, and /{id} routes per entity. The result is over three thousand path-and-method combinations, all reachable from a single base URL once an API user is provisioned in the Autotask UI.
Count records matching a filter via /V1.0/{Entity}/query/count without retrieving the rows
Drive ticket-management automations: create Tickets, link Notes, assign Resources, log Time Entries
Manage commercial records: Companies, Contracts, Contract Services, Invoices, and Billing Items
Patterns agents use Datto Autotask PSA REST API API for, with concrete tasks.
★ MSP ticket automation
Automate the creation and triage of support tickets in Autotask from monitoring tools or email parsers. POST /V1.0/Tickets creates the ticket with company, contact, and priority; POST /V1.0/Tickets/query returns existing tickets to deduplicate; POST /V1.0/TimeEntries logs work as the technician resolves it. The same uniform /query and /{id} pattern works for every related entity, which keeps the integration code small even with hundreds of fields.
POST /V1.0/Tickets with companyID, contactID, title, description, and priority, then POST /V1.0/TimeEntries against the new ticketID as work progresses
Reporting pipeline across PSA entities
Pull billing, time, and ticket data into a data warehouse for executive reporting. /V1.0/{Entity}/query accepts JSON filters with date ranges, so a nightly job iterates Tickets, TimeEntries, BillingItems, and Invoices for the last 24 hours. /entityInformation/fields gives a stable field list per entity so the warehouse schema can be code-generated rather than hand-maintained.
For each entity in the report set, POST /V1.0/{Entity}/query with a date filter and page through the results until the response indicates no further pages
Contract and billing reconciliation
Reconcile contract terms, billing items, and invoices to detect under-billing or missed charges. /V1.0/Contracts/query lists active contracts; /V1.0/ContractServices/query enumerates the services on each; /V1.0/BillingItems/query returns what was actually invoiced. A reconciliation script flags contracts where ContractServices exist without matching BillingItems for the period.
Query Contracts, then for each contract POST /V1.0/ContractServices/query and /V1.0/BillingItems/query and compare the result sets
Agent-driven service desk operations
An AI agent on the service desk creates and updates tickets in Autotask without leaving the agent's chat surface. Through Jentic the Autotask API integration code, username, and secret are all stored in the credential vault, and Jentic exposes the high-frequency operations (Tickets create, Tickets query, TimeEntries create) as discoverable tools. The agent can run /V1.0/Tickets/query/count to size a queue before deciding whether to escalate.
Search Jentic for 'create an Autotask ticket', load POST /V1.0/Tickets, and execute it with the company and contact IDs derived from the inbound message
3003 endpoints — datto autotask psa is a professional services automation platform widely used by managed service providers (msps) to manage tickets, contracts, time entries, billing, and resource scheduling.
METHOD
PATH
DESCRIPTION
/V1.0/Tickets
Create a new ticket
/V1.0/Tickets/query
Query tickets with a JSON filter
/V1.0/Tickets/{id}
Retrieve a ticket by ID
/V1.0/TimeEntries
Log a time entry
/V1.0/Companies/query
Query companies with a JSON filter
/V1.0/Contracts/query
Query contracts with a JSON filter
/V1.0/Tickets/query/count
Count tickets matching a filter
/V1.0/Tickets/entityInformation/fields
Inspect Ticket field definitions
/V1.0/Tickets
Create a new ticket
/V1.0/Tickets/query
Query tickets with a JSON filter
/V1.0/Tickets/{id}
Retrieve a ticket by ID
/V1.0/TimeEntries
Log a time entry
/V1.0/Companies/query
Query companies with a JSON filter
Three things that make agents converge on Jentic-routed access.
Credential isolation
Autotask requires three header values (ApiIntegrationCode, UserName, Secret); all three are stored encrypted in the Jentic credential vault and injected per call. Agents never see the secret, and credential rotation does not require code changes in the calling app.
Intent-based discovery
Agents search Jentic for intents like 'create an Autotask ticket' or 'log a time entry' and Jentic returns the matching operation across the 3,000+ available endpoints, so the agent does not need to enumerate every entity-specific path.
Time to first call
Direct Autotask integration: 1-2 weeks to handle the JSON filter syntax, pagination via pageDetails, and per-entity field introspection across the entities your workflow touches. Through Jentic: under an hour for any single operation — search, load the schema, execute.
Alternatives and complements available in the Jentic catalogue.
Atera API
Atera is an MSP-focused PSA and RMM platform with a smaller, simpler API surface
Choose Atera when the team values an all-in-one PSA+RMM and a simpler API; choose Autotask for a deeper PSA feature set and the broader entity coverage shown here
Freshdesk API
Freshdesk is a help desk platform without the PSA-level contract and billing surface
Choose Freshdesk when only customer support tickets are needed; choose Autotask when contracts, billing, and time tracking must live alongside tickets
ServiceNow API
ServiceNow can act as the upstream IT service-management system that creates Autotask tickets
Use ServiceNow as the enterprise system of record and write changes through to Autotask /V1.0/Tickets when an MSP is involved in the workflow
Specific to using Datto Autotask PSA REST API API through Jentic.
What authentication does the Autotask PSA REST API use?
Autotask requires three header values on every request: ApiIntegrationCode, UserName, and Secret. The UserName is an API user created in Autotask with a specific security level; the Secret is its generated password. Through Jentic all three values are held in the credential vault and injected as headers per call so the agent never sees the raw secret.
How do I create a ticket through the Autotask PSA REST API?
POST /V1.0/Tickets with a JSON body containing companyID, the responsible contactID, title, description, status, priority, and queueID. The response returns the created ticket's id, which you can use with /V1.0/Tickets/{id} or /V1.0/TimeEntries to log work against it.
How do queries work in the Autotask PSA REST API?
Each entity exposes /V1.0/{Entity}/query for a JSON filter body and /V1.0/{Entity}/query for URL-parameter filters via GET. The body uses Filter expressions with op values like 'eq', 'gt', 'in', and supports paginated responses via the pageDetails returned alongside each result set.
How do I list tickets modified in the last day through Jentic?
Search Jentic for 'query Autotask tickets', load POST /V1.0/Tickets/query, and execute it with a Filter on lastActivityDate gt the cutoff timestamp. Jentic injects ApiIntegrationCode, UserName, and Secret on the call. Get started at https://app.jentic.com/sign-up.
What are the rate limits for the Autotask PSA REST API?
Autotask enforces per-API-user thresholds (broadly 10,000 calls per hour on most accounts) and returns 429 when exceeded. Treat /query as the primary read path because it returns up to 500 records per page, which is far more efficient than per-id GETs.
Can I discover what fields exist on a given entity?
Yes. GET /V1.0/{Entity}/entityInformation/fields returns the standard field list with types and constraints, and /entityInformation/userDefinedFields returns custom fields configured in your Autotask instance. This lets integrators introspect schema rather than hardcode it.
/V1.0/Contracts/query
Query contracts with a JSON filter
/V1.0/Tickets/query/count
Count tickets matching a filter
/V1.0/Tickets/entityInformation/fields
Inspect Ticket field definitions