Added
Batch upsert groups — Create or update up to 1000 groups in a single request
17 days ago by Lea Seica
Create or update up to 1,000 groups in a single request You can now sync group records in batches using POST /v3/groups/batch-upsert.
This endpoint replaces thousands of sequential requests with a single call, making large-scale imports faster and more reliable for ERP and SIS integrations.
How it works
This endpoint performs a batch upsert (create-or-update in one request):
- Groups are matched using
externalReferenceId - If a match is found → the group is updated
- If no match is found → a new group is created
Each group is processed independently, so one failure does not block the rest of the batch.
What’s new
- Batch upsert: create or update up to 1,000 groups per request
- Partial success support: failed records don’t block the rest
- Deterministic behavior: no implicit restoration or hidden side effects
- Idempotent syncs using your own identifiers
- No cross-record side effects: each group is processed independently
What to expect
- Returns
200when all groups succeed - Returns
207when some groups fail - Use
inputIndexto map results to your original payload
Overview
Endpoint: POST /v3/groups/batch-upsert
Limits: minimum 1, maximum 1000 groups per request. The endpoint is rate-limited.
{
"groups": [
{
"name": "Promo 2026 - Paris",
"externalReferenceId": "your-external-reference-id-001",
"externalReferenceType": "Ypareo",
"description": "First year economics cohort",
"parentExternalReferenceId": "parent-group-ref-001",
"logoUrl": "https://cdn.example.com/logo.png"
},
{
"name": "Promo 2026 - Lyon",
"externalReferenceId": "your-external-reference-id-002",
"externalReferenceType": "Ypareo",
"description": "First year computer science cohort",
"parentExternalReferenceId": "parent-group-ref-001",
"logoUrl": "https://cdn.example.com/logo2.png"
}
]
}Group fields:
Defines the attributes used to create or update a group record. Only provided fields are updated (partial update semantics).
| Field | Type | Description |
|---|---|---|
externalReferenceId | string | Your unique identifier for the group. Used as the create-or-update match key. Max 64 characters. |
externalReferenceType | string | Name of the source system or connector. Max 30 characters. |
name | string | Required on create. Max 255 characters. |
description | string | Accepts null to clear. Max 255 characters. |
parentExternalReferenceId | string | External reference ID of the parent group. Accepts null to clear. Max 255 characters.s |
photoUrl | string (URL) | Accepts null to clear. Max 500 characters. |
