Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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: Impri Billing API
version: v1
description: Human-in-the-loop approval API for AI agents. POST an action, get a decision back via webhook or polling. The imprimatur for your AI agents.
servers:
- url: https://api.impri.dev/v1
description: API v1
security:
- bearerAuth: []
tags:
- name: Billing
paths:
/billing:
get:
operationId: getBilling
summary: Current tier, subscription status and usage (admin scope)
responses:
'200':
description: Billing state incl. usage and billing_enabled flag
tags:
- Billing
/billing/checkout:
post:
operationId: createCheckout
summary: Create a Stripe Checkout session for a plan (admin scope; billing must be…
responses:
'200':
description: Checkout URL
'400':
description: Billing disabled or plan not configured
tags:
- Billing
/billing/portal:
post:
operationId: createBillingPortal
summary: Create a Stripe customer portal session (admin scope)
responses:
'200':
description: Portal URL
'400':
description: No customer / billing disabled
tags:
- Billing
/billing/webhook:
post:
operationId: stripeWebhook
summary: Stripe webhook (public; verified by Stripe signature, not API key)
responses:
'200':
description: Event processed
'400':
description: Bad signature
tags:
- Billing
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: im_<key>