Module Renaming

Module Renaming

Rename default modules in Zoho Books to match industry-specific terminology. This helps you reuse the same default modules across different verticals while presenting the right labels to end users. ### Why module renaming? Some businesses use different words for the same business entity: - Hospitals: Customers → Patients - Hotels/Restaurants: Customers → Guests The Module Renaming APIs let you: - List which default modules support renaming and view their current labels (localized + English). - Update the **singular** and **plural** display labels for a module. ### I18N key format for renamed modules (important for new strings) As module names are dynamic, user-facing messages should avoid hardcoded module names and instead use runtime placeholders that resolve to the renamed module label in the correct case. **Old key format (hardcoded module name):** - `Retainer Invoice status has been changed to 'Sent'.` - `Please enter the retainer invoice number.` **New key format (placeholder-based):** - `{retainer_invoice.title} status has been changed to 'Sent'.` - `Please enter the {retainer_invoice.lower} number.` Common placeholder variants used by the renaming pipeline include title/singular/plural and different casing (lower/upper/sentence case).

Download Module Renaming OpenAPI Document

List module labels

Get the list of available modules (e.g. invoices, customers, contacts, items) and their current display labels in localized and English format. Use this to see which modules can be renamed and their current names before updating them to match your business (e.g. Customer → Clients).
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization.
modules
string
Comma-separated list of module API names to filter by (for example: `invoices,contacts,items`). Maximum 20 module names are allowed. If not provided, all supported modules are returned.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/systemmodules?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/systemmodules?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/systemmodules?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/settings/systemmodules?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/systemmodules?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/settings/systemmodules?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "modules": [ { "api_name": "contacts", "singular_label": "Customer", "plural_label": "Customers", "singular_label_en": "Customer", "plural_label_en": "Customers" } ] }

Rename a module

Update the singular and plural display labels of a default module to match your business terminology (e.g. Customers → Clients). For user-facing text across the product, prefer placeholder-based I18N strings (for example `{invoice.title}`, `{invoice.lower}`) so renamed labels can be substituted at runtime.
OAuth Scope : ZohoBooks.settings.UPDATE

Arguments

module_name
string
New singular display name for the module (e.g. Client).
plural_name
string
New plural display name for the module (e.g. Clients).

Path Parameters

module_api_name
string
(Required)
API name of the module to rename (e.g. `contacts` for Customers/Contacts, `invoices`, `items`).

Query Parameters

organization_id
string
(Required)
ID of the organization.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/settings/defaultmodules/contacts?organization_id=10234695" type: PUT headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/settings/defaultmodules/contacts?organization_id=10234695") .put(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'PUT', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/settings/defaultmodules/contacts?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("PUT", "/books/v3/settings/defaultmodules/contacts?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "PUT", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/defaultmodules/contacts?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request PUT \ --url 'https://www.zohoapis.com/books/v3/settings/defaultmodules/contacts?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "module_name": "Client", "plural_name": "Clients" }

Response Example

{ "module_config": { "module_id": "string", "api_name": "string", "plural_name": "string", "module_name": "string", "module_entity_type": "string", "parent_module_id": "string", "shared_type": "string", "description": "string" } }