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

# Upload Signed Form 8821

> Upload a wet-signed IRS Form 8821 PDF file



## OpenAPI

````yaml POST /providers/irs/f8821/upload/{documentId}
openapi: 3.0.1
info:
  title: Chart API
  description: >-
    Chart Tax API offers real-time collection of verified federal and state tax
    records.
  version: 1.0.0
servers:
  - url: https://api.trychart.com
security:
  - bearerAuth: []
paths:
  /providers/irs/f8821/upload/{documentId}:
    post:
      description: Upload a wet-signed IRS Form 8821 PDF file
      parameters:
        - name: documentId
          in: path
          required: true
          description: The document ID returned from the unsigned form generation endpoint
          schema:
            type: string
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: The signed PDF file to upload
      responses:
        '200':
          description: Successfully uploaded signed form
          content:
            application/json:
              schema:
                type: object
                properties:
                  access_token:
                    type: string
                    description: Access token for the created taxpayer
                  taxpayer_id:
                    type: string
                    description: ID of the created taxpayer
                  provider_id:
                    type: string
                    description: ID of the provider (irs_tax_pro)
        '400':
          description: Bad request - invalid file or document ID
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
        '500':
          description: Failed to process uploaded file
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
      security:
        - clientAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Please use your access_token returned from the /auth/token endpoint.
    clientAuth:
      type: http
      scheme: bearer
      description: >-
        Please use base64 encoded client_id:client_secret. You can use this
        command to generate the base64 encoded string: echo -n
        'client_id:client_secret' | base64

````