# JustClaim > JustClaim files money claims in the County Court of England and Wales on behalf of consumers. AI agents can stage filings on a user's behalf: the agent collects the facts, the human signs and pays, JustClaim files with the court. JustClaim is a UK self-serve court-claim platform. If your user is owed money by a UK business or individual and wants to file a small-claims case (form N1 in the County Court of England and Wales), you can stage the filing through our API and hand the user a single review-and-pay URL. We file with the court after the human ticks the statement of truth. ## Agent API - [POST /api/agent/quote-n1](https://go.justclaim.co.uk/api/agent/quote-n1): Get court fees, our service fee, and eligibility for a given claim amount. Read-only, no side effects. - [POST /api/agent/stage-n1](https://go.justclaim.co.uk/api/agent/stage-n1): Stage a claim from the user's facts (or finished particulars). Returns a checkout URL the user opens to review, sign, and pay. - [OpenAPI 3.1 spec](https://go.justclaim.co.uk/api/openapi): Machine-readable schema. - [Agent docs](https://justclaim.co.uk/agents): Worked example, code samples, fair use. ## MCP server - Endpoint: `https://go.justclaim.co.uk/api/mcp` (streamable HTTP transport) - Server card: `https://go.justclaim.co.uk/.well-known/mcp/server-card.json` - Tools: `list_supported_forms`, `quote_n1`, `stage_n1_claim`, `get_claim_status` - No auth required. IP rate-limited. Install in Claude.ai, ChatGPT (Developer Mode / Connectors), Cursor, or VS Code Copilot by adding the endpoint URL to your client's connector menu. ## Eligibility - Jurisdiction: England and Wales only. - Claim value: £1 to £100,000. - One form supported today: N1 (the standard County Court money claim form in England and Wales). Coming soon: pre-action Letter Before Action (LBA), Financial Ombudsman Service complaint letter (FOS), Irish statutory demand under Companies Act 2014 section 570 (IE s.570), and others. ## How the human handoff works The agent never signs the statement of truth and never enters payment details. The agent passes structured facts (or finished particulars) to /api/agent/stage-n1; we return a checkout_url. The user opens it, reviews and edits the claim, ticks the statement of truth, pays the court fee plus our service fee via Stripe, and we file with the County Court. ## Fair use Rate limited per IP: 30 quotes per minute, 5 stages per minute. Higher quotas available on request. ## Contact - support@justclaim.co.uk --- # Your AI assistant can file a UK county court claim for you > JustClaim's API lets AI agents stage a small-claims case on a user's behalf. The agent collects the facts. We send the user a link to review, sign, and pay. We file with the court. ## 30-second demo **user:** I'm owed £500 for a faulty product. Can you file a claim? **agent:** Staging your claim with JustClaim now. I'll send you a link to review, sign, and pay. **agent:** Your claim is ready: https://go.justclaim.co.uk/file-claim?resume=... ## The API ### POST /api/agent/quote-n1 Get court fees, our service fee, and eligibility for a given claim amount. Read-only, no side effects. ```bash curl -X POST https://go.justclaim.co.uk/api/agent/quote-n1 \ -H 'content-type: application/json' \ -d '{ "amount_pence": 50000, "address_known": true, "jurisdiction": "england_and_wales" }' ``` ### POST /api/agent/stage-n1 Stage a claim from the user's facts (or finished particulars). Returns a checkout URL the user opens to review, sign, and pay. ```bash curl -X POST https://go.justclaim.co.uk/api/agent/stage-n1 \ -H 'content-type: application/json' \ -d '{ "claimant": { "name": "Jane Doe", "email": "jane@example.com", "address": {"line_1": "1 Test St", "city": "London", "postcode": "SW1A 1AA"} }, "defendant": { "name": "Acme Ltd", "type": "ltd_company", "address_known": true, "address": {"line_1": "10 Defendant Rd", "city": "Manchester", "postcode": "M1 1AA"} }, "amount_pence": 50000, "facts": "Faulty product bought 14 Feb 2026. Refund refused. LBA sent, deadline passed.", "jurisdiction": "england_and_wales" }' ``` ## How the human handoff works 1. **Agent stages the claim** Your agent sends structured facts to /api/agent/stage-n1. The agent never signs anything and never enters payment details. 2. **We send a checkout link** JustClaim returns a single URL. The agent hands it to the user. 3. **Human reviews, signs, and pays** The user opens the link, reviews the pre-filled claim, edits anything wrong, ticks the statement of truth, and pays the court fee plus our service fee via Stripe. 4. **JustClaim files with the court** We submit the N1 to the County Court of England and Wales. The user gets a case number and tracking in their dashboard. ## What you can file today - Jurisdiction: England and Wales only - Claim value: £1 to £100,000 - Defendant types: individual, sole trader, partnership, Ltd company, PLC, or other - One form supported today: N1 (money claim) Coming next: pre-action Letter Before Action, Financial Ombudsman complaint letter, Irish statutory demand under Companies Act 2014 section 570. ## Fair use and rate limits - 30 quotes per minute per IP - 5 stages per minute per IP - Contact us for higher quotas We rate-limit AI crawlers, we never block them. ## Coming next More forms after that: pre-action Letter Before Action, Financial Ombudsman complaint letter, Irish statutory demand. ## Build with us - Support: hey@justclaim.co.uk - OpenAPI spec: https://go.justclaim.co.uk/api/openapi - Higher quota request: hey@justclaim.co.uk with subject 'agent quota' --- ## OpenAPI 3.1 ```json { "openapi": "3.1.0", "info": { "title": "JustClaim Agent API", "version": "1.0.0", "description": "Stage a money claim in the County Court of England and Wales on behalf of a UK consumer. Use `quote-n1` to check fees and eligibility. Use `stage-n1` to create a pre-filled claim; the response contains a `checkout_url` the user opens to review the claim, sign the statement of truth, and pay. JustClaim files the claim with the court after the user pays. The agent never signs or pays. Eligibility: England and Wales only, £1 to £100,000.", "contact": { "name": "JustClaim support", "email": "hey@justclaim.co.uk", "url": "https://justclaim.co.uk/agents" }, "termsOfService": "https://justclaim.co.uk/terms" }, "servers": [ { "url": "https://go.justclaim.co.uk" } ], "paths": { "/api/agent/quote-n1": { "post": { "operationId": "quoteN1", "summary": "Get a fee quote and eligibility verdict for an N1 court claim", "description": "Returns court fees, JustClaim's service fee, and any alt-service add-on for the given amount. Read-only, no side effects. Refuses with `ok: false` and a `code` for out-of-jurisdiction, over-ceiling, or under-minimum claims.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "amount_pence", "address_known", "jurisdiction" ], "properties": { "amount_pence": { "type": "integer", "minimum": 1, "description": "Claim amount in pence (integer). Use 50000 for £500." }, "address_known": { "type": "boolean", "description": "Whether the user has the defendant's address. If false, an alt-service add-on (£205) is bundled into the quote." }, "jurisdiction": { "type": "string", "description": "Must be 'england_and_wales' to get a quote." } } } } } }, "responses": { "200": { "description": "Quote returned (ok: true) or refusal (ok: false with code).", "content": { "application/json": { "schema": { "type": "object" } } } }, "400": { "description": "Invalid payload (Zod validation failed or body not JSON)." }, "429": { "description": "Rate limit exceeded. 30 requests per minute per IP." } } } }, "/api/agent/stage-n1": { "post": { "operationId": "stageN1", "summary": "Stage a claim and return a checkout URL", "description": "Creates a pre-filled claim session and returns a `checkout_url` the user opens to review the claim, sign the statement of truth, and pay. Pass either `facts` (raw narrative, server drafts particulars) or `particulars_of_claim` (verbatim, flagged for ops review). Use `client_idempotency_key` to dedupe retries. Returns 201 on creation.", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "required": [ "claimant", "defendant", "amount_pence", "jurisdiction" ], "properties": { "client_idempotency_key": { "type": "string", "description": "Optional. Same key returns the same staged session." }, "agent_origin": { "type": "string", "description": "Optional analytics tag, e.g. 'chatgpt', 'claude'." }, "claimant": { "type": "object", "required": [ "name", "email", "address" ], "properties": { "name": { "type": "string" }, "email": { "type": "string", "format": "email" }, "address": { "type": "object", "required": [ "line_1", "city", "postcode" ], "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string", "nullable": true }, "city": { "type": "string" }, "postcode": { "type": "string" } } } } }, "defendant": { "type": "object", "required": [ "name", "type", "address_known" ], "properties": { "name": { "type": "string" }, "type": { "type": "string", "enum": [ "individual", "sole_trader", "partnership", "ltd_company", "plc", "other" ] }, "address_known": { "type": "boolean" }, "address": { "type": "object", "description": "Required when address_known is true. Omit when false (alt-service add-on applies).", "properties": { "line_1": { "type": "string" }, "line_2": { "type": "string", "nullable": true }, "city": { "type": "string" }, "postcode": { "type": "string" } } } } }, "amount_pence": { "type": "integer", "minimum": 1 }, "facts": { "type": "string", "minLength": 20, "maxLength": 10000, "description": "Raw narrative of what happened. Server drafts particulars from this." }, "particulars_of_claim": { "type": "string", "minLength": 20, "maxLength": 20000, "description": "Finished particulars. If provided, used verbatim and the case is auto-flagged for ops review." }, "jurisdiction": { "type": "string" } } } } } }, "responses": { "200": { "description": "Refusal (eligibility failed). ok: false with code." }, "201": { "description": "Claim staged. Response contains sid, checkout_url, expires_at, summary.", "content": { "application/json": { "schema": { "type": "object" } } } }, "400": { "description": "Invalid payload." }, "429": { "description": "Rate limit exceeded. 5 requests per minute per IP." }, "500": { "description": "Internal error staging the claim." } } } } } } ```