# Postman and Bruno, test Roxy endpoints with no code

> Import a Roxy OpenAPI spec, set one header, hit Send. Time to ship: 2 minutes.

Test every Roxy endpoint without writing code. Import our OpenAPI specs into Postman or Bruno and make live API calls in under a minute.

## What you can build with this

- Interactive API exploration across all 10 Roxy domains
- Request chains (geocode a city, then post the chart with the result)
- Pre-configured collections teammates can fork and reuse
- Local-first, Git-friendly API workspaces via Bruno
- Quick-and-dirty endpoint testing before wiring a feature in code

## What you need, 30 seconds

1. A Roxy API key. Get one on the [pricing page](/pricing).
2. Postman or [Bruno](https://www.usebruno.com/) installed.

## Step 1, import the spec

Every Roxy domain has a live OpenAPI spec you can point any API client at.

### OpenAPI spec URLs

| Domain | URL |
|--------|-----|
| Western Astrology | `https://roxyapi.com/api/v2/astrology/openapi.json` |
| Vedic Astrology | `https://roxyapi.com/api/v2/vedic-astrology/openapi.json` |
| Tarot | `https://roxyapi.com/api/v2/tarot/openapi.json` |
| Numerology | `https://roxyapi.com/api/v2/numerology/openapi.json` |
| I Ching | `https://roxyapi.com/api/v2/iching/openapi.json` |
| Dreams | `https://roxyapi.com/api/v2/dreams/openapi.json` |
| Crystals | `https://roxyapi.com/api/v2/crystals/openapi.json` |
| Angel Numbers | `https://roxyapi.com/api/v2/angel-numbers/openapi.json` |
| Biorhythm | `https://roxyapi.com/api/v2/biorhythm/openapi.json` |
| Location | `https://roxyapi.com/api/v2/location/openapi.json` |

Combined spec (all 10 domains at once): `https://roxyapi.com/api/v2/openapi.json`.

### Postman

**Option A, fork from the public workspace.**

| Collection | Postman link |
|------------|-------------|
| Western Astrology | [Open in Postman](https://www.postman.com/roxylabs-7113570/roxyapi/collection/53716709-28702903-080f-418c-934e-e3b4ffcc00ca) |
| Vedic Astrology | [Open in Postman](https://www.postman.com/roxylabs-7113570/roxyapi/collection/53716709-51186f73-f363-453d-8ce5-9186abaa9dc1) |
| Tarot | [Open in Postman](https://www.postman.com/roxylabs-7113570/roxyapi/collection/53716709-961722d0-1b28-427b-a1ec-b1314f6acd65) |
| Numerology | [Open in Postman](https://www.postman.com/roxylabs-7113570/roxyapi/collection/53716709-883585f7-f271-4c28-bf73-9e923553d264) |
| I Ching | [Open in Postman](https://www.postman.com/roxylabs-7113570/roxyapi/collection/53716709-55120181-82b7-48cb-925e-be1413b535df) |
| Dreams | [Open in Postman](https://www.postman.com/roxylabs-7113570/roxyapi/collection/53716709-31f0b263-5f38-4c87-983d-f5de9cabb55e) |
| Crystals | [Open in Postman](https://www.postman.com/roxylabs-7113570/roxyapi/collection/53716709-70d4652a-0e91-47b3-a729-ec397f10e172) |
| Angel Numbers | [Open in Postman](https://www.postman.com/roxylabs-7113570/roxyapi/collection/53716709-5625c73e-519f-42df-8624-75956b22501a) |
| Location | [Open in Postman](https://www.postman.com/roxylabs-7113570/roxyapi/collection/53716709-ad97b883-91ed-48ae-82ff-4acb563fba31) |

Or browse the full [Roxy Postman workspace](https://www.postman.com/roxylabs-7113570/roxyapi). Click **Fork** to copy a collection into your workspace. Forked collections pull updates when we add new endpoints.

**Option B, import from OpenAPI.**

1. Open Postman and click **Import**.
2. Select **Link** and paste any spec URL from the table above.
3. Postman converts the spec into a ready-to-use collection.

### Bruno

[Bruno](https://www.usebruno.com/) is an open-source API client that stores collections as plain files. Git-friendly.

1. Open Bruno and click **Import Collection**.
2. Select **OpenAPI V3 Spec**.
3. Paste any spec URL from the table above.
4. Bruno generates a local collection with every endpoint ready to call.

## Step 2, set the auth header

Roxy uses `X-API-Key`, not `Authorization: Bearer`.

### Postman

1. Click **Environments** in the sidebar.
2. Click **Create Environment**, name it "Roxy".
3. Add two variables:

| Variable | Value | Type |
|----------|-------|------|
| `baseUrl` | `https://roxyapi.com` | default |
| `apiKey` | your API key | secret |

4. Select the collection > **Authorization** tab. Set:
   - Type: **API Key**
   - Key: `X-API-Key`
   - Value: `{{apiKey}}`
   - Add to: **Header**

Every request in the collection inherits this auth.

### Bruno

1. Right-click the collection > **Settings**.
2. Under **Auth**, choose **API Key**.
3. Set Key to `X-API-Key`, Value to your API key.

All requests inherit the header.

**Warning: Do not share your environment file. The `apiKey` variable contains your secret key. Postman marks it as secret, but always verify before exporting. Bruno `.bru` files are plain text. If you commit them, use an env variable or `.gitignore` the secrets file.**

## Step 3, hit Send

Pick any endpoint from the imported collection. POST endpoints ship with example request bodies. Modify values, hit Send, see real API responses.

Starter endpoints to try first:

- [`GET /astrology/horoscope/aries/daily`](/api-reference#tag/western-astrology/GET/astrology/horoscope/{sign}/daily) (zero body)
- [`POST /numerology/life-path`](/api-reference#tag/numerology/POST/numerology/life-path) body: `{"year":1990,"month":7,"day":15}`
- [`POST /tarot/daily`](/api-reference#tag/tarot/POST/tarot/daily) body: `{}` (empty body is valid)
- [`GET /location/search?q=Mumbai`](/api-reference#tag/location-and-timezone/GET/location/search) (geocoding smoke test)

## Gotchas

- **Auth header is `X-API-Key`, not `Authorization: Bearer`.** Most API clients default to Bearer. Override it explicitly.
- **All paths live under `/api/v2/`.** The spec URL is `/api/v2/{domain}/openapi.json`. Endpoint paths are `/api/v2/{domain}/{endpoint}`.
- **POST endpoints always send JSON.** `Content-Type: application/json`. Empty body is OK for seed-optional endpoints (daily tarot, daily hexagram).
- **Timezone accepts IANA strings or decimals on chart endpoints.** Prefer `"America/New_York"`.
- **Error shape is `{ error, code }`.** No `{ success: false }` wrapper. If you see 401, check the header name and the key.

## FAQ

### Which client should I use?

Postman if you want cloud sync, team sharing, and auto-updates from our public workspace. Bruno if you prefer open source, local-first, Git-friendly collections. Both work equally well.

### Do I need a Postman account?

A free account is needed to fork collections and use environments. Importing from an OpenAPI URL works without an account, but you lose auto-updates.

### Can I use Insomnia, HTTPie, Thunder Client, REST Client?

Any tool that imports OpenAPI 3.0 works. Use the same spec URLs above.

### Where do I get an API key?

The [pricing page](/pricing) or the [API reference](/api-reference) test key for prototyping.

## What to build next

- The [API reference](/api-reference) is a Scalar-rendered live playground with a pre-filled test key.
- The [SDK docs](/docs/sdk) turn working curl calls into typed TypeScript, Python, or PHP code.
- The [MCP setup](/docs/mcp) is the agent-first alternative. Wire Roxy into Claude Code, Cursor, or Antigravity and skip the request-crafting step.
