---
title: "Get the annual report requirements for a company"
method: GET
path: "/v1/partner/companies/{companyId}/compliance/annual-reports/requirements"
tags: ["Annual Report Filing"]
---

# Get the annual report requirements for a company

`GET /v1/partner/companies/{companyId}/compliance/annual-reports/requirements`

## Request

- Base URL: `https://api.test.doola.com`
- URL: `https://api.test.doola.com/v1/partner/companies/{companyId}/compliance/annual-reports/requirements`
- Auth: API key in header `Authorization`

Returns the fields the partner must collect before submitting the company's annual report, derived from its state and entity type, together with the due date from the compliance calendar. Read-only. Most states ask no questions at all, so for most companies the response carries only the company details. A state that requires no annual report answers 200 with isFilingRequired false and an empty field list. Returns 404 when the company does not exist or is not owned by the calling partner.

## Path parameters

- `companyId` string, required

## Query parameters

- `fiscalYear` integer

## Response `200`

The fields to collect, with the due date. Only a handful of states add question fields on top of the company details. Read isFilingRequired first: when false there is no report to file and the field list is empty.

- PartnerAnnualReportRequirementsResponse: What the company's state asks for on its annual report.
  - `doolaCompanyId` string: doola company ID (KSUID).
  - `state` string: US state the report is filed in.
  - `entityType` 'LLC' | 'CCorp': Entity type the field list applies to.
  - `fiscalYear` integer: Fiscal year the requirements apply to.
  - `dueDate` string, nullable: Due date from the compliance calendar (yyyy-MM-dd), or null when there is no concrete date yet.
  - `fields` PartnerRequirementFieldDto[]: Fields to collect, in the order to present them. Always carries the company details; question fields appear only for the few states that ask any, which today is a handful. Empty when isFilingRequired is false.
    - `fieldId` string: Field id. Send the answer back under this value, as answers[].fieldId.
    - `label` string: Label to show the customer.
    - `type` 'TEXT' | 'NUMBER' | 'SELECT' | 'RADIO' | 'AMOUNT' | 'DATE' | 'BOOLEAN' | 'ADDRESS': How to render the field. ADDRESS means a structured address rather than a string. DATE and BOOLEAN are published so adding one later is not a breaking change; no field uses them today.
    - `group` 'QUESTION' | 'COMPANY_DETAIL': Where the field comes from. QUESTION is asked by the state; COMPANY_DETAIL is company data doola already holds.
    - `required` boolean: Whether the filing is rejected without this field.
    - `affectsFee` boolean: Whether the state's fee is computed from this field. True on the Wyoming asset figures, which the fee reads from the submitted answers, and on the authorized share count for a Delaware C-corp. False everywhere else, where the fee does not read the field at all.
    - `options` string[], nullable: Allowed values for SELECT and RADIO, null otherwise.
    - `dependsOn` PartnerFieldDependencyDto: The answer another field must carry before this one applies.
      - `fieldId` string: The id of the field this one waits on, as it appears in fields[].fieldId.
      - `answer` string: The answer that field must carry.
  - `isFilingRequired` boolean: Whether the state requires an annual report at all. False comes with an empty fields list because there is nothing to file - not because the state asks for nothing.

## Other responses

- `400`: E_VALIDATION_FAILED: fiscalYear is outside the accepted range.
- `404`: E_COMPANY_NOT_FOUND: the company does not exist, or is not owned by the calling partner.
- `422`: E_STATE_NOT_SUPPORTED: doola holds no annual-report data for the company's state and entity type. Should not occur for a company created through this API; a state that files no annual report answers 200 with isFilingRequired false.

## Changes

- **2026-11-03** `f607744a8927`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/doola/apis/doola-partner-api/changes/v1/partner/companies/:companyId/compliance/annual-reports/requirements/get.md)

---

[API](https://skmtc.dev/doola/apis/doola-partner-api.md) - [All operations](https://skmtc.dev/doola/apis/doola-partner-api/llms.txt) - [OpenAPI document](https://skmtc.dev/doola/apis/doola-partner-api/revisions/f607744a8927?raw)
