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.
openapi: 3.2.0
info:
title: AnyCutlist Materials API
version: 1.0.0
description: 'Programmatic access to AnyCutlist, cutlist software for cut-and-edge shops: read customers'' cutting lists, manage cut lists and boards, optimize and export.
**Authentication.** Send an organization API key as `Authorization: Bearer cai_...`. Organization admins create keys in Settings, API & Connections. API access is included on the Professional and Enterprise plans.
**Scopes.** Each key carries scopes; each operation lists the scopes it accepts (`x-required-scopes`, any one of them). Endpoints not listed here refuse API keys.
**Limits and errors.** Each key has a per-minute limit; responses carry X-RateLimit-* headers, and a 429 carries Retry-After. Errors are JSON with `error`, usually a stable `code`, and a `requestId`.
**AI agents.** A remote MCP server at https://www.anycutlist.com/api/mcp offers task-shaped tools over the same keys, with idempotency keys on every create call and revision checks on calls about a saved cut list. Two scopes exist only for it: `request:quotes` and `request:exports` let an assistant ask for a quote or a machine file, which a person approves in AnyCutlist; no REST endpoint accepts them, and no API key can approve a request. See https://www.anycutlist.com/developers.'
contact:
name: AnyCutlist
url: https://www.anycutlist.com/contact
termsOfService: https://www.anycutlist.com/terms
servers:
- url: https://www.anycutlist.com/api/v1
security:
- apiKey: []
tags:
- name: Materials
paths:
/materials:
get:
summary: List boards
parameters:
- name: search
in: query
schema:
type: string
- name: thickness
in: query
schema:
type: number
x-required-scopes:
- read:materials
responses:
2XX:
description: Success (JSON)
4XX:
$ref: '#/components/responses/Error'
tags:
- Materials
operationId: getMaterials
x-operation-id-source: derived
/materials/{id}:
get:
summary: Get a board
parameters:
- name: id
in: path
required: true
schema:
type: string
x-required-scopes:
- read:materials
responses:
2XX:
description: Success (JSON)
4XX:
$ref: '#/components/responses/Error'
tags:
- Materials
operationId: getMaterialsById
x-operation-id-source: derived
components:
responses:
Error:
description: Refused
content:
application/json:
schema:
type: object
properties:
error:
type: string
code:
type: string
requestId:
type: string
securitySchemes:
apiKey:
type: http
scheme: bearer
description: 'Organization API key: cai_ followed by 32 hex characters.'
externalDocs:
description: Developers and AI agents
url: https://www.anycutlist.com/developers