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

# JVZoo API

Jentic publishes the only available OpenAPI specification for JVZoo API, keeping it validated and agent-ready. JVZoo is an affiliate marketing marketplace for digital products. The v2.0 API exposes 6 read-and-cancel endpoints used by sellers and affiliates: query affiliate status against a product, view and cancel recurring payments, retrieve transaction summaries, and pull the latest transactions for a payee key. Authentication is HTTP Basic over the api.jvzoo.com host.

## For AI agents

Look up affiliate status, transaction summaries, and recent transactions on JVZoo, and cancel recurring payments by key.

## Scope

Does not handle product creation, payout disbursement, or affiliate recruitment - use for affiliate status, recurring payment, and transaction lookup only.

## Capabilities

- Look up an affiliate's status on a specific product via GET `/products/{product_id}/affiliates/{affiliate_id}`
- Retrieve the current state of a recurring payment by preKey through GET `/recurring_payment/{preKey}`
- Cancel an active recurring payment using PUT `/recurring_payment/{preKey}`
- Pull a transaction summary for a payee key via GET `/transactions/summaries/{paykey}`
- List the latest transactions for a payee key with GET `/latest-transactions/{paykey}`
- List the latest affiliate transactions for a payee key with GET `/latest-affiliates-transactions/{paykey}`

## Use cases

### Affiliate Approval Lookup

Vendors granting deal-specific bonuses need to confirm affiliate status before paying out. GET `/products/{product_id}/affiliates/{affiliate_id}` returns the current state for that affiliate-product pair, replacing manual lookups in the JVZoo dashboard. The result drives bonus accruals in a downstream finance system.

Example prompt: For product 'p-1001' and affiliate 'aff-77', call GET `/products/p-1001/affiliates/aff-77` and write the status to the affiliate-bonus ledger.

### Subscription Cancellation Workflow

When a customer requests cancellation, the support tool first calls GET `/recurring_payment/{preKey}` to confirm the subscription is active, then PUT `/recurring_payment/{preKey}` to cancel it. This avoids accidental refunds against already-cancelled subscriptions and keeps the cancellation auditable.

Example prompt: For preKey 'pre-555', call GET `/recurring_payment/pre-555`, confirm status is 'active', then call PUT `/recurring_payment/pre-555` to cancel.

### Daily Transaction Reconciliation

Finance teams reconcile JVZoo settlements with their accounting system by pulling GET `/latest-transactions/{paykey}` and GET `/transactions/summaries/{paykey}` on a schedule. The summary endpoint gives totals while the latest-transactions feed provides line items, which together support a full daily close.

Example prompt: Each morning, call GET `/transactions/summaries/{paykey}` for the prior day, then GET `/latest-transactions/{paykey}` and post both to the accounting integration.

### Agent-Driven Cancellation Assistant

An AI customer-support agent for a course creator uses Jentic to look up and cancel a buyer's recurring payment in one chat turn. The agent searches 'cancel a recurring payment', loads PUT `/recurring_payment/{preKey}`, and executes after confirming intent. JVZoo Basic credentials stay in Jentic's vault.

Example prompt: Through Jentic, search 'cancel a recurring payment', load PUT `/recurring_payment/{preKey}`, and execute with preKey 'pre-555' after confirming the customer's identity.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/products/{product_id}/affiliates/{affiliate_id}` | Get affiliate status on a product |
| GET | `/recurring_payment/{preKey}` | Get recurring payment status |
| PUT | `/recurring_payment/{preKey}` | Cancel recurring payment |
| GET | `/transactions/summaries/{paykey}` | Get transaction summary |
| GET | `/latest-transactions/{paykey}` | List latest transactions |
| GET | `/latest-affiliates-transactions/{paykey}` | List latest affiliate transactions |

## Key resources

- **Affiliates** — Look up affiliate status on a product
- **Recurring Payments** — Retrieve and cancel recurring payments by preKey
- **Transactions** — Transaction summaries and latest-transactions feeds keyed by paykey

## Why Jentic

- **Setup:** Wiring the JVZoo API by hand means learning its basic auth, threading product, affiliate, and payment keys through each lookup, and parsing transaction responses yourself. Through Jentic you install once, import the JVZoo API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** JVZoo puts the recurring payment key in the URL path (`/recurring_payment/{preKey}`), so a rule can pin your agent to one recurring payment: it can read and update that payment and nothing else. You choose the operations it may call, so ones like reading transaction summaries are not included unless you add them.
- **Credential handling:** Your JVZoo basic auth credentials 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 'cancel a recurring payment' or 'list latest transactions', and Jentic returns the matching JVZoo operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Paddle API** — Merchant of record platform for digital products with subscription management and tax handling.
- **ClickFunnels API** — Funnel and landing-page platform that pairs with JVZoo's affiliate marketplace.
- **Stripe API** — Stripe handles richer payment, refund, and subscription operations beyond JVZoo's marketplace settlement.

## FAQ

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

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

The JVZoo v2.0 API uses HTTP Basic authentication against api.jvzoo.com. Through Jentic the Basic credentials sit in the encrypted vault and are injected at request time, so the seller credential never enters the agent prompt or logs.

### Can I cancel a recurring payment with the JVZoo API?

Yes. PUT `/recurring_payment/{preKey}` cancels an active recurring payment. Calling GET `/recurring_payment/{preKey}` first confirms the current status before cancelling.

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

JVZoo applies per-account rate limits which the spec does not pin to a specific value. Use exponential backoff on 429 responses and avoid tight loops over the latest-transactions feed.

### How do I check an affiliate's status on the JVZoo API through Jentic?

Search Jentic for 'check affiliate status on a product', load GET `/products/{product_id}/affiliates/{affiliate_id}`, and execute with the product and affiliate IDs. Jentic resolves the Basic auth and returns the status.

### How do I pull recent transactions for my account?

GET `/latest-transactions/{paykey}` returns recent transactions for a payee key, and GET `/latest-affiliates-transactions/{paykey}` returns the affiliate-side equivalent. GET `/transactions/summaries/{paykey}` returns aggregate totals for the same key.

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

Yes. Jentic One runs on your own infrastructure, and your own rules decide which JVZoo operations and credentials the agent may use. Because JVZoo puts the recurring payment key in the URL path, such as `/recurring_payment/{preKey}`, you can pin the agent to a single payment so it only reads and cancels that one and nothing else. You also choose which operations it can call, so lookups like GET `/transactions/summaries/{paykey}` or the latest-transactions feeds stay off unless you explicitly add them.
