/company/create endpoint. This is the first step in enabling company-related operations within SynchPay. The process involves submitting a registration object, waiting for verification, and then completing additional setup steps. Here’s how it works:
Obtain an Access Token
Before calling
/company/create, obtain an access token by making a POST
request to /auth/token with your ClientId and ClientSecret.
Refer to the Authorization section for details.Create a Registration Object
Use the access token to submit the company details via the
/company/create
endpoint.Wait for KYB Process
After submission, SynchPay performs a Know-Your-Business (KYB) verification,
which takes approximately 24 hours.
Registering a Company
The/company/create endpoint allows you to define a company entity by submitting a JSON object containing the company’s details. Below are the specifics of the API call.
Endpoint
- URL: https://api.synchpay.com/company/create
- Method:
POST - Authorization:
Bearer <AccessToken>Note: The access token is obtained from/auth/tokenusing yourClientIdandClientSecret.
Request Body
The request body is a JSON object with the following top-level fields:| Parameter | Type | Description | Required |
|---|---|---|---|
CompanyReferenceId | string | Your unique external reference ID for this company. | Yes |
Name | string | The company’s name. | Yes |
EmailAddress | string | The company’s contact email address. Must be a valid email. | Yes |
ContactNumber | string | The company’s contact phone number. Must be a valid phone number. | Yes |
TaxId | string | The company’s unique tax ID. | Yes |
TaxIdType | string | The type of tax ID (EIN, TIN, or SSN). | Yes |
CompanyType | string | One of: SoleProprietorship, NonProfit, ForProfit, Corporation, LLC, or Partnership. | Yes |
Owner | object | The owner’s details. See Owner object for structure. | Yes |
Employees | array | An array of employee objects. See Employees array for structure. | No |
StreetNumberAndName | string | The street number and name. | Yes |
ApartmentNumber | string | The apartment or suite number. Must contain only printable ASCII characters if provided. | No |
City | string | The city. | Yes |
State | string | Two-letter US state abbreviation (e.g. CA, NY). | Yes |
ZipCode | string | Five-digit US ZIP code (e.g. 90001 or 90-001). | Yes |
WebsiteUrl | string | The company’s website URL. Validated if provided. | No |
Owner Object
TheOwner object is a required field that contains the following properties:
| Field | Type | Description | Required |
|---|---|---|---|
Name | string | The owner’s . | Yes |
EmailAddress | string | The owner’s email address. Must be a valid email. | Yes |
ContactNumber | string | The owner’s phone number. Must be a valid phone number. | Yes |
Title | string | The owner’s title. | Yes |
DocumentNumber | string | The owner’s ID number. | No |
DocumentType | string | The type of ID (DriversLicense or Passport). | No |
Ssn | string | Last 4 digits of the owner’s SSN. Must be exactly 4 digits. | Yes |
DateOfBirth | string | Owner’s date of birth in YYYY-MM-DD format. | Yes |
StreetNumberAndName | string | The street number and name. | Yes |
ApartmentNumber | string | The apartment or suite number. | No |
City | string | The city. | Yes |
State | string | Two-letter US state abbreviation (e.g. CA, NY). | Yes |
ZipCode | string | Five-digit US ZIP code (e.g. 90001 or 90-001). | Yes |
Employees Array
TheEmployees field is an optional array of employee objects. Unlike the Owner object, employee objects do not include document-related fields. Each employee object in the array contains the following properties:
| Field | Type | Description | Required |
|---|---|---|---|
Name | string | The employee’s full name. | Yes |
EmailAddress | string | The employee’s email address. | Yes |
ContactNumber | string | The employee’s phone number. | Yes |
Title | string | The employee’s title. | Yes |
Employees array is optional. If included, each employee object must contain all the specified fields (Name, EmailAddress, ContactNumber, and Title). If there are no employees to register at the time of company creation, you can either omit the Employees field or set it to an empty array ([]).
Validation rules
The API validates all fields before creating the company. If validation fails, you receive a400 Bad Request response with details about which fields are invalid. Key rules to be aware of:
- Email uniqueness — The owner’s email address cannot match any employee’s email address. All employee email addresses must be unique.
- Phone numbers —
ContactNumberfields must be valid phone numbers. - Address fields —
Statemust be a two-letter uppercase abbreviation.ZipCodemust be a five-digit code (with optional hyphen, e.g.90001or90-001). - Owner SSN — Must be exactly four digits.
- Company type — Must exactly match one of the accepted values (case-insensitive).
Example Request
Response
Upon successful submission, the endpoint returns a JSON object, likely containing a company identifier or a success message. The exact response format is not specified in the current documentation, so consult the API reference for details. An example might look like:Waiting for KYB Process
After submitting the registration object, SynchPay initiates the Know-Your-Business (KYB) process to verify the provided information. This process typically takes up to 24 hours. During this period, the company status remains “Unverified”.Checking Company Status
To monitor the registration status, use theGET /company/{companyId}/status endpoint:
- URL: https://api.synchpay.com/company/{companyId}/status
- Method:
GET - Authorization:
Bearer <AccessToken>
Note: For sandbox environment this will always return “Verified”
Completing Setup
Once the KYB process is complete and the company is verified, SynchPay sends an email to theEmailAddress provided in the registration. The email includes:
- Bank Account Connection: A link to connect your bank account via Plaid.
- Backend Portal Access: A link to the Backend Portal, where you can manage your account, add new account numbers, close accounts, and handle edge cases.