---
title: "Create a partner managed company"
method: POST
path: "/v1/partner_managed_companies"
tags: ["Companies"]
---

# Create a partner managed company

`POST /v1/partner_managed_companies`

Create a partner managed company. When you successfully call the API, it does the following:
* Creates a new company in Gusto
* Creates a new user using the provided email if the user does not already exist.
* Makes the user the primary payroll administrator of the new company.

In response, you will receive oauth access tokens for the created company.

IMPORTANT: the returned access and refresh tokens are reserved for this company only. They cannot be used to access other companies AND previously granted tokens cannot be used to access this company.

📘 System Access Authentication

This endpoint uses the [Bearer Auth scheme with the system-level access token in the HTTP Authorization header](https://docs.gusto.com/embedded-payroll/docs/system-access)

scope: `partner_managed_companies:manage`

## Headers

- `X-Gusto-API-Version` '2026-06-15'

## Request body

- PartnerManagedCompanyCreateRequest
  - `user` object, required — Information for the user who will be the primary payroll administrator for the new company.
    - `first_name` string, required — The first name of the user who will be the primary payroll admin.
    - `last_name` string, required — The last name of the user who will be the primary payroll admin.
    - `email` string, required — The email of the user who will be the primary payroll admin.
    - `phone` string — The phone number of the user who will be the primary payroll admin.
  - `company` object, required
    - `name` string, required — The legal name of the company.
    - `trade_name` string — The name of the company.
    - `ein` string — The employer identification number (EIN) of the company.
    - `contractor_only` boolean — Whether the company only supports contractors. Should be set to true if the company has no W-2 employees. If not passed, will default to false (i.e. the company will support both contractors and employees).

## Response `200`

OK

- PartnerManagedCompany — Object returned when creating a partner managed company
  - `access_token` string — Access token that can be used for OAuth access to the account. Access tokens expire 2 hours after they are issued.
  - `refresh_token` string — Refresh token that can be exchanged for a new access token.
  - `company_uuid` string — Gusto's UUID for the company
  - `expires_in` integer — Time of access_token expiration in seconds

## Other responses

- `422` — Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.

---

[API](https://skmtc.net/gusto/apis/gusto-api.md) · [All operations](https://skmtc.net/gusto/apis/gusto-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gusto/gusto-api/revisions/826dfa57fb3b/schema)
