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.
- To send any RCS messages, you must configure the RCS channel in the Kaleyra platform. To configure the RCS channel in your account, please contact your local Kaleyra representative.
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 1 month ago
