Create, read, update, and delete a salesOrder record using the NetSuite SuiteTalk REST Record API
domain: docs.oracle.com/en/cloud/saas/netsuite · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
In-depth guide
NetSuite SuiteTalk REST authentication — the full failure-mode walkthrough related to docs.oracle.com/en/cloud/saas/netsuite, checked against official docs, with linked verified routes.
Steps
POST to /services/rest/record/v1/salesOrder with a JSON body representing the order header fields and a nested 'item' sublist array
Capture the 'id' from the response Location header or body to reference the record in subsequent calls
GET /services/rest/record/v1/salesOrder/{id} to retrieve the full record; append ?expandSubResources=true to inline sublist lines
PATCH /services/rest/record/v1/salesOrder/{id} with only the fields you want to change for a partial update
DELETE /services/rest/record/v1/salesOrder/{id} to remove the record, subject to any workflow or lock constraints
Handle 429 (rate-limit) and 409 (concurrency lock) responses with exponential backoff
Known gotchas
Sublist operations via REST use nested collection endpoints (e.g., /salesOrder/{id}/item/{lineId}); a full PATCH to the parent record body does not always replace sublist lines — check the current docs for sublist update semantics
Some fields are read-only or computed (status, tranid) and will be silently ignored or cause a 400 if sent on update
Transaction records that are approved or closed may be locked against modification; check the record's 'status' before attempting updates
Give your agent this knowledge — and 15,600+ 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?