---
updatedAt: 2026-09-17T17:56:20.000Z
agentTools:
  projectIndex: https://docs.checkhq.com/llms.txt
---

# Request Embedded Setup

Request that Check manage setting up all of a Company's data necessary to begin running payroll.

> ❗️ Slated for deprecation
>
> This endpoint is only available with Check Embedded Setup, which is slated for deprecation on **January 1, 2027**. Reach out to Check with questions about migrating.

> 📘 Sandbox Behavior
>
> In Sandbox, after requesting Embedded Setup for a company, every two minutes, we will automatically transition the company to the next phase. 12 minutes after submission, the company’s `implementation_status` will move to `completed`, which indicates the company is ready to run payroll. You will get a `company.updated` webhook with the implementation status.

Before this request can succeed, the Company must:

* Have agreed to Check TOS
* Completed bank account setup
* Have a `start_date` in the future
  * In cases where we update the `start_date` to a different month, Federal Form 8655 will automatically be removed, and the onboard status will be set to `blocking`. Since this document displays the `start_date` month, any updates that would alter the month would invalidate any previously signed Federal Form 8655s. We will then want to generate a new onboard or filing auth component link for the employee to re-sign a new Federal Form 8655.

And the following fields must be populated:

[Company](https://docs.checkhq.com/reference/company)

* `start_date`
* `pay_frequency`

[EnrollmentProfile](https://docs.checkhq.com/reference/the-enrollment-profile-object)

* `previous_payroll_provider`
* `payroll_history_access_method`
  * When `payroll_history_access_method` is `provided_previous_payroll_provider_account_id`, then `previous_payroll_provider_account_id` is also required
* `employee_count`
* `contractor_count`
* `account_contacts` - the first email address in this array will be used for any setup-related communications from our team
* (optional) `implementation_services_submission_comment`

| Possible error messages                                                                                           |
| :---------------------------------------------------------------------------------------------------------------- |
| Company has not agreed to Terms of Service                                                                        |
| Company must complete bank account setup                                                                          |
| Company must have a start date                                                                                    |
| Company start date '2023-10-10' must be in the future                                                             |
| Company must have a pay frequency                                                                                 |
| Company must complete EnrollmentProfile to request Embedded Setup                                                 |
| Embedded Setup may only be used for companies migrating from a previous payroll provider                          |
| Company must affirm access to previous payroll provider via payroll\_history\_access\_method on EnrollmentProfile |
| Company must provide estimated employee count on EnrollmentProfile                                                |
| Company must provide estimated contractor count on EnrollmentProfile                                              |
| Company has already been submitted for Embedded Setup                                                             |

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "check-api",
    "version": "2025-01-01"
  },
  "servers": [
    {
      "url": "https://sandbox.checkhq.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "x-bearer-format": "bearer",
        "x-default": "YOUR_API_KEY"
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/companies/{company_id}/request_embedded_setup": {
      "post": {
        "summary": "Request Embedded Setup",
        "description": "Request that Check manage setting up all of a Company's data necessary to begin running payroll.",
        "operationId": "request-embedded-setup",
        "responses": {
          "201": {
            "description": "201",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "examples": {
                  "Result": {
                    "value": "{\n    \"error\": {\n        \"type\": \"validation_error\",\n        \"message\": \"Please correct the required fields and try again.\",\n        \"input_errors\": [\n            {\n                \"message\": \"Company has not agreed to Terms of Service\"\n            }\n        ]\n    }\n}"
                  }
                },
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "example": "validation_error"
                        },
                        "message": {
                          "type": "string",
                          "example": "Please correct the required fields and try again."
                        },
                        "input_errors": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "message": {
                                "type": "string",
                                "example": "Company has not agreed to Terms of Service"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```