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

# Retrieve a filing

> > **⚠️ Early access** — This endpoint is in preview and may change in backwards-incompatible ways before it is marked stable. Avoid depending on it in production, and [reach out](mailto:support@getpalm.com) before building on it.

Retrieve a single filing by ID. The response includes its current status, the completion result (registration number for formations, EIN for EIN filings), the bundle of related obligations (`related_items` — EIN filings and the registered agent, each with its own status), cases that need your action (`cases`), generated documents, and recorded fees.



## OpenAPI

````yaml /api-reference/v1/openapi.json get /v1/filing/{filing_id}
openapi: 3.0.0
info:
  title: Palm Partner API
  description: >-
    The Palm API is identity verification and compliance infrastructure for US
    businesses: onboard businesses, verify businesses and people (KYB/KYC)
    against authoritative sources, monitor them for changes in real time, and
    act on their behalf through filings, formation, and registered agent
    services.
  version: '1.0'
  contact:
    name: Palm Support
    url: https://getpalm.com
    email: support@getpalm.com
  termsOfService: https://getpalm.com/terms
  license:
    name: Proprietary
    url: https://getpalm.com/license
servers:
  - url: https://api.getpalm.com
    description: Production
security: []
tags:
  - name: Registry
    description: Search business registries
  - name: Business
    description: Manage the businesses in your portfolio
  - name: User
    description: Manage the people in your portfolio
  - name: Verification
    description: Identity and business verification
  - name: Monitor
    description: Continuous monitoring of businesses
paths:
  /v1/filing/{filing_id}:
    get:
      tags:
        - Filing
      summary: Retrieve a filing
      description: >-
        > **⚠️ Early access** — This endpoint is in preview and may change in
        backwards-incompatible ways before it is marked stable. Avoid depending
        on it in production, and [reach out](mailto:support@getpalm.com) before
        building on it.


        Retrieve a single filing by ID. The response includes its current
        status, the completion result (registration number for formations, EIN
        for EIN filings), the bundle of related obligations (`related_items` —
        EIN filings and the registered agent, each with its own status), cases
        that need your action (`cases`), generated documents, and recorded fees.
      operationId: getFiling
      parameters:
        - name: filing_id
          required: true
          in: path
          description: Filing ID
          schema:
            type: string
      responses:
        '200':
          description: Filing details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Filing'
        '404':
          description: Filing not found
      security:
        - ApiKey: []
components:
  schemas:
    Filing:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the resource
          format: uuid
          example: 123e4567-e89b-12d3-a456-426614174000
        object:
          type: string
          description: Object type
          example: filing
          enum:
            - filing
        mode:
          type: string
          description: >-
            Whether this resource was created with test or live credentials.
            Test and live data are fully isolated — a test resource never
            appears in live results and vice versa.
          enum:
            - test
            - live
          example: live
        created_at:
          type: string
          description: ISO 8601 timestamp of when the resource was created
          format: date-time
          example: '2025-10-24T10:30:00Z'
        updated_at:
          type: string
          description: ISO 8601 timestamp of when the resource was last updated
          format: date-time
          example: '2025-10-24T15:45:00Z'
        metadata:
          type: object
          description: >-
            Store up to 50 custom key-value pairs for application-specific data.
            Useful for storing references to external systems, feature flags, or
            other custom attributes.
          additionalProperties:
            type: string
          example:
            external_id: user_123_in_my_system
            customer_tier: premium
            signup_source: mobile_app
        type:
          type: string
          description: Filing type
          enum:
            - formation
            - ein
            - amendment
            - scorp_election
        status:
          type: string
          description: Current status
          enum:
            - queued
            - ready_to_file
            - processing
            - filed
            - completed
            - rejected
            - canceled
            - failed
        entity_type:
          type: string
          description: Entity type (for formations)
          enum:
            - llc
            - pllc
            - corporation
            - pcorporation
        jurisdiction:
          type: string
          description: Jurisdiction (ISO 3166-2)
          example: US-NC
        name:
          type: string
          description: Business name for the filing
          example: Acme Holdings LLC
        expedited_tier:
          type: string
          description: >-
            Expedited processing tier requested for this filing, or null for
            standard processing. Only set on formations submitted with an
            `expedited_tier`.
          example: same_day
        business_id:
          type: string
          description: Linked business ID
          format: uuid
        result:
          description: >-
            Filing result — populated on completion, `null` until then. Shape
            depends on the filing `type`: formation → `{ registration_number,
            formation_date }`; EIN → `{ ein_number, entity_name }`. Other filing
            types have no result.
          oneOf:
            - $ref: '#/components/schemas/FormationFilingResult'
            - $ref: '#/components/schemas/EinFilingResult'
          nullable: true
        parent_filing_id:
          type: string
          description: Parent filing ID (for bundled EIN/RA)
          format: uuid
        related_items:
          type: array
          description: >-
            Bundle of obligations tracked under this formation, each with its
            own object type and status: filings (state registration, EIN) and
            the registered agent (`id` is the business, resolvable at `GET
            /business/:id/registered-agent`).
          items:
            oneOf:
              - $ref: '#/components/schemas/FilingRelatedItem'
              - $ref: '#/components/schemas/RegisteredAgentRelatedItem'
        documents:
          description: Documents associated with this filing
          type: array
          items:
            $ref: '#/components/schemas/FilingDocument'
        fee:
          description: >-
            Fee components keyed by type (base, dynamic, late, credit_card,
            ach), plus a convenience `total` grand total (assumes credit-card
            payment). Only present components are included. When `items` is set,
            it lists each evaluated rule for itemized rendering — the
            component-keyed values are the sums across those items.
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/FeeBreakdown'
        status_reason:
          type: string
          description: >-
            Reason the filing was canceled (partner request, parent off-boarded,
            duplicate, etc.). Only present when status is `canceled`.
        canceled_by:
          type: string
          description: >-
            Role that initiated the cancellation. One of: `partner`, `palm`.
            Only present when status is `canceled`.
        canceled_at:
          type: string
          description: Timestamp the filing was canceled
          format: date-time
        cases:
          description: >-
            Cases attached to this filing. One entry per partner-visible case,
            in chronological order. Each case carries a typed `request` payload
            describing what Palm needs and, once submitted, a typed `response`.
            Partners respond via `POST /v1/case/:case_id/response`. An entry
            with `status=needs_response` is an outstanding ask — its presence is
            the signal that the filing needs partner action.
          type: array
          items:
            $ref: '#/components/schemas/Case'
      required:
        - id
        - object
        - mode
        - created_at
        - updated_at
        - metadata
        - type
        - status
    FormationFilingResult:
      type: object
      properties:
        registration_number:
          type: string
          nullable: true
          description: State-assigned registration/file number.
          example: NC-12345678
        formation_date:
          type: string
          format: date
          nullable: true
          description: Date the entity was formed (YYYY-MM-DD).
          example: '2026-06-23'
      required:
        - registration_number
        - formation_date
    EinFilingResult:
      type: object
      properties:
        ein_number:
          type: string
          nullable: true
          description: Issued Employer Identification Number.
          example: 12-3456789
        entity_name:
          type: string
          nullable: true
          description: Legal entity name the EIN was issued to.
          example: Acme Holdings LLC
      required:
        - ein_number
        - entity_name
    FilingRelatedItem:
      type: object
      properties:
        object:
          type: string
          description: Object type
          enum:
            - filing
        id:
          type: string
          description: Filing ID
          format: uuid
        type:
          type: string
          description: Filing type
          enum:
            - formation
            - ein
            - amendment
            - scorp_election
        status:
          type: string
          description: Current filing status
          enum:
            - queued
            - ready_to_file
            - processing
            - filed
            - completed
            - rejected
            - canceled
            - failed
      required:
        - object
        - id
        - type
        - status
    RegisteredAgentRelatedItem:
      type: object
      properties:
        object:
          type: string
          description: Object type
          enum:
            - registered_agent
        id:
          type: string
          description: Business ID that owns the registered-agent resource
          format: uuid
        status:
          type: string
          description: Current registered-agent status
          enum:
            - pending
            - active
            - termination_requested
            - terminated
            - failed
      required:
        - object
        - id
        - status
    FilingDocument:
      type: object
      properties:
        id:
          type: string
          description: Document ID
          format: uuid
        object:
          type: string
          description: Object type
          enum:
            - document
        type:
          type: string
          description: Document type
          example: articles_of_organization
        uploaded_at:
          type: string
          description: Upload timestamp
          format: date-time
      required:
        - id
        - object
        - type
        - uploaded_at
    FeeBreakdown:
      type: object
      properties:
        base:
          description: Base filing fee total.
          allOf:
            - $ref: '#/components/schemas/FeeAmount'
        dynamic:
          description: >-
            Variable fee total (e.g. franchise tax, share-based or expedited
            surcharges).
          allOf:
            - $ref: '#/components/schemas/FeeAmount'
        late:
          description: Late fee total.
          allOf:
            - $ref: '#/components/schemas/FeeAmount'
        credit_card:
          description: Credit-card payment surcharge total.
          allOf:
            - $ref: '#/components/schemas/FeeAmount'
        ach:
          description: ACH payment surcharge total.
          allOf:
            - $ref: '#/components/schemas/FeeAmount'
        total:
          description: >-
            Grand total across the applicable fee components — a convenience so
            you do not have to sum the breakdown yourself. Assumes a credit-card
            payment method, so it is `base + dynamic + late + credit_card` (the
            mutually-exclusive `ach` surcharge is excluded). `items` and any
            `expedited_tiers` menu are not included; a requested
            `expedited_tier` surcharge is already in `dynamic`. Always an
            estimate.
          allOf:
            - $ref: '#/components/schemas/FeeAmount'
        items:
          description: >-
            Itemized breakdown — one entry per evaluated rule. Component totals
            above are sums across these.
          type: array
          items:
            $ref: '#/components/schemas/FeeLine'
      required:
        - total
    Case:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the resource
          format: uuid
          example: 123e4567-e89b-12d3-a456-426614174000
        object:
          type: string
          description: Object type
          example: case
          enum:
            - case
        mode:
          type: string
          description: >-
            Whether this resource was created with test or live credentials.
            Test and live data are fully isolated — a test resource never
            appears in live results and vice versa.
          enum:
            - test
            - live
          example: live
        created_at:
          type: string
          description: ISO 8601 timestamp of when the resource was created
          format: date-time
          example: '2025-10-24T10:30:00Z'
        updated_at:
          type: string
          description: ISO 8601 timestamp of when the resource was last updated
          format: date-time
          example: '2025-10-24T15:45:00Z'
        metadata:
          type: object
          description: >-
            Store up to 50 custom key-value pairs for application-specific data.
            Useful for storing references to external systems, feature flags, or
            other custom attributes.
          additionalProperties:
            type: string
          example:
            external_id: user_123_in_my_system
            customer_tier: premium
            signup_source: mobile_app
        parent_type:
          type: string
          description: Type of the parent resource this case attaches to.
          enum:
            - filing
            - verification
            - business
            - session
        parent_id:
          type: string
          description: ID of the parent resource (filing_id, verification_id, etc.).
          example: fil_1a2b3c
        kind:
          type: string
          description: >-
            Typed kind of case. Each kind has its own request/response payload
            shape — see the request/response fields.
          enum:
            - missing_information
            - ra_termination
        status:
          type: string
          description: >-
            Lifecycle status. `needs_response` means the partner must act;
            `under_review` means Palm is working on it. Both are open states.
            `resolved` and `superseded` are terminal.
          enum:
            - needs_response
            - under_review
            - resolved
            - superseded
        summary:
          type: string
          description: One-line summary of the case.
          example: Additional information needed to complete your filing.
        details:
          type: string
          description: Markdown-formatted details about the case.
        request:
          description: >-
            Typed request payload — what Palm is asking for. Shape varies by
            kind.
          allOf:
            - $ref: '#/components/schemas/CaseRequestPayload'
        response:
          description: >-
            Typed response payload — what the partner submitted. Present once
            the partner has responded. Shape varies by kind.
          allOf:
            - $ref: '#/components/schemas/CaseResponsePayload'
        due_at:
          type: string
          description: Timestamp by which the case is expected to be resolved.
          format: date-time
        opened_at:
          type: string
          description: Timestamp the case was opened.
          format: date-time
        resolved_at:
          type: string
          description: Timestamp the case was resolved or superseded.
          format: date-time
        resolution_reason:
          type: string
          description: >-
            Why the case left an open state. Set when status is `resolved` or
            `superseded`.
          enum:
            - response_received
            - no_response_needed
            - parent_canceled
            - parent_completed
            - parent_failed
      required:
        - id
        - object
        - mode
        - created_at
        - updated_at
        - metadata
        - parent_type
        - parent_id
        - kind
        - status
        - summary
        - opened_at
    FeeAmount:
      type: object
      properties:
        amount:
          type: number
          description: Fee amount in whole units
          example: 125
        currency:
          type: string
          description: Currency code
          example: USD
      required:
        - amount
        - currency
    FeeLine:
      type: object
      properties:
        component_type:
          type: string
          description: Component type this rule rolls up under
          enum:
            - base
            - dynamic
            - late
            - credit_card
            - ach
          example: dynamic
        name:
          type: string
          description: >-
            Stable identifier within the component (e.g., "filing",
            "franchise_tax", "expedited"). "default" when there is exactly one
            rule for this component.
          example: franchise_tax
        amount:
          type: number
          description: Fee amount in whole units
          example: 500
        currency:
          type: string
          description: Currency code
          example: USD
      required:
        - component_type
        - name
        - amount
        - currency
    CaseRequestPayload:
      type: object
      properties:
        fields:
          description: 'Fields you''re being asked to supply (kind: missing_information).'
          type: array
          items:
            $ref: '#/components/schemas/FieldSpec'
    CaseResponsePayload:
      type: object
      properties:
        fields:
          type: object
          description: 'Map of field name to value (kind: missing_information).'
          additionalProperties: true
    FieldSpec:
      type: object
      properties:
        name:
          type: string
          description: >-
            Stable machine-readable identifier for the requested field. Used as
            the key in the response payload.
          example: corrected_legal_name
        type:
          type: string
          description: >-
            Primitive type of the requested value. One of: string, number,
            boolean, date.
          example: string
        description:
          type: string
          description: Human-readable prompt explaining what is being asked.
          example: >-
            Corrected legal name (state rejected "Acme LLC" — name already
            taken).
        required:
          type: boolean
          description: >-
            Whether this field must be present in the response. Defaults to
            true.
          example: true
        example:
          description: Example value to help you understand the expected format.
          oneOf:
            - type: string
            - type: number
            - type: boolean
          example: Acme Holdings LLC
      required:
        - name
        - type
        - description
  securitySchemes:
    ApiKey:
      scheme: bearer
      bearerFormat: opaque
      type: http
      description: 'Enter your API key in the format: sk_test_xxxxx or sk_live_xxxxx'

````