MCP4Acumatica -- Tool Reference
Complete specification for all 51 tools available in the MCP4Acumatica (v0.53.0).
Tool annotations (0.53.0). Every tool carries MCP annotations and a human-readable
title. All tools arereadOnlyHint: trueexcept the write tools (readOnlyHint: false,destructiveHint: true,idempotentHint: false) andacumatica_clear_cache(readOnlyHint: false,idempotentHint: true— it clears the server's own metadata cache, not Acumatica data).openWorldHintisfalsethroughout. Claude treats these as hints; Microsoft 365 Copilot federated connectors requirereadOnlyHintand withhold unannotated tools.Visible tool count. 51 tools are registered, but the write tool is hidden from
tools/listwhile write tools are disabled (the default), so clients see 50.
The
**Endpoint:**paths below show the default deployment values — theDefaultendpoint name and contract version25.200.001. The base/entity/{name}/{version}is governed by theACUMATICA_ENDPOINT_NAME(defaultDefault) andACUMATICA_ENDPOINT_VERSIONenv vars, so your instance's paths may differ.
Table of Contents
- Utility / Discovery Tools
- Write Tools
- Schema Knowledge Tools
- Documentation Tools
- Core
- Financial / Accounting
- Inventory & Warehouse
- Purchasing
- Projects
- Service & Field
- Sales & CRM
- Shipping & Fulfillment
- HR & Payroll
- CRM Activities
Utility / Discovery Tools
acumatica_describe_entity
Discover the fields, types, and sub-entities for any Acumatica entity. Use this before acumatica_list_entities to learn what fields are available for filtering, sorting, and selection. Schemas are cached for 24 hours — if an Acumatica admin just modified the entity (added a custom field, etc.), call acumatica_clear_cache with target=schema:EntityName first.
| Parameter | Type | Required | Description |
|---|---|---|---|
entityName |
string | Yes | Acumatica entity name (e.g., Customer, Invoice, SalesOrder) |
Endpoint: GET /entity/Default/25.200.001/{entityName}/$adHocSchema
acumatica_list_entities
List or search any Acumatica entity in the contract-based Default endpoint with OData filtering, sorting, and field selection. Always pass filterExpression to scope queries — do not retrieve all records from large entities.
Restrictions:
- Auth/role metadata entities (
User,UserRole,Role, etc.) are intentionally blocked and return an error.expandaccepts only single-level sub-entities — nested paths likeDetails/Taxare rejected.- Some entities reject
$selecton certain fields and 500; the tool auto-retries without$selectand returns the result with a warning if that happens.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
entityName |
string | Yes | -- | Bare entity name (e.g., Customer, Invoice, StockItem) — no Default/ path prefix. |
filterExpression |
string | No | -- | OData v3 $filter expression (e.g., Status eq 'Open'). Use substringof('needle', Field) for partial match (needle first); v4 syntax like contains() and toupper()/tolower() is not supported and 500s. |
topN |
string | No | "100" |
Maximum rows to return (max 1000). If truncated, refine filters — do not paginate. |
selectFields |
string | No | -- | Comma-separated field names (e.g., CustomerID,CustomerName) |
orderBy |
string | No | -- | OData $orderby expression (e.g., Amount desc) |
expand |
string | No | -- | Comma-separated single-level sub-entities (e.g., Details,MainContact). No nested paths. |
Endpoint: GET /entity/Default/25.200.001/{entityName}?$filter=...&$top=...&$select=...&$orderby=...&$expand=...
Truncation semantics: When the result set hits the per-query max (
ACUMATICA_MAX_RECORDS, default 1000, runtime-overridable via the admin console), the response is wrapped as{ results, truncated: true, paginationSupported: false, actionRequired: "..." }. The model is instructed to stop and ask the user for a narrowerfilterExpressionrather than calling the tool again.
acumatica_run_inquiry
Execute any configured Generic Inquiry (GI) in Acumatica. Use this for custom reports and cross-entity queries configured by your Acumatica administrator. Use acumatica_list_generic_inquiries to discover GI names and acumatica_describe_inquiry to get field schema before calling this tool.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
inquiryName |
string | Yes | -- | Generic Inquiry name as configured in Acumatica |
filterExpression |
string | No | -- | OData $filter expression |
topN |
string | No | "100" |
Maximum rows to return (max 1000). If truncated, refine filters — do not paginate. |
selectFields |
string | No | -- | Comma-separated field names to return |
Endpoint: GET /t/{Company}/api/odata/gi/{inquiryName}?$filter=...&$top=...&$select=...
Truncation semantics: Same as
acumatica_list_entities— when results hit the max, the response includestruncated: true,paginationSupported: false, andactionRequiredtext telling the model to ask the user for a narrower filter rather than calling again.
Calculated columns are refused in filters (0.49.0): a
$filterreferencing a calculated GI column (an=…expression in the inquiry design) makes Acumatica return HTTP 200 with an empty body — not an error, not an empty list. For curated GIs the registry flags expression columns, and this tool refuses such a filter before contacting Acumatica, returning aninvalid_filterenvelope naming the offending columns and listing the storedfilterableFieldsto rewrite against. Filter on stored columns (keys, dates, statuses, codes) and apply conditions on calculated columns to the returned rows client-side. See OData filtering.
GI opt-in gate (0.37.0): Instances accumulate many GIs built for human screens; exposing them all floods the model's context and degrades GI selection — and a parameterized GI exposed via OData returns silently wrong data (queried without its parameters, Acumatica returns default/unfiltered rows with no error), so curating which GIs the assistant can reach is a data-correctness safeguard, not just tidiness (full rationale + setup: Generic Inquiries). If your Acumatica administrator has configured the GI registry (the
MCPGIs/MCPGIFieldsfeed GIs), only inquiries explicitly flaggedExposedtoMCPare available —run_inquiry,describe_inquiry, andlist_generic_inquiriesall enforce it, and an unexposed GI returns a "not exposed to the AI assistant" error. When the registry is not configured, the gate is inactive:list_generic_inquiriesreturns no GIs (discovery is suppressed — the model isn't handed an uncurated menu), and a GI can only be run by exact name viarun_inquiry/describe_inquiry. Exposed GIs may also carry curated descriptions and$metadata-accurate field types, surfaced bydescribe_inquiry/list_generic_inquiries. Independently of the gate,run_inquiryanddescribe_inquiryrefuse any parameterized GI (querying/sampling one over OData returns silently wrong data). Fixed-width key values are trimmed in all GI output.
acumatica_list_generic_inquiries
List all Generic Inquiries (GIs) exposed via OData in Acumatica. Returns inquiry names. Use this to discover available GI names before calling acumatica_run_inquiry.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
titleFilter |
string | No | -- | Partial name match to narrow results (case-insensitive contains) |
topN |
string | No | "200" |
Maximum number of GIs to return |
Endpoint: GET /t/{Company}/api/odata/gi (OData service document)
Returns: Array of { inquiryName, url } for each OData-exposed GI. Client-side name filtering is applied when titleFilter is provided.
acumatica_describe_inquiry
Returns the field schema for a Generic Inquiry (GI) exposed via OData. Field names and types are inferred from a single live sample row, so types may be approximate (a column that is null in the sample reports as unknown) and a GI that returns no rows yields an empty field list. Curated GIs (see the GI opt-in gate above) instead return authoritative $metadata names/types with curated descriptions, and mark calculated (expression) columns with calculated: true — those columns cannot be used in a run_inquiry filterExpression (Acumatica fails such filters with an empty response, so run_inquiry refuses them up front). Use this before calling acumatica_run_inquiry to know which fields are available for filtering and selection. For authoritative entity schemas (not GIs), use acumatica_describe_entity instead.
| Parameter | Type | Required | Description |
|---|---|---|---|
inquiryName |
string | Yes | GI name. Use acumatica_list_generic_inquiries to discover names. |
Endpoint: GET /t/{Company}/api/odata/gi/{inquiryName}?$top=1
Approach: Probes the GI via OData with $top=1 to retrieve a sample row and infers field names and data types from the response.
Returns: { inquiryName, fields: [{ fieldName, dataType }], sampleRow, note }.
Error handling:
- GI not found (404): returns descriptive error suggesting
acumatica_list_generic_inquiries - GI requires filters (400): returns guidance to use
acumatica_run_inquirywith a filter - Empty results: returns empty field list with a note
acumatica_clear_cache
Clear cached metadata (entity schemas, GI lists, GI field schemas). Use when Acumatica customizations have changed and cached schema data is stale. With no arguments, clears all cached metadata.
| Parameter | Type | Required | Description |
|---|---|---|---|
target |
string | No | What to clear. Accepted values: omitted → clear everything; schemas → all entity schemas (bulk); gi → GI list + OData $metadata + GI tool registry + all per-GI inferred field schemas (bulk); schema:<EntityName> → one entity schema (e.g. schema:Customer); gi_schema:<InquiryName> → one GI's inferred field schema. Other strings are rejected. Note schemas (plural, bulk) vs schema:Foo (singular, specific). |
Caching details: Entity schemas are cached for 24 hours. GI lists, GI metadata, and GI field schemas are cached for 1 hour. Cache is stored in KV with cache: key prefix.
Returns: { cleared: [...] } listing the cache keys that were removed.
Write Tools
Write tools mutate Acumatica data. They are disabled by default and must be explicitly enabled by an administrator at /docs/admin/settings (toggle "Enable Write Tools"). While disabled, write tools are hidden from tools/list (since 0.53.0), so clients don't see them at all; the server also refuses any call to one. Enabling takes effect on the next MCP session (the tool list is built once per session), and clients that cache the tool list may need a disconnect/reconnect. All write tools use a two-phase confirmation pattern to prevent accidental mutations:
- Call the tool without
confirm(or with any value other than'true') to get a dry-run preview. The preview shows exactly what would be written in Acumatica's{value: X}wire format -- no data is changed. - Call again with
confirm: 'true'to commit the change.
Every mutation attempt (dry-run and committed) is logged to the R2 audit trail with the redacted payload, entity, record key, and dryRun flag. The log appears in the admin console under /docs/admin.
acumatica_create_or_update_customer
Create a new Customer or update an existing one. Uses PUT-as-upsert: if CustomerID is provided the existing record is updated; if omitted Acumatica assigns an auto-number ID and a new record is created.
| Parameter | Type | Required | Description |
|---|---|---|---|
payload |
string | Yes | JSON object with fields to create or update. Only the allowed fields listed below are accepted -- any others are rejected before anything is sent to Acumatica. |
confirm |
string | No | Pass 'true' to commit the change. Omit (or pass any other value) to preview exactly what would be written without making any change. |
Allowed top-level fields: CustomerID, CustomerName, CustomerClass, Status, Email, Phone1, MainContact
MainContact accepts a nested object whose inner fields are themselves allowlisted: Email, Phone1, Address1, Address2, City, State, PostalCode, Country. Any other nested field is rejected before anything is sent to Acumatica.
Examples:
Create a new customer (Acumatica assigns the ID):
{ "CustomerName": "Acme Corp", "CustomerClass": "DEFAULT", "Email": "accounts@acme.com" }
Update an existing customer's status:
{ "CustomerID": "C000123", "Status": "Inactive" }
Returns (dry-run): { dryRun: true, willWrite: <wrapped-payload>, target: "PUT Customer", note: "..." }
Returns (committed): { action: "upsert", entity: "Customer", recordKey: "<CustomerID>", result: <unwrapped-response> }
Schema Knowledge Tools
Offline schema discovery for building integrations and customizations — answered from an
index built from your instance's own swagger.json, with no record query. See
Schema Knowledge for how the index is built. The three index-backed
tools appear only when the schema index is present; acumatica_explain_gi_xml is always
available.
acumatica_search_schema
Find entities by name/keyword and/or locate which entities contain a given field.
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | No* | Entity name or keyword (e.g. tax, salesorder). Matches names and module tags. |
field |
string | No* | A field name to locate (e.g. CustomerID). Returns entities containing a matching field (partial matches allowed). |
topN |
number | No | Max matches to return (default 25, max 500). |
* Provide at least one of query / field.
Returns: { results: [{ name, tag, fieldCount, matchedOn }], resultCount, note }.
acumatica_get_schema_entity
Full offline schema for one entity: fields (name + type), available actions, and
expandable sub-entities ($expand targets).
| Parameter | Type | Required | Description |
|---|---|---|---|
entityName |
string | Yes | Entity name (e.g. SalesOrder). Use acumatica_search_schema to find the exact name. |
Returns: { name, tag, fields, actions, subCollections, expandHint }. For the
authoritative live schema (incl. just-added custom fields), use acumatica_describe_entity.
acumatica_list_schema_entities
Browse the entity catalog, optionally filtered by a name/module prefix.
| Parameter | Type | Required | Description |
|---|---|---|---|
namespace |
string | No | Name/module prefix to filter by (e.g. Sales, Project). Omit for all. |
topN |
number | No | Max entities to return (default 200, max 500). |
Returns: { entities: [{ name, tag, fieldCount }], count }.
acumatica_explain_gi_xml
Summarize the structure of a pasted Generic Inquiry definition XML (from SM208000): tables, relations/joins, parameters, filters, grouping/sorting, output columns. A reading aid that parses the XML you provide — it does not query Acumatica.
| Parameter | Type | Required | Description |
|---|---|---|---|
xml |
string | Yes | The GI definition XML to summarize (paste the full export). |
Returns: { root, title?, sections, otherElements, note }.
Documentation Tools
Search + retrieval over the official Acumatica documentation (user guides, form/screen reference, release notes) for your instance's release — answered from an index the operator builds from their own licensed documentation download, with no tenant data access. See Documentation Tools for setup. Both tools appear only when the documentation index is present, and their output bypasses sensitive-field redaction (vendor documentation, not tenant records).
acumatica_search_docs
Search the documentation by section heading and Form ID (not body text — query with feature terminology as the docs would title it, not full sentences).
| Parameter | Type | Required | Description |
|---|---|---|---|
query |
string | No* | Feature/section keywords (e.g. expense reclassification, dunning letters). |
formId |
string | No* | A screen's Form ID (e.g. AP301000) to find that screen's reference sections. |
guide |
string | No | Guide filter by name (e.g. projects, form-reference). Omit to search all. |
topN |
number | No | Max matching sections (default 20, max 100). |
* Provide at least one of query / formId.
Returns: { results: [{ chunkId, guide, path, formId?, matchedOn }], resultCount, release, note }.
acumatica_get_doc_section
Read documentation text — one section by chunkId, or a screen's full reference by
Form ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
ref |
string | Yes | A chunkId from acumatica_search_docs (e.g. projects:214), or a Form ID (e.g. AP301000). |
Returns (chunkId): { chunkId, guide, path, formId?, text, prev?, next?, release } —
prev/next allow browsing adjacent sections. Returns (Form ID):
{ formId, sectionCount, sections: [{ chunkId, path, text }], release } plus
truncated/remainingSections when a large screen exceeds the size cap.
Core
acumatica_get_customer
Retrieve a customer record by Customer ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
customerID |
string | Yes | Customer ID. Format depends on this Acumatica instance's numbering sequence — there is no universal format. If you only have a name, use acumatica_list_entities (entityName=Customer, filter on CustomerName) to look up the ID. |
Endpoint: GET /entity/Default/25.200.001/Customer/{customerID}
Expands: CreditVerificationRules, MainContact, PrimaryContact, BillingContact
Returns: Customer name, status, billing/shipping addresses, primary contact, credit terms, and balance.
acumatica_get_vendor
Retrieve a vendor record by Vendor ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
vendorID |
string | Yes | Vendor ID. Format is instance-specific (depends on the configured numbering sequence). Use acumatica_list_entities (entityName=Vendor) to look up by name. |
Endpoint: GET /entity/Default/25.200.001/Vendor/{vendorID}
Expands: MainContact, PrimaryContact
Returns: Vendor name, status, payment terms, tax info, and primary contact.
acumatica_get_sales_order
Retrieve a sales order by order type and order number.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
orderType |
string | No | SO |
Order type code. SO is the standard out-of-the-box sales order type; other types are configured per instance in Sales Order Types (SO201000). |
orderNbr |
string | Yes | -- | Sales order number. Format is instance-specific — use acumatica_list_entities (entityName=SalesOrder) to look up. |
Endpoint: GET /entity/Default/25.200.001/SalesOrder/{orderType}/{orderNbr}
Expands: Details
Returns: Header info, line items, totals, shipping details, and status.
Financial / Accounting
acumatica_get_invoice
Retrieve an AR invoice by type and reference number.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
type |
string | No | Invoice |
Document type. Common values: Invoice, Credit Memo, Debit Memo. |
referenceNbr |
string | Yes | -- | Invoice reference number. Format is instance-specific — use acumatica_list_entities (entityName=Invoice) to look up. |
Endpoint: GET /entity/Default/25.200.001/Invoice/{type}/{referenceNbr}
Expands: Details, TaxDetails
Returns: Customer, amounts, balance, line items, tax details, due date, and status.
acumatica_get_bill
Retrieve an AP bill by type and reference number.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
type |
string | No | Bill |
Document type. Common values: Bill, Credit Adj., Debit Adj.. |
referenceNbr |
string | Yes | -- | Bill reference number. Format is instance-specific — use acumatica_list_entities (entityName=Bill) to look up. |
Endpoint: GET /entity/Default/25.200.001/Bill/{type}/{referenceNbr}
Expands: Details, TaxDetails
Returns: Vendor, amounts, balance, line items with PO linkage, tax details, due date, and status.
acumatica_get_journal_transaction
Retrieve a GL journal transaction batch by batch number.
| Parameter | Type | Required | Description |
|---|---|---|---|
batchNbr |
string | Yes | Journal batch number. Format is instance-specific — use acumatica_list_entities (entityName=JournalTransaction) to look up. |
Endpoint: GET /entity/Default/25.200.001/JournalTransaction/{batchNbr}
Returns: Module, ledger, post period, and detail lines with account, debit/credit amounts.
acumatica_get_payment
Retrieve an AR payment by type and reference number.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
type |
string | No | Payment |
Payment type. Common values: Payment, Prepayment, Refund, Voided Check. |
referenceNbr |
string | Yes | -- | Payment reference number. Format is instance-specific — use acumatica_list_entities (entityName=Payment) to look up. |
Endpoint: GET /entity/Default/25.200.001/Payment/{type}/{referenceNbr}
Expands: DocumentsToApply, OrdersToApply
Returns: Customer, payment amount, method, applied documents/orders, available balance, and status.
acumatica_get_account
Retrieve a GL account from the chart of accounts.
| Parameter | Type | Required | Description |
|---|---|---|---|
accountCD |
string | Yes | GL account code (Acumatica calls this AccountCD; the CD suffix is its term for a user-readable code). Format depends on the chart of accounts — use acumatica_list_entities (entityName=Account) to look up. |
Endpoint: GET /entity/Default/25.200.001/Account/{accountCD}
Returns: Account type, class, group, description, currency, and active status.
acumatica_get_check
Retrieve an AP check (vendor payment) by type and reference number.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
type |
string | No | Check |
Document type. Common values: Check, Prepayment, Voided Check. |
referenceNbr |
string | Yes | -- | Check reference number. Format is instance-specific — use acumatica_list_entities (entityName=Check) to look up. |
Endpoint: GET /entity/Default/25.200.001/Check/{type}/{referenceNbr}
Expands: Details, History
Returns: Vendor, payment amount, method, cash account, unapplied balance, and status.
Inventory & Warehouse
acumatica_get_stock_item
Retrieve a stock item by inventory ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
inventoryID |
string | Yes | Inventory ID. Format is instance-specific (depends on the item numbering sequence). If you only have a description, use acumatica_list_entities (entityName=StockItem, filter on Description) to look up. |
Endpoint: GET /entity/Default/25.200.001/StockItem/{inventoryID}
Expands: WarehouseDetails, VendorDetails
Returns: Description, item class, pricing (default, MSRP, cost), UOMs, warehouse details with qty on hand, and vendor details.
acumatica_get_non_stock_item
Retrieve a non-stock item (service, labor, expense) by inventory ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
inventoryID |
string | Yes | Inventory ID for the non-stock item. Format is instance-specific — use acumatica_list_entities (entityName=NonStockItem) to look up. |
Endpoint: GET /entity/Default/25.200.001/NonStockItem/{inventoryID}
Returns: Description, item class, pricing, UOMs, and posting settings.
acumatica_get_inventory_quantity_available
Retrieve real-time available quantity for an inventory item across all warehouses.
| Parameter | Type | Required | Description |
|---|---|---|---|
inventoryID |
string | Yes | Inventory ID to check availability for. If unknown, use acumatica_list_entities (entityName=StockItem) to find the item first. |
Endpoint: GET /entity/Default/25.200.001/InventoryQuantityAvailable/{inventoryID}
Expands: Results
Returns: On-hand, available, and allocated quantities.
acumatica_get_inventory_summary
Retrieve aggregated inventory balances for an item, optionally filtered by warehouse.
| Parameter | Type | Required | Description |
|---|---|---|---|
inventoryID |
string | Yes | Inventory ID to summarize. If unknown, use acumatica_list_entities (entityName=StockItem) to find the item first. |
warehouseID |
string | No | Optional warehouse ID to filter by. Omit to return rows across all warehouses. |
Endpoint: GET /entity/Default/25.200.001/InventorySummaryInquiry/{inventoryID} (with optional warehouse filter)
Expands: Results
Returns: Summary rows with on-hand, available, and other quantity breakdowns.
acumatica_get_warehouse
Retrieve a warehouse by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
warehouseID |
string | Yes | Warehouse ID. Codes are configured per instance — use acumatica_list_entities (entityName=Warehouse) to discover what's defined. |
Endpoint: GET /entity/Default/25.200.001/Warehouse/{warehouseID}
Expands: Locations
Returns: Description, active status, default locations, and all warehouse locations.
acumatica_get_item_class
Retrieve an item class by class ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
classID |
string | Yes | Item class ID. Codes are configured per instance — use acumatica_list_entities (entityName=ItemClass) to discover defined classes. |
Endpoint: GET /entity/Default/25.200.001/ItemClass/{classID}
Returns: Item type, default UOMs, warehouse, valuation method, posting class, and availability calculation rule.
Purchasing
acumatica_get_purchase_order
Retrieve a purchase order by type and order number.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
type |
string | No | Normal |
PO type. Common values: Normal, DropShip, Blanket. |
orderNbr |
string | Yes | -- | Purchase order number. Format is instance-specific — use acumatica_list_entities (entityName=PurchaseOrder) to look up. |
Endpoint: GET /entity/Default/25.200.001/PurchaseOrder/{type}/{orderNbr}
Expands: Details
Returns: Vendor, line items with quantities and costs, totals, terms, status, and promised date.
acumatica_get_purchase_receipt
Retrieve a purchase receipt by type and receipt number.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
type |
string | No | Receipt |
Receipt type. Common values: Receipt, Return. |
receiptNbr |
string | Yes | -- | Purchase receipt number. Format is instance-specific — use acumatica_list_entities (entityName=PurchaseReceipt) to look up. |
Endpoint: GET /entity/Default/25.200.001/PurchaseReceipt/{type}/{receiptNbr}
Expands: Details
Returns: Vendor, line items with received quantities and costs, linked PO references, and warehouse.
Projects
acumatica_get_project
Retrieve a project by project ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
projectID |
string | Yes | Project ID. Format is instance-specific — use acumatica_list_entities (entityName=Project) to look up by description. |
Endpoint: GET /entity/Default/25.200.001/Project/{projectID}
Returns: Description, status, customer, template, financials (assets, liabilities, income, expenses).
acumatica_get_project_task
Retrieve a project task by project ID and task ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
projectID |
string | Yes | Project ID (instance-specific format). |
projectTaskID |
string | Yes | Project task ID. Use acumatica_list_entities (entityName=ProjectTask, filter on ProjectID) to enumerate tasks for a project. |
Endpoint: GET /entity/Default/25.200.001/ProjectTask/{projectID}/{projectTaskID}
Returns: Description, status, and whether it is the default task.
acumatica_get_project_budget
Retrieve a project budget line by project, task, and account group.
| Parameter | Type | Required | Description |
|---|---|---|---|
projectID |
string | Yes | Project ID (instance-specific format). |
projectTaskID |
string | Yes | Project task ID. |
accountGroup |
string | Yes | Account group code. Account groups are configured per instance — use acumatica_list_entities (entityName=AccountGroup) to discover defined groups. |
inventoryID |
string | No | Optional inventory ID for an item-level budget line. Omit for non-item budget lines. |
Endpoint: GET /entity/Default/25.200.001/ProjectBudget/{projectID}/{projectTaskID}/{accountGroup}
Returns: Original/revised budgeted amounts, actuals, committed amounts, and completion percentage.
acumatica_get_project_transaction
Retrieve a project transaction by module and reference number.
| Parameter | Type | Required | Description |
|---|---|---|---|
module |
string | Yes | Module code. Standard Acumatica modules: PM (project management), AR (receivables), AP (payables), GL (general ledger), IN (inventory), CA (cash management). |
referenceNbr |
string | Yes | Transaction reference number (instance-specific format). |
Endpoint: GET /entity/Default/25.200.001/ProjectTransaction/{module}/{referenceNbr}
Expands: Details
Returns: Detail lines with account, amount, project/task, employee, and quantities.
Service & Field
acumatica_get_case
Retrieve a support case by case ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
caseID |
string | Yes | Case ID. Format is instance-specific — use acumatica_list_entities (entityName=Case, filter on Subject or BusinessAccount) to look up. |
Endpoint: GET /entity/Default/25.200.001/Case/{caseID}
Returns: Subject, status, priority, severity, business account, contact, owner, SLA, time spent, and resolution details.
acumatica_get_service_order
Retrieve a field service order by type and number.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
serviceOrderType |
string | No | SL |
Service order type code. SL is the standard out-of-the-box type; other types are configured per instance. |
serviceOrderNbr |
string | Yes | -- | Service order number. Format is instance-specific — use acumatica_list_entities (entityName=ServiceOrder) to look up. |
Endpoint: GET /entity/Default/25.200.001/ServiceOrder/{serviceOrderType}/{serviceOrderNbr}
Expands: Details, Appointments
Returns: Customer, status, priority, estimated/actual durations, totals, appointments, and line items.
acumatica_get_appointment
Retrieve a field service appointment by type and number.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
serviceOrderType |
string | No | SL |
Service order type code. |
appointmentNbr |
string | Yes | -- | Appointment number. Format is instance-specific — use acumatica_list_entities (entityName=Appointment) to look up. |
Endpoint: GET /entity/Default/25.200.001/Appointment/{serviceOrderType}/{appointmentNbr}
Expands: Details, Staff, Logs
Returns: Scheduled/actual dates and durations, customer, staff, services, cost, profit, and status.
Sales & CRM
acumatica_get_contact
Retrieve a CRM contact by contact ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
contactID |
string | Yes | Contact ID — system-generated integer (passed as a string). If unknown, use acumatica_list_entities (entityName=Contact, filter on Email, FirstName/LastName, or BusinessAccount) to look up. |
Endpoint: GET /entity/Default/25.200.001/Contact/{contactID}
Returns: Name, email, phone, job title, company, business account, address, status, owner, and source.
acumatica_get_business_account
Retrieve a business account (prospect, customer, or vendor) by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
businessAccountID |
string | Yes | Business account ID. Format is instance-specific — use acumatica_list_entities (entityName=BusinessAccount, filter on Name) to look up. |
Endpoint: GET /entity/Default/25.200.001/BusinessAccount/{businessAccountID}
Expands: MainContact
Returns: Name, type, status, class, main address, main contact, parent account, and owner.
acumatica_get_opportunity
Retrieve a sales opportunity by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
opportunityID |
string | Yes | Opportunity ID. Format is instance-specific — use acumatica_list_entities (entityName=Opportunity, filter on Subject or BusinessAccount) to look up. |
Endpoint: GET /entity/Default/25.200.001/Opportunity/{opportunityID}
Expands: Products, TaxDetails
Returns: Subject, stage, status, amount, discount, total, business account, contact, products, source, and estimation date.
acumatica_get_lead
Retrieve a marketing lead by lead ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
leadID |
string | Yes | Lead ID — system-generated integer (passed as a string). If unknown, use acumatica_list_entities (entityName=Lead, filter on Email, Name, or Company) to look up. |
Endpoint: GET /entity/Default/25.200.001/Lead/{leadID}
Returns: Name, email, phone, company, status, source, class, owner, address, and qualification date.
acumatica_get_salesperson
Retrieve a salesperson by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
salespersonID |
string | Yes | Salesperson ID. Format is instance-specific — use acumatica_list_entities (entityName=Salesperson) to look up by name. |
Endpoint: GET /entity/Default/25.200.001/Salesperson/{salespersonID}
Returns: Name, active status, default commission percentage, and sales subaccount.
Shipping & Fulfillment
acumatica_get_shipment
Retrieve a shipment by shipment number.
| Parameter | Type | Required | Description |
|---|---|---|---|
shipmentNbr |
string | Yes | Shipment number. Format is instance-specific — use acumatica_list_entities (entityName=Shipment) to look up. |
Endpoint: GET /entity/Default/25.200.001/Shipment/{shipmentNbr}
Expands: Details, Packages, Orders
Returns: Customer, warehouse, ship via, shipped quantities/weight/volume, packages with tracking numbers, line items, and freight details.
acumatica_get_sales_invoice
Retrieve a sales invoice by type and reference number.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
type |
string | No | Invoice |
Document type. Common values: Invoice, Credit Memo. |
referenceNbr |
string | Yes | -- | Sales invoice reference number. Format is instance-specific — use acumatica_list_entities (entityName=SalesInvoice) to look up. |
Endpoint: GET /entity/Default/25.200.001/SalesInvoice/{type}/{referenceNbr}
Expands: Details, TaxDetails
Returns: Customer, amounts, balance, line items with SO/shipment linkage, tax details, and due date.
HR & Payroll
acumatica_get_employee
Retrieve an employee by employee ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
employeeID |
string | Yes | Employee ID. Format is instance-specific — use acumatica_list_entities (entityName=Employee, filter on Name) to look up. |
Endpoint: GET /entity/Default/25.200.001/Employee/{employeeID}
Expands: ContactInfo, EmployeeSettings, FinancialSettings
Returns: Name, status, contact info, employee settings, and financial settings.
acumatica_get_expense_claim
Retrieve an expense claim by reference number.
| Parameter | Type | Required | Description |
|---|---|---|---|
refNbr |
string | Yes | Expense claim reference number. Format is instance-specific — use acumatica_list_entities (entityName=ExpenseClaim) to look up. |
Endpoint: GET /entity/Default/25.200.001/ExpenseClaim/{refNbr}
Expands: Details, TaxDetails
Returns: Claimant, date, total, line items with amounts, tax details, approval status, and customer/department.
acumatica_get_time_entry
Retrieve a time entry by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
timeEntryID |
string | Yes | Time entry ID — system-generated GUID. Use acumatica_list_entities (entityName=TimeEntry, filter on EmployeeID, Date, or ProjectID) to find IDs. |
Endpoint: GET /entity/Default/25.200.001/TimeEntry/{timeEntryID}
Returns: Employee, date, project/task, time spent, billable time, overtime, earning type, cost rate, and approval status.
CRM Activities
acumatica_get_email
Retrieve a CRM email activity by note ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
noteID |
string | Yes | Email note ID — system-generated GUID. Use acumatica_list_entities (entityName=Email, filter on Subject, From, or To) to find note IDs. |
Endpoint: GET /entity/Default/25.200.001/Email/{noteID}
Returns: Subject, from/to/cc/bcc, body, mail status, related entity, and timestamps.
acumatica_get_event
Retrieve a CRM event by note ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
noteID |
string | Yes | Event note ID — system-generated GUID. Use acumatica_list_entities (entityName=Event, filter on Summary or StartDate) to find note IDs. |
Endpoint: GET /entity/Default/25.200.001/Event/{noteID}
Expands: Attendees
Returns: Summary, start/end dates, location, priority, category, attendees, related entity, and show-as status.
acumatica_get_activity
Retrieve a CRM activity by note ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
noteID |
string | Yes | Activity note ID — system-generated GUID. Use acumatica_list_entities (entityName=Activity) to find note IDs. |
Endpoint: GET /entity/Default/25.200.001/Activity/{noteID}
Returns: Summary, type, status, date, owner, related entity, and body.
acumatica_get_task
Retrieve a CRM task by note ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
noteID |
string | Yes | Task note ID — system-generated GUID. Use acumatica_list_entities (entityName=Task, filter on Summary or DueDate) to find note IDs. |
Endpoint: GET /entity/Default/25.200.001/Task/{noteID}
Returns: Summary, status, priority, due date, completion percentage, related activities/tasks, and owner.