canonical: https://jentic.com/apis/dana.id/dana

# Dana Id DANA API

Jentic publishes the only available OpenAPI specification for DANA API, keeping it validated and agent-ready. DANA is an Indonesian digital wallet platform offering merchant payment acceptance, mass disbursements, and biller integrations through a single API surface. The spec exposes three operations covering payment creation, disbursement initiation, and biller catalogue retrieval, secured with an API key passed in the Authorization header. It is suited to fintech, e-commerce, and remittance integrations targeting the Indonesian market.

## For AI agents

Accept DANA wallet payments, send disbursements to recipients, and retrieve the supported biller catalogue for Indonesian payment workflows.

## Scope

Does not handle card processing, KYC, or cross-border remittance - use for DANA wallet payments, disbursements, and biller lookups only.

## Capabilities

- Create wallet payment requests for Indonesian customers paying via DANA
- Initiate single or batch disbursements to DANA wallets and bank accounts
- Retrieve the live biller catalogue covering utilities, telco, and government billers
- Authenticate merchant requests using a scoped API key in the Authorization header
- Operate against the production https://api.dana.id base URL with versioned endpoints

## Use cases

### Indonesian Wallet Checkout

Accept DANA wallet payments at checkout for Indonesian shoppers without integrating multiple regional gateways. The POST /payments operation creates a payment request the customer authorises in the DANA app, and merchants receive a settlement notification once approved. Suitable for marketplaces, ride-hailing, and digital goods sellers serving Indonesia.

Example prompt: Create a DANA payment for IDR 150000 with a unique merchant reference and return the redirect or deeplink for the customer to approve.

### Mass Payout to DANA Wallets

Send earnings, refunds, or marketplace settlements to creators and sellers directly into their DANA wallets. The POST /disbursements operation initiates payouts in IDR and returns a transaction reference for reconciliation. Useful for gig platforms, affiliate programs, and remittance services operating in Indonesia.

Example prompt: Initiate a disbursement of IDR 500000 to recipient phone number 0812xxxxxxx with a payout reference, then poll for completion status.

### Biller Discovery for Bill Payment Apps

Surface available DANA billers inside a consumer or super-app bill payment flow without maintaining a static catalogue. The GET /billers operation returns supported biller codes and categories such as electricity, water, telco, and government services. This keeps the in-app catalogue current as DANA adds new partners.

Example prompt: Fetch the DANA biller list, filter for electricity (PLN) entries, and return the biller codes the user can pay against.

### Agent-Driven Payment Workflows via Jentic

AI agents in Indonesia-focused commerce or fintech apps can call DANA through Jentic without storing merchant credentials. The agent searches Jentic for the required intent, loads the schema, and executes the payment, disbursement, or biller call with credentials held by Jentic's vault. This reduces direct DANA onboarding overhead for agent builders.

Example prompt: Use Jentic to search 'process a DANA wallet payment', load the POST /payments schema, and execute a payment call with values from the user's checkout context.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/payments` | Create a wallet payment request |
| POST | `/disbursements` | Initiate a disbursement to a recipient |
| GET | `/billers` | List supported billers and categories |

## Key resources

- **Payments** — Create wallet payment requests for Indonesian customers
- **Disbursements** — Send payouts to DANA wallets and supported bank accounts
- **Billers** — Retrieve the catalogue of supported billers and categories

## Why Jentic

- **Setup:** Wiring DANA by hand means learning its Authorization header key against api.dana.id and building the request and retry plumbing for payments and disbursements yourself. Through Jentic you install once, import the DANA API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** DANA carries its payment and disbursement details in the request body rather than a resource id in the path, so limit the agent to the operations it needs, such as looking up billers or processing a wallet payment. Every operation the agent can run is one you added to that allowed set.
- **Credential handling:** Your DANA merchant 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 'process a DANA wallet payment' or 'look up a DANA biller', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the DANA dashboard docs.

## Related APIs

- **Square API** — Square processes card and wallet payments globally; DANA is Indonesia-specific.
- **PayPal Catalog Products** — PayPal handles cross-border wallet and card payments; DANA serves the Indonesian wallet market.
- **eBay Buy Deal API** — Pair an Indonesian marketplace using eBay-style commerce flows with DANA for local wallet collection.

## FAQ

### Why is there no official OpenAPI spec for DANA API?

DANA does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call DANA 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 DANA API use?

The DANA API uses an API key passed in the Authorization header (the ApiKeyAuth scheme). Through Jentic the merchant key is held in the vault and never enters the agent's context - agents receive a scoped session for each call.

### Can I send disbursements with the DANA API?

Yes. The POST /disbursements endpoint initiates a payout to a DANA wallet recipient with an amount, recipient identifier, and merchant reference, and returns a transaction reference you can poll for status.

### What are the rate limits for the DANA API?

The OpenAPI spec does not declare explicit rate limits. Production limits are issued per merchant agreement with DANA - apply standard idempotency and exponential backoff on 429 and 5xx responses.

### How do I create a payment with the DANA API through Jentic?

Run pip install jentic, then search Jentic for 'process a DANA wallet payment', load the POST /payments schema, and execute it with the customer's reference and amount in IDR. Jentic injects the API key at call time.

### Which countries and currencies does the DANA API support?

DANA is an Indonesian wallet, so the API operates in IDR for Indonesian customers and merchants. Use a different gateway for cross-border or non-IDR settlement.

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

Yes. Because you run Jentic One yourself, your own rules decide which DANA operations and credentials the agent may use, and it can only call the ones you have added to its allowed set. DANA passes payment and disbursement details in the request body rather than a resource id in the path, so you scope by operation: you might allow the agent to look up billers with GET /billers and process a wallet payment with POST /payments while withholding POST /disbursements. Every operation the agent can run is one you explicitly granted.
