Upsert companies
POST/api/v2/bulk/companies/upsert
This request is queued, not processed while you wait. The response carries a correlation id — poll the bulk task until it reports a terminal state. See How asynchronous processing works.
Queued, not immediate. The response carries a correlation id; poll GET /api/v2/bulk/tasks/{correlationId} until the task reports a terminal state; the task carries the status and, on failure, the error. The matched companies, with the BeCause company id each input resolved to, are available in the BeCause app on the API usage tab under Company manager → Import & export → API, or through the companies search. Every company is matched against BeCause on the identifiers you send — BeCause profile id, your own custom identifier, VAT number, domain or coordinates — and created when nothing matches, so send as many identifiers as you hold. Requires the id of the group the companies belong to (from GET /api/v1/groups); every matched or created company is added to that group. claimInvitationEmail, when set, invites that address to claim the company. Submit the standard-holders upsert only after this task reports a terminal state, targeting each company by the same custom identifier you matched it by here, or by the BeCause company id the companies search returns for it.
Request
Responses
- 200
- 400
- 403
Queued. The correlation id means the import has started, not that any company has been created or updated yet.
Returned when the group id or companies list is missing, or when a company has no custom identifiers while MatchOnlyByCustomIdentifier is set.
Returned when the group id in the request doesn't belong to a group your API key's profile can write to.