Skip to main content
POST
Submit a NetSuite REST source page

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

sync_id
string
required

Configured source sync receiving the page.

Minimum string length: 1

Query Parameters

confirm
boolean
default:false

Set confirm=true for DELETE_KEYS, REPLACE_SCOPES, or AUTHORITATIVE_SNAPSHOT because those modes may delete rows.

Body

application/json

One bounded NetSuite REST page and its authoritative check-and-set cursor.

idempotency_key
string
required

Stable caller-generated key for this exact source page; reuse it after timeouts.

Required string length: 1 - 255
expected_checkpoint
SourceCheckpoint · object | null
required

Checkpoint that must currently be committed for a scheduled source page.

next_checkpoint
SourceCheckpoint · object | null
required

Checkpoint committed only after every record in a scheduled page applies successfully.

mutation_mode
enum<string>
default:UPSERT

UPSERT applies complete records, DELETE_KEYS removes records by business key, REPLACE_SCOPES atomically replaces declared parent scopes, and AUTHORITATIVE_SNAPSHOT accumulates keyset pages before the page marked snapshot_complete removes every absent destination key.

Available options:
UPSERT
records
Records · object[]

JSON objects containing strings, integers, booleans, or null: up to 1,000 for UPSERT/DELETE_KEYS and 5,000 for REPLACE_SCOPES. Decimal values must be encoded as strings. Nullable columns may be omitted. An empty or omitted list is reserved for a checkpoint-only backfill transition or deleted parent scope.

Maximum array length: 1000
sync_generation
string | null

Immutable recipe-generation binding. Required for checkpoint-independent DELETE_KEYS and REPLACE_SCOPES requests and for Salesforce checkpoint pages; rejected if it is not the sync's current generation.

Required string length: 1 - 255
record_cursors
SourceRecordCursor · object[]

One ordered NetSuite (lastmodifieddate, id) tuple for each record. The service verifies that the terminal tuple exactly equals next_checkpoint before it can advance the durable cursor. May be omitted only when records is empty or omitted.

Maximum array length: 1000
snapshot_complete
boolean | null

Required final-page proof for AUTHORITATIVE_SNAPSHOT; omitted for every other mutation mode.

source_snapshot_upper_id
string | null

Required fixed maximum source id captured by an AUTHORITATIVE_SNAPSHOT's first SuiteQL query; omitted for every other mutation mode.

Maximum string length: 255
Pattern: ^-?\d+$
scope_columns
string[]

Business-key prefix identifying a complete parent scope for REPLACE_SCOPES.

Maximum array length: 8
reconcile_scopes
Reconcile Scopes · object[]

Complete parent scopes to reconcile, including scopes with no current child records.

Maximum array length: 1000
scope_cursors
SourceRecordCursor · object[]

One ordered source cursor per reconcile scope; the final cursor must equal next_checkpoint.

Maximum array length: 1000
tombstone_scopes
Tombstone Scopes · object[]

Subset of reconcile_scopes whose parent was deleted. These delete-wins markers prevent a late parent snapshot from resurrecting children.

Maximum array length: 1000

Response

Terminal result for an idempotent replay or a checkpoint-only transition.

data
SourcePageSubmitResponseData · object
required