---
title: "Authentication"
source: /gcxone/api/authentication
locale: en
updated: 2026-09-04
---
Every endpoint in the Genesis API expects a token in the `auth-token` request header. A request without one answers `401`.

### Obtaining a token

Exchange an API credential for a token with `POST /proxy/apiToken`. The credential is issued per service provider, so the request names the provider the token should act for.

```json
{
  "serviceProviderId": "string (required)",
  "accessId": "string (required)",
  "clientSecret": "string (required)"
}
```

The credential's `accessId` and `clientSecret` are issued in the Genesis platform under the service provider's settings. Keep the secret on your server: a token can be sent to a browser, the credential that mints it must not be.

### Using the token

```bash
curl -H "auth-token: <token>" https://api.nxgen.cloud/api/v1/user/me
```

`GET /user/me` returns the account the token belongs to, which makes it the quickest check that a token works.

### Trying requests from the documentation

The interactive reference at [/api-reference](/api-reference) is the same specification in Swagger UI, and [the overview](/gcxone/api/overview) lists every resource. Press **Authorize**, paste a token, and every **Try it out** panel sends it as `auth-token`. The token stays in your browser; the requests go directly from it to `https://api.nxgen.cloud/api/v1`.