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

# Upload a document

> Upload a document file to a case.



## OpenAPI

````yaml POST /cases/{case_id}/documents
openapi: 3.1.0
info:
  title: Sunset API
  description: >
    Estate and probate management platform API. Manage cases, track assets,
    handle bank accounts, and navigate probate proceedings across all US states
    and counties.


    ## Key Features


    - **Full Estate Lifecycle** — Case creation through final asset distribution

    - **Identity Verification** — Verify deceased (SSDI, vital records) and
    executor (government ID, KBA) identity

    - **Real Estate Valuations** — Automated property valuations with comparable
    sales and lien tracking

    - **Communication Tools** — Recorded phone calls, emails, faxes, and online
    notarization

    - **Probate Reference Data** — Requirements for all 50 states, DC, and US
    territories

    - **Multi-Estate Management** — Pro and Enterprise tiers for managing
    multiple cases


    ## API Quality


    - **Idempotency** — `Idempotency-Key` header on all POST endpoints to
    prevent duplicate operations

    - **Rate Limiting** — Tiered rate limits (Pro: 300/min, Enterprise:
    1,000/min)

    - **Conditional Requests** — ETag support with `If-None-Match` and
    `If-Match` headers

    - **Request Tracing** — `X-Request-Id` header on every response

    - **Cursor Pagination** — Optional cursor-based pagination for high-volume
    resources

    - **JSON Merge Patch** — All PATCH endpoints use JSON Merge Patch semantics
    (RFC 7396)
  version: 1.0.0
  contact:
    name: Sunset API Support
servers:
  - url: https://api.example.com/v1
    description: Production
  - url: https://staging-api.example.com/v1
    description: Staging
security: []
tags:
  - name: Cases
    description: Estate/probate case management
  - name: Deceased
    description: Deceased person information
  - name: Executor
    description: Estate executor information
  - name: Authority
    description: Authority verification
  - name: EIN
    description: Employer Identification Number
  - name: Financial Accounts
    description: Estate financial accounts and assets
  - name: Documents
    description: Case document management
  - name: Searches
    description: Asset and background searches
  - name: Persons
    description: Interested persons and beneficiaries
  - name: Goals
    description: Estate management goals
  - name: Bank Accounts
    description: Bank account management
  - name: Signers
    description: Bank account holders and signers
  - name: Transactions
    description: Bank account transactions
  - name: Recurring Payments
    description: Recurring payments and deposits
  - name: Account Beneficiaries
    description: POD/TOD beneficiary designations
  - name: Statements
    description: Bank account statements
  - name: Balance History
    description: Historical balance snapshots
  - name: Probate Reference
    description: State and county probate reference data
  - name: Probate Forms
    description: State-level probate forms
  - name: Probate Case
    description: Case-level probate tracking
  - name: Probate Deadlines
    description: Probate deadlines and due dates
  - name: Probate Filings
    description: Court filings
  - name: Creditor Claims
    description: Creditor claims against the estate
  - name: Distributions
    description: Beneficiary distributions
  - name: Pro Users
    description: Pro user multi-estate management
  - name: Collaborators
    description: Multi-user collaboration and estate sharing
  - name: Closure
    description: Estate closure steps and status tracking
  - name: Institution Contacts
    description: Financial institution contact information and departments
  - name: Phone Calls
    description: Twilio-powered phone calls with recording and summarization
  - name: Emails
    description: Email tool for sending forms and attachments
  - name: Notarization
    description: DocuSign-powered online notarization
  - name: Faxes
    description: One-click fax sending with receipts
  - name: Identity Verification
    description: Verify deceased and executor identity
  - name: Real Estate Valuations
    description: Automated property valuations and tax assessments
  - name: Life Insurance
    description: Life insurance policies and claims
  - name: Credit Cards & Debts
    description: Credit cards, loans, and debt management
  - name: Retirement Accounts
    description: 401(k), IRA, pension, and retirement account management
  - name: Investment Accounts
    description: Brokerage, stocks, bonds, and investment accounts
  - name: Real Estate Properties
    description: Real estate ownership, titles, and property management
  - name: Unclaimed Property
    description: Unclaimed property search and claims
  - name: Vehicles
    description: Vehicles, boats, and titled property
  - name: Business Ownership
    description: Business entities, ownership interests, and succession
paths:
  /cases/{case_id}/documents:
    parameters:
      - $ref: '#/components/parameters/CaseId'
    post:
      tags:
        - Documents
      summary: Upload a document
      description: Upload a document file to a case.
      operationId: uploadDocument
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - file
                - type
              properties:
                file:
                  type: string
                  format: binary
                  description: The document file.
                type:
                  type: string
                  enum:
                    - death_certificate
                    - probate_document
                    - bank_document
                    - credit_report
                    - birth_certificate
                    - deceased_id
                    - executor_id
                    - property_report
                    - will
                    - trust_documents
                    - other
      responses:
        '201':
          description: Document uploaded.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Document'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/ValidationError'
components:
  parameters:
    CaseId:
      name: case_id
      in: path
      required: true
      schema:
        type: string
      description: Unique case identifier (ULID format).
      example: 01K5WF06MJ6T99HRYE78AN7XM8
  schemas:
    Document:
      type: object
      properties:
        id:
          type: string
          example: 01K5XB07CJ5T22HRYE78AN7DEF
        type:
          type: string
          enum:
            - death_certificate
            - probate_document
            - bank_document
            - credit_report
            - birth_certificate
            - deceased_id
            - executor_id
            - property_report
            - will
            - trust_documents
            - other
          example: death_certificate
        file_name:
          type: string
          example: death_cert_scan.pdf
        file_size_bytes:
          type: integer
          example: 245000
        mime_type:
          type: string
          example: application/pdf
        status:
          type: string
          enum:
            - uploaded
            - skipped
            - pending
            - rejected
          example: uploaded
        uploaded_at:
          type: string
          format: date-time
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: validation_error
            message:
              type: string
              example: The request body contains invalid fields.
            details:
              type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                  message:
                    type: string
  responses:
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: not_found
              message: The requested resource was not found.
    ValidationError:
      description: Request validation failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: validation_error
              message: The request body contains invalid fields.
              details:
                - field: email
                  message: Must be a valid email address.

````