canonical: https://jentic.com/apis/askell.is/askell

# Askell Is Áskell API

Jentic publishes the only available OpenAPI specification for Áskell API, keeping it validated and agent-ready. Áskell is an Icelandic subscription billing platform that handles plans, customers, subscriptions, transactions, and webhooks for recurring revenue businesses. The API exposes 35 endpoints across customers, subscriptions, plans, transactions, webhooks, and checkout flows. Authentication uses an API key passed in the Authorization header - secret keys for backend calls and publishable keys for client-side checkout flows.

## For AI agents

Run subscription billing - manage plans, customers, subscriptions, transactions, and webhooks - through the Áskell recurring-payments API.

## Scope

Does not handle one-off payments, payouts, or accounting - use for recurring subscription billing, customer management, and webhook events only.

## Capabilities

- Create and update customer records with payment methods attached
- Subscribe a customer to a plan and create multiple subscriptions in one call
- List transactions and generate receipts for individual transaction UUIDs
- Add a temporary payment method during a checkout flow
- Manage webhook endpoints and inspect webhook delivery history
- Retrieve all subscriptions linked to a specific customer
- Create checkout sessions for hosted payment collection

## Use cases

### Subscription Onboarding Flow

Convert a new sign-up into a paying subscriber by creating the Áskell customer, attaching a payment method, and subscribing them to the chosen plan. POST /customers/ creates the customer, POST `/customers/paymentmethod`/ attaches the card, and POST `/customers/{customerReference}/subscriptions/add`/ activates the subscription. Suitable for SaaS and membership businesses on the Icelandic market.

Example prompt: Create an Áskell customer for 'jane@example.is', attach a payment method, and subscribe to plan 'premium-monthly'

### Receipt and Transaction Reporting

Pull the customer's transaction history via GET /transactions/ and generate per-transaction receipts via GET `/transactions/{uuid}/receipt/.` Useful for finance reconciliation, customer self-service, and compliance reporting where each charge needs an itemised receipt URL.

Example prompt: List Áskell transactions for the last 7 days and generate receipt URLs for any transaction over 10000 ISK

### Webhook-Driven Subscription Lifecycle

Register an Áskell webhook for subscription events (payment success, payment failure, cancellation) and use the Webhook calls endpoint to inspect delivery history. Agents can react to failed payments by initiating dunning workflows or notifying customer support. Reduces silent churn from expired cards.

Example prompt: Create an Áskell webhook for the 'subscription.payment_failed' event and verify the most recent delivery succeeded via the Webhook calls endpoint

### AI Agent for Subscription Operations

An agent integrated through Jentic can monitor failed payments, retry charges, manage plan upgrades, and answer customer questions about billing - all without holding the Áskell secret API key. Jentic stores the key in its vault and the agent uses Jentic's intent search to navigate the 35 endpoints by purpose rather than reading docs.

Example prompt: Through Jentic, find Áskell subscriptions that failed payment in the last 24 hours and draft a customer message with a payment-update link

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/customers/` | Create a customer |
| GET | `/customers/{customerReference}/subscriptions/` | Get all subscriptions for a customer |
| POST | `/customers/{customerReference}/subscriptions/add/` | Add a subscription to a customer |
| POST | `/subscriptions/multi/` | Create multiple subscriptions |
| POST | `/customers/paymentmethod/` | Add a payment method to a customer |
| GET | `/transactions/` | Get a list of transactions |
| GET | `/transactions/{uuid}/receipt/` | Create a receipt for a transaction |
| GET | `/plans/` | Get a list of plans |

## Key resources

- **Customer** — Create, update, and delete customer records
- **Subscription** — Manage plans subscriptions, including bulk subscription creation
- **Transaction** — List transactions and generate receipts
- **Plan** — Read available subscription plans
- **Payment** — Manage payment methods attached to customers
- **Webhooks** — Manage webhook endpoints and inspect delivery history
- **Checkout** — Hosted checkout flow operations

## Why Jentic

- **Setup:** Wiring Áskell by hand means handling its API-key auth for recurring subscription billing, customer, and webhook calls. Through Jentic you install once, import the Áskell API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Áskell puts the customer reference in the URL path (`/customers/{customerReference}/subscriptions`/), so a rule can pin your agent to subscription reads and additions for one customer. You choose the operations it may call, so creating new customers is not included unless you add it.
- **Credential handling:** Your Áskell secret API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'subscribe a customer to an Áskell plan', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **Stripe** — Stripe is the global subscription billing platform; Áskell focuses on the Icelandic market with local payment-method support.
- **Recurly** — Recurly is an enterprise subscription billing platform with deep dunning and revenue-recognition features.
- **Paddle** — Paddle is a merchant-of-record subscription platform that handles tax compliance globally.
- **Xero Accounting** — Xero records subscription revenue from Áskell into the general ledger.

## FAQ

### Why is there no official OpenAPI spec for Áskell API?

Áskell does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Áskell API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Áskell API use?

The API uses an API key passed in the Authorization header. Áskell issues two key types: a Secret-Api-Key for backend calls (Authorization: 'Api-Key {secret}') and a Public-Api-Key for client-side checkout. Jentic stores the secret key in its vault and never exposes it to the agent.

### Can I subscribe a customer to a plan through the Áskell API?

Yes. POST `/customers/{customerReference}/subscriptions/add`/ adds a subscription to an existing customer. For multiple subscriptions in one call, use POST `/subscriptions/multi/.` The customer must have a payment method attached via POST `/customers/paymentmethod`/ first.

### How do I generate a receipt for a transaction?

GET `/transactions/{uuid}/receipt`/ returns a receipt for the specified transaction UUID. List transactions first via GET /transactions/ to find the UUID, then call the receipt endpoint to retrieve the formatted receipt.

### What are the rate limits for the Áskell API?

The OpenAPI specification does not document explicit rate limits. Áskell is a regional billing provider - implement exponential backoff on HTTP 429 and avoid polling /transactions/ in tight loops. Use webhooks for event-driven workflows where possible.

### How do I create a customer through Jentic?

Search Jentic for 'create an Áskell customer' - POST /customers/ will be returned. Load the operation schema, supply the customer details, and execute. Jentic handles authentication and returns the customerReference for downstream subscription operations.

### Can I limit what my agent is allowed to do with the Áskell API?

Yes. Because you run Jentic One yourself, your own rules decide which Áskell operations and credentials the agent may use. Since Áskell puts the customer reference in the URL path (`/customers/{customerReference}/subscriptions`/), you can pin the agent to reading and adding subscriptions for a single customer while leaving out operations you never granted, such as POST /customers/ to create new customers. You pick exactly which endpoints it can call, so transaction listing or webhook management is only available if you allow it.
