> ## Documentation Index
> Fetch the complete documentation index at: https://docs.doola.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a company's compliance calendar

> Returns the company's compliance obligations. Today this is the single annual report, with its next due date and a derived status (UPCOMING, OVERDUE, NOT_YET_DUE, or UNSUPPORTED_STATE). Read-only — never triggers filing or recomputation. Returns 404 when the company does not exist or is not owned by the calling partner.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/partner/companies/{companyId}/compliance/calendar
openapi: 3.1.0
info:
  title: doola Partner API
  description: >-
    REST API for doola partners to create and manage customers and companies,
    retrieve formation documents, and look up reference data.


    Authenticate every request with a partner API key in the `Authorization`
    header. Generate keys and manage webhooks and event subscriptions in the
    doola Partner Portal.
  contact:
    name: doola
    url: https://www.doola.com
  version: v1
servers:
  - url: https://api.test.doola.com
    description: Sandbox — use test keys (dk_test_…)
  - url: https://api.doola.com
    description: Production — use live keys (dk_live_…)
security:
  - PartnerApiKey: []
tags:
  - name: Playground (sandbox only)
    description: >-
      Sandbox-only helpers to drive a test company through the Formation and
      EinCreation milestones end to end.
  - name: Required Actions
    description: >-
      Actions doola needs you to take on a company, such as supplying new name
      options after a state rejection.
  - name: Customers
    description: Create and look up customers under your partner tenant.
  - name: Documents
    description: List and download a company's formation documents.
  - name: Compliance
    description: Track a company's compliance obligations and their due dates.
  - name: Signatures
    description: Request embedded signing sessions for pending company documents.
  - name: Companies
    description: Create companies for your customers, then track formation status.
  - name: Reference data
    description: >-
      Static lookups for building company-creation requests: NAICS codes,
      states, countries, and state filing fees.
paths:
  /v1/partner/companies/{companyId}/compliance/calendar:
    get:
      tags:
        - Compliance
      summary: Get a company's compliance calendar
      description: >-
        Returns the company's compliance obligations. Today this is the single
        annual report, with its next due date and a derived status (UPCOMING,
        OVERDUE, NOT_YET_DUE, or UNSUPPORTED_STATE). Read-only — never triggers
        filing or recomputation. Returns 404 when the company does not exist or
        is not owned by the calling partner.
      operationId: getComplianceCalendar
      parameters:
        - name: companyId
          in: path
          description: doola company ID (KSUID).
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PartnerComplianceCalendarResponse'
components:
  schemas:
    PartnerComplianceCalendarResponse:
      type: object
      description: A company's compliance calendar — its tracked obligations.
      properties:
        events:
          type: array
          description: >-
            Tracked compliance obligations. Always includes the annual-report
            event, even when the state is unsupported or the company is too new
            — the event's status carries the reason, so an empty list never has
            to be disambiguated.
          items:
            $ref: '#/components/schemas/PartnerComplianceEventDto'
    PartnerComplianceEventDto:
      type: object
      description: A compliance obligation with its next due date and derived status.
      properties:
        type:
          type: string
          description: Obligation type. Only the annual report is returned today.
          enum:
            - ANNUAL_REPORT
          example: ANNUAL_REPORT
        state:
          type:
            - string
            - 'null'
          description: US state the obligation applies to.
          example: CA
        nextDueDate:
          type:
            - string
            - 'null'
          description: >-
            Next due date (yyyy-MM-dd). Null when there is no concrete date —
            UNSUPPORTED_STATE or NOT_YET_DUE.
          example: '2026-11-30'
        lastFiledDate:
          type:
            - string
            - 'null'
          description: >-
            Date the obligation was last filed (yyyy-MM-dd), or null if never
            filed. Included so a rolled-forward due date is explainable.
          example: '2025-11-15'
        status:
          type: string
          description: >-
            Derived status. UPCOMING: a due date is set in the future. OVERDUE:
            the due date passed and it was not filed. NOT_YET_DUE: the company's
            formation filing is not yet complete. UNSUPPORTED_STATE: doola does
            not track an annual report for the company's state.
          enum:
            - UPCOMING
            - OVERDUE
            - NOT_YET_DUE
            - UNSUPPORTED_STATE
          example: UPCOMING
  securitySchemes:
    PartnerApiKey:
      type: apiKey
      description: >-
        Partner API key. Send the raw key as the `Authorization` header value —
        e.g. `dk_test_…` in sandbox or `dk_live_…` in production. Generate and
        rotate keys in the doola Partner Portal.
      name: Authorization
      in: header

````