---
title: "Epicor Kinetic MCP server for AI agents - actionlake"
description: "Give Claude 444 Epicor Kinetic actions through one MCP server: ap invoices, ar invoices. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/epicor-kinetic
updated: 2026-10-23
---

Connectors · Accounting & finance

# Epicor Kinetic MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Epicor Kinetic and the rest of your systems. It gives your agent 444 Epicor Kinetic actions (194 reads, 154 writes and 96 that wait for a confirmation) and holds the Epicor Kinetic credential itself, so the agent never does. It paces Epicor Kinetic's limits and records every call.

[Connect Epicor Kinetic free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "epicor_kinetic.ar_invoices.list",
  intent: "check which Epicor Kinetic account is connected"
}
# List AR invoices · read · 1 upstream call
```

- 444 actions in one signed file
- 194 read look, never change
- 154 write create and update
- 96 wait for a yes destructive, confirmed first

Set up

## Connect Epicor Kinetic in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Epicor Kinetic.
   Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `api_key` Epicor API key (Kinetic
   - `username` Epicor user id (integration user)
   - `password` Epicor user password
   - `company` Your Epicor Kinetic company
   - `host` Where your Epicor Kinetic lives: your host
   - `instance` Where your Epicor Kinetic lives: your instance
   ```
   account { op: "connections.requirements", service: "epicor_kinetic" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "epicor_kinetic.ar_invoices.list" }
   # list ar invoices · read · 1 upstream call
   check { action: "epicor_kinetic.ar_invoices.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Epicor Kinetic at a glance

**Sign-in**

Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`api_key` `username` `password`

**Setup fields**

`company` `host` `instance`

**Limits we pace to**

600 calls a minute, per connection

**API covered**

Epicor Kinetic ERP (REST API v2, OData) API REST v2 (OData v4), at your Epicor Kinetic instance's API base URL, which you enter when connecting

**Built from**

Epicor Kinetic's documentation, read 23 October 2026[epicor.com](https://www.epicor.com/en-us/erp/kinetic/)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

194 of 194 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

11, so ask can line Epicor Kinetic up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Epicor Kinetic.

444 actions in 59 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **194** read look, never change
- **154** write create and update
- **96** destructive wait for a confirmation

1. ### Ap invoices
   9
   4 read · 3 write · 2 destructive
   List AP invoices · Create an AP invoice · Get an AP invoice · Update an AP invoice
2. ### Ar invoices
   9
   4 read · 3 write · 2 destructive
   List AR invoices · Create an AR invoice · Get an AR invoice · Update an AR invoice
3. ### Countries
   9
   4 read · 3 write · 2 destructive
   Create a country · List countries · Get a country · Update a country
4. ### Currencies
   9
   4 read · 3 write · 2 destructive
   List currencies · Create a currency · Get a currency · Update a currency
5. ### Customer contacts
   9
   4 read · 3 write · 2 destructive
   List customer contacts · Create a customer contact · Get a customer contact · Update a customer contact
6. ### Customer groups
   9
   4 read · 3 write · 2 destructive
   Create a customer group · List customer groups · Get a customer group · Update a customer group
7. ### Customer shipments
   9
   4 read · 3 write · 2 destructive
   Create a customer shipment · List customer shipments · Get a customer shipment · Update a customer shipment
8. ### Customers
   9
   4 read · 3 write · 2 destructive
   List customers · Create a customer · Get a customer · Update a customer

**51 more areas · 372 actions**

- Employees **9**
- GL accounts **9**
- Jobs **9**
- Part classes **9**
- Parts **9**
- Payment terms **9**
- Person contacts **9**
- Price lists **9**
- Product groups **9**
- Projects **9**
- Purchase orders **9**
- Quotes **9**
- Reason codes **9**
- Sales orders **9**
- Sales reps **9**
- Ship vias **9**
- Sites **9**
- Ud01 **9**
- Ud02 **9**
- Ud03 **9**
- Ud04 **9**
- Ud05 **9**
- Ud06 **9**
- Ud07 **9**
- Ud08 **9**
- Ud09 **9**
- Ud10 **9**
- Users **9**
- Vendor contacts **9**
- Vendors **9**
- Warehouses **9**
- Odata **7**
- Ap invoice lines **5**
- Ar invoice lines **5**
- Customer ship tos **5**
- Customer shipment lines **5**
- Job assemblies **5**
- Job materials **5**
- Job operations **5**
- Labor details **5**
- Labor headers **5**
- Part plants **5**
- Part revisions **5**
- Purchase order lines **5**
- Purchase order releases **5**
- Quote lines **5**
- Sales order lines **5**
- Sales order releases **5**
- Labor **4**
- Baqs **1**
- Functions **1**

Top actions

## The Epicor Kinetic API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 65 of Epicor Kinetic's 65 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `epicor_kinetic.ar_invoices.list` List AR invoices | List AR invoices (Erp.BO.ARInvoiceSvc/ARInvoices) with OData filtering. | read | `finance.invoice.list` 101 connectors |
| `epicor_kinetic.quotes.list` List quotes | List quotes (Erp.BO.QuoteSvc/Quotes) with OData filtering. | read | `finance.quote.list` 52 connectors |
| `epicor_kinetic.purchase_orders.list` List purchase orders | List purchase orders (Erp.BO.POSvc/POes) with OData filtering. | read | `finance.purchase_order.list` 45 connectors |
| `epicor_kinetic.ap_invoices.list` List AP invoices | List AP invoices (Erp.BO.APInvoiceSvc/APInvoices) with OData filtering. | read | `finance.bill.list` 31 connectors |
| `epicor_kinetic.parts.list` List parts | List parts (Erp.BO.PartSvc/Parts) with OData filtering. | read | `commerce.product.list` 112 connectors |
| `epicor_kinetic.sales_orders.list` List sales orders | List sales orders (Erp.BO.SalesOrderSvc/SalesOrders) with OData filtering. | read | `commerce.order.list` 82 connectors |
| `epicor_kinetic.ar_invoices.create` Create an AR invoice | Create a AR invoice (POST to ARInvoices). | write | `finance.invoice.create` 74 connectors |
| `epicor_kinetic.customer_contacts.list` List customer contacts | List customer contacts (Erp.BO.CustCntSvc/CustCnts) with OData filtering. | read | `crm.contact.list` 177 connectors |
| `epicor_kinetic.customers.list` List customers | List customers (Erp.BO.CustomerSvc/Customers) with OData filtering. | read | `crm.company.list` 162 connectors |
| `epicor_kinetic.quotes.create` Create a quote | Create a quote (POST to Quotes). | write | `finance.quote.create` 52 connectors |
| `epicor_kinetic.purchase_orders.create` Create a purchase order | Create a purchase order (POST to POes). | write | `finance.purchase_order.create` 43 connectors |
| `epicor_kinetic.ar_invoices.delete` Delete an AR invoice | Delete a AR invoice by key. | destructive | `finance.invoice.delete` 56 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Epicor Kinetic actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Epicor Kinetic invoices are more than 30 days overdue? Group them by customer with the total owed.
   calls `epicor_kinetic.ar_invoices.list`
2. Write write
   Create an AR invoice in Epicor Kinetic. Show me exactly what you will send before you save it.
   calls `epicor_kinetic.ar_invoices.create`
3. Across systems read
   Which Epicor Kinetic companies have invoices in ConnectWise PSA, and how many each?
   calls `epicor_kinetic.customers.list` `connectwise_manage.invoices.list`

Across your systems

## Epicor Kinetic, joined to the rest of your business.

One `ask` fetches from Epicor Kinetic and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.

- Which Epicor Kinetic companies have invoices in ConnectWise PSA, and how many each?
  `epicor_kinetic.customers.list` + `connectwise_manage.invoices.list`, on `crm.company` · [ConnectWise PSA](https://actionlake.com/connectors/connectwise-psa)
- Which Epicor Kinetic companies have tickets in HubSpot CRM, and how many each?
  `epicor_kinetic.customers.list` + `hubspot_crm.tickets.list`, on `crm.company` · [HubSpot CRM](https://actionlake.com/connectors/hubspot-crm)

Also mapped by other connectors `crm.company` **227** `crm.contact` **192** `work.project` **116** `commerce.product` **109** `finance.invoice` **91** `commerce.order` **86** `hr.employee` **63** `finance.quote` **45**

ask

```
ask {
  intent: "which Epicor Kinetic companies have invoices in ConnectWise PSA, and how many each",
  steps: [
    { action: "epicor_kinetic.customers.list", as: "co", input: {}, limit: 100, max_pages: 5 },
    { action: "connectwise_manage.invoices.list", as: "inv", input: {}, limit: 100, max_pages: 5 },
    { join: {
        left: "co",
        right: "inv",
        on: "crm.company",
        group_by: "co.name",
        select: ["co.name", "count(inv.id) as invoices"]
    } }
  ]
}
```

Example. Run it through check first: it validates the steps and prices them, and it is free.

Governance for Epicor Kinetic

## Destructive actions wait for a yes.

96 Epicor Kinetic actions are destructive. The first 10:

- Delete an AR invoice `epicor_kinetic.ar_invoices.delete`
- Delete a quote `epicor_kinetic.quotes.delete`
- Delete a purchase order `epicor_kinetic.purchase_orders.delete`
- Delete an AP invoice `epicor_kinetic.ap_invoices.delete`
- Delete a part `epicor_kinetic.parts.delete`
- Delete a sales order `epicor_kinetic.sales_orders.delete`
- Delete a customer contact `epicor_kinetic.customer_contacts.delete`
- Delete a customer `epicor_kinetic.customers.delete`
- Delete a project `epicor_kinetic.projects.delete`
- Delete an employee `epicor_kinetic.employees.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do epicor_kinetic.ar_invoices.delete confirm_policy: **human**

Delete an AR invoice?

**intent:** the user asked me to delete an AR invoice

run suspended · waiting for a named person · key _epicor-kinetic-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "epicor-kinetic-agent",
  allowed_actions: ["epicor_kinetic.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "epicor_kinetic.ar_invoices.delete", approver: "lead@example.com" },
    { match: "epicor_kinetic.quotes.delete", approver: "lead@example.com" },
    { match: "epicor_kinetic.purchase_orders.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Epicor Kinetic only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Epicor Kinetic costs on actionlake.

Every Epicor Kinetic action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Epicor Kinetic refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 444 Epicor Kinetic actions
- 444 actions page each page of a long list is one call
- 194 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Epicor Kinetic action.

444 actions by area: the id your agent calls, what it does, and its effect.

**Ap invoices 9**

- `epicor_kinetic.ap_invoices.create` Create an AP invoice write
- `epicor_kinetic.ap_invoices.get` Get an AP invoice read
- `epicor_kinetic.ap_invoices.list` List AP invoices read
- `epicor_kinetic.ap_invoices.update` Update an AP invoice write
- `epicor_kinetic.ap_invoices.delete` Delete an AP invoice destructive
- `epicor_kinetic.ap_invoices.delete_by_id` Delete AP (supplier) invoice (DeleteByID) destructive
- and 3 more in this area

**Ar invoices 9**

- `epicor_kinetic.ar_invoices.create` Create an AR invoice write
- `epicor_kinetic.ar_invoices.get` Get an AR invoice read
- `epicor_kinetic.ar_invoices.list` List AR invoices read
- `epicor_kinetic.ar_invoices.update` Update an AR invoice write
- `epicor_kinetic.ar_invoices.delete` Delete an AR invoice destructive
- `epicor_kinetic.ar_invoices.delete_by_id` Delete AR (customer) invoice (DeleteByID) destructive
- and 3 more in this area

**Countries 9**

- `epicor_kinetic.countries.create` Create a country write
- `epicor_kinetic.countries.get` Get a country read
- `epicor_kinetic.countries.list` List countries read
- `epicor_kinetic.countries.update` Update a country write
- `epicor_kinetic.countries.delete` Delete a country destructive
- `epicor_kinetic.countries.delete_by_id` Delete country (DeleteByID) destructive
- and 3 more in this area

**Currencies 9**

- `epicor_kinetic.currencies.create` Create a currency write
- `epicor_kinetic.currencies.get` Get a currency read
- `epicor_kinetic.currencies.list` List currencies read
- `epicor_kinetic.currencies.update` Update a currency write
- `epicor_kinetic.currencies.delete` Delete a currency destructive
- `epicor_kinetic.currencies.delete_by_id` Delete currency (DeleteByID) destructive
- and 3 more in this area

**Customer contacts 9**

- `epicor_kinetic.customer_contacts.create` Create a customer contact write
- `epicor_kinetic.customer_contacts.get` Get a customer contact read
- `epicor_kinetic.customer_contacts.list` List customer contacts read
- `epicor_kinetic.customer_contacts.update` Update a customer contact write
- `epicor_kinetic.customer_contacts.delete` Delete a customer contact destructive
- `epicor_kinetic.customer_contacts.delete_by_id` Delete customer contact (DeleteByID) destructive
- and 3 more in this area

**Customer groups 9**

- `epicor_kinetic.customer_groups.create` Create a customer group write
- `epicor_kinetic.customer_groups.get` Get a customer group read
- `epicor_kinetic.customer_groups.list` List customer groups read
- `epicor_kinetic.customer_groups.update` Update a customer group write
- `epicor_kinetic.customer_groups.delete` Delete a customer group destructive
- `epicor_kinetic.customer_groups.delete_by_id` Delete customer group (DeleteByID) destructive
- and 3 more in this area

**Customer shipments 9**

- `epicor_kinetic.customer_shipments.create` Create a customer shipment write
- `epicor_kinetic.customer_shipments.get` Get a customer shipment read
- `epicor_kinetic.customer_shipments.list` List customer shipments read
- `epicor_kinetic.customer_shipments.update` Update a customer shipment write
- `epicor_kinetic.customer_shipments.delete` Delete a customer shipment destructive
- `epicor_kinetic.customer_shipments.delete_by_id` Delete customer shipment (pack slip) (DeleteByID) destructive
- and 3 more in this area

**Customers 9**

- `epicor_kinetic.customers.create` Create a customer write
- `epicor_kinetic.customers.get` Get a customer read
- `epicor_kinetic.customers.list` List customers read
- `epicor_kinetic.customers.update` Update a customer write
- `epicor_kinetic.customers.delete` Delete a customer destructive
- `epicor_kinetic.customers.delete_by_id` Delete customer (DeleteByID) destructive
- and 3 more in this area

**Employees 9**

- `epicor_kinetic.employees.create` Create an employee write
- `epicor_kinetic.employees.get` Get an employee read
- `epicor_kinetic.employees.list` List employees read
- `epicor_kinetic.employees.update` Update an employee write
- `epicor_kinetic.employees.delete` Delete an employee destructive
- `epicor_kinetic.employees.delete_by_id` Delete employee (DeleteByID) destructive
- and 3 more in this area

**GL accounts 9**

- `epicor_kinetic.gl_accounts.create` Create a GL account write
- `epicor_kinetic.gl_accounts.get` Get a GL account read
- `epicor_kinetic.gl_accounts.list` List GL accounts read
- `epicor_kinetic.gl_accounts.update` Update a GL account write
- `epicor_kinetic.gl_accounts.delete` Delete a GL account destructive
- `epicor_kinetic.gl_accounts.delete_by_id` Delete GL account (DeleteByID) destructive
- and 3 more in this area

**Jobs 9**

- `epicor_kinetic.jobs.create` Create a job write
- `epicor_kinetic.jobs.get` Get a job read
- `epicor_kinetic.jobs.list` List jobs read
- `epicor_kinetic.jobs.update` Update a job write
- `epicor_kinetic.jobs.delete` Delete a job destructive
- `epicor_kinetic.jobs.delete_by_id` Delete job (DeleteByID) destructive
- and 3 more in this area

**Part classes 9**

- `epicor_kinetic.part_classes.create` Create a part class write
- `epicor_kinetic.part_classes.get` Get a part class read
- `epicor_kinetic.part_classes.list` List part classes read
- `epicor_kinetic.part_classes.update` Update a part class write
- `epicor_kinetic.part_classes.delete` Delete a part class destructive
- `epicor_kinetic.part_classes.delete_by_id` Delete part class (DeleteByID) destructive
- and 3 more in this area

**Parts 9**

- `epicor_kinetic.parts.create` Create a part write
- `epicor_kinetic.parts.get` Get a part read
- `epicor_kinetic.parts.list` List parts read
- `epicor_kinetic.parts.update` Update a part write
- `epicor_kinetic.parts.delete` Delete a part destructive
- `epicor_kinetic.parts.delete_by_id` Delete part (DeleteByID) destructive
- and 3 more in this area

**Payment terms 9**

- `epicor_kinetic.payment_terms.create` Create a payment terms code write
- `epicor_kinetic.payment_terms.get` Get a payment terms code read
- `epicor_kinetic.payment_terms.list` List payment terms codes read
- `epicor_kinetic.payment_terms.update` Update a payment terms code write
- `epicor_kinetic.payment_terms.delete` Delete a payment terms code destructive
- `epicor_kinetic.payment_terms.delete_by_id` Delete payment terms code (DeleteByID) destructive
- and 3 more in this area

**Person contacts 9**

- `epicor_kinetic.person_contacts.create` Create a person/contact record write
- `epicor_kinetic.person_contacts.get` Get a person/contact record read
- `epicor_kinetic.person_contacts.list` List person/contact records read
- `epicor_kinetic.person_contacts.update` Update a person/contact record write
- `epicor_kinetic.person_contacts.delete` Delete a person/contact record destructive
- `epicor_kinetic.person_contacts.delete_by_id` Delete person/contact (DeleteByID) destructive
- and 3 more in this area

**Price lists 9**

- `epicor_kinetic.price_lists.create` Create a price list write
- `epicor_kinetic.price_lists.get` Get a price list read
- `epicor_kinetic.price_lists.list` List price lists read
- `epicor_kinetic.price_lists.update` Update a price list write
- `epicor_kinetic.price_lists.delete` Delete a price list destructive
- `epicor_kinetic.price_lists.delete_by_id` Delete price list (DeleteByID) destructive
- and 3 more in this area

**Product groups 9**

- `epicor_kinetic.product_groups.create` Create a product group write
- `epicor_kinetic.product_groups.get` Get a product group read
- `epicor_kinetic.product_groups.list` List product groups read
- `epicor_kinetic.product_groups.update` Update a product group write
- `epicor_kinetic.product_groups.delete` Delete a product group destructive
- `epicor_kinetic.product_groups.delete_by_id` Delete product group (DeleteByID) destructive
- and 3 more in this area

**Projects 9**

- `epicor_kinetic.projects.create` Create a project write
- `epicor_kinetic.projects.get` Get a project read
- `epicor_kinetic.projects.list` List projects read
- `epicor_kinetic.projects.update` Update a project write
- `epicor_kinetic.projects.delete` Delete a project destructive
- `epicor_kinetic.projects.delete_by_id` Delete project (DeleteByID) destructive
- and 3 more in this area

**Purchase orders 9**

- `epicor_kinetic.purchase_orders.create` Create a purchase order write
- `epicor_kinetic.purchase_orders.get` Get a purchase order read
- `epicor_kinetic.purchase_orders.list` List purchase orders read
- `epicor_kinetic.purchase_orders.update` Update a purchase order write
- `epicor_kinetic.purchase_orders.delete` Delete a purchase order destructive
- `epicor_kinetic.purchase_orders.delete_by_id` Delete purchase order (DeleteByID) destructive
- and 3 more in this area

**Quotes 9**

- `epicor_kinetic.quotes.create` Create a quote write
- `epicor_kinetic.quotes.get` Get a quote read
- `epicor_kinetic.quotes.list` List quotes read
- `epicor_kinetic.quotes.update` Update a quote write
- `epicor_kinetic.quotes.delete` Delete a quote destructive
- `epicor_kinetic.quotes.delete_by_id` Delete quote (DeleteByID) destructive
- and 3 more in this area

**Reason codes 9**

- `epicor_kinetic.reason_codes.create` Create a reason code write
- `epicor_kinetic.reason_codes.get` Get a reason code read
- `epicor_kinetic.reason_codes.list` List reason codes read
- `epicor_kinetic.reason_codes.update` Update a reason code write
- `epicor_kinetic.reason_codes.delete` Delete a reason code destructive
- `epicor_kinetic.reason_codes.delete_by_id` Delete reason code (DeleteByID) destructive
- and 3 more in this area

**Sales orders 9**

- `epicor_kinetic.sales_orders.create` Create a sales order write
- `epicor_kinetic.sales_orders.get` Get a sales order read
- `epicor_kinetic.sales_orders.list` List sales orders read
- `epicor_kinetic.sales_orders.update` Update a sales order write
- `epicor_kinetic.sales_orders.delete` Delete a sales order destructive
- `epicor_kinetic.sales_orders.delete_by_id` Delete sales order (DeleteByID) destructive
- and 3 more in this area

**Sales reps 9**

- `epicor_kinetic.sales_reps.create` Create a sales representative write
- `epicor_kinetic.sales_reps.get` Get a sales representative read
- `epicor_kinetic.sales_reps.list` List sales representatives read
- `epicor_kinetic.sales_reps.update` Update a sales representative write
- `epicor_kinetic.sales_reps.delete` Delete a sales representative destructive
- `epicor_kinetic.sales_reps.delete_by_id` Delete sales representative (DeleteByID) destructive
- and 3 more in this area

**Ship vias 9**

- `epicor_kinetic.ship_vias.create` Create a ship via code write
- `epicor_kinetic.ship_vias.get` Get a ship via code read
- `epicor_kinetic.ship_vias.list` List ship via codes read
- `epicor_kinetic.ship_vias.update` Update a ship via code write
- `epicor_kinetic.ship_vias.delete` Delete a ship via code destructive
- `epicor_kinetic.ship_vias.delete_by_id` Delete ship via (carrier) code (DeleteByID) destructive
- and 3 more in this area

**Sites 9**

- `epicor_kinetic.sites.create` Create a site (plant) write
- `epicor_kinetic.sites.get` Get a site (plant) read
- `epicor_kinetic.sites.list` List sites (plants) read
- `epicor_kinetic.sites.update` Update a site (plant) write
- `epicor_kinetic.sites.delete` Delete a site (plant) destructive
- `epicor_kinetic.sites.delete_by_id` Delete site (plant) (DeleteByID) destructive
- and 3 more in this area

**Ud01 9**

- `epicor_kinetic.ud01.create` Create a UD01 row write
- `epicor_kinetic.ud01.get` Get a UD01 row read
- `epicor_kinetic.ud01.list` List UD01 rows read
- `epicor_kinetic.ud01.update` Update a UD01 row write
- `epicor_kinetic.ud01.delete` Delete a UD01 row destructive
- `epicor_kinetic.ud01.delete_by_id` Delete UD01 user-defined table row (DeleteByID) destructive
- and 3 more in this area

**Ud02 9**

- `epicor_kinetic.ud02.create` Create a UD02 row write
- `epicor_kinetic.ud02.get` Get a UD02 row read
- `epicor_kinetic.ud02.list` List UD02 rows read
- `epicor_kinetic.ud02.update` Update a UD02 row write
- `epicor_kinetic.ud02.delete` Delete a UD02 row destructive
- `epicor_kinetic.ud02.delete_by_id` Delete UD02 user-defined table row (DeleteByID) destructive
- and 3 more in this area

**Ud03 9**

- `epicor_kinetic.ud03.create` Create a UD03 row write
- `epicor_kinetic.ud03.get` Get a UD03 row read
- `epicor_kinetic.ud03.list` List UD03 rows read
- `epicor_kinetic.ud03.update` Update a UD03 row write
- `epicor_kinetic.ud03.delete` Delete a UD03 row destructive
- `epicor_kinetic.ud03.delete_by_id` Delete UD03 user-defined table row (DeleteByID) destructive
- and 3 more in this area

**Ud04 9**

- `epicor_kinetic.ud04.create` Create a UD04 row write
- `epicor_kinetic.ud04.get` Get a UD04 row read
- `epicor_kinetic.ud04.list` List UD04 rows read
- `epicor_kinetic.ud04.update` Update a UD04 row write
- `epicor_kinetic.ud04.delete` Delete a UD04 row destructive
- `epicor_kinetic.ud04.delete_by_id` Delete UD04 user-defined table row (DeleteByID) destructive
- and 3 more in this area

**Ud05 9**

- `epicor_kinetic.ud05.create` Create a UD05 row write
- `epicor_kinetic.ud05.get` Get a UD05 row read
- `epicor_kinetic.ud05.list` List UD05 rows read
- `epicor_kinetic.ud05.update` Update a UD05 row write
- `epicor_kinetic.ud05.delete` Delete a UD05 row destructive
- `epicor_kinetic.ud05.delete_by_id` Delete UD05 user-defined table row (DeleteByID) destructive
- and 3 more in this area

**Ud06 9**

- `epicor_kinetic.ud06.create` Create a UD06 row write
- `epicor_kinetic.ud06.get` Get a UD06 row read
- `epicor_kinetic.ud06.list` List UD06 rows read
- `epicor_kinetic.ud06.update` Update a UD06 row write
- `epicor_kinetic.ud06.delete` Delete a UD06 row destructive
- `epicor_kinetic.ud06.delete_by_id` Delete UD06 user-defined table row (DeleteByID) destructive
- and 3 more in this area

**Ud07 9**

- `epicor_kinetic.ud07.create` Create a UD07 row write
- `epicor_kinetic.ud07.get` Get a UD07 row read
- `epicor_kinetic.ud07.list` List UD07 rows read
- `epicor_kinetic.ud07.update` Update a UD07 row write
- `epicor_kinetic.ud07.delete` Delete a UD07 row destructive
- `epicor_kinetic.ud07.delete_by_id` Delete UD07 user-defined table row (DeleteByID) destructive
- and 3 more in this area

**Ud08 9**

- `epicor_kinetic.ud08.create` Create a UD08 row write
- `epicor_kinetic.ud08.get` Get a UD08 row read
- `epicor_kinetic.ud08.list` List UD08 rows read
- `epicor_kinetic.ud08.update` Update a UD08 row write
- `epicor_kinetic.ud08.delete` Delete a UD08 row destructive
- `epicor_kinetic.ud08.delete_by_id` Delete UD08 user-defined table row (DeleteByID) destructive
- and 3 more in this area

**Ud09 9**

- `epicor_kinetic.ud09.create` Create a UD09 row write
- `epicor_kinetic.ud09.get` Get a UD09 row read
- `epicor_kinetic.ud09.list` List UD09 rows read
- `epicor_kinetic.ud09.update` Update a UD09 row write
- `epicor_kinetic.ud09.delete` Delete a UD09 row destructive
- `epicor_kinetic.ud09.delete_by_id` Delete UD09 user-defined table row (DeleteByID) destructive
- and 3 more in this area

**Ud10 9**

- `epicor_kinetic.ud10.create` Create a UD10 row write
- `epicor_kinetic.ud10.get` Get a UD10 row read
- `epicor_kinetic.ud10.list` List UD10 rows read
- `epicor_kinetic.ud10.update` Update a UD10 row write
- `epicor_kinetic.ud10.delete` Delete a UD10 row destructive
- `epicor_kinetic.ud10.delete_by_id` Delete UD10 user-defined table row (DeleteByID) destructive
- and 3 more in this area

**Users 9**

- `epicor_kinetic.users.create` Create a user account write
- `epicor_kinetic.users.get` Get a user account read
- `epicor_kinetic.users.list` List user accounts read
- `epicor_kinetic.users.update` Update a user account write
- `epicor_kinetic.users.delete` Delete a user account destructive
- `epicor_kinetic.users.delete_by_id` Delete user account (DeleteByID) destructive
- and 3 more in this area

**Vendor contacts 9**

- `epicor_kinetic.vendor_contacts.create` Create a supplier contact write
- `epicor_kinetic.vendor_contacts.get` Get a supplier contact read
- `epicor_kinetic.vendor_contacts.list` List supplier contacts read
- `epicor_kinetic.vendor_contacts.update` Update a supplier contact write
- `epicor_kinetic.vendor_contacts.delete` Delete a supplier contact destructive
- `epicor_kinetic.vendor_contacts.delete_by_id` Delete supplier contact (DeleteByID) destructive
- and 3 more in this area

**Vendors 9**

- `epicor_kinetic.vendors.create` Create a supplier (vendor) write
- `epicor_kinetic.vendors.get` Get a supplier (vendor) read
- `epicor_kinetic.vendors.list` List suppliers (vendors) read
- `epicor_kinetic.vendors.update` Update a supplier (vendor) write
- `epicor_kinetic.vendors.delete` Delete a supplier (vendor) destructive
- `epicor_kinetic.vendors.delete_by_id` Delete supplier (vendor) (DeleteByID) destructive
- and 3 more in this area

**Warehouses 9**

- `epicor_kinetic.warehouses.create` Create a warehouse write
- `epicor_kinetic.warehouses.get` Get a warehouse read
- `epicor_kinetic.warehouses.list` List warehouses read
- `epicor_kinetic.warehouses.update` Update a warehouse write
- `epicor_kinetic.warehouses.delete` Delete a warehouse destructive
- `epicor_kinetic.warehouses.delete_by_id` Delete warehouse (DeleteByID) destructive
- and 3 more in this area

**Odata 7**

- `epicor_kinetic.odata.entities.create` Create a row in any entity set write
- `epicor_kinetic.odata.entities.get` Get a row of any entity set read
- `epicor_kinetic.odata.entities.list` List rows of any entity set read
- `epicor_kinetic.odata.entities.update` Update a row in any entity set write
- `epicor_kinetic.odata.entities.delete` Delete a row in any entity set destructive
- `epicor_kinetic.odata.methods.call` Call a business-object method write
- and 1 more in this area

**Ap invoice lines 5**

- `epicor_kinetic.ap_invoice_lines.create` Create an AP invoice line write
- `epicor_kinetic.ap_invoice_lines.get` Get an AP invoice line read
- `epicor_kinetic.ap_invoice_lines.list` List AP invoice lines read
- `epicor_kinetic.ap_invoice_lines.update` Update an AP invoice line write
- `epicor_kinetic.ap_invoice_lines.delete` Delete an AP invoice line destructive

**Ar invoice lines 5**

- `epicor_kinetic.ar_invoice_lines.create` Create an AR invoice line write
- `epicor_kinetic.ar_invoice_lines.get` Get an AR invoice line read
- `epicor_kinetic.ar_invoice_lines.list` List AR invoice lines read
- `epicor_kinetic.ar_invoice_lines.update` Update an AR invoice line write
- `epicor_kinetic.ar_invoice_lines.delete` Delete an AR invoice line destructive

**Customer ship tos 5**

- `epicor_kinetic.customer_ship_tos.create` Create a customer ship-to address write
- `epicor_kinetic.customer_ship_tos.get` Get a customer ship-to address read
- `epicor_kinetic.customer_ship_tos.list` List customer ship-to addresses read
- `epicor_kinetic.customer_ship_tos.update` Update a customer ship-to address write
- `epicor_kinetic.customer_ship_tos.delete` Delete a customer ship-to address destructive

**Customer shipment lines 5**

- `epicor_kinetic.customer_shipment_lines.create` Create a customer shipment line write
- `epicor_kinetic.customer_shipment_lines.get` Get a customer shipment line read
- `epicor_kinetic.customer_shipment_lines.list` List customer shipment lines read
- `epicor_kinetic.customer_shipment_lines.update` Update a customer shipment line write
- `epicor_kinetic.customer_shipment_lines.delete` Delete a customer shipment line destructive

**Job assemblies 5**

- `epicor_kinetic.job_assemblies.create` Create a job assembly write
- `epicor_kinetic.job_assemblies.get` Get a job assembly read
- `epicor_kinetic.job_assemblies.list` List job assemblies read
- `epicor_kinetic.job_assemblies.update` Update a job assembly write
- `epicor_kinetic.job_assemblies.delete` Delete a job assembly destructive

**Job materials 5**

- `epicor_kinetic.job_materials.create` Create a job material write
- `epicor_kinetic.job_materials.get` Get a job material read
- `epicor_kinetic.job_materials.list` List job materials read
- `epicor_kinetic.job_materials.update` Update a job material write
- `epicor_kinetic.job_materials.delete` Delete a job material destructive

**Job operations 5**

- `epicor_kinetic.job_operations.create` Create a job operation write
- `epicor_kinetic.job_operations.get` Get a job operation read
- `epicor_kinetic.job_operations.list` List job operations read
- `epicor_kinetic.job_operations.update` Update a job operation write
- `epicor_kinetic.job_operations.delete` Delete a job operation destructive

**Labor details 5**

- `epicor_kinetic.labor_details.create` Create a labor detail write
- `epicor_kinetic.labor_details.get` Get a labor detail read
- `epicor_kinetic.labor_details.list` List labor details read
- `epicor_kinetic.labor_details.update` Update a labor detail write
- `epicor_kinetic.labor_details.delete` Delete a labor detail destructive

**Labor headers 5**

- `epicor_kinetic.labor_headers.create` Create a labor header write
- `epicor_kinetic.labor_headers.get` Get a labor header read
- `epicor_kinetic.labor_headers.list` List labor headers read
- `epicor_kinetic.labor_headers.update` Update a labor header write
- `epicor_kinetic.labor_headers.delete` Delete a labor header destructive

**Part plants 5**

- `epicor_kinetic.part_plants.create` Create a part plant (site) record write
- `epicor_kinetic.part_plants.get` Get a part plant (site) record read
- `epicor_kinetic.part_plants.list` List part plant (site) records read
- `epicor_kinetic.part_plants.update` Update a part plant (site) record write
- `epicor_kinetic.part_plants.delete` Delete a part plant (site) record destructive

**Part revisions 5**

- `epicor_kinetic.part_revisions.create` Create a part revision write
- `epicor_kinetic.part_revisions.get` Get a part revision read
- `epicor_kinetic.part_revisions.list` List part revisions read
- `epicor_kinetic.part_revisions.update` Update a part revision write
- `epicor_kinetic.part_revisions.delete` Delete a part revision destructive

**Purchase order lines 5**

- `epicor_kinetic.purchase_order_lines.create` Create a purchase order line write
- `epicor_kinetic.purchase_order_lines.get` Get a purchase order line read
- `epicor_kinetic.purchase_order_lines.list` List purchase order lines read
- `epicor_kinetic.purchase_order_lines.update` Update a purchase order line write
- `epicor_kinetic.purchase_order_lines.delete` Delete a purchase order line destructive

**Purchase order releases 5**

- `epicor_kinetic.purchase_order_releases.create` Create a purchase order release write
- `epicor_kinetic.purchase_order_releases.get` Get a purchase order release read
- `epicor_kinetic.purchase_order_releases.list` List purchase order releases read
- `epicor_kinetic.purchase_order_releases.update` Update a purchase order release write
- `epicor_kinetic.purchase_order_releases.delete` Delete a purchase order release destructive

**Quote lines 5**

- `epicor_kinetic.quote_lines.create` Create a quote line write
- `epicor_kinetic.quote_lines.get` Get a quote line read
- `epicor_kinetic.quote_lines.list` List quote lines read
- `epicor_kinetic.quote_lines.update` Update a quote line write
- `epicor_kinetic.quote_lines.delete` Delete a quote line destructive

**Sales order lines 5**

- `epicor_kinetic.sales_order_lines.create` Create a sales order line write
- `epicor_kinetic.sales_order_lines.get` Get a sales order line read
- `epicor_kinetic.sales_order_lines.list` List sales order lines read
- `epicor_kinetic.sales_order_lines.update` Update a sales order line write
- `epicor_kinetic.sales_order_lines.delete` Delete a sales order line destructive

**Sales order releases 5**

- `epicor_kinetic.sales_order_releases.create` Create a sales order release write
- `epicor_kinetic.sales_order_releases.get` Get a sales order release read
- `epicor_kinetic.sales_order_releases.list` List sales order releases read
- `epicor_kinetic.sales_order_releases.update` Update a sales order release write
- `epicor_kinetic.sales_order_releases.delete` Delete a sales order release destructive

**Labor 4**

- `epicor_kinetic.labor.delete_by_id` Delete labor (time entry) header (DeleteByID) destructive
- `epicor_kinetic.labor.get_by_id` Get labor (time entry) header dataset by id read
- `epicor_kinetic.labor.get_list` Search labor (time entry) header list (GetList) read
- `epicor_kinetic.labor.update_dataset` Save labor (time entry) header dataset (Update) write

**Baqs 1**

- `epicor_kinetic.baqs.data.list` Run a BAQ (Business Activity Query) read

**Functions 1**

- `epicor_kinetic.functions.call` Call an Epicor Function write

This index shows a sample of each area. All 444 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/catalogue), which a free sandbox key can search.

Questions

## The Epicor Kinetic MCP server, answered.

**Is there an Epicor Kinetic MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 444 Epicor Kinetic actions across ap invoices, ar invoices, countries and currencies, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Epicor Kinetic.

**What do I need to connect Epicor Kinetic?**

Epicor API key (Kinetic, Epicor user id (integration user) and Epicor user password. Plus your company, your host and your instance. The free call account { op: "connections.requirements", service: "epicor_kinetic" } lists exactly what to paste.

**Can an AI agent delete or change things in Epicor Kinetic?**

Only if its key allows it, and only with an explicit confirmation. 96 Epicor Kinetic actions are destructive, including delete an AR invoice, delete a quote and delete a purchase order. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Epicor Kinetic API limit?**

actionlake paces every call to the limits in the Epicor Kinetic service file: 600 calls a minute per connection. Repeated reads are answered from cache (194 Epicor Kinetic actions can be), which never reaches Epicor Kinetic.

**What does an Epicor Kinetic action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (444 Epicor Kinetic actions page). Cache hits, searches, dry runs and calls Epicor Kinetic refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Epicor Kinetic API does it cover?**

The Epicor Kinetic ERP (REST API v2, OData) API REST v2 (OData v4) at your Epicor Kinetic instance's API base URL, which you enter when connecting. It is built from Epicor Kinetic's documentation as read on 23 October 2026. 444 actions in 59 areas, each one in the signed service file (version 1.0.0).

**Can I combine Epicor Kinetic with my other systems?**

Yes. ask joins Epicor Kinetic to ConnectWise PSA or HubSpot CRM on the same customer and returns the answer rather than every row. Epicor Kinetic maps crm.company, which 227 other connectors also map.

**Does actionlake keep my Epicor Kinetic data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Epicor Kinetic credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Epicor Kinetic

Shares the most action names with

- [ERPNext (Frappe) 60](https://actionlake.com/connectors/erpnext-frappe)
- [Fortnox 53](https://actionlake.com/connectors/fortnox)
- [Exact Online 52](https://actionlake.com/connectors/exact-online)
- [Tripletex 45](https://actionlake.com/connectors/tripletex)
- [Simpro 40](https://actionlake.com/connectors/simpro)
- [Visma eAccounting 39](https://actionlake.com/connectors/visma-eaccounting)

Joins with, on shared entities

- [HaloPSA 8](https://actionlake.com/connectors/halopsa)
- [Zoho CRM 7](https://actionlake.com/connectors/zoho-crm)
- [ConnectWise PSA 6](https://actionlake.com/connectors/connectwise-psa)
- [Microsoft Dynamics 365 6](https://actionlake.com/connectors/microsoft-dynamics-365)
- [Zoho Inventory 6](https://actionlake.com/connectors/zoho-inventory)
- [Kaseya BMS 6](https://actionlake.com/connectors/kaseya-bms)

Browse

- [All Accounting & finance connectors](https://actionlake.com/connectors/category/accounting-and-finance)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Epicor Kinetic; the name is the vendor's own. Counts are from the Epicor Kinetic service file, version 1.0.0.

## Give your agent Epicor Kinetic today.

[Connect Epicor Kinetic free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/epicor-kinetic
More: https://actionlake.com/llms.txt
