Skip to content
English
  • There are no suggestions because the search field is empty.

I recharged my account and tried to use top ups endpoint to send top ups. I'm getting this error

Developers · Troubleshooting

Getting "access_denied" on /topups? You're missing one header

A 401 error here has nothing to do with your wallet balance — it's almost always a missing or malformed Authorization header.

HTTP Status

401

Endpoint

/topups

Cause

Missing auth header

Wallet funded, ready to send a top-up, and instead you get this back:

{
  "error": "access_denied",
  "error_description": "Unauthorized"
}

Or, depending on the response, this slightly more detailed version:

{
  "timeStamp": 1546683111038,
  "status": 401,
  "message": "Full authentication is required to access this resource",
  "path": "/topups",
  "errorCode": null
}

Why this happens

This has nothing to do with your wallet balance or account status. A 401 on /topups means the request itself is missing a valid Authorization header with your access token.

Authorization: Bearer YOUR_ACCESS_TOKEN

Important: without this header on every single request to /topups (and any other authenticated endpoint), the API has no way to know who's calling it, regardless of how much balance is in your wallet.

✅ How to fix it

Get a fresh access token first, then attach it as a Bearer token on the Authorization header of your top-up request. Follow our article on sending your first API request for the exact token request format, or check the official authentication & authorization guide for full reference.

❓ Frequently asked questions

My wallet has plenty of balance — why am I still getting this?

Balance has nothing to do with this error. A 401 happens before your request even reaches the part of the system that checks your wallet — it's purely about whether the request is authenticated.

I am sending an Authorization header — why is it still failing?

Double-check the token hasn't expired, that it was issued for the right audience/product, and that the header is formatted exactly as Authorization: Bearer YOUR_TOKEN with no typos or extra characters.

Where do I get the access token in the first place?

You exchange your client_id and client_secret for one at the auth endpoint — see our article on sending your first API request for the full request/response shape.

Still stuck after checking your header?

Our support team can take a look at your request.

Contact support →