Promote a declared current Fact into Company Core
Adds each target Company's current Fact for one field declared with `promotes` to its Core, without replacing any existing value or primary. Domain values and qualified Identifier values are normalized before insertion. A registration Identifier must use a scheme the country's Commons publishes; it is verified inline and binds an unbound Company when carried. A Legal entity another Company already names is reported as a conflict, and a different entity than the target already names is reported as a mismatch; promotion never folds or rebinds Companies. Each changed Company's version and updated time move, while the immutable source Fact retains its producer and API-key/user attribution. `dryRun` returns the same per-Company outcomes and writes nothing. Free.
Adds each target Company's current Fact for one field declared with promotes to its Core, without replacing any existing value or primary. Domain values and qualified Identifier values are normalized before insertion. A registration Identifier must use a scheme the country's Commons publishes; it is verified inline and binds an unbound Company when carried. A Legal entity another Company already names is reported as a conflict, and a different entity than the target already names is reported as a mismatch; promotion never folds or rebinds Companies. Each changed Company's version and updated time move, while the immutable source Fact retains its producer and API-key/user attribution. dryRun returns the same per-Company outcomes and writes nothing.
Free.
Authorization
bearerAuth In: header
Header Parameters
Required for writes. Reusing this key with the same input replays the original response.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/v1/companies/promote" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "field": "sales.website", "companyIds": [ "7f9c2a14-3b6e-4d51-9a2f-1c8e5b0d47a3", "8a0d3b25-4c7f-4e62-ab30-2d9f6c1e58b4" ], "dryRun": false }'{ "dryRun": false, "field": "sales.website", "promoted": 1, "items": [ { "companyId": "7f9c2a14-3b6e-4d51-9a2f-1c8e5b0d47a3", "outcome": "promoted", "value": "example.com", "heldBy": null }, { "companyId": "8a0d3b25-4c7f-4e62-ab30-2d9f6c1e58b4", "outcome": "no_value", "value": null, "heldBy": null } ]}Mint Companies from your own data, or attach rows to Companies you hold POST
Imports up to 1000 rows. Each row needs a name, an operating country, at least one activity (ISIC Rev.5, NACE Rev.2.1, or NACE Rev.2 — converted to ISIC at the deepest level the code determines), and at least one identifier or domain. A row whose identifier a held Company already carries joins that Company; `into` joins a named Company; otherwise the row mints a new Company. A shared domain or an identical name and country is reported as `similar` and never decides. The whole batch is refused when any row is invalid, when an identifier belongs to two Companies, or when the batch would exceed the plan's Company allowance; `dryRun` returns the same plan and writes nothing. Free. A Company's Legal entity data is paid for once, inside the first priced request that touches it.
Read one Company GET
Returns the Company's Core with its strong ETag, and its Legal entity section: nothing when the Company holds no Registry link, existence with the legal name, the status and the Inventory of the Namespaces it has plus the unlock price when it is verified but not unlocked, and the live registry record once it is. A deleted id and an id of another organization both read as not found. The ETag validates the Core for a conditional correction; it is not a cache validator, because the registry section is read live and changes without the Core changing. Free.