Picklist Settings controls global picklist behavior — what happens to inactive values, whether unrestricted picklists let API submissions through, and similar org-wide toggles. Small page, but the toggles touch every picklist field in the org.
- Open Setup → Picklist Settings
Setup gear → Quick Find: Picklist Settings → Picklist Settings.
- Click Edit
Top-right of the page.
- Configure Restricted Picklist behavior
When picklists are Restricted, API submissions of unlisted values are blocked. Decide: block always, log warnings, or allow?
- Configure inactive value behavior
When a picklist value is deactivated, what happens to existing records using that value? (Stay as-is by default; some configurations move them.)
- Tick Enforce Restriction at API Level
Strongly recommended. Without this, integrations can write any string to a picklist field, creating data quality issues.
- Save
Settings apply to all picklists in the org.
When ticked, API submissions of unlisted values fail validation. Recommended ON.
What happens to existing records when a value is deactivated.
How picklist values appear by default — Alphabetical / Manual.
- Without Enforce Restriction at API Level, restricted picklists are restricted in UI only. Apex / API can still write any string. The restriction is a UX hint, not a data-quality enforcement.
- Deactivating a picklist value doesn't remove it from existing records — they keep the inactive value. Reports including those records show the inactive value normally.
- Global Picklist Value Sets have their own restriction behavior independent of the org-level setting. Check both layers when debugging unrestricted picklists.