---
title: "Submit employee state taxes"
method: PUT
path: "/v1/employee/state-taxes/{jurisdiction}"
tags: ["Employee State Taxes"]
---

# Submit employee state taxes

`PUT /v1/employee/state-taxes/{jurisdiction}`

## Request

- Base URL: `https://gateway.remote.com`
- URL: `https://gateway.remote.com/v1/employee/state-taxes/{jurisdiction}`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `/auth/oauth2/token` scopes: `personal_detail:write`
  - OAuth 2
    - Client credentials
    - Token URL: `/auth/oauth2/token` scopes: `all:write`
  - OAuth 2
    - Authorization code: `/auth/oauth2/authorize`
    - Token URL: `/auth/oauth2/token` scopes: `employments`
  - OAuth 2
    - Authorization code: `/auth/oauth2/authorize`
    - Token URL: `/auth/oauth2/token` scopes: `all:write`

Submits the authenticated employee's US state tax withholding answers for a
single jurisdiction (e.g. `NY`).

Available for US Global Payroll employees once they reach the post-enrollment
state, at which point the per-jurisdiction state tax task exists.

This endpoint requires country/jurisdiction-specific data. Query the
[Show form schema](#tag/Countries/operation/get_show_form_country) endpoint with `global_payroll_state_taxes`
as the form name to discover the schema for a given country.

## Authentication

This endpoint accepts any one of the following token types:

- **Employee-scoped access token** (`OAuth2Assertion`) — obtained through the `urn:ietf:params:oauth:grant-type:jwt-bearer` grant. See [OAuth Assertion](https://developer.remote.com/docs/authorization-method-oauth-assertion).
- **Company-scoped access token** (`OAuth2AuthorizationCode`) — obtained by the employee through the Authorization Code flow or the Refresh Token flow. See [Authentication for partners](https://developer.remote.com/docs/authentication-for-partners).

## Scopes

Any one of the scopes in a token type's row is enough. `all:write` works too.

| Token type | Category | Read only Scope | Write only Scope (read access implicit) |
|---|---|---|---|
| Employee-scoped access token | Manage employments (`employments`) | - | Manage personal details (`personal_detail:write`) |
| Company-scoped access token | Manage employments (`employments`) | - | - |

## Path parameters

- `jurisdiction` string, required

## Request body

- EmploymentStateTaxesParams: State taxes schema compatible params, submitted one jurisdiction at a time.
  - `state_taxes` object, required: State taxes params for the jurisdiction in the path. As its properties vary depending on the country and jurisdiction, you must query the [Show form schema](#tag/Countries/operation/get_show_form_country) endpoint passing the country code and `global_payroll_state_taxes` as path parameters.

## Response `200`

Success

- SuccessResponse: A generic success response returned by operations that don't produce a specific resource (e.g., updates, deletes).
  - `data` object, required
    - `status` string: The result status. Always `"ok"` for successful operations.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `429`: Unprocessable Entity

---

[API](https://skmtc.dev/remote-com/apis/employments.md) - [All operations](https://skmtc.dev/remote-com/apis/employments/llms.txt) - [OpenAPI document](https://skmtc.dev/remote-com/apis/employments/revisions/da61f6ebc73a?raw)
