canonical: https://jentic.com/apis/akadadance.com/akadadance

# Akadadance Akada API

Akada Dance is a school management platform for dance studios - the v4 API covers customer accounts, family and student records, class enrolment, attendance, schedules, payments and saved cards (including Stripe attachment), invoices, communications, and studio admin operations. This page describes a curated, agent-optimized Jentic specification of that surface, built from Akada's own Swagger 2.0 document and converted to OpenAPI 3.0.3, kept validated and agent-ready. With 235 endpoints across 180 paths, the surface is large and resource-oriented, grouped by customer, family, student, school, and admin scopes.

## For AI agents

Manage dance-studio operations programmatically - accounts, students, enrolments, schedules, attendance, invoices, and saved payment cards (including Stripe attachment).

## Scope

Does not run payment processing itself, host video lessons, or send marketing email - use for studio account, student, and saved-card management only.

## Capabilities

- Manage customer accounts including info, contacts, parents, and default school
- Maintain student records, enrolments, attendance, and schedule entries
- Save, update, and delete customer payment cards and attach Stripe payment methods
- Authenticate customers via login, redeem-token, and account creation flows
- List and update family relationships, emergency contacts, and parent contacts
- Access privacy policy and terms of use content for in-app display
- Handle credit card recurring billing settings and history

## Use cases

### Studio customer onboarding

Drive a new-customer signup flow end to end - create the account, capture parent and emergency contacts, set the default school, mark onboarding steps complete, and attach a payment card. Akada exposes each of these as a discrete endpoint, so an agent can step through onboarding and report progress.

Example prompt: POST /api/v4/customer/auth/create-account, then POST /api/v4/customer/account/parents and POST /api/v4/customer/account/onboard/complete for each step

### Saved card and Stripe lifecycle

Manage a customer's payment instruments without sending the agent to the studio dashboard. Akada exposes endpoints to update, delete, and view history of saved cards, configure recurring billing, and attach a Stripe payment method via the Stripe setup intent flow.

Example prompt: POST /api/v4/customer/account/card/stripe/setup to start setup, then POST /api/v4/customer/account/card/stripe/attach with the resulting payment method

### Self-service account maintenance bot

Power a chatbot that handles routine parent requests - update emergency contacts, change the saved card address, set a default school, view the privacy policy. The bot maps each user request to a single Akada endpoint and confirms success.

Example prompt: POST /api/v4/customer/account/contacts to update the parent's emergency contact list with a new entry

### AI agent integration via Jentic

Studios can let an AI assistant handle account-level requests through Jentic - the agent finds the right Akada endpoint by intent, the AkadaApiKey stays in your Jentic One instance, and the agent executes the call without ever holding the credential.

Example prompt: Search Jentic for 'update the customer's saved credit card', load the matching Akada operation, and execute with the new card details

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /api/v4/customer/auth/create-account | Create a new customer account |
| GET | /api/v4/customer/account/info | Get the logged-in customer's info |
| POST | /api/v4/customer/account/info | Update the customer's info |
| POST | /api/v4/customer/account/card | Update the saved credit card |
| DELETE | /api/v4/customer/account/card | Delete the saved credit card |
| POST | /api/v4/customer/account/card/stripe/setup | Start Stripe card setup |
| POST | /api/v4/customer/account/card/stripe/attach | Attach a Stripe payment method |

## Key resources

- **Customer Account** — Read and update logged-in customer info, contacts, parents, and onboarding state
- **Cards** — Manage saved credit cards including address, name, recurring settings, and history
- **Stripe** — Initiate Stripe setup intents and attach payment methods
- **Auth** — Account creation, login, and token redemption
- **Privacy and Terms** — Retrieve policy and terms text

## Why Jentic

- **Setup:** Wiring Akada by hand means sending its AkadaApiKey alongside customer tokens, chaining the Stripe card setup and attach steps, and writing your own retry logic. Through Jentic you install once, import Akada from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** Akada carries its account and card details in the request body under the /customer path, so scope your agent by operation: limit it to the operations it needs, such as reading account info or attaching a card, and leave out card deletion it does not use.
- **Credential handling:** Your Akada API key and customer token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'attach a Stripe card to a customer', and Jentic returns the matching Akada operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Stripe** — Akada attaches Stripe payment methods to customers - Stripe handles the actual charge.
- **Smartsheet** — Generic project tracking - possible fallback for studios without a dedicated platform.
- **OpenAI API** — Drive a customer-facing assistant that calls Akada endpoints behind the scenes.

## FAQ

### Which OpenAPI specification does this Akada API page describe?

A curated, agent-optimized Jentic specification covering 235 Akada operations across 180 paths. Akada Dance also serves its own Swagger 2.0 documentation from its API host at https://api.akadadance.com/swagger/docs/v4, titled Akada API version v4, with the same 180 paths and 235 operations; our spec was built from that source. The Jentic variant converts it to OpenAPI 3.0.3, declares the production server URL, and applies the AkadaApiKey requirement document-wide, which the vendor's Swagger 2.0 defines but leaves unattached to its operations. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Akada API use?

Akada uses an API key in a custom header named AkadaApiKey on every request, plus a customer-level token for the customer login flow. Through Jentic, the AkadaApiKey is stored in the encrypted Jentic One instance and injected at execution time.

### Can I attach a Stripe payment method to an Akada customer?

Yes. Call POST /api/v4/customer/account/card/stripe/setup to start a Stripe setup intent, complete the setup on the client, then POST /api/v4/customer/account/card/stripe/attach with the resulting payment method id to attach it to the customer.

### How do I update a customer's emergency contacts through Jentic?

Use the Jentic search query 'update customer emergency contacts'. Jentic returns the POST /api/v4/customer/account/contacts operation; provide the contact list payload and Jentic injects the AkadaApiKey automatically.

### Are there rate limits on the Akada API?

Rate limits are not declared in the OpenAPI spec; usage is governed by your studio plan. The endpoint surface is large (235 operations) but most account-level calls are low-volume per customer.

### What customer authentication endpoints are available?

POST /api/v4/customer/auth/create-account creates a new account and POST /api/v4/customer/auth/login/redeem-token issues an authorization token for an existing customer. Other auth endpoints under /customer/auth handle the rest of the login lifecycle.

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

Yes. Because Jentic One is self-hosted, you set the rules that decide which Akada operations and credentials your agent may use, so you can scope it down to only the endpoints it needs. For a self-service account bot you might allow reading account info with GET /api/v4/customer/account/info, updating emergency contacts, and attaching a card via POST /api/v4/customer/account/card/stripe/setup and POST /api/v4/customer/account/card/stripe/attach, while withholding destructive calls like DELETE /api/v4/customer/account/card. The AkadaApiKey stays inside your own Jentic One instance and is injected only for the operations you permit.
