Create Salesforce Service Cloud cases via the REST API
domain: developer.salesforce.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
In-depth guide
Salesforce Bulk API 2.0 limits — the full failure-mode walkthrough related to developer.salesforce.com, checked against official docs, with linked verified routes.
Steps
Obtain an OAuth 2.0 access token using the Connected App client credentials or JWT bearer flow against your Salesforce instance's token endpoint.
Set the Authorization header to 'Bearer YOUR_TOKEN' and target your Salesforce instance URL (e.g., https://YOUR_ORG.my.salesforce.com).
Create a new Case record with POST /services/data/vXX.0/sobjects/Case, supplying required fields: 'Subject', 'Status', and 'Origin', plus optional fields like 'AccountId', 'ContactId', 'Priority', and 'Description'.
Note the 'id' in the response — this is the 18-character Salesforce record ID for the new Case.
Associate an existing Contact by setting 'ContactId' to the contact's record ID; the case appears on the contact's related list immediately.
Update an existing case with PATCH /services/data/vXX.0/sobjects/Case/{caseId} using a partial JSON body — PATCH supports partial updates, unlike PUT.
Known gotchas
The API version segment (vXX.0) must match a version supported by your org — use GET /services/data/ to retrieve the list of supported versions; using a deprecated version may cause field compatibility issues.
Case assignment rules in Salesforce are not triggered by default on API-created cases — include the 'AssignmentRuleHeader' SOAP header equivalent (via a custom header or the Apex trigger route) if you need assignment rules to fire.
Field-level security and record-type restrictions apply to API calls just as they do to UI interactions — ensure the Connected App's running user profile has access to the fields you intend to set.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?