---
title: "Generate points redemption playbook"
method: POST
path: "/api/v1/portfolio/points-playbook"
tags: ["Portfolio"]
---

# Generate points redemption playbook

`POST /api/v1/portfolio/points-playbook`

## Request

- Base URL: `https://kokofinance.net` (the document declares no server; this is the origin it was published from)
- URL: `https://kokofinance.net/api/v1/portfolio/points-playbook`
- Auth: API key in header `X-API-Key`

Generates concrete redemption strategies for credit card point balances. Returns per-program suggestions, cashback earning estimate, and points-at-risk warnings.

## Headers

- `authorization` string, nullable

## Request body

- V1PlaybookRequest: Request for POST /api/v1/portfolio/points-playbook
  - `cards` string[], required: 1-10 card names to analyze
  - `point_balances` PlaybookBalanceInput[], nullable: Point/miles balances for generating redemption strategies
    - `program_key` string, required: Program key
    - `balance` integer, required: Point/miles balance
  - `spending` SpendingInput: Monthly spending by category (dollars)
    - `groceries` number, nullable: Monthly grocery spend
    - `dining` number, nullable: Monthly dining/restaurant spend
    - `travel` number, nullable: Monthly travel spend
    - `gas` number, nullable: Monthly gas/fuel spend
    - `streaming` number, nullable: Monthly streaming services spend
    - `shopping` number, nullable: Monthly general shopping spend
    - `other` number, nullable: Monthly other spend
    - `total_monthly` number, nullable: Total monthly spend override

## Response `200`

Points playbook with per-program redemption suggestions

- unknown

## Other responses

- `401`: Invalid or missing API key
- `422`: Validation Error
- `429`: Rate limit exceeded (60 requests/minute)

---

[API](https://skmtc.dev/kokofinance/apis/koko-finance-api.md) · [All operations](https://skmtc.dev/kokofinance/apis/koko-finance-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kokofinance/apis/koko-finance-api/revisions/a5f1170af4d4?raw)
