Skip to main content
POST
Create giving batch

Authorizations

Authorization
string
header
required

Organization API key created in Grain Settings → API. The key determines the organization and is limited to its assigned resource scopes. Write scopes imply the corresponding read scope.

Headers

X-Organization-Id
string

Required with OAuth access tokens. Optional with organization API keys; if supplied, it must match the key's organization.

Body

application/json
externalReference
string
required
Minimum string length: 1
batchDate
string<date>
required
externalBatchId
string

Generated when omitted.

givingIntegrationId
string | null

When omitted, Grain's non-syncing manual giving integration is used.

givingMerchantId
string | null
settlementId
string | null
contributionIds
string[]
Maximum array length: 10000
dimensions
object[]
Maximum array length: 100
status
enum<string>
Available options:
OPEN,
COMMITTED,
FAILED
errorMessage
string | null

Response

Created giving batch

Giving batch whose totals and donation count are derived from current contribution membership. Metadata and sync diagnostics are excluded.

id
string
externalBatchId
string
externalReference
string
batchDate
string<date-time>

Calendar day represented as a UTC-midnight ISO timestamp.

totals
object
status
enum<string>
Available options:
OPEN,
COMMITTED,
SETTLED,
FAILED
isCommitted
boolean
committedAt
string<date-time> | null
processedAt
string<date-time> | null
errorMessage
string | null
givingIntegration
object | null
merchant
object | null
settlement
object | null
journalEntry
object | null
read-only
dimensions
object[]
fundSplits
object[]
read-only
contributionIds
string[]
isFrozen
boolean
read-only
createdAt
string<date-time>
updatedAt
string<date-time>
Last modified on August 23, 2026