Authenticate calls with your GHL API key and the required scope, such as locations/customValues.readonly for reading or the write equivalents for modification. Use OAuth 2.0 where supported to authorize user access securely.
Use the same secure token method your app employs to obtain an access token. Include the token in request headers, rotate keys regularly, and follow least privilege practices.
GET /locations/:locationId/customValues — read all custom values for a location GET /locations/:locationId/customValues/:id — read a single custom value locations/customValues.write — write access for values POST /locations/:locationId/customValues — create a new custom value PUT /locations/:locationId/customValues/:id — update a custom value DELETE /locations/:locationId/customValues/:id — delete a custom value locations/customFields.readonly — read custom fields GET /locations/:locationId/customFields — list custom fields for a location GET /locations/:locationId/customFields/:id — read a specific custom field GET /custom-fields/:id — fetch a field by id GET /custom-field/object-key/:key — fetch by key locations/customFields.write — write access for fields POST /locations/:locationId/customFields — create a new custom field PUT /locations/:locationId/customFields/:id — update a custom field DELETE /locations/:locationId/customFields/:id — delete a custom field locations/tags.readonly — read tags GET /locations/:locationId/tags — list tags
When a location is viewed, pull its custom values to populate charity widgets on the site.
Use GET endpoints to fetch values and map them to page elements. Update values with the write endpoints as needed.
GET /locations/:locationId/customValues
locationId, id, key, value
When new fields are required, create or update via customFields endpoints.
Create or update fields with POST /locations/:locationId/customFields and modify with PUT, remove with DELETE.
POST /locations/:locationId/customFields
locationId, id, key, label, type
When updates occur, sync values between the GHL account and the charity website.
Leverage both read and write endpoints for seamless data flow and real-time updates.
GET /custom-fields/:id or PUT /locations/:locationId/customValues/:id
locationId, id, value, key, fieldId
Create dynamic charity content without writing code by mapping platform data to website widgets.
Automatic updates keep donor and program information fresh across sites.
Flexible schemas with custom fields that adapt to evolving charity needs.
This glossary defines custom fields, values, endpoints, and basic data flow for the integration.
A labeled data point attached to a location that stores a specific type of information such as text or number.
The actual data stored for a custom field, representing a specific datum like a donor tier or program code.
A URL path exposing an operation to read or modify data in the GHL API.
A business or charity location within GHL to which fields apply.
Show real-time counts of active volunteers by reading custom values and displaying progress bars on charity pages.
Present donor tiers or milestones by mapping custom fields to badges across pages.
Aggregate field data to dashboards showing program reach and outcomes in real time.
Define which data points live as custom fields and how values will be stored for each charity location.
Create or select an API key, set the required scopes, and implement token handling.
Connect your app to the endpoints, then build automations to sync data across sites.
The Custom Fields API exposes endpoints to read and write data attached to charity locations. It enables you to surface location-specific information on charity websites and to push updates back to GHL. This makes it possible to keep site content aligned with back-end data without manual edits. In practice, you will map custom values and fields to page components for a seamless user experience. Use the read endpoints to fetch current values and the write endpoints to create, update, or delete values as needed.
Authentication is done with a secure API key or token that carries the required scopes. For reading data you typically need locations/customValues.readonly or locations/customFields.readonly, and for writing you will use the corresponding write scopes. Protect tokens, rotate keys regularly, and apply least privilege in your integration setup. If your setup supports OAuth 2.0, use it to authorize users and manage access more securely.
For reading data, the GET endpoints such as GET /locations/:locationId/customValues and GET /locations/:locationId/customFields are ideal. For updates, use POST /locations/:locationId/customValues to add values, and PUT /locations/:locationId/customValues/:id to modify existing ones. For fields, use POST /locations/:locationId/customFields and PUT /locations/:locationId/customFields/:id as needed.
Yes. You can create new custom fields using POST /locations/:locationId/customFields. You can then configure the field’s key, label, and type. Manage the field with PUT and remove it with DELETE when it is no longer needed.
Expect standard API errors and occasional rate limiting. Implement robust error handling, exponential backoff, and retries for recoverable errors. Log failed requests and monitor quota usage to prevent disruptions in your charity website workflows.
No-code options exist via connectors and automation platforms that can call the endpoints without writing code. For advanced mapping or complex logic, lightweight scripting or custom automation can help you tailor data flows and UI components on charity sites.
Field data types typically include text, number, date, and select options. The endpoints describe how each field is stored and validated. Refer to the endpoint responses to confirm allowed types and value formats for your specific use case.
Due to high volume, we will be upgrading our server soon!
Complete Operations Catalog - 126 Actions & Triggers