# Spotify API Account Top-Up

> Spotify API Account Top-Up is a paid API for AI agents from spotify.jojapi.net, paid per call via x402, $1/call, status unknown (last checked 2026-09-14).

Credits a prepaid USD balance to a Spotify API (jojapi.net) account, optionally opening pay-as-you-go subscriptions in the same call.

## Facts

- Endpoint: POST https://spotify.jojapi.net/_jojapi/agent/topup
- Price: $1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/spotify-api-account-top-up-07ff22fb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OdrAjijOJ9LT2KQjeEkvr

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability spotify-api-account-top-up-07ff22fb -d '<json body>'
```

Example prompt: Top up my Spotify API account on jojapi.net with $5 USD and open a pay-as-you-go subscription while you're at it.

## When to prefer this

Use this endpoint when you need to pre-fund or replenish a jojapi.net account balance before making Spotify Data API calls, or when you want to atomically deposit credit and open a pay-as-you-go subscription in a single request. Prefer this over making individual API calls without balance when the Spotify endpoints on jojapi.net require a funded account or active subscription.

## Known failure modes

- Insufficient payment — x402 payment not accepted or underpaid, top-up not applied
- Invalid amount_usd — zero or negative value rejected
- Unknown API slug in subscribe array — subscription entry returns an error status for that API
- Payment rail failure — blockchain or payment network error during transaction
- Account not found — no account associated with the credential provided

## How this service works

Spotify Data API for Millions of songs & podcasts, artists, albums, playlists and more.

## Output

Returns a success status, the updated USD account balance after top-up, details of the payment method used, and an array of subscription entries — each including the API name, plan details, subscription status, and the API key (or a hint if it already existed) for any APIs subscribed during the call.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "amount_usd"
 ],
 "properties": {
  "subscribe": {
   "type": "array",
   "description": "Optional: pay-as-you-go subscriptions to open with this balance"
  },
  "amount_usd": {
   "type": "number",
   "description": "Amount to credit, in USD"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "status",
  "account",
  "topup"
 ],
 "properties": {
  "topup": {
   "type": "object",
   "properties": {
    "method": {
     "type": "string"
    },
    "amount_usd": {
     "type": "number"
    }
   }
  },
  "status": {
   "enum": [
    "success"
   ],
   "type": "string"
  },
  "account": {
   "type": "object",
   "properties": {
    "nick": {
     "type": "string"
    },
    "balance_usd": {
     "type": "number",
     "description": "Account-wide balance after the top-up"
    }
   }
  },
  "payment": {
   "type": "object",
   "properties": {
    "rail": {
     "type": "string"
    },
    "method": {
     "type": "string"
    },
    "reference": {
     "type": "string"
    },
    "amount_usd": {
     "type": "number"
    }
   }
  },
  "subscriptions": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "api": {
      "type": "object",
      "properties": {
       "name": {
        "type": "string"
       },
       "slug": {
        "type": "string"
       }
      }
     },
     "plan": {
      "type": "object",
      "properties": {
       "name": {
        "type": "string"
       },
       "slug": {
        "type": "string"
       },
       "type": {
        "type": "string"
       }
      }
     },
     "status": {
      "type": "string",
      "description": "success, or why the API could not be subscribed"
     },
     "api_key": {
      "type": [
       "string",
       "null"
      ],
      "description": "The key of a subscription opened by this call; null when it already existed"
     },
     "key_hint": {
      "type": [
       "string",
       "null"
      ]
     },
     "subscription": {
      "type": "object",
      "properties": {
       "ref": {
        "type": "string"
       },
       "status": {
        "type": "string"
       },
       "created": {
        "type": "boolean"
       }
      }
     }
    }
   },
   "description": "One entry per API named in subscribe (or the host API)"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/spotify-api-account-top-up-07ff22fb/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from spotify.jojapi.net](https://www.zero.xyz/host/spotify.jojapi.net/llms.txt)
