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 20 more developer resources.

52.0/100 developing ▬ flat Agent 72/100 agent native Full breakdown ↓
scored 2026-07-27 · rubric v0.5
AccessSelf serve
5 APIs 1 MCP Servers
LegalLegal Spend ManagementLegal TechE-BillingMatter ManagementLegal OperationsAnalyticsCompany

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-27 · rubric v0.5
Composite quality — 52.0/100 · developing
Contract Quality 11.4 / 25
Developer Ergonomics 14.8 / 20
Commercial Clarity 10.0 / 20
Operational Transparency 5.8 / 13
Governance 0.0 / 12
Discoverability 10.0 / 10
Agent readiness — 72/100 · agent native
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 12 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 5 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. 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. Want it done for you? Prioritized profiling — $2,500 →

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...

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

apperio-mcp.yml

MCP SERVER

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

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.
accessModel:
  pricing: unknown
  onboarding: self-serve
  trial: false
  try_now: false
  public: false
  label: Self-serve signup
  confidence: medium
  source:
  - authentication
  generated: '2026-07-22'
  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.20'
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
  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:
  - Users
  properties:
  - type: OpenAPI
    url: openapi/apperio-users-api-openapi.yml
common:
- 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: MCPServer
  url: mcp/apperio-mcp.yml
- 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