Custom Fields

Custom Fields

Custom fields allow you to add additional data fields to existing modules in Zoho Books. Create, configure, and manage custom fields to capture business-specific information that is not available in the default fields. You can also manage dropdown options and field permissions.

Download Custom Fields OpenAPI Document

Create a custom field

Create a new custom field for a specific entity.
OAuth Scope : ZohoBooks.settings.CREATE

Arguments

label
string
(Required)
Display name of the field.
data_type
string
(Required)
Data type of the field. Allowed values: string, number, decimal, amount, date, dropdown, check_box, multiline, email, url, phone, percent, lookup, autonumber, formula, image and attachment.
entity
string
(Required)
Entity type to create the field for (e.g., invoice, contact, bill, expense).
show_on_pdf
boolean
(Required)
Whether the custom field should be displayed on the PDF.
is_mandatory
boolean
Whether the field is mandatory.
placeholder
string
Placeholder text for the custom field.
default_value
string
Default value for the field. Max-length [36000]
value_length
integer
Maximum allowed length for the field value.
decimal_precision
integer
Number of decimal places. Applicable when data_type is decimal.
values
array
List of dropdown options. Required when data_type is dropdown.
Show Sub-Attributes arrow
name
string
Display name of the dropdown option. Max-length [200]
order
integer
Display order of the option.
is_active
boolean
Whether the option is active.
autonumber_prefix
string
Prefix for auto-number fields. Applicable when data_type is autonumber. Max-length [50]
autonumber_suffix
string
Suffix for auto-number fields. Applicable when data_type is autonumber. Max-length [50]
autonumber_start
string
Starting number for auto-number fields. Required when data_type is autonumber.
is_basecurrency_amount
boolean
Whether this amount field uses the base currency. Applicable when data_type is amount.
formula
string
Formula expression. Required when data_type is formula. Max-length [1000]
return_data_type
string
Return data type for formula fields. Required when data_type is formula. Allowed values: string, amount, number, date, decimal, check_box, email, url, phone, percent and multiline.
pii_type
string
Personally Identifiable Information type for the field.
is_unique
boolean
Whether the field value must be unique across records.
help_text
string
Help text displayed alongside the field. Max-length [255]
edit_on_portal
boolean
Whether the field is editable on the customer/vendor portal.
show_on_portal
boolean
Whether the field is visible on the customer/vendor portal.
visibility
string
Field visibility setting.

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/fields?organization_id=10234695" type: POST 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/fields?organization_id=10234695") .post(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/settings/fields?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("POST", "/books/v3/settings/fields?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/fields?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 POST \ --url 'https://www.zohoapis.com/books/v3/settings/fields?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
{ "label": "Account Number", "data_type": "string", "entity": "invoice", "show_on_pdf": false, "is_mandatory": false, "placeholder": "Enter account number", "default_value": "", "value_length": 255, "decimal_precision": 2, "values": [ { "name": "Option 1", "order": 1, "is_active": true } ], "autonumber_prefix": "INV-", "autonumber_suffix": "-A", "autonumber_start": "1", "is_basecurrency_amount": false, "related_entity": "contact", "related_list_name": "Related Invoices", "formula": "if(cf_quantity > 10, \"bulk\", \"single\")", "return_data_type": "string", "pii_type": "string", "is_unique": false, "help_text": "Enter the unique account number", "edit_on_portal": false, "show_on_portal": false, "visibility": "string" }

Response Example

{ "code": 0, "message": "The custom field has been created.", "field": { "field_id": "982000000567001", "label": "Account Number", "api_name": "cf_accnumber", "data_type": "string", "entity": "invoice", "is_active": true, "is_mandatory": false, "show_on_pdf": false, "max_length": 255, "values": [ { "name": "Option 1", "id": 0, "order": 1, "is_active": true } ], "autonumber_prefix": "INV-", "autonumber_suffix": "-A", "autonumber_start": 1 } }

List custom fields

List all custom fields configured for a specific entity.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization
entity
string
(Required)
Entity type to list fields for (e.g., invoice, contact, bill, expense).
filter_custom_fields
boolean
When set to true, returns only custom fields (excludes system fields).
data_type
string
Filter by data type of the field.
field_ids
string
Comma-separated list of field IDs to fetch specific fields.
last_modified_time
string
Fetch fields modified after this timestamp. Format: yyyy-mm-ddTHH:MM:SSZ.
skip_inactive_fields
boolean
When set to true, skips inactive fields from the response.

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/fields?organization_id=10234695&entity=invoice" 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/fields?organization_id=10234695&entity=invoice") .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/fields?organization_id=10234695&entity=invoice', 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/fields?organization_id=10234695&entity=invoice", 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/fields?organization_id=10234695&entity=invoice", "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/fields?organization_id=10234695&entity=invoice' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "fields": [ { "field_id": "982000000567001", "label": "Account Number", "api_name": "cf_accnumber", "data_type": "string", "entity": "invoice", "is_active": true, "is_mandatory": false, "show_on_pdf": false, "max_length": 255, "values": [ { "name": "Option 1", "id": 0, "order": 1, "is_active": true } ], "autonumber_prefix": "INV-", "autonumber_suffix": "-A", "autonumber_start": 1 }, {...}, {...} ] }

Update a custom field

Update an existing custom field.
OAuth Scope : ZohoBooks.settings.UPDATE

Arguments

label
string
Display name of the field.
is_mandatory
boolean
Whether the field is mandatory.
show_on_pdf
boolean
Whether the custom field should be displayed on the PDF.
placeholder
string
Placeholder text for the custom field.
default_value
string
Default value for the field. Max-length [36000]
value_length
integer
Maximum allowed length for the field value.
values
array
List of dropdown options. Applicable when data_type is dropdown.
Show Sub-Attributes arrow
name
string
Display name of the dropdown option. Max-length [200]
order
integer
Display order of the option.
id
long
ID of an existing dropdown option (for updates).
is_active
boolean
Whether the option is active.
edit_on_portal
boolean
Whether the field is editable on the customer/vendor portal.
show_on_portal
boolean
Whether the field is visible on the customer/vendor portal.
pii_type
string
Personally Identifiable Information type for the field.
is_unique
boolean
Whether the field value must be unique across records.
help_text
string
Help text displayed alongside the field. Max-length [255]
visibility
string
Field visibility setting.
lock_type
string
Lock type for the field. Allowed values: error and none.
lock_reason
string
Reason for locking the field. Max-length [255]

Path Parameters

field_id
string
(Required)
Unique identifier of the custom field.

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/fields/982000000567001?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/fields/982000000567001?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/fields/982000000567001?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/fields/982000000567001?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/fields/982000000567001?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/fields/982000000567001?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
{ "label": "Account Number", "is_mandatory": false, "show_on_pdf": false, "placeholder": "Enter account number", "default_value": "", "value_length": 255, "values": [ { "name": "Option 1", "order": 1, "id": 0, "is_active": true } ], "edit_on_portal": false, "show_on_portal": false, "pii_type": "string", "is_unique": false, "help_text": "Enter the unique account number", "visibility": "string", "lock_type": "string", "lock_reason": "string" }

Response Example

{ "code": 0, "message": "The custom field has been updated.", "field": { "field_id": "982000000567001", "label": "Account Number", "api_name": "cf_accnumber", "data_type": "string", "entity": "invoice", "is_active": true, "is_mandatory": false, "show_on_pdf": false, "max_length": 255, "values": [ { "name": "Option 1", "id": 0, "order": 1, "is_active": true } ], "autonumber_prefix": "INV-", "autonumber_suffix": "-A", "autonumber_start": 1 } }

Delete a custom field

Delete an existing custom field.
OAuth Scope : ZohoBooks.settings.DELETE

Path Parameters

field_id
string
(Required)
Unique identifier of the custom field.

Query Parameters

organization_id
string
(Required)
ID of the organization
entity
string
(Required)
Entity type of the custom field.
force_delete
boolean
Force delete the field even if it is in use.

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/fields/982000000567001?organization_id=10234695&entity=invoice" type: DELETE 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/fields/982000000567001?organization_id=10234695&entity=invoice") .delete(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'DELETE', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/fields/982000000567001?organization_id=10234695&entity=invoice', 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("DELETE", "/books/v3/settings/fields/982000000567001?organization_id=10234695&entity=invoice", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "DELETE", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/fields/982000000567001?organization_id=10234695&entity=invoice", "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 DELETE \ --url 'https://www.zohoapis.com/books/v3/settings/fields/982000000567001?organization_id=10234695&entity=invoice' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "The custom field has been deleted." }

Reorder custom fields

Reorder the display order of custom fields for a specific entity type.
OAuth Scope : ZohoBooks.settings.CREATE

Arguments

reorder_fields
string
Comma-separated list of field IDs in the desired order. Max-length [5000]

Query Parameters

organization_id
string
(Required)
ID of the organization
entity_type
string
(Required)
Entity type to reorder fields for.

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/fields/reorder?organization_id=10234695&entity_type=invoice" type: POST 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/fields/reorder?organization_id=10234695&entity_type=invoice") .post(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/settings/fields/reorder?organization_id=10234695&entity_type=invoice', 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("POST", "/books/v3/settings/fields/reorder?organization_id=10234695&entity_type=invoice", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/fields/reorder?organization_id=10234695&entity_type=invoice", "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 POST \ --url 'https://www.zohoapis.com/books/v3/settings/fields/reorder?organization_id=10234695&entity_type=invoice' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "reorder_fields": "982000000567001,982000000567002,982000000567003" }

Response Example

{ "code": 0, "message": "The fields have been reordered." }

Update field status

Activate or deactivate a custom field.
OAuth Scope : ZohoBooks.settings.UPDATE

Path Parameters

field_api_name
string
(Required)
API name of the field (e.g., cf_accnumber).

Query Parameters

organization_id
string
(Required)
ID of the organization
entity
string
(Required)
Entity type of the custom field.
active
boolean
(Required)
Set to true to activate or false to deactivate the field.

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/fields/cf_accnumber/status?organization_id=10234695&entity=invoice&active=SOME_BOOLEAN_VALUE" type: PUT 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/fields/cf_accnumber/status?organization_id=10234695&entity=invoice&active=SOME_BOOLEAN_VALUE") .put(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'PUT', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/fields/cf_accnumber/status?organization_id=10234695&entity=invoice&active=SOME_BOOLEAN_VALUE', 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("PUT", "/books/v3/settings/fields/cf_accnumber/status?organization_id=10234695&entity=invoice&active=SOME_BOOLEAN_VALUE", headers=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/fields/cf_accnumber/status?organization_id=10234695&entity=invoice&active=SOME_BOOLEAN_VALUE", "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 PUT \ --url 'https://www.zohoapis.com/books/v3/settings/fields/cf_accnumber/status?organization_id=10234695&entity=invoice&active=SOME_BOOLEAN_VALUE' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "The field status has been updated." }

Update field dropdown options

Add, update, or remove dropdown options for a custom field.
OAuth Scope : ZohoBooks.settings.UPDATE

Arguments

values
array
List of dropdown options to add or update. Required when action is add or update.
Show Sub-Attributes arrow
name
string
Display name of the dropdown option. Max-length [200]
order
integer
Display order of the option.
id
long
ID of an existing dropdown option. Required for update action.
is_active
boolean
Whether the option is active.
option_ids
string
Comma-separated list of dropdown option IDs to remove. Required when action is remove.

Path Parameters

field_api_name
string
(Required)
API name of the dropdown field.

Query Parameters

organization_id
string
(Required)
ID of the organization
action
string
(Required)
Action to perform. Allowed values: add, remove and update.
entity
string
(Required)
Entity type of the custom field.
is_active
boolean
Whether the option should be active.

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/fields/cf_priority/dropdownoptions?organization_id=10234695&action=add&entity=invoice" 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/fields/cf_priority/dropdownoptions?organization_id=10234695&action=add&entity=invoice") .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/fields/cf_priority/dropdownoptions?organization_id=10234695&action=add&entity=invoice', 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/fields/cf_priority/dropdownoptions?organization_id=10234695&action=add&entity=invoice", 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/fields/cf_priority/dropdownoptions?organization_id=10234695&action=add&entity=invoice", "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/fields/cf_priority/dropdownoptions?organization_id=10234695&action=add&entity=invoice' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "values": [ { "name": "High Priority", "order": 1, "id": 0, "is_active": true } ], "option_ids": "982000000567001,982000000567002" }

Response Example

{ "code": 0, "message": "The dropdown options have been updated." }

Bulk fetch fields

Fetch fields for one or more entities in a single request. Optionally filter by last modified time to get only updated fields.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization
entity
string
Entity type to fetch fields for.
entities
string
Comma-separated list of entity types (max 10).
last_modified_time
string
Fetch fields modified after this timestamp. Format: yyyy-mm-ddTHH:MM:SSZ.

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/fields/bulkfetch?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/fields/bulkfetch?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/fields/bulkfetch?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/fields/bulkfetch?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/fields/bulkfetch?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/fields/bulkfetch?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "fields": [ { "field_id": "982000000567001", "label": "Account Number", "api_name": "cf_accnumber", "data_type": "string", "entity": "invoice", "is_active": true, "is_mandatory": false, "show_on_pdf": false, "max_length": 255, "values": [ { "name": "Option 1", "id": 0, "order": 1, "is_active": true } ], "autonumber_prefix": "INV-", "autonumber_suffix": "-A", "autonumber_start": 1 }, {...}, {...} ] }

Get custom field usage

Get the usage details of a custom field in custom reports and other configurations.
OAuth Scope : ZohoBooks.settings.READ

Path Parameters

field_id
string
(Required)
Unique identifier of the custom field.

Query Parameters

organization_id
string
(Required)
ID of the organization

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/fields/982000000567001/usage?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/fields/982000000567001/usage?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/fields/982000000567001/usage?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/fields/982000000567001/usage?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/fields/982000000567001/usage?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/fields/982000000567001/usage?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Check formula syntax

Validate the syntax of a formula field expression.
OAuth Scope : ZohoBooks.settings.CREATE

Query Parameters

organization_id
string
(Required)
ID of the organization
formula
string
(Required)
The formula expression to validate.
return_data_type
string
(Required)
Expected return data type of the formula. Allowed values: string, amount, number, date, decimal, check_box, email, url, phone, percent and multiline.
entity
string
(Required)
Entity type for which the formula is defined.

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/fields/syntax?organization_id=10234695&formula=if(cf_quantity > 10, "bulk", "single")&return_data_type=string&entity=invoice" type: POST 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/fields/syntax?organization_id=10234695&formula=if(cf_quantity%20%3E%2010%2C%20%22bulk%22%2C%20%22single%22)&return_data_type=string&entity=invoice") .post(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/settings/fields/syntax?organization_id=10234695&formula=if(cf_quantity%20%3E%2010%2C%20%22bulk%22%2C%20%22single%22)&return_data_type=string&entity=invoice', 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("POST", "/books/v3/settings/fields/syntax?organization_id=10234695&formula=if(cf_quantity%20%3E%2010%2C%20%22bulk%22%2C%20%22single%22)&return_data_type=string&entity=invoice", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/settings/fields/syntax?organization_id=10234695&formula=if(cf_quantity%20%3E%2010%2C%20%22bulk%22%2C%20%22single%22)&return_data_type=string&entity=invoice", "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 POST \ --url 'https://www.zohoapis.com/books/v3/settings/fields/syntax?organization_id=10234695&formula=if(cf_quantity%20%3E%2010%2C%20%22bulk%22%2C%20%22single%22)&return_data_type=string&entity=invoice' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "The formula syntax is valid." }

List lookup fields

List available lookup fields for a specific entity.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization
entity
string
(Required)
Entity type to get lookup fields for.
search_text
string
Search text to filter lookup fields.

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/fields/lookupfields?organization_id=10234695&entity=invoice" 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/fields/lookupfields?organization_id=10234695&entity=invoice") .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/fields/lookupfields?organization_id=10234695&entity=invoice', 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/fields/lookupfields?organization_id=10234695&entity=invoice", 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/fields/lookupfields?organization_id=10234695&entity=invoice", "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/fields/lookupfields?organization_id=10234695&entity=invoice' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "fields": [ { "field_id": "982000000567001", "label": "Account Number", "api_name": "cf_accnumber", "data_type": "string", "entity": "invoice", "is_active": true, "is_mandatory": false, "show_on_pdf": false, "max_length": 255, "values": [ { "name": "Option 1", "id": 0, "order": 1, "is_active": true } ], "autonumber_prefix": "INV-", "autonumber_suffix": "-A", "autonumber_start": 1 }, {...}, {...} ] }

List custom fields (simple)

List all custom fields for a specific entity type in a simplified format.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization
entity
string
(Required)
Entity type to list custom fields for.

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/customfields?organization_id=10234695&entity=invoice" 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/customfields?organization_id=10234695&entity=invoice") .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/customfields?organization_id=10234695&entity=invoice', 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/customfields?organization_id=10234695&entity=invoice", 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/customfields?organization_id=10234695&entity=invoice", "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/customfields?organization_id=10234695&entity=invoice' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "fields": [ { "field_id": "982000000567001", "label": "Account Number", "api_name": "cf_accnumber", "data_type": "string", "entity": "invoice", "is_active": true, "is_mandatory": false, "show_on_pdf": false, "max_length": 255, "values": [ { "name": "Option 1", "id": 0, "order": 1, "is_active": true } ], "autonumber_prefix": "INV-", "autonumber_suffix": "-A", "autonumber_start": 1 }, {...}, {...} ] }

Get fields meta

Get field metadata for a specific entity type, including all available field types and configurations.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization
entity
string
(Required)
Entity type to get field metadata for.

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/fields/meta?organization_id=10234695&entity=invoice" 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/fields/meta?organization_id=10234695&entity=invoice") .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/fields/meta?organization_id=10234695&entity=invoice', 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/fields/meta?organization_id=10234695&entity=invoice", 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/fields/meta?organization_id=10234695&entity=invoice", "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/fields/meta?organization_id=10234695&entity=invoice' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Get entity fields meta

Fetch the complete fields metadata for an entity, including system and custom fields.
OAuth Scope : ZohoBooks.settings.READ

Query Parameters

organization_id
string
(Required)
ID of the organization
entity
string
(Required)
Entity type to get fields for.

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/meta/fields?organization_id=10234695&entity=invoice" 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/meta/fields?organization_id=10234695&entity=invoice") .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/meta/fields?organization_id=10234695&entity=invoice', 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/meta/fields?organization_id=10234695&entity=invoice", 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/meta/fields?organization_id=10234695&entity=invoice", "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/meta/fields?organization_id=10234695&entity=invoice' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "fields": [ { "field_id": "982000000567001", "label": "Account Number", "api_name": "cf_accnumber", "data_type": "string", "entity": "invoice", "is_active": true, "is_mandatory": false, "show_on_pdf": false, "max_length": 255, "values": [ { "name": "Option 1", "id": 0, "order": 1, "is_active": true } ], "autonumber_prefix": "INV-", "autonumber_suffix": "-A", "autonumber_start": 1 }, {...}, {...} ] }