---
title: "Unified organizations endpoint"
method: POST
path: "/v9/organizations"
tags: ["organizations"]
---

# Unified organizations endpoint

`POST /v9/organizations`

## Request body

- EnrichOrganizationsRequest
  - `organizations` MatchOrganizationInput[], nullable — List of organizations to resolve and enrich. Mutually exclusive with `filter`.
    - `name` string, nullable — Organization name
    - `url` string, nullable — Organization website URL or domain
    - `location` string, nullable — Organization location (country name or code)
    - `id` integer, nullable — Organization Id on Sumble. When set, the row identifies a Sumble org directly and bypasses matching; name/url/location are not required.
    - `slug` string, nullable — Organization slug on Sumble. When set, the row identifies a Sumble org directly and bypasses matching; name/url/location are not required.
  - `filter` Query
    - `query` string, required
  - `select` Select, required
    - `attributes` string[] — Baseline company attributes to include. Off by default.
    - `entities` EntitySelection[] — Per-entity metric selections.
      - `type` 'job_function' | 'technology' | 'project' | 'advanced_query' | 'technology_category', required — The entity type to enrich against.
      - `term` string, required — The entity term: a technology name, job function, project, category, or advanced query string.
      - `metrics` union — Metric names valid for `type`, or "all". Required for every type.
        - string[]
        - 'all'
      - `granularity` 'aggregate' | 'exploded', nullable — `technology_category` only (required there, disallowed elsewhere). `aggregate` rolls the category up into one set of counts; `exploded` decomposes into per-component-technology counts.
      - `since` string, nullable — Scopes job_post_count, job_post_used_count, team_count, and people_count to activity since this date (YYYY-MM-DD). Does not affect people_count_growth_1y. No-rollup metrics are all-time only: with `since` set they are excluded from `metrics: "all"` and rejected if requested explicitly.
  - `limit` integer — Maximum number of results to return.
  - `offset` integer — Number of results to skip.
  - `order_by_column` union — Column to order by (filter mode only). Parameterized sorts (this endpoint only): `people_concentration` and `people_count_growth_1y` sort by the named job function's people metrics — the all-time fraction of the org's tracked people in it, and its current YoY people growth % (latest month vs. one year earlier; orgs without growth data sort last) respectively — and require `order_by_job_function`. `job_post_concentration` sorts by the all-time fraction of the org's job posts matching `order_by_advanced_query`, which it requires. `source_data_url` is omitted for all three, since the listing page cannot reproduce their ordering.
    - 'industry' | 'employee_count' | 'employee_count_int' | 'first_activity_time' | 'last_activity_time' | 'jobs_count' | 'teams_count' | 'people_count' | 'jobs_count_growth_6mo' | 'cloud_spend_estimate_millions_usd' | 'account_score'
    - 'people_concentration' | 'people_count_growth_1y'
    - 'job_post_concentration'
  - `order_by_direction` 'ASC' | 'DESC', nullable — Direction to order by (filter mode only).
  - `order_by_job_function` string, nullable — Job function whose people metrics drive the sort. Required with (and only valid with) `order_by_column="people_concentration"` or `order_by_column="people_count_growth_1y"`.
  - `order_by_advanced_query` string, nullable — Advanced query whose matching job posts form the sort numerator. Required with (and only valid with) `order_by_column="job_post_concentration"`. Allowed fields: technology, technology_category, job_function, project, job_level, country. Both the matching and total job counts are all-time.

## Response `200`

Successful Response

- EnrichOrganizationsResponse
  - `id` string, uuid, required
  - `credits_used` integer, required
  - `credits_remaining` integer, required
  - `organizations` ResultRow[], required
    - `input` MatchOrganizationInput
      - `name` string, nullable — Organization name
      - `url` string, nullable — Organization website URL or domain
      - `location` string, nullable — Organization location (country name or code)
      - `id` integer, nullable — Organization Id on Sumble. When set, the row identifies a Sumble org directly and bypasses matching; name/url/location are not required.
      - `slug` string, nullable — Organization slug on Sumble. When set, the row identifies a Sumble org directly and bypasses matching; name/url/location are not required.
    - `attributes` Attributes
      - `id` integer, nullable
      - `slug` string, nullable
      - `name` string, nullable
      - `url` string, nullable
      - `employee_count` integer, nullable
      - `industry` string, nullable
      - `jobs_count` integer, nullable
      - `teams_count` integer, nullable
      - `jobs_count_rollup` integer, nullable — Total job posts at the organization including all subsidiaries (hierarchy rollup). Consistent with the entity-metric `job_post_count` and the denominator of `job_post_concentration`.
      - `jobs_count_no_rollup` integer, nullable — Job posts attributed to this organization's own records only, excluding subsidiaries. Consistent with the `job_post_count_no_rollup` entity metric.
      - `teams_count_rollup` integer, nullable — Total teams at the organization including all subsidiaries (hierarchy rollup). Consistent with the entity-metric `team_count`; use this rather than the legacy `teams_count` (own-records only, different source) as the denominator for team-share math against entity metrics.
      - `teams_count_no_rollup` integer, nullable — Teams attributed to this organization's own records only, excluding subsidiaries. Consistent with the `team_count_no_rollup` entity metric.
      - `people_count_rollup` integer, nullable — People tracked by Sumble at the organization including all subsidiaries (hierarchy rollup). Consistent with the entity-metric `people_count` and the denominator of `people_concentration`. Not the same as `employee_count` (LinkedIn-reported headcount).
      - `people_count_no_rollup` integer, nullable — People attributed to this organization's own records only, excluding subsidiaries. Consistent with the `people_count_no_rollup` entity metric.
      - `headquarters_country` string, nullable
      - `sumble_score` number, nullable
      - `sumble_url` string, nullable
      - `parent_id` integer, nullable
      - `subsidiary_ids` integer[], nullable
      - `tags` string[], nullable
      - `account_status` 'customer' | 'prospect' | 'not_in_crm', nullable — CRM relationship between the org and the user's account: 'customer' (a customer account in the user's CRM), 'prospect' (tracked in CRM but not a customer), or 'not_in_crm' (no CRM record). Free (no credit cost). Only populated when the user's account has a linked CRM seat; omitted for other users even if requested.
      - `funding_total_raised` integer, nullable — Total funding raised across all rounds, in whole USD. LLM-extracted from SEC filings and web search; approximate, and may be unconverted for non-USD rounds.
      - `funding_valuation` integer, nullable — Most recent post-money valuation, in whole USD. LLM-extracted; approximate.
      - `funding_last_round_raised` integer, nullable — Amount raised in the latest funding round, in whole USD. LLM-extracted; approximate.
      - `funding_last_round_type` string, nullable — Latest funding round type, e.g. seed, series_a, private_equity.
      - `funding_last_round_date` string, date, nullable — Date of the latest funding round (ISO YYYY-MM-DD).
      - `cloud_spend_estimate_millions_usd` number, nullable
    - `entities` EntityResult[]
      - `type` 'job_function' | 'technology' | 'project' | 'advanced_query' | 'technology_category', required
      - `term` string, required
      - `job_post_count` integer, nullable
      - `job_post_count_url` string, nullable
      - `job_post_used_count` integer, nullable — technology only. Number of the org's job posts that list this technology as actively used (rather than merely mentioned). Scoped to the same `since` window as job_post_count when set. None for non-technology entities.
      - `team_count` integer, nullable
      - `team_count_url` string, nullable
      - `people_count` integer, nullable
      - `people_count_url` string, nullable
      - `job_post_concentration` number, nullable — advanced_query only. Fraction (0-1) of the org's job posts matching the query. Scoped to the same `since` window as job_post_count when set. None for unresolved orgs or orgs with no job posts.
      - `people_concentration` number, nullable — job_function only. Fraction (0-1) of the org's tracked people in this job function: people_count / total people in the org. Scoped to the same `since` window as people_count when set. None for unresolved orgs or orgs with no tracked people.
      - `people_count_growth_1y` number, nullable
      - `people_count_growth_1y_url` string, nullable
      - `job_post_count_growth_1y` number, nullable
      - `job_post_count_growth_1y_url` string, nullable
      - `job_post_count_no_rollup` integer, nullable — technology, job_function, and project selections only. Same as `job_post_count` but excluding records attributed to subsidiaries (the organization's own records only). All-time only — not affected by `since`.
      - `team_count_no_rollup` integer, nullable — technology, job_function, and project selections only. Same as `team_count` but excluding records attributed to subsidiaries. All-time only — not affected by `since`.
      - `people_count_no_rollup` integer, nullable — technology and job_function selections only. Same as `people_count` but excluding records attributed to subsidiaries. All-time only — not affected by `since`.
      - `granularity` 'aggregate' | 'exploded', nullable
      - `components` EntityResult[], nullable
  - `matched_count` integer, nullable
  - `total` integer, required
  - `source_data_url` string, uri, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/sumble/apis/sumble-api.md) · [All operations](https://skmtc.net/sumble/apis/sumble-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sumble/sumble-api/revisions/fbfd97abec00/schema)
