Table of Contents


Entity Management API Overview

The Entity Management API lets developers create and manage the tenant's data model over HTTP — entities (tables), fields (columns), picklists, lookup filters, rollup summaries, and formulas — without opening the Setup UI. This is the headless surface: everything an administrator can do in Setup > Create > Entities is available as a REST call.

Use it for schema deployment scripts, migrations between environments, integration setup, and any programmatic tooling that provisions or edits your custom data model.


Endpoint Map

Every Entity Management resource is a regular REST 3 entity, so the standard verb-based conventions apply:

ResourcePurposeBase path
EntityCustom tables/api/3.0/entity/Entity
EntityFieldColumns on an entity/api/3.0/entity/EntityField
PicklistValues inside a picklist or global picklist/api/3.0/entity/Picklist
GlobalPicklistTypeShared value sets reusable across fields/api/3.0/entity/GlobalPicklistType

Every resource supports the standard verbs:

VerbPathWhat it does
POST/api/3.0/entity/{Resource}Create a record.
GET/api/3.0/entity/{Resource}List records (supports the same query-string filters as the record-CRUD API).
GET/api/3.0/entity/{Resource}/{id}Get one record.
GET/api/3.0/entity/{Resource}/{id}/metadataGet the metadata (schema, layouts) sub-resource. Also available for regular data entities.
PATCH/api/3.0/entity/{Resource}/{id}Update a record. See each resource page for what is editable vs immutable.
DELETE/api/3.0/entity/{Resource}/{id}Delete a record. Entity Management deletes drop the underlying table/column and may be blocked by dependencies.
PUT/api/3.0/entity/{Resource}?uniqueField={fieldName}Upsert — match on the named unique field, insert if not found, update if found.

Additional cross-entity endpoint: GET /api/3.0/entity/metadata?entities=Entity1,Entity2 returns metadata for multiple entities in one call.


URL and Resource Casing

The resource name in the URL (e.g. Entity, EntityField) is case-insensitive/api/3.0/entity/Entity and /api/3.0/entity/entity resolve identically. Record IDs and field-type IDs are case-sensitive and must be sent exactly as returned. Where casing appears in payloads or picklist values, treat everything as case-sensitive unless a page says otherwise.

All record IDs are 19 characters long. The first three characters are the entity's KeyPrefix, which the platform assigns at creation time (see Entity Resource).


Authentication

Every request must include a bearer token in the Authorization header. See Get access token for the token flow.

Authorization: Bearer <token>
Content-Type: application/json
Accept: application/json

Send both Content-Type and Accept on every write so validation errors come back with a JSON body instead of a bare HTTP 406.


Permission Requirements

Entity Management is admin-level work. Two roles can call these endpoints:

  • Host users — full access; some options on the entity and field models are Host-only (noted on each resource page).
  • Any user whose Security Role grants CRUD on the Entity and EntityField resources.

A call from a non-privileged user returns HTTP 404 for the entity name to avoid leaking whether the resource exists.


Response Shape

Create / Update / Upsert / Delete return an ActionResponse:

{
  "id": "7NS0000000000A50001",
  "errors": [],
  "success": true
}

On failure, success is false and errors is a non-empty array. When multiple records are submitted (bulk create/upsert), the response is an array in input order, with per-record success/errors.

GET (list) returns:

{
  "Records": [ { ... }, { ... } ],
  "Count": 42
}

GET (single record) returns the record object directly.


Custom Naming and __c Suffix

Custom entities and custom fields receive a __c suffix on their Name automatically. Send the plain name in the payload (for example, "Name": "Invoice"); the platform stores it as Invoice__c. Every subsequent API call uses the suffixed name in the URL path (for example, POST /api/3.0/entity/Invoice__c to create an Invoice record).


Where to Go Next


Entity Resource >>

Last updated on 7/28/2026

Attachments