canonical: https://jentic.com/apis/actionstep.com/actionstep

# Actionstep API

Jentic publishes the only available OpenAPI specification for Actionstep API, keeping it validated and agent-ready. Actionstep is a legal practice management platform whose API exposes matters (called actions), participants, time entries, bills, disbursements, document folders, and related data collections. The spec covers 139 operations across resources like actions, action types, contacts, bills, and data collection records - enough for end-to-end matter creation, billing, and document workflows. Authentication is OAuth 2.0, granted through Actionstep's developer portal.

## For AI agents

Manage legal matters, contacts, time, billing, and document folders for law firms via Actionstep's practice management API.

## Scope

Does not handle court e-filing, e-signature, or general ledger accounting - use for legal matter, contact, time, billing, and intake data only.

## Capabilities

- Create and update legal matters and link participants through /actions and /actionparticipants
- Track time and convert it into bills via /bills and disbursements endpoints
- Manage contact records, relationships, and contact folders under /contactdocuments and /contactrelationships
- Define matter templates and participant roles with /actiontypes and /actiontypeparticipanttypes
- Capture custom case data through /datacollections and /datacollectionrecords
- Organise matter documents in /actionfolders and configure NetDocs settings

## Use cases

### Matter intake automation

Law firms route incoming client enquiries through an intake process - collecting client details, conflict checks, and matter type. An agent can create a contact, create a new action via POST /actions, attach the contact via /actionparticipants, and store intake answers in a data collection record. This cuts a 30-minute manual setup down to a few API calls.

Example prompt: Create a new matter at /actions of action type 'Personal Injury', add the client as a participant via /actionparticipants, and post intake answers to /datacollectionrecords

### Time and billing workflow

Lawyers record billable time and need it flowing into client invoices. An agent can pull recorded entries, post them to a bill via /bills, attach disbursements, and finalise the invoice. Combining time, disbursements, and trust ledger data through Actionstep's API removes the duplicate entry work between case management and accounting tools.

Example prompt: Create a new bill at /bills for matter 234, attach time entries and a disbursement, and mark it ready to send

### Custom case data capture

Different practice areas need different intake fields - a personal injury matter captures injury date and incident type, while a property matter captures title number. An agent can read the data collection definition via /datacollections and /datacollectionfields, then post answers to /datacollectionrecords and /datacollectionrecordvalues. This keeps practice-specific data structured and queryable rather than buried in free-text notes.

Example prompt: List datacollectionfields on the 'PI Intake' collection and post values for 'date_of_incident' and 'injury_type' for matter 123

### AI agent build assistant

Firms building agent assistants for paralegals expose Actionstep through Jentic alongside document automation and e-signature APIs. The OAuth 2.0 token is held in your Jentic One instance, and the agent searches by intent, e.g. 'open a matter', without paralegals needing to know the underlying endpoint paths.

Example prompt: Search Jentic for 'create an Actionstep matter', load the schema, and execute it with action_type, name, and primary_contact

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /actions | List matters |
| POST | /actions | Create a matter |
| POST | /actionparticipants | Attach a contact to a matter |
| GET | /actiontypes | List matter type templates |
| POST | /bills | Create a bill |
| POST | /datacollectionrecords | Post a data collection record |
| GET | /contactrelationships | List contact relationships |
| GET | /disbursements | List disbursements |

## Key resources

- **Actions** — Legal matters - the central record in Actionstep
- **Action Participants** — Roles linking contacts to a matter
- **Action Types** — Matter templates by practice area
- **Bills** — Invoices and billing records
- **Disbursements** — Out-of-pocket costs posted to a matter
- **Contacts** — Clients, opposing parties, and related entities
- **Data Collections** — Custom structured intake data
- **Action Folders** — Document folder structure for a matter

## Why Jentic

- **Setup:** Wiring the Actionstep API by hand means brokering its OAuth flow, refreshing access tokens, and mapping intents across a large surface of matter, billing, and intake endpoints. Through Jentic you install once, import the Actionstep API from the API Directory, store the OAuth credentials once, and your agent calls it.
- **Permission scoping:** These endpoints take action, bill, and participant details in the request body rather than a resource id in the URL, so limit the agent to the operations it needs, such as opening a matter or posting a disbursement. You choose the operations it may call, so creating bills or data-collection records is not included unless you add them.
- **Credential handling:** Your Actionstep OAuth tokens are stored once, encrypted, by your own Jentic One instance, which refreshes them transparently and injects them at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'open a matter in Actionstep' or 'post a disbursement', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Xero Accounting API** — Sync Actionstep bills and disbursements into Xero for full firm accounting.
- **Acrual API** — Equivalent practice-management style API for trades and manufacturing instead of legal.
- **Calendly API** — Schedule client intake calls and link the resulting event back to an Actionstep matter.

## FAQ

### Why is there no official OpenAPI spec for Actionstep API?

Actionstep does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Actionstep API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Actionstep API use?

Actionstep uses OAuth 2.0. You register an application in the Actionstep developer portal, run an authorization code flow to obtain access and refresh tokens, and pass the access token on each request. Through Jentic, the OAuth tokens live in your Jentic One instance and the agent receives a scoped execution handle rather than the raw token.

### Can I create matters and bills with the Actionstep API?

Yes. POST /actions creates a new matter against an action type, /actionparticipants attaches contacts in defined roles, and /bills generates an invoice with attached time entries and disbursements. The spec covers 139 operations spanning matters, contacts, billing, and custom data collections.

### What are the rate limits for the Actionstep API?

The OpenAPI spec does not declare rate limits, so check the Actionstep developer portal for the current ceiling. Use exponential backoff on 429 responses and prefer pagination over wide unfiltered list calls on resources like /actions.

### How do I record matter intake with the Actionstep API through Jentic?

Run pip install jentic, search Jentic for 'create an Actionstep matter and capture intake', load the schemas for POST /actions and POST /datacollectionrecords, and execute them in sequence. Jentic handles OAuth refresh from the vault, so the agent only supplies matter details and intake values.

### Does the Actionstep API support custom data per practice area?

Yes. The /datacollections, /datacollectionfields, and /datacollectionrecords endpoints let you define and capture practice-specific structured data - e.g. injury type for personal injury, title number for conveyancing - without forcing every matter onto a one-size-fits-all schema.

### Can I limit what my agent is allowed to do with the Actionstep API?

Yes. Because you run Jentic One yourself, your own rules decide which Actionstep operations and OAuth credentials the agent may use, and it can call only the ones you allow. These endpoints take action, bill, and participant details in the request body rather than a resource id in the URL, so you can grant just the operations the agent needs, such as opening a matter via POST /actions or posting a disbursement, while leaving out others. Creating bills at /bills or writing data collection records is not available to the agent unless you explicitly add those operations.
