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

# List

> Retrieve a paginated list of uploaded documents.



## OpenAPI

````yaml get /document/
openapi: 3.0.3
info:
  title: Fleet IT Customer API
  version: 2.0.0
  description: >-
    Public API for Fleet IT platform customers.


    For detailed guides, authentication setup, error codes, and integration
    examples, see the [Fleet IT
    Documentation](https://docs.fleetit.com/documentation/overview).


    ## Headers


    All authenticated endpoints accept an optional `Fleet-Id` header (integer)
    to specify which fleet to operate on. If omitted, the user's default fleet
    is used.
servers: []
security:
  - JWT: []
  - APIKey: []
externalDocs:
  url: https://docs.fleetit.com/documentation/overview
  description: Fleet IT Documentation
paths:
  /document/:
    get:
      tags:
        - Documents
      description: >-
        Returns a paginated list of documents uploaded to the platform. Regular
        users see only the documents they uploaded; staff users additionally see
        every document belonging to their fleet.
      operationId: documents_list
      parameters:
        - in: query
          name: limit
          schema:
            type: integer
          description: Number of results to return per page.
        - in: query
          name: offset
          schema:
            type: integer
          description: The initial index from which to return the results.
        - in: query
          name: search
          schema:
            type: string
          description: >-
            Full-text search on document title, uploader username, and uploader
            email.
        - in: query
          name: ordering
          schema:
            type: string
          description: >-
            Sort field: created_at, title, user__username, fleet__title, or
            tags. Prefix with - for descending order.
        - in: query
          name: status
          schema:
            type: string
            enum:
              - Processing
              - Uploaded
              - Processed
          description: >-
            Filter by processing status. Repeatable to include multiple
            statuses.
        - in: query
          name: approved
          schema:
            type: boolean
          description: Filter by approval flag.
        - in: query
          name: processed
          schema:
            type: boolean
          description: Filter by processed flag.
        - in: query
          name: sent
          schema:
            type: boolean
          description: Filter by sent flag.
        - in: query
          name: archived
          schema:
            type: boolean
          description: Filter by archive flag.
        - in: query
          name: title__icontains
          schema:
            type: string
          description: >-
            Case-insensitive substring match on title. istartswith, iendswith,
            and exact lookups are also supported.
        - in: query
          name: user__username__icontains
          schema:
            type: string
          description: Case-insensitive substring match on uploader username.
        - in: query
          name: user__email__icontains
          schema:
            type: string
          description: Case-insensitive substring match on uploader email.
        - in: query
          name: fleet__title__icontains
          schema:
            type: string
          description: Case-insensitive substring match on fleet title.
        - in: query
          name: tags__icontains
          schema:
            type: string
          description: Filter by tag name (case-insensitive substring match).
        - in: query
          name: created_at__gte
          schema:
            type: string
            format: date
          description: Return documents created on or after this date (YYYY-MM-DD).
        - in: query
          name: created_at__lte
          schema:
            type: string
            format: date
          description: Return documents created on or before this date (YYYY-MM-DD).
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDocumentList'
          description: ''
components:
  schemas:
    PaginatedDocumentList:
      type: object
      required:
        - count
        - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/Document'
    Document:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        title:
          type: string
        processed:
          type: boolean
        approved:
          type: boolean
        sent:
          type: boolean
        status:
          type: string
          enum:
            - Processing
            - Uploaded
            - Processed
          description: Derived from the processed and sent flags.
        created_at:
          type: string
          format: date-time
          readOnly: true
        file:
          type: string
          description: Storage path of the PDF.
        user:
          $ref: '#/components/schemas/User'
        type:
          type: string
          enum:
            - TOLL
            - VIOLATION
            - UNKNOWN
        tags:
          type: array
          items:
            type: object
            additionalProperties: true
        archive:
          type: boolean
        archive_reason:
          type: string
          nullable: true
        fleet:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/Fleet'
        vehicle_status:
          type: string
          nullable: true
          description: Vehicle status extracted from the document, when available.
      required:
        - id
        - title
        - type
    User:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        username:
          type: string
          description: >-
            Required. 150 characters or fewer. Letters, digits and @/./+/-/_
            only.
          pattern: ^[\w.@+-]+$
          maxLength: 150
        email:
          type: string
          format: email
          title: Email address
          maxLength: 254
      required:
        - id
        - username
    Fleet:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        regions:
          type: array
          items:
            type: integer
            writeOnly: true
          writeOnly: true
        region_details:
          type: array
          items:
            $ref: '#/components/schemas/Region'
          readOnly: true
        title:
          type: string
          maxLength: 255
        is_active:
          type: boolean
        billing_type:
          $ref: '#/components/schemas/BillingTypeEnum'
        onboarding_stage:
          $ref: '#/components/schemas/OnboardingStageEnum'
        warning_threshold_per_vehicle:
          type: string
          format: decimal
          pattern: ^-?\d{0,5}(?:\.\d{0,2})?$
          nullable: true
        deactivation_threshold_per_vehicle:
          type: string
          format: decimal
          pattern: ^-?\d{0,5}(?:\.\d{0,2})?$
          nullable: true
        client:
          type: string
          nullable: true
          maxLength: 100
        onboarding_vehicle_order:
          type: integer
          nullable: true
      required:
        - id
        - region_details
        - regions
    Region:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        title:
          type: string
          maxLength: 70
      required:
        - id
        - title
    BillingTypeEnum:
      enum:
        - PREPAID
        - POSTPAID
      type: string
      description: |-
        * `PREPAID` - prepaid
        * `POSTPAID` - postpaid
    OnboardingStageEnum:
      enum:
        - INITIAL
        - FLEET_NAMED
        - VEHICLES_ADDED
        - COMPLETED
      type: string
      description: |-
        * `INITIAL` - Initial
        * `FLEET_NAMED` - Fleet Named
        * `VEHICLES_ADDED` - Vehicles Added
        * `COMPLETED` - Completed
  securitySchemes:
    JWT:
      type: http
      scheme: bearer
      bearerFormat: JWT
    APIKey:
      type: apiKey
      in: header
      name: Authorization

````