Company Configurations API
Company APIs
Company Configurations API
Retrieve the organization configurable settings, their current values, and allowed options
Company Configurations API
Authentication
All requests require an API key in the request headers. Headers:Code Examples
Success Response
HTTP Status:200 OK
The response contains the full list of configurable settings available for the organization. Each entry describes a single setting along with its current value, input type, and (where applicable) the allowed options. Settings that are not relevant to the organization (for example, integration-specific settings when that integration is not connected) are omitted.
Response Fields:
| Field | Type | Description |
|---|---|---|
ok | boolean | Indicates whether the request was successful |
data | object | Contains the configurations response data |
data.configurations | array | List of configuration settings |
data.configurations[].key | string | Unique identifier of the setting. Use this as the key when updating via the Update Company Configurations API |
data.configurations[].label | string | Human-readable name of the setting |
data.configurations[].value | boolean, string, number, or array | Current value of the setting. The type depends on the setting type |
data.configurations[].type | string | Input type of the setting. Possible values: TOGGLE, SELECT, MULTISELECT, TEXT, NUMBER |
data.configurations[].info | object | Help text describing the setting |
data.configurations[].info.header | string | Summary line for the setting |
data.configurations[].info.points | array | Optional list of additional explanatory points |
data.configurations[].options | array | Allowed options. Present for SELECT and MULTISELECT settings |
data.configurations[].options[].label | string | Display label for the option |
data.configurations[].options[].description | string | Optional description of the option |
data.configurations[].options[].value | string | Value of the option (used when updating the setting) |
data.configurations[].isEditable | boolean | Whether the setting can be updated. Settings with false are read-only |
data.context | object | Response metadata |
data.context.count | number | Total number of configuration settings returned |
data.context.accountingPlatform | string or null | Name of the connected accounting platform (e.g., TALLY, ZOHO). null if no accounting integration is connected |
Setting Type Values
| Value | value type | Description |
|---|---|---|
TOGGLE | boolean | On / off switch |
SELECT | string | Single choice from options |
MULTISELECT | array | Multiple choices from options |
TEXT | string | Free-text value |
NUMBER | number | Numeric value |
The
value returned here is the unwrapped value (e.g., "value": true). When updating a setting via the Update Company Configurations API, the value must be wrapped in an object — "value": { "value": true }.Response Example
Error Responses
Access Denied
HTTP Status:403 Forbidden
Authentication Errors
HTTP Status:401 Unauthorized
Permission Errors
HTTP Status:403 Forbidden
Internal Error
HTTP Status:500 Internal Server Error
Best Practices
- Read the current configuration here first, then update settings with the Update Company Configurations API using the
keyvalues returned above - Skip settings where
isEditableisfalse— they cannot be updated - For
SELECTandMULTISELECTsettings, only send values that appear in the setting’soptions - Access is limited to users with organization read permission and an admin or bookkeeper role