---
title: "List a company's plan assignments"
method: GET
path: "/companies/{id}/plan-assignments"
tags: ["Companies"]
---

# List a company's plan assignments

`GET /companies/{id}/plan-assignments`

## Request

- Base URL: `https://api.cavuno.com/v1`
- URL: `https://api.cavuno.com/v1/companies/{id}/plan-assignments`
- Auth: HTTP bearer

Lists the plans assigned to a company, active first, then expired and revoked. Use `status=active` for the plans that currently give the company its benefits (for example, the membership that lets it post jobs). Cursor-paginated. Requires `plans.read`.

## Path parameters

- `id` string, required: The company's opaque object `id`: the `id` field returned by the company endpoints (e.g. `p17xq4c2b9r5gz3e8j0r6t4k7m2n9d5w`). This is NOT the `slug` or display name; passing a slug like `antler` returns 404. To look up a company by name or slug, use `GET /v1/companies`, `POST /v1/companies/search`, or `POST /v1/companies/find-or-create` and read the returned `id`.

## Query parameters

- `cursor` string
- `limit` integer
- `status` 'active' | 'expired' | 'revoked': Only return assignments in this status.

## Response `200`

A page of plan assignments.

- object
  - `object` 'list', required
  - `url` string, required
  - `hasMore` boolean, required
  - `nextCursor` string, nullable, required
  - `data` CompanyPlanAssignment[], required
    - `id` string, required: The plan assignment ID.
    - `object` 'company_plan_assignment', required
    - `companyId` string, required
    - `planId` string, nullable, required: The assigned plan. Null for a custom level granted in the dashboard without a plan.
    - `planName` string, nullable, required
    - `source` 'manual' | 'purchase' | 'invoice' | 'synced', required: `manual`: assigned by an operator. `purchase`: bought at checkout. `invoice`: granted when a plan invoice was paid. `synced`: set by a membership sync.
    - `status` 'active' | 'expired' | 'revoked', required: Only `active` assignments give the company its plan benefits.
    - `expiresAt` string, nullable, required: ISO-8601 time the assignment ends, or null for no end.
    - `createdAt` string, required: ISO-8601 creation time.
    - `updatedAt` string, required: ISO-8601 time of the last change.

## Other responses

- `404`: Company not found.

## Changes

- **2026-10-20** `de39bd3242e2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/changes/companies/:id/plan-assignments/get.md)

---

[API](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api.md) · [All operations](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cavuno/apis/cavuno-v1-rest-api/revisions/d5974dabff14?raw)
