> ## 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.

# PRP API overview

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

The Symmetry Payroll Point (PRP) API identifies and determines complex state and local taxes from an employee's home and work addresses, returning results in JSON. The endpoint reference in this section is generated from the PRP OpenAPI specification.

<Note>
  New to the PRP API? Start with the [Quickstart: Call the Payroll Point API](/prp/getting-started/api-quickstart) 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://api.symmetry.com`         |
| Staging     | `https://api-staging.symmetry.com` |

The primary endpoint that returns taxes for an employee's home and work location is `/prp/v1/taxes`.

<Info>
  Always develop and test against the **staging** environment before pointing your integration at production.
</Info>

## Authentication

Every PRP endpoint other than `/authentication/login` requires a JWT access token. Request one by calling the authentication endpoint with your API key, then send the token as a Bearer token in the `Authorization` header.

```bash theme={null}
curl --location --request GET 'https://api.symmetry.com/authentication/login' \
--header 'api-key: YOUR_API_KEY'
```

Tokens are valid for 24 hours. Once expired, PRP endpoints return HTTP 401 with `{"message": "Unauthorized"}` until you request a new one.

<Warning>
  **Access token versus API key**

  Your access token is not the same as your API key. The API key is used for initial authentication to obtain an access token from the `/authentication/login` endpoint. The access token is then used to authorize and interact with the other PRP endpoints securely.
</Warning>

## 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 PRP API Swagger](https://api.symmetry.com/prp/docs)
* [Staging PRP API Swagger](https://api-staging.symmetry.com/prp/docs)

### Authorize access to Swagger docs

To generate a token, make a request to the `/authentication/login` endpoint to receive a valid access token. Then click the **Authorize** button on the right side of the browser, enter this access token into the dialog box for the respective environment, and click **Authorize**.

<Frame>
  <img src="https://mintcdn.com/symmetry-prod/iQnpDJuhlimWxDgw/prp/assets/images/30819734510740.jpg?fit=max&auto=format&n=iQnpDJuhlimWxDgw&q=85&s=765bca292439f599441758a5543f9e25" alt="" width="160" height="43" data-path="prp/assets/images/30819734510740.jpg" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/symmetry-prod/iQnpDJuhlimWxDgw/prp/assets/images/30819734515860.jpg?fit=max&auto=format&n=iQnpDJuhlimWxDgw&q=85&s=a642d90f097131070f0c66c60482402f" alt="" width="643" height="260" data-path="prp/assets/images/30819734515860.jpg" />
</Frame>

Once authorized successfully, you'll see an unlocked symbol appear on each of the endpoints. This is your indication that you can send the sample requests to each endpoint.

<Frame>
  <img src="https://mintcdn.com/symmetry-prod/iQnpDJuhlimWxDgw/prp/assets/images/30819854619284.jpg?fit=max&auto=format&n=iQnpDJuhlimWxDgw&q=85&s=06f6418df4b0f08cf5b9271a0bf64fee" alt="" width="1492" height="677" data-path="prp/assets/images/30819854619284.jpg" />
</Frame>

Click into the desired endpoint, select **Try it out**, and then **Execute**.

<Frame>
  <img src="https://mintcdn.com/symmetry-prod/iQnpDJuhlimWxDgw/prp/assets/images/30819871066772.jpg?fit=max&auto=format&n=iQnpDJuhlimWxDgw&q=85&s=9836d5110a081659153dae0ce6b5498e" alt="" width="1513" height="793" data-path="prp/assets/images/30819871066772.jpg" />
</Frame>

You'll then receive the response from the endpoint.

## Next steps

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

  <Card title="Endpoints" icon="list" href="/prp/api-reference/location-taxes/returns-taxes-based-on-single-home-and-multiple-work-locations-passed-in">
    Full reference for every taxes, minimum wage, and account endpoint.
  </Card>
</CardGroup>
