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

# List available document types

> List all available document types for extraction.

Document types define the schema for extracting structured data from
financial documents. Each type has an active schema version with field
definitions and validation rules.

Categories:
- fund_operations: Capital calls, distributions
- fund_reporting: NAV statements, investor letters
- tax: K-1, 1099 forms
- banking: Bank statements, wire confirmations
- securities: Trade confirmations, brokerage statements
- insurance: Insurance certificates
- legal: Subscription agreements



## OpenAPI

````yaml openapi.json get /v1/document-types
openapi: 3.1.0
info:
  title: DocIntell API
  description: >-

    # DocIntell API


    **Turn Documents into Data. Keep the Source Safe.**


    Financial document intelligence platform that turns PDFs into queryable data
    while keeping source files secure and compliant.


    ## Features


    - **Document Ingestion**: Upload PDFs with SEC 17a-4 compliant immutable
    storage

    - **Schema Projection**: Query extracted data with custom schemas (not data
    dumps!)

    - **Multi-Schema Support**: Same document, multiple query patterns

    - **Webhook Delivery**: Async notifications on job completion

    - **Row-Level Security**: Multi-tenant isolation built-in


    ## Authentication


    All API endpoints (except `/health`, `/`, `/docs`, and `/redoc`) require API
    key authentication.


    Include your API key in the `Authorization` header:


    ```

    Authorization: Bearer dk_live_<your_key>

    ```


    Test keys start with `dk_test_`, production keys with `dk_live_`.


    ## Rate Limiting


    Per-tenant rate limits:

    - **Document ingestion**: 100 documents/hour

    - **Projection queries**: 1,000 requests/hour

    - **Schema operations**: 10 creates/hour


    Rate limit info is returned in response headers:

    - `X-RateLimit-Limit`: Maximum requests allowed

    - `X-RateLimit-Remaining`: Remaining requests in window

    - `X-RateLimit-Reset`: Unix timestamp when limit resets


    ## Error Handling


    All errors follow RFC 7807 Problem Details format:


    ```json

    {
      "error": "error_code",
      "message": "Human-readable description",
      "details": {}
    }

    ```


    Common error codes:

    - `unauthorized` (401): Missing or invalid API key

    - `rate_limit_exceeded` (429): Too many requests

    - `invalid_file_type` (400): Only PDFs supported

    - `file_too_large` (413): File exceeds size limit (default 100MB,
    configurable via MAX_UPLOAD_SIZE_MB)

    - `job_not_found` (404): Job ID doesn't exist or doesn't belong to tenant


    ## Getting Started


    1. Obtain API key from dashboard

    2. Upload PDF: `POST /v1/documents`

    3. Poll status: `GET /v1/documents/{document_id}/status`

    4. Query results: `POST /v1/documents/{document_id}/project`


    Full documentation: [https://docs.docintel.com](https://docs.docintel.com)
        
  contact:
    name: DocIntell Support
    url: https://docintel.com/support
    email: support@docintel.com
  license:
    name: Proprietary
    url: https://docintel.com/terms
  version: 0.1.0
servers:
  - url: http://localhost:8000
    description: Local development
  - url: https://api.docintell.com
    description: Production API
  - url: https://api-staging.docintell.com
    description: Staging environment
security:
  - bearerAuth: []
tags:
  - name: health
    description: Health check operations. Verify service and dependency connectivity.
    x-mint-tag-group: System
  - name: api_keys
    description: API key management operations. Create, list, and revoke API keys.
    x-mint-tag-group: Management
  - name: documents
    description: Document ingestion operations. Upload PDFs for extraction.
    x-mint-tag-group: Core
  - name: jobs
    description: >-
      Job status and query operations. Check extraction status and query
      results.
    x-mint-tag-group: Core
  - name: document-types
    description: >-
      Document type schemas. List and retrieve extraction schema definitions for
      financial document types.
  - name: webhooks
    description: >-
      Webhook configuration management. Create, update, and manage webhook
      endpoints for job completion notifications.
    x-mint-tag-group: Integrations
  - name: stats
    description: Analytics and metrics endpoints. Get document, job, and schema statistics.
  - name: views
    description: >-
      View management for consumption layer. Define field subsets for querying
      extraction data.
paths:
  /v1/document-types:
    get:
      tags:
        - document-types
      summary: List available document types
      description: |-
        List all available document types for extraction.

        Document types define the schema for extracting structured data from
        financial documents. Each type has an active schema version with field
        definitions and validation rules.

        Categories:
        - fund_operations: Capital calls, distributions
        - fund_reporting: NAV statements, investor letters
        - tax: K-1, 1099 forms
        - banking: Bank statements, wire confirmations
        - securities: Trade confirmations, brokerage statements
        - insurance: Insurance certificates
        - legal: Subscription agreements
      operationId: list_document_types_v1_document_types_get
      parameters:
        - name: category
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by category (e.g., 'fund_operations', 'tax', 'banking')
            title: Category
          description: Filter by category (e.g., 'fund_operations', 'tax', 'banking')
          example: fund_operations
      responses:
        '200':
          description: List of all document types with their active schemas
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentTypeListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    DocumentTypeListResponse:
      properties:
        document_types:
          items:
            $ref: '#/components/schemas/DocumentTypeListItem'
          type: array
          title: Document Types
          description: List of available document types
        total:
          type: integer
          title: Total
          description: Total number of document types
      type: object
      required:
        - document_types
        - total
      title: DocumentTypeListResponse
      description: Response for listing document types (GET /v1/document-types).
      examples:
        - document_types:
            - category: fund_operations
              code: capital_call
              description: Capital call notices
              field_count: 12
              name: Capital Call Notice
            - category: tax
              code: k1
              description: K-1 tax documents
              field_count: 15
              name: Schedule K-1
          total: 16
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    DocumentTypeListItem:
      properties:
        code:
          type: string
          title: Code
          description: Unique document type code
        name:
          type: string
          title: Name
          description: Human-readable name
        category:
          type: string
          title: Category
          description: Document category
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Brief description
        field_count:
          type: integer
          title: Field Count
          description: Number of fields in the active schema
      type: object
      required:
        - code
        - name
        - category
        - field_count
      title: DocumentTypeListItem
      description: Document type list item.
      examples:
        - category: fund_operations
          code: capital_call
          description: Capital call notices from fund managers
          field_count: 12
          name: Capital Call Notice
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'API Key authentication. Format: dk_test_<key> or dk_live_<key>'

````