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

# Hosted API overview

> Base URLs, authentication, and the tools — live Swagger and a Postman collection — for working with the hosted STE web API.

The hosted **STE web API** is a JSON HTTP service that Symmetry runs for you. Send a `PayCalcRequest` describing one or more employees and receive a `PayCalcResponse` with the calculated taxes. The endpoint reference in this section is generated from the live OpenAPI specification.

<Note>
  This section documents the **hosted Web API** specifically. If you use the on-premise SDKs (Java, .NET, or C/C++), you call the engine through their native bindings rather than these REST endpoints — the identifiers for each interface are listed side by side in the [reference tables](/ste/reference/wage-types). The concepts, wage types, options, and codes apply to every interface; only the request/response mechanics on this page are hosted-API-only.
</Note>

<Note>
  New to the hosted API? Start with the [Hosted API quickstart](/ste/quickstarts/hosted-api-quickstart) for a complete first request, then use this reference for the full endpoint and schema details.
</Note>

## Environments and base URLs

Staging and production are fully separate — including API keys. Always build and test against staging first.

| Environment | Base URL                                      |
| ----------- | --------------------------------------------- |
| Staging     | `https://ste-staging.symmetry.com/ste-hosted` |
| Production  | `https://ste.symmetry.com/ste-hosted`         |

Both environments expose `v1` and `v2` paths (for example, `/ste-hosted/v1/payCalc`).

## Authentication

Pass your key as the **raw value** of the `Authorization` header — no `Bearer` prefix, no `x-api-key`, and no query string. Your API key is issued by Symmetry's Client Success team; a staging key will not work against production.

```http theme={null}
POST /v1/payCalc HTTP/1.1
Host: ste-staging.symmetry.com
Authorization: your_api_key_here
Content-Type: application/json
Accept: application/json
```

<Warning>
  `Authorization: Bearer <key>`, `ApiKey <key>`, `x-api-key`, and `?apiKey=` are all rejected. Use the raw key as the header value.
</Warning>

## Try it with live Swagger

For interactive, authenticated calls against the running service, use the hosted Swagger UI. It mirrors the endpoints documented in this section and lets you execute real requests.

<CardGroup cols={2}>
  <Card title="Production Swagger" href="https://ste.symmetry.com/ste-hosted/docs#/" icon="play">
    Live API explorer for the production environment.
  </Card>

  <Card title="Staging Swagger" href="https://ste-staging.symmetry.com/ste-hosted/docs#/" icon="flask">
    Live API explorer for the staging environment.
  </Card>
</CardGroup>

To authorize in Swagger, select **Authorize**, paste your Symmetry STE API key for that environment (production key for the production docs, staging key for the staging docs), and select **Authorize** again. The `Authorization` header expects the raw key with no `Bearer` prefix. Once authorized, each endpoint shows an unlocked icon — select an endpoint, choose **Try it out**, then **Execute** to see the response.

## Postman collection

Prefer Postman? Download our ready-made collection and environment, with `payCalcRequest` examples for federal, state, city, county, and multi-state scenarios.

<Card title="Postman collection & environment" href="/ste/api-reference/postman-collection" icon="paper-plane">
  Sample requests for every endpoint, plus the environment variables you'll need.
</Card>
