Limited AvailabilityAccess to the Compliance API is currently limited to approved partners. Endpoints, request/response shapes, and field names may change before reaching general availability — use against staging for early integration work and coordinate with your CorpNet account manager before relying on Compliance API calls in production-critical paths. Report issues or feedback to your account manager.
POST /v1/partners/{partnerId}/companies/bulk
Creates multiple companies in a single transaction. Uses the same per-company field schema as Create a Company. All-or-nothing: any validation failure rolls back the entire batch.
Recommended batch size~200 companies per request. Practical upper bound is 500–1000 per request depending on payload size. Larger batches risk timing out at the gateway.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
partnerId | String | Yes | Your Account PID. |
Request Body
A JSON array of company objects. Each element follows the same schema documented in Create a Company.
[
{
"name": "ABC Company Inc",
"formationDate": "2020-01-15",
"type": "LLC",
"homeState": "CA",
"businessAddress": {
"street": "123 Main St",
"city": "San Francisco",
"state": "CA",
"zip": "94105"
}
},
{
"name": "XYZ Corporation",
"formationDate": "2019-05-20",
"type": "Corporation",
"homeState": "DE",
"businessAddress": {
"street": "456 Industrial Blvd",
"city": "Wilmington",
"state": "DE",
"zip": "19801"
}
}
]Example
curl -s -X POST \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '[{"name":"Alpha LLC"},{"name":"Beta Inc"}]' \
"https://api.corpnet.com/v1/partners/P123456/companies/bulk"Response — 200 OK
200 OK{
"data": [
{ "companyId": "a0A5e000002abcd", "PCID": "PC123456" },
{ "companyId": "a0A5e000002efgh", "PCID": "PC123457" }
],
"statusCode": 200,
"message": "Success"
}Each element in the data array corresponds positionally to an input record.
Error Responses
{ "statusCode": 400, "message": "No account found for the provided PID.", "data": [] }{ "statusCode": 400, "message": "FIELD_CUSTOM_VALIDATION_EXCEPTION, Company name is required: [Name]", "data": [] }Failure is all-or-nothing. If any single company in the batch fails validation, no companies are persisted and the response data is an empty array.
Notes
- For batches larger than ~500, split into multiple requests on your side. CorpNet does not parallelize internally per partner.
- The batch is a single transaction at our service layer, not a fire-and-forget queue. Expect end-to-end latency proportional to batch size — plan client timeouts accordingly.