To register a company (such as a gym) in the SynchPay API, you must create a company entity using the /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:

1

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.

2

Create a Registration Object

Use the access token to submit the company details via the /company/create endpoint.

3

Wait for KYB Process

After submission, SynchPay performs a Know-Your-Business (KYB) verification, which takes approximately 24 hours.

4

Check Company Status

Use the GET /company/status endpoint to monitor the registration status.

5

Complete Setup

Once approved, SynchPay sends an email with links to connect a bank account via Plaid and access the Backend Portal for managing your account.

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

Request Body

The request body is a JSON object with the following top-level fields:

ParameterTypeDescriptionRequired
NamestringThe company’s name.Yes
EmailAddressstringThe company’s contact email address.Yes
ContactNumberstringThe company’s contact phone number.Yes
TaxIdstringThe company’s unique tax ID.Yes
TaxIdTypestringThe type of tax ID (“EIN” or “SSN”).Yes
OwnerobjectThe owner’s details. See Owner Object for structure.Yes
EmployeesarrayAn array of employee objects. See Employees Array for structure.No
StreetNumberAndNamestringThe street number and name.Yes
ApartmentNumberstringThe apartment or suite number.No
CitystringThe city.Yes
StatestringThe state abbreviation.Yes
ZipCodestringThe postal code.Yes

Owner Object

The Owner object is a required field that contains the following properties:

FieldTypeDescriptionRequired
NamestringThe owner’s full name.Yes
EmailAddressstringThe owner’s email address.Yes
ContactNumberstringThe owner’s phone number.Yes
TitlestringThe owner’s title.Yes
DocumentNumberstringThe owner’s ID number.Yes
DocumentTypestringThe type of ID (“DriversLicense” or “Passport”).Yes

Employees Array

The Employees 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:

FieldTypeDescriptionRequired
NamestringThe employee’s full name.Yes
EmailAddressstringThe employee’s email address.Yes
ContactNumberstringThe employee’s phone number.Yes
TitlestringThe employee’s title.Yes

Note: The 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 ([]).

Example Request

{
  "Name": "Example Company",
  "EmailAddress": "contact@examplegym.com",
  "ContactNumber": "123-456-7890",
  "TaxId": "12-3456789",
  "TaxIdType": "EIN",
  "Owner": {
    "Name": "John Doe",
    "EmailAddress": "john.doe@example.com",
    "ContactNumber": "987-654-3210",
    "Title": "Owner",
    "DocumentNumber": "D1234567",
    "DocumentType": "DriversLicense"
  },
  "Employees": [
    {
      "Name": "Jane Smith",
      "EmailAddress": "jane.smith@example.com",
      "ContactNumber": "555-123-4567",
      "Title": "Manager"
    },
    {
      "Name": "Mike Johnson",
      "EmailAddress": "mike.johnson@example.com",
      "ContactNumber": "555-987-6543",
      "Title": "Manager"
    }
  ],
  "StreetNumberAndName": "123 Fitness St",
  "ApartmentNumber": "Suite 100",
  "City": "Fitville",
  "State": "CA",
  "ZipCode": "90001"
}

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:

{
  "CompanyId": "0ba2d920-7588-407f-8553-afc4f073c9b8"
}

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 the GET /company/{companyId}/status endpoint:

The response will indicate the current status (e.g., “Unverified”, “Verified”, or “Rejected”).

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 the EmailAddress 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.

Follow the instructions in the email to finalize your company setup.