> For the complete documentation index, see [llms.txt](https://docs.stellic.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stellic.com/stellic-partner-api/health/check-your-connection-and-token.md).

# Check your connection and token

Use this endpoint to confirm that your servers can reach the Partner API and that your token is accepted, before you build anything else, or as a scheduled probe from your monitoring. It takes no parameters, reads and writes nothing, and returns the same body every time.

## GET /health/

>

```json
{"openapi":"3.0.0","info":{"title":"Stellic for Developers","version":"1.0"},"tags":[{"name":"Health","description":"A fixed-response call to confirm your token and network path work before you wire up anything else."}],"servers":[{"url":"https://{institution}.stellic.com/partnerapi/v1","variables":{"institution":{"default":"{institution}","description":"Your institution's Stellic subdomain: the part before `.stellic.com` in the URL you use to sign in. It becomes the host in every request, as in `https://{institution}.stellic.com/partnerapi/v1/...`. Replace the `{institution}` placeholder with your subdomain before sending."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Personal Access Token issued by your Stellic integration partner. Send it as `Authorization: Bearer <token>` on every request. One token per institution; do not share across environments."}}},"paths":{"/health/":{"get":{"tags":["Health"],"responses":{"200":{"description":"Your request reached the Partner API and the token was accepted. The body is fixed; nothing is read or written.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}}},"401":{"description":"Missing or invalid Bearer token. Body is `{\"detail\": \"...\"}` and the response carries a `WWW-Authenticate: Bearer` header.\n\nCommon causes:\n- No `Authorization` header - returns `Authentication credentials were not provided.`\n- Token not recognized - returns `Invalid token.`\n- Token's account has been deactivated - returns `User inactive or deleted.`","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"403":{"description":"Your IP address isn't on the allowlist for this endpoint. Contact Stellic to add it; the response includes the `client_ip` Stellic saw.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"client_ip":{"type":"string"}}}}}}}}}}}
```

#### Notes

* **A 200 means your IP is allowed and your token is valid,** for an active account. It doesn't check anything else.
* **A 401 tells you which part of the token failed.** `Authentication credentials were not provided.` means the `Authorization` header didn't arrive, `Invalid token.` means the token isn't recognized, and `User inactive or deleted.` means its account was deactivated. A 403 means your IP isn't on the allowlist.
* **Include the trailing slash:** `/partnerapi/v1/health/`. Without it you get a 301 redirect, and some clients drop the `Authorization` header when they follow it.
* **It counts toward your rate limit,** which applies per calling IP. A probe every minute or so is enough.
