> ## Documentation Index
> Fetch the complete documentation index at: https://docs.symmetry.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CBS API overview

> Base URLs, authentication, and the tools (live Swagger and a Postman collection) for working with the Calculators by Symmetry API.

The Calculators by Symmetry (CBS) API runs the same paycheck calculations as the hosted widgets, without the UI. Send a calculator request and receive the calculated withholding, deductions, and net pay as JSON. The endpoint reference in this section is generated from the CBS OpenAPI specification.

<Note>
  New to the calculators API? Start with [Quickstart: Call the calculators API](/cbs/getting-started/call-api) for a complete first request, then use this reference for full endpoint and schema details.
</Note>

## Environments and base URLs

| Environment | Base URL                                       |
| ----------- | ---------------------------------------------- |
| Production  | `https://calculators.symmetry.com/api`         |
| Staging     | `https://calculators-staging.symmetry.com/api` |

Calculator endpoints sit under `/calculators`. For example, `https://calculators.symmetry.com/api/calculators/salary`.

CBS runs across standard deployment tiers: **local**, **test**, **staging**, and **prod**. Production is the default target for the URLs above. If your integration needs a non-production tier, request the corresponding endpoint from Symmetry.

<Note>
  The CBS API Postman environment sets its `endpointURL` to the current deployment tier on import, so you can switch tiers without hand-editing each request. Set your `apiKey` in Postman after importing.
</Note>

The hosted widget scripts load from a different host. See [Widget catalog](/cbs/widgets/catalog).

## Authentication

Every request is authenticated with a single API key sent in the `pcc-api-key` header. There is no OAuth flow and no token exchange.

```text theme={null}
pcc-api-key: yourKey
```

The widgets and the API use the same credential. See [Authentication model](/cbs/core-concepts/authentication-model) for validation rules and optional domain restrictions.

## Explore in Swagger

API clients can access our Swagger documentation to test and explore each endpoint, and see a comprehensive overview of all available features.

Our Swagger docs are available for both our production and staging environments.

* [Production CBS API Swagger](https://calculators.symmetry.com/api/docs)
* [Staging CBS API Swagger](https://calculators-staging.symmetry.com/api/docs)

### Authorize access to Swagger docs

When accessing our Swagger docs, you will need to authorize to send a request to one of the CBS endpoints. To authorize, access the Swagger page and click the "Authorize" button to the right of the screen. Enter your API key and click "Authorize".

<img src="https://mintcdn.com/symmetry-prod/iQnpDJuhlimWxDgw/cbs/assets/images/43716369802516.png?fit=max&auto=format&n=iQnpDJuhlimWxDgw&q=85&s=8b3323022301b865c7f48f6a02adc055" alt="Authorize Button.png" width="2822" height="1286" data-path="cbs/assets/images/43716369802516.png" />

<img src="https://mintcdn.com/symmetry-prod/iQnpDJuhlimWxDgw/cbs/assets/images/43716361727892.png?fit=max&auto=format&n=iQnpDJuhlimWxDgw&q=85&s=d02c6bb6ebaa0bcd83dc0471aebcb22e" alt="Available Authorizations.png" width="1358" height="732" data-path="cbs/assets/images/43716361727892.png" />

Once authorized successfully, you'll see the lock symbol go from gray to black on each of the endpoints. This is your indication that you can send the sample requests to each endpoint.

<img src="https://mintcdn.com/symmetry-prod/iQnpDJuhlimWxDgw/cbs/assets/images/43733592808980.png?fit=max&auto=format&n=iQnpDJuhlimWxDgw&q=85&s=3b10b0e7487241960ed2e5070bbbbc6c" alt="Lock Symbol.png" width="2824" height="992" data-path="cbs/assets/images/43733592808980.png" />

Click into the desired endpoint, select "try it out," and then "execute."

<img src="https://mintcdn.com/symmetry-prod/iQnpDJuhlimWxDgw/cbs/assets/images/43733766695316.png?fit=max&auto=format&n=iQnpDJuhlimWxDgw&q=85&s=8a75d4566d27917964eac59c57b1e14d" alt="Try it out.png" width="1460" height="237" data-path="cbs/assets/images/43733766695316.png" />

<img src="https://mintcdn.com/symmetry-prod/iQnpDJuhlimWxDgw/cbs/assets/images/43733766696084.png?fit=max&auto=format&n=iQnpDJuhlimWxDgw&q=85&s=70a0356bc87149746a9e7616988a8ca0" alt="Execute.png" width="1470" height="353" data-path="cbs/assets/images/43733766696084.png" />

You'll then receive the response from the endpoint.

## OpenAPI specification

The CBS API serves its own specification at `/docs/config`. This endpoint requires no API key.

```bash theme={null}
curl https://calculators.symmetry.com/api/docs/config
```

The endpoint pages in this section are generated from a committed snapshot of that specification.

## Next steps

<CardGroup cols={2}>
  <Card title="Postman collection" icon="mailbox" href="/cbs/api-reference/postman-collection">
    Download the CBS Postman collection and environment directly from the API.
  </Card>

  <Card title="Endpoints" icon="list" href="/cbs/api-reference/calculators/get-list-of-available-calculators">
    Full reference for every calculator, data, print, and utility endpoint.
  </Card>
</CardGroup>
