Update a Brand
PUT Method
The Update a BrandAPI allows you to modify specific brand fields. Updates that depend on brand status are not handled by go-cloud.
Note:
Before submitting any update, you must first retrieve the current brand details. The go-cloud API compares the existing brand data with the update request to determine which field changes are allowed.
Prerequisites
- After you sign up, your account will be on the trial version. You must complete the KYC to access all the features in kaleyra.io.
- Before you get started, Create an API Key. To view the API Key and the SID, see View API Key and SID.
- Before sending the RCS, you must configure the RCS channel in the Kaleyra platform. To configure the RCS channel in your account, please contact your local Kaleyra representative.
Base URL
| URL | Region |
|---|---|
https://rcs-api.<pod>.kaleyra.io | For North America (NA). |
https://rcs-api.<pod>.kaleyra.io | For the rest of the world. |
API Domain and Value
| api_domain | Value |
|---|---|
| IN pod | https://rcs-api.in.kaleyra.io |
| NA pod | https://rcs-api.na.kaleyra.io |
API Request to Update a Brand
To update a brand, use the https://rcs-api.<pod>.kaleyra.io/v1/<sid>/rcs/brand/{{brand_number}} endpoint with the following request method:
The following is the request format to update a brand.
curl --location 'https://<api_domain>/v1/<sid>/rcs/brand/{{brand_number}}'\
--header 'Content-Type:<Content-Type>' \
--header 'api-key: <api-key>' \
--data '{
"brand_name": "<brand_name>",
"brand_number": "<brand_number>",
"display_name": "<display_name>",
"brand_description": "<brand_description>",
"provider_brand_no": "<provider_brand_no>",
"org_id": "<org_id>",
"partner_name": "<partner_name>",
"partner_email": "<partner_email>",
"contact_name": "<contact_name>",
"contact_email": "<contact_email>",
"website_url": "<website_url>",
"image_id": "<image_id>",
"thumbnail_imageid": "<thumbnail_imageid>",
"status": "<status>",
"created_date": "<created_date>",
"modified_date": "<modified_date>",
"id": "<id>"
}'The following is the sample request format to update a brand:
curl --location --request PUT 'https://rcs-api.na.kaleyra.io/v1/xxxxx6913850xxxx/rcs/brand/48400'\
--header 'Content-Type: application/json' \
--header 'api-key: xxxxx3b8497f58a94e84b671aca43xxxx' \
--data '{
"brand_name": "Basket Grocery",
"brand_number": "48400",
"display_name": "Tata Com",
"brand_description": "Basket Grocery Updated Description",
"provider_brand_no": "brands/a1xxxxfa-1xxa-4xx6-bxx9-bexxxxxx6ec",
"org_id": "03xxxx40-4xxd-4xx9-bxx4-91xxxxxx09",
"partner_name": "Basket Partner",
"partner_email": "[email protected]",
"contact_name": "Basket Name",
"contact_email": "[email protected]",
"website_url": "https://www.tatacommunications.com",
"image_id": "https://i.pinimg.com/736x/1a/c3/da/86xx3c.jpg",
"thumbnail_imageid": "https://i.pinimg.com/736x/e0/30/81/67xxa1.jpg",
"status": "ACTIVE",
"created_date": "Jun 12, 2025, 5:31:25 AM",
"modified_date": "Jun 12, 2025, 5:31:27 AM",
"id": "ffxxxx7c-7xx4-4xx0-bxxf-06xxxxxxa5"
}'URL Parameters and Headers
The following is the list of parameters and headers to send the outgoing message request:
| Parameter/Headers | Data Type | Description | Example | Mandatory? |
|---|---|---|---|---|
sid | String | Account SID (Security Identifier). | XXXXX6913850XXXX | Yes |
Content-Type | String | Indicates the format of the content the API will be processing. | The only allowed value is application/JSON | Yes |
api-key | String | API key generated from kaleyra.io account. | XXXXX3b8497f58a94e84b671aca43XXXX | Yes |
The following is the list of attributes to be used in the payload to update a brand:
Parameter | Data Type | Update Permission | Description | Example | Mandatory? |
|---|---|---|---|---|---|
| String | Allowed | The official name of the brand provided by the user. Note: Brand name can be modified after creation. | Basket Grocery | Yes |
| String | Restricted | Auto generated brand number sent back as response from the server once the brand is created. | 48400 | Yes |
| String | Allowed | The name that will appears for the end-users. | Tata Com | Yes |
| String | Allowed | Description of the brand as mentioned by the you. | Basket Grocery Description | Yes |
| String | Restricted | Unique number provided by platform after successful creation of brand. | brands/a1xxxxfa-1xxa-4xx6-bxx9-bexxxxxx6ec | Yes |
| String | Restricted | UUID of selected Organization. The details will be provided by Kaleyra Support team. | 03xxxx40-4xxd-4xx9-bxx4-91xxxxxx09 | Yes |
| String | Allowed | Name of the partner organization. | Basket Partner | Yes |
| String | Allowed | Email of the Partner. Must be a valid email format. | Yes | |
| String | Allowed | Primary contact person name. | Basket Name | Yes |
| String | Allowed | Email of the contact. | Yes | |
| URL | Allowed | Brand website URL (must be valid URL format). |
| Yes |
| String | Allowed | Brand logo image URL (must be valid image URL). |
| Yes |
| String | Allowed | Thumbnail image URL (must be valid image URL). |
| Yes |
| String | Restricted | Status of the brand. Possible values are active or inactive. | ACTIVE | Yes |
| String | Restricted | Creation timestamp, immutable. | Jun 12, 2025, 5:31:25 AM | Yes |
| String | Restricted | Last modification timestamp, system managed. | Jun 12, 2025, 5:31:27 AM | Yes |
| Integer | Restricted | Unique brand ID, immutable. | ffxxxx7c-7xx4-4xx0-bxxf-06xxxxxxa5 | Yes |
Sample Success Response
The following is a sample success response:
{
"code": "RCS802",
"message": "Brand updated successfully",
"data": {
"brand_name": "Basket Grocery",
"brand_number": "48400",
"display_name": "Tata Com",
"brand_description": "Basket Grocery Updated Description",
"provider_brand_no": "brands/a1xxxxfa-1xxa-4xx6-bxx9-bexxxxxx6ec",
"org_id": "03xxxx40-4xxd-4xx9-bxx4-91xxxxxx09",
"partner_name": "Basket Partner",
"partner_email": "[email protected]",
"contact_name": "Basket Name",
"contact_email": "[email protected]",
"website_url": "https://www.tatacommunications.com",
"image_id": "https://i.pinimg.com/736x/1a/c3/da/86xx3c.jpg",
"thumbnail_imageid": "https://i.pinimg.com/736x/e0/30/81/67xxa1.jpg",
"status": "ACTIVE",
"created_date": "Jun 12, 2025, 5:31:25 AM",
"modified_date": "Jun 12, 2025, 5:31:27 AM",
"id": "ffxxxx7c-7xx4-4xx0-bxxf-06xxxxxxa5"
},
"error": {}
}Sample Failure Response
The following are sample failure responses:
400 Bad Request - RCS Not Enabled
{
"code": "RCS601",
"message": "RCS Channel is not enabled for this User",
"data": [],
"error": {
"error_code": "RCS_CHANNEL_DISABLED",
"error_message": "RCS Channel is not enabled for this User"
}
}400 Bad Request - Invalid JSON
{
"code": "RCS701",
"message": "Invalid Json passed. Please check",
"data": [],
"error": {
"error_code": "INVALID_JSON",
"error_message": "actual JSON decode error message"
}
}400 Bad Request - Missing Required Fields
{
"code": "RCS804",
"message": "Required fields are missing",
"data": [],
"error": {
"error_code": "MISSING_REQUIRED_FIELDS",
"error_message": "missing required fields: display_name, contact_name"
}
}400 Bad Request - Invalid Field Formats
{
"code": "RCS804",
"message": "Fields with invalid format are passed",
"data": [],
"error": {
"error_code": "INVALID_FIELD_FORMAT",
"error_message": "invalid email format for field 'contact_email': test@invalid"
}
}500 Internal Server Error - Config Missing
{
"code": "CONFIG_ERROR",
"message": "Config missing",
"data": [],
"error": {
"error_code": "CONFIG_MISSING",
"error_message": "Prov_Url not found"
}
}500 Internal Server Error - Failed to Fetch Existing Brand
{
"code": "RCS805",
"message": "Failed to fetch existing brand before update",
"data": [],
"error": {
"error_code": "PROV_Error",
"error_message": "raw response body as string"
}
}400 Bad Request - Restricted Field Modification
{
"code": "RCS804",
"message": "Cannot modify restricted fields during update.",
"data": [],
"error": {
"error_code": "RESTRICTED_FIELDS_MODIFY_ATTEMPT",
"error_message": "restricted fields cannot be modified: id"
}
}500 Internal Server Error - API Call Failed
{
"code": "RCS805",
"message": "Failed to call Prov API",
"data": [],
"error": {
"error_code": "API_CALL_ERROR",
"error_message": "actual API error message"
}
}4xx Downstream Error
{
"code": "RCS804",
"message": "Failed creating brand update",
"data": [],
"error": {
"error_code": "PROV_ERROR",
"error_message": "raw downstream response body as string"
}
}Updated about 9 hours ago
