Assign Company Owner
POST /companies/assign-owner
Set the owner on EVERY company matching a selection.
The selection is resolved server-side, so the number of companies affected
is not bounded by anything in the request. A null owner_id UNASSIGNS
them all.
Authorizations
Parameters
Header Parameters
Request Body required
Set the owner on every record matching a selection.
A null owner_id UNASSIGNS the matching records rather than leaving them
alone, so an omitted owner is a destructive instruction, not a no-op.
object
Per-column filters.
object
An AND/OR group of leaves and nested groups, at most three groups deep.
Mirrors SegmentFilterGroup in contacts.domain.value_objects.ag_grid_models.
op is closed because the app REFUSES an unrecognised connector rather
than defaulting to AND - defaulting would silently return a different
result set, and on a destructive route that is a different set of records
acted on.
FIXED DEPTH, NOT RECURSIVE. The app’s model is self-referencing; the
published one deliberately is not, because a schema that reaches itself
through $ref sends the docs renderer into unbounded recursion. Three
group levels (this one, SegmentFilterSubgroup, SegmentFilterInnerGroup)
cover every filter the app’s own builder produces; the app’s larger depth
and leaf budget still applies and surfaces as a 422.
object
Nested groups and/or leaf conditions.
The second group level: leaves and/or innermost groups.
object
Innermost groups and/or leaf conditions.
The third and deepest group level: leaf conditions only.
object
Leaf conditions.
One field-level condition inside an advanced-filter tree.
Mirrors contacts.domain.value_objects.ag_grid_models.SegmentFilterLeaf.
op is CLOSED here: the app compiles its UI vocabulary down to this
canonical set before sending, and an unrecognised operator reaching the
SQL builder is a 500 rather than a refusal naming the valid operators.
Connector for this group. Case-insensitive.
One field-level condition inside an advanced-filter tree.
Mirrors contacts.domain.value_objects.ag_grid_models.SegmentFilterLeaf.
op is CLOSED here: the app compiles its UI vocabulary down to this
canonical set before sending, and an unrecognised operator reaching the
SQL builder is a 500 rather than a refusal naming the valid operators.
Connector for this group. Case-insensitive.
One field-level condition inside an advanced-filter tree.
Mirrors contacts.domain.value_objects.ag_grid_models.SegmentFilterLeaf.
op is CLOSED here: the app compiles its UI vocabulary down to this
canonical set before sending, and an unrecognised operator reaching the
SQL builder is a 500 rather than a refusal naming the valid operators.
Connector for this group. Case-insensitive.
Responses
200
Successful Response
object
An open envelope for one record, one dashboard or one job receipt.
Open because most of these reads are COMPUTED shapes - an engagement summary, a next-best-step, an intelligence status - that grow with the product, and dropping a field from an advisory read makes it say “nothing to report” rather than “we did not tell you”.
object
object
Whether there are more pages
Items per page
Current page number (1-indexed)
Total number of items
422
Validation Error