Bulk Create Entities
Bulk create multiple entities in a single request.
This endpoint is a generic bulk create API for any entity that uses
GeneralizedEntityAPIRouter. It delegates to the shared accountsession
bulk infrastructure:
- Manager layer:
GeneralizedManager.bulk_create_entities() - DB layer:
DBSessionBulkOps.bulk_create_entities()
The operation is partial-safe:
- If some entities fail to create, successful creates are still committed.
- The HTTP status is set to
206 Partial Contentwhen at least one entity fails.
Args: entities_info: List of entity payloads to create (same shape as the regular create endpoint's body). Each item: - Must include all required fields for the entity. - May include custom-field values, which are processed after the base rows are inserted. user: Authenticated user performing the bulk operation. response: FastAPI response object, used to set HTTP status to 206 when needed.
Returns:
JSON object with:
- successfulCount (int): number of entities created successfully
- failedCount (int): number of entities that failed to create
- successfulIds (List[str]): IDs of created entities
- failedIds (List[str]): IDs (when available) or indices of failed entities
- errors (Dict[str,str]): mapping of index or ID → error description
Body·Entities Info
- Type: array of EasedBaseModelProperties: 17
Responses
- application/json
- application/json
curl https://crm.dreamhub.ai/api/v1/people/bulk/create \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"firstName": "John",
"lastName": "Smith",
"companyId": "c-acme123",
"jobTitle": "VP of Engineering",
"phone": "+1-555-123-4567",
"email": "john.smith@acme.com",
"jobFunction": 1,
"deskPhone": "+1-555-123-4567 ext. 123",
"reportsTo": "p-manager123",
"notes": "Prefers email communication",
"address": "123 Main St, San Francisco, CA 94105",
"referenceability": 1,
"status": 1,
"statusReasonText": "Left company",
"statusChangedBy": "u-user123",
"statusChangedAt": "2024-01-15T10:30:00Z",
"additionalProperty": "anything"
}
]'
{
"additionalProperty": "anything"
}
