Apperio website screenshot

Apperio

Apperio is a legal spend management and matter management platform for in-house legal teams and the law firms they work with. It connects directly to law-firm time-and-billing systems to give continuous, real-time visibility into billed and unbilled ("work in progress") legal spend, benchmarking to negotiate rates, and AI-assisted e-billing review against Outside Counsel Guidelines. The Apperio REST API exposes the same secure data that powers the platform's analytics — legal-spend analytics, matter (engagement) and invoice discovery, matter tagging, and e-billing invoice approval workflows — across its two-sided business/law-firm model. Apperio is a Seedcamp portfolio company and is now part of Persuit.

Apperio publishes 5 APIs on the APIs.io network, including Analytics API, E-billing API, Filter API, and 2 more. Tagged areas include Legal, Legal Spend Management, Legal Tech, E-Billing, and Matter Management.

Apperio’s developer surface includes documentation, API reference, getting-started guide, authentication, changelog, sandbox, support, and 21 more developer resources.

44.8/100 developing ▬ flat Agent 29/100 agent ready saas Full breakdown ↓
scored 2026-09-08 · rubric v0.20.0
1 APIs
LegalLegal Spend ManagementLegal TechE-BillingMatter ManagementLegal OperationsAnalyticsCompany

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-08 · rubric v0.20.0
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/apperio: open an issue to ask a question, or submit a pull request to add artifacts. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

APIs 5

Individual APIs this provider publishes, each with its own machine-readable definition.

Apperio Analytics API

A set of non resource based endpoints that power various components within Apperio. These endpoints primarily support discovery and data investigation.

Apperio E-billing API

The e-billing endpoints provide access to the e-billing invoices in Apperio. They allow you to retrieve information about the invoices and the approval workflow, and also to app...

Apperio Filter API

The filter endpoints provide resource discovery in Apperio. This has two basic mechanisms. Firstly there are the resource discovery endpoints. These are: * `/api/v1/filter/engag...

Apperio Matter information API

A set of endpoints returning information about a specific matter.

Apperio Users API

The users endpoints allow you to manage your API tokens. Tokens are used to authenticate requests to the Apperio API. You can list your existing tokens, delete tokens that are n...

Open Collections 6

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

API Collection

OPEN COLLECTION

Rate Limits 1

Documented rate limits and quota policies.

Apperio Rate Limits

2 limits

RATE LIMITS

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Apperio Authentication

apiKey · 1 scheme

SECURITY

Apperio Domain Security

TLSv1.3 · HSTS · DNSSEC · DMARC

SECURITY

Apperio Trust Center

ISO/IEC 27001, SOC 2 Type 2, Cyber Essentials

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Apperio Agentic Access

30 operations · 17 acting

30 operations · 17 acting

AGENTIC

Resources

Get Started 4

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 4

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 5

Pagination, idempotency, versioning, errors, and events

Access & Security 4

Authentication, authorization, and security posture

Operate 4

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: apperio
name: Apperio
description: Apperio is a legal spend management and matter management platform for in-house legal teams and the law firms
  they work with. It connects directly to law-firm time-and-billing systems to give continuous, real-time visibility into
  billed and unbilled ("work in progress") legal spend, benchmarking to negotiate rates, and AI-assisted e-billing review
  against Outside Counsel Guidelines. The Apperio REST API exposes the same secure data that powers the platform's analytics
  — legal-spend analytics, matter (engagement) and invoice discovery, matter tagging, and e-billing invoice approval workflows
  — across its two-sided business/law-firm model. Apperio is a Seedcamp portfolio company and is now part of Persuit.
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: true
  label: Hosted service · you call their endpoint
  confidence: high
  source:
  - openapi
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: unknown
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Unknown
  confidence: low
  source:
  - authentication
  - rate-limits
  - security
  - sandbox
  - url: https://www.apperio.com
    status: 301
    note: declared website redirects to https://www.persuit.com/apperio-transfer — a different registrable domain (apperio.com
      -> persuit.com), possible rename or acquisition (probed 2026-09-03, roadmap#169)
  generated: '2026-09-03'
  method: derived
image: https://developer.apperio.com/static/favicon-32x32.png
url: https://raw.githubusercontent.com/api-evangelist/apperio/refs/heads/main/apis.yml
x-type: company
x-source: vc-portfolio
x-backed-by:
- seedcamp
x-tier: enriched
x-tier-reason: has-public-api
specificationVersion: '0.23'
created: '2026-07-17'
modified: '2026-07-17'
tags:
- Legal
- Legal Spend Management
- Legal Tech
- E-Billing
- Matter Management
- Legal Operations
- Analytics
- Company
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
- FN: APIs.json
  email: info@apis.io
apis:
- aid: apperio:apperio-analytics-api
  name: Apperio Analytics API
  description: 'A set of non resource based endpoints that power various components

    within Apperio. These endpoints primarily support discovery and data

    investigation.'
  humanURL: https://developer.apperio.com/
  baseURL: https://app.apperio.com/api/v1
  tags:
  - Analytics
  properties:
  - type: OpenAPI
    url: openapi/apperio-analytics-api-openapi.yml
- aid: apperio:apperio-e-billing-api
  name: Apperio E-billing API
  description: 'The e-billing endpoints provide access to the e-billing invoices in Apperio.

    They allow you to retrieve information about the invoices and the

    approval workflow, and also to approve and reject invoices.'
  humanURL: https://developer.apperio.com/
  baseURL: https://app.apperio.com/api/v1
  tags:
  - E-Billing
  tags_raw:
  - E-billing
  properties:
  - type: OpenAPI
    url: openapi/apperio-e-billing-api-openapi.yml
- aid: apperio:apperio-filter-api
  name: Apperio Filter API
  description: "The filter endpoints provide resource discovery in Apperio. This has\ntwo basic mechanisms. Firstly there\
    \ are the resource discovery endpoints.\nThese are:\n  * `/api/v1/filter/engagements/`\n  * `/api/v1/filter/invoices/`\n\
    \  * `/api/v1/filter/matter-tags/`\n\nThese endpoints return lists of resource references with decorating metadata\nthat\
    \ can be filtered, ordered and paginated.\n\nSecondly resources may be tagged. The tag management endpoints allow you\
    \ to\ncreate different groupings of matters\n\nFor those familiar with writing SQL queries, the resource discovery endpoints\n\
    can be thought of in a similar way. The `SELECT` section or projection clause\ndetermines which fields are returned. The\
    \ `WHERE` clause or filter section determines\nwhich records are returned and `ORDER BY` section determines the order\
    \ that they are\nreturned in. Ordering and pagination is covered in the section above. Below, we will\ntake each of the\
    \ other sections in turn to show how these are handled on these endpoints. \n\n**Data Projection**\n\nThe filter API is\
    \ designed to provide broad information about resources for easy resource\ndiscovery. The client can choose which denormalised\
    \ fields can appear in the projection\nclause using the `fields` query parameter. Only the fields listed in this query\
    \ parameter,\ntogether with any mandatory fields, will be included in the response.\nThe field names are URL encoded comma\
    \ (%2C) separated.\n\nFor example if I wish to bring back the fields `one`, `two` and `three` I would query the\nendpoint\
    \ with:\n\n```\n...?fields=one%2Ctwo%2Cthree\n```\n\nAnd the response will bring back only those fields and any mandatory\
    \ fields (such as the\nidentifier for the resource). For example the response may be:\n\n```json\n{\n  \"results\": [\n\
    \    {\n        \"one\": 5000.0,\n        \"two\": 5,\n        \"three\": false\n    },\n    {\n        \"one\": 86645.23,\n\
    \        \"two\": 59541,\n        \"three\": false\n    }\n  ],\n  \"pagination\": {\n      \"next\": null,\n      \"\
    previous\": null,\n      \"nextPage\": null,\n      \"previousPage\": null\n  }\n}\n```\n\nThe full list of available\
    \ fields can be seen in the response body for that endpoint.\n\n**Resource Permissions**\n\nThe set of resources that\
    \ can be discovered in the API is limited to those that\nthe user generating the token has access to. This can then be\
    \ filtered further\nusing explicit filters; resources that the user is not authorized to see will not\nbe returned.\n\n\
    **Filtering the data**\n\nOn the resource discovery endpoints the returning data can be filtered\nby each of the fields\
    \ on the resource. Each field has been associated with\nthe type of filter that will make it easier to discover resources.\
    \ The filter\ntypes are explained below.  \n\n*Range filters*\n\nRange filters allow a slice of the data to be selected.\
    \ They can be used to\nselect all data less than equal to a value; all data above or equal to a value\nor can be combined\
    \ to return a slice of the data. For example if I have the\nfield `foo` and wish to return all data between 10000 and\
    \ 12000 GBP I would add\nthe filters:\n\n```\n?foo__gte=10000&foo__lte=12000\n```\n\nWhen the field is a monetary field\
    \ it is assumed that these values will be in\nyour organisation's base currency and any transactions in another currency\
    \ will\nbe subject to a exchange conversion on the rate held for the date of that\ntransaction.\n\n**Text filters**\n\n\
    Text filters will return all entries that start with the selected value. For\nexample if I wanted to bring back all matters\
    \ that started with the name 'Pricing'\nI would filter on\n\n```\n?law_firm_name__icontains=Pricing\n```\n\nThese query\
    \ would bring back matters called both 'Pricing development contract'\nand 'Pricing housing development'\n\n**Choice filters**\n\
    \nChoice filters allow both exact matching and a selection of values to be matched.\nFor example, to search for the single\
    \ value apple I would include:\n\n```\n?bar=apple\n```\n\nTo bring back both apples, pairs and mangos:\n\n```\n?bar__in=apple%2Cpair%2Cmango\n\
    ```\n\nWhere the field can be null, the `__isnull` filter is provided\n\n```\n?foo__isnull=true\n```\n\nIf you want to\
    \ incorporate null as one of the choices then `__is_null`\nand `__in` on the same field returns the _union_ of those resources\
    \ that\nmatch one of those values and those resources where this field isn't set:\n\n```\n?foo__isnull=true&foo__in=cucumber%2Ctomato\n\
    ```\n\n**Boolean filters**\n\nBoolean filters filter out data where a field is true or false. For example, if\nI want\
    \ to bring back matters that I haven't yet shared with the business.\n\n```\n?is_shared=false\n```"
  humanURL: https://developer.apperio.com/
  baseURL: https://app.apperio.com/api/v1
  tags:
  - Filter
  properties:
  - type: OpenAPI
    url: openapi/apperio-filter-api-openapi.yml
- aid: apperio:apperio-matter-information-api
  name: Apperio Matter information API
  description: A set of endpoints returning information about a specific matter.
  humanURL: https://developer.apperio.com/
  baseURL: https://app.apperio.com/api/v1
  tags:
  - Matter information
  properties:
  - type: OpenAPI
    url: openapi/apperio-matter-information-api-openapi.yml
- aid: apperio:apperio-users-api
  name: Apperio Users API
  description: 'The users endpoints allow you to manage your API tokens. Tokens are used to

    authenticate requests to the Apperio API. You can list your existing tokens,

    delete tokens that are no longer needed, and activate or deactivate tokens

    without permanently removing them.'
  humanURL: https://developer.apperio.com/
  baseURL: https://app.apperio.com/api/v1
  tags:
  - User
  tags_raw:
  - Users
  properties:
  - type: OpenAPI
    url: openapi/apperio-users-api-openapi.yml
common:
- type: Overlay
  url: overlays/apperio-openapi-overlay.yaml
- type: DeveloperPortal
  url: https://developer.apperio.com/
- type: Documentation
  url: https://developer.apperio.com/
- type: APIReference
  url: https://developer.apperio.com/
- type: GettingStarted
  url: https://developer.apperio.com/
- type: Authentication
  url: authentication/apperio-authentication.yml
- type: Conventions
  url: conventions/apperio-conventions.yml
- type: RateLimits
  url: rate-limits/apperio-rate-limits.yml
- type: ErrorCatalog
  url: errors/apperio-problem-types.yml
- type: Lifecycle
  url: lifecycle/apperio-lifecycle.yml
- type: Deprecation
  url: https://developer.apperio.com/
- type: ChangeLog
  url: changelog/apperio-changelog.yml
- type: Sandbox
  url: sandbox/apperio-sandbox.yml
- type: DataModel
  url: data-model/apperio-data-model.yml
- type: Conformance
  url: conformance/apperio-conformance.yml
- type: Compliance
  url: https://www.apperio.com/information-security
- type: TrustCenter
  url: security/apperio-trust-center.yml
- type: DomainSecurity
  url: security/apperio-domain-security.yml
- type: X-MCPServerCandidate
  url: mcp/apperio-mcp.yml
  note: 'Renamed from MCPServer 2026-09-03 (roadmap#247): the manifest self-describes as status: candidate — a tool list derived
    from the published API contracts, not an existing server. The scorer already read the manifest and reported mcp_server
    correctly; the MCPServer type was crediting the artifact-type surfaces with a server that does not exist.'
- type: AgentSkill
  url: skills/_index.yml
- type: AgenticAccess
  url: agentic-access/apperio-agentic-access.yml
- type: LLMsTxt
  url: llms/apperio-llms.txt
- type: Login
  url: https://app.apperio.com/login/
- type: Support
  url: https://www.apperio.com/contact
- type: Blog
  url: https://www.apperio.com/news
- type: TermsOfService
  url: https://www.apperio.com/terms-and-conditions
- type: PrivacyPolicy
  url: https://www.apperio.com/privacy-notice
- type: Website
  url: https://www.apperio.com
x-enrichment:
  date: '2026-07-19'
  status: backfilled
  pass: local-v1
  note: backfilled from .gitignore signal + verified work evidence

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/apperio"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/apperio/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/apperio/evidence"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.