---
title: Creating a New Channel
slug: investor-onboarding-io/creating-a-new-channel
description: Learn how to create a channel object for each distributor channel with this informative document. It covers the API endpoint, request type, headers, and JSON payload needed for a successful POST request. Discover a comprehensive table detailing the accept
docTags: 
createdAt: 2023-06-19T11:26:23.000Z
---

For each distributor channel, you can create a channel object by providing the required properties.

## Endpoint

/api/channels/**….your-channel-id….**/channels

The channel-id is the userID that you get from the login call as described above.

## Request Type

POST

## Headers

Content-type: “**application/json**” -> This is constant

Authorization: “your access token” -> You will receive the access token from the login API call as described above.

## JSON Payload

```json
{
    "product_productId": ".........",
    "product_customerId": ".........",
    "product_accessToken": ".........",
    "control_active": true,
    "control_allowedCount": 20,
    "control_updateProductInfo": true,
    "control_selfUpdation": true,
    "control_updateControls": true,
    "control_createChildren": true,
    "control_enableFrontendURLs": false,
    "disableEmailFromAmc": false,
    "username": ".........",
    "password": ".........",
    "email": ".........",
    "callbackOnAction": {
        "accepted": "...",
        "rejected": "...",
        "draft": "..."
    },
     "pageCallbackUrl": {
        "identity": ".....",
        "address": ".....",
        "corraddress": ".....",
        "bankaccount": ".....",
        "documents": ".....",
        "fatca": ".....",
        "signature": ".....",
        "photo": ".....",
        "video": ".....",
        "contract": ".....",
        "submit" : "....."
    }
}
```

**The API accepts the following properties as detailed in the table below:**

| **Property**                | **Data Type** | **Example Values**     |
| --------------------------- | ------------- | ---------------------- |
| username                    | String        | username               |
| password                    | String        | password               |
| email                       | String        | email                  |
| product\_productId          | String        | investorOnbaording     |
| product\_customerId         | String        | 5219872648addff        |
| product\_accessToken        | String        | whr320jrehbfdvipkqwmnh |
| control\_active             | Boolean       | true/false             |
| control\_allowedCount       | Integer       | Integer                |
| control\_updateProductInfo  | Boolean       | true/false             |
| control\_selfUpdation       | Boolean       | true/false             |
| control\_updateControls     | Boolean       | true/false             |
| control\_createChildren     | Boolean       | true/false             |
| control\_enableFrontendURLs | Boolean       | true/false             |
| disableEmailFromAmc         | Boolean       | true/false             |
| callbackOnAction            | Object        |                        |
| pageCallbackUrl             | Object        |                        |

## Field Descriptions

**product\_productId**

This information tells what Signzy’s product does this particular channel allowed to push data into.

value = 'investorOnboarding’

Currently, only the above value is allowed.

**product\_customerId**

The product\_customerId is obtained for a particular user by logging into Signzy’s product as defined by the above definition. The userId parameter of the login call is where you get the value of this parameter.

**product\_accessToken**

The product\_accessToken is obtained for a particular user by logging into Signzy’s product as defined by the above definition. The id parameter of the login call is where you get the value of this parameter.

**control\_active**

If control\_active is set as true, only then the API calls from the channels will be allowed to enter into the Signzy system, if this property isn’t set or is set to false, that channel won’t make the channel API calls or onboarding API calls. Defaults to true if not set.

**control\_allowedCount**

This property defines the number of onboarding objects that this channel can create. Defaults to 500 if not set.

**control\_selfUpdation**

If this property is not set or set to false, then the update calls to its own object. The self-updation API mentioned below will not be enabled. This enables the channels to update the username, password, and email. For updating product specifications and the control parameters, control\_updateControls & control\_updateProductInfo should also be set. Defaults to true if not set.

**control\_updateControls**

If this property is not set or set to false, then the channel won’t be able to update the properties which have a prefix of control\_. Defaults to false if not set.

**control\_updateProductInfo**

If this property is not set or set to false, then the channel won’t be able to update the properties which have a prefix of product\_. Defaults to false if not set.

**control\_createChildren**

If this property is not set or set to false, then the channel won’t be able to child channels. Channels won’t be able to call the create channel API if this is not set or set as false. Defaults to false if not set.

**control\_enableFrontendURLs**

Enables showing of frontend Web URLs for onboarding in response of create Onboarding API, in JSON keys: applicationUrl, autoLoginUrL, mobileLoginUrl, mobileAutoLoginUrl

**disableEmailFromAmc**

Flag to Disable/Enable Emails that are sent to investors on behalf of AMC. true implies email won't be sent. Defaults to false if not set.

**callbackOnAction**

This object contains the list of callback URLs, to which data is to be posted when any corresponding action is taken on the application. Defaults to empty if not set.

**pageCallbackUrl**

This object contains the list of callback URLs, to which data is to be posted when any step is completed by the investor. Defaults to empty if not set.

## Expected Response

```json
{
    "product_productId": "........",
    "product_customerId": "........",
    "product_accessToken": "........",
    "control_active": false,
    "control_allowedCount": 20,
    "control_updateProductInfo": false,
    "control_selfUpdation": true,
    "control_updateControls": true,
    "control_createChildren": true,
    "control_enableFrontendURLs": false,
    "disableEmailFromAmc": false,
    "username": "......",
    "email": "......",
    "id": "......",
    "channelId": "......",
    "callbackOnAction": {
        "accepted": "...",
        "rejected": "...",
        "draft": "..."
    },
     "pageCallbackUrl": {
        "identity": ".....",
        "address": ".....",
        "corraddress": ".....",
        "bankaccount": ".....",
        "documents": ".....",
        "fatca": ".....",
        "signature": ".....",
        "photo": ".....",
        "video": ".....",
        "contract": ".....",
        "submit" : "....."
    }
}
```

:::hint{type="info"}
### Getting help

Please feel free to contact us if you have any questions, require clarification, or have ideas for how to make the documents or any of our services better.


You can reach out to us at [help@signzy.com](#).
:::

