> ## 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 list of all citations in the system.

## Ticket Type Field

The `ticket_type` field represents the category of traffic violation:

| ID | Display Name     | Description                             |
| -- | ---------------- | --------------------------------------- |
| 1  | Bus Camera       | Bus lane violations captured by camera  |
| 2  | Parking          | Parking violations and tickets          |
| 3  | Red Light Camera | Red light violations captured by camera |
| 4  | Speed Camera     | Speed violations captured by camera     |
| 5  | Other            | Other types of traffic violations       |
| 6  | Idling           | Vehicle idling violations               |

### Filtering by Ticket Type

Use the numeric ID when filtering:

```
GET /v2/citations?ticket_type=2  # Filter for Parking violations
GET /v2/citations?ticket_type=1  # Filter for Bus Camera violations
```

<Info>When filtering, use the numeric ID (1-6). The API response returns the display name (e.g., "Parking", "Bus Camera").</Info>


## OpenAPI

````yaml get /v2/citations/
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:
  /v2/citations/:
    get:
      tags:
        - Citations
      operationId: v2_citations_list
      parameters:
        - in: query
          name: billing_status
          schema:
            type: array
            items:
              type: string
              enum:
                - CARD_NOT_ON_FILE
                - COD_SERVICE
                - CREDIT_CARD_DECLINED
                - DISPUTED_TOLL_OR_TICKET
                - EMPLOYEE_USE_OR_FLEET_LIABLE
                - EXPIRED_CREDIT_CARD
                - INVOICED_NOT_PAID
                - NO_ACTION
                - PAID_SUCCESSFULLY
                - USER_NOT_FOUND
                - VALIDATION_ISSUES
          description: Multiple values may be separated by commas.
          explode: false
          style: form
        - in: query
          name: billing_status_fk
          schema:
            type: integer
        - in: query
          name: description__icontains
          schema:
            type: string
        - in: query
          name: driver
          schema:
            type: integer
        - in: query
          name: fine_amount
          schema:
            type: number
        - in: query
          name: fine_amount__gt
          schema:
            type: number
        - in: query
          name: fine_amount__gte
          schema:
            type: number
        - in: query
          name: fine_amount__lt
          schema:
            type: number
        - in: query
          name: fine_amount__lte
          schema:
            type: number
        - in: query
          name: id
          schema:
            type: integer
        - in: query
          name: issue_date
          schema:
            type: string
            format: date
        - in: query
          name: issue_date__gte
          schema:
            type: string
            format: date
        - in: query
          name: issue_date__lte
          schema:
            type: string
            format: date
        - in: query
          name: issue_date__year__gt
          schema:
            type: number
        - in: query
          name: issue_date__year__lt
          schema:
            type: number
        - in: query
          name: issuing_authority
          schema:
            type: array
            items:
              type: string
          description: Multiple values may be separated by commas.
          explode: false
          style: form
        - name: limit
          required: false
          in: query
          description: Number of results to return per page.
          schema:
            type: integer
        - in: query
          name: notice_number__icontains
          schema:
            type: string
        - name: offset
          required: false
          in: query
          description: The initial index from which to return the results.
          schema:
            type: integer
        - name: ordering
          required: false
          in: query
          description: Which field to use when ordering the results.
          schema:
            type: string
        - in: query
          name: penalty_amount
          schema:
            type: number
        - in: query
          name: penalty_amount__gt
          schema:
            type: number
        - in: query
          name: penalty_amount__gte
          schema:
            type: number
        - in: query
          name: penalty_amount__lt
          schema:
            type: number
        - in: query
          name: penalty_amount__lte
          schema:
            type: number
        - in: query
          name: received_date
          schema:
            type: string
            format: date
        - in: query
          name: received_date__gte
          schema:
            type: string
            format: date
        - in: query
          name: received_date__lte
          schema:
            type: string
            format: date
        - in: query
          name: received_date__year__gt
          schema:
            type: number
        - in: query
          name: received_date__year__lt
          schema:
            type: number
        - in: query
          name: ticket_date
          schema:
            type: string
            format: date
        - in: query
          name: ticket_date__gte
          schema:
            type: string
            format: date
        - in: query
          name: ticket_date__lte
          schema:
            type: string
            format: date
        - in: query
          name: ticket_date__year__gt
          schema:
            type: number
        - in: query
          name: ticket_date__year__lt
          schema:
            type: number
        - in: query
          name: ticket_time
          schema:
            type: string
            format: time
        - in: query
          name: ticket_time__gt
          schema:
            type: string
            format: time
        - in: query
          name: ticket_time__gte
          schema:
            type: string
            format: time
        - in: query
          name: ticket_time__lt
          schema:
            type: string
            format: time
        - in: query
          name: ticket_time__lte
          schema:
            type: string
            format: time
        - in: query
          name: ticket_type
          schema:
            type: array
            items:
              type: integer
              enum:
                - Bus Camera
                - Idling
                - Other
                - Parking
                - Red Light Camera
                - Speed Camera
          description: |-
            * `Bus Camera` - Bus Camera
            * `Idling` - Idling
            * `Parking` - Parking
            * `Red Light Camera` - Red Light Camera
            * `Speed Camera` - Speed Camera
            * `Other` - Other
          explode: true
          style: form
        - in: query
          name: total_max
          schema:
            type: number
        - in: query
          name: total_min
          schema:
            type: number
        - in: query
          name: vehicle
          schema:
            type: array
            items:
              type: integer
          explode: true
          style: form
        - in: query
          name: violation_number__icontains
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PaginatedCameraTrafficTicketSerializerV2List
          description: ''
components:
  schemas:
    PaginatedCameraTrafficTicketSerializerV2List:
      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/CameraTrafficTicketSerializerV2'
    CameraTrafficTicketSerializerV2:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        issuing_authority:
          type: string
        notice_number:
          type: string
          nullable: true
          maxLength: 255
        violation_number:
          type: string
          maxLength: 255
        ticket_type:
          type: string
          readOnly: true
        received_date:
          type: string
          format: date
        ticket_date:
          type: string
          format: date
        ticket_time:
          type: string
          format: time
          nullable: true
        vehicle:
          allOf:
            - $ref: '#/components/schemas/Vehicle'
          readOnly: true
        description:
          type: string
        issue_date:
          type: string
          format: date
          nullable: true
        fine_amount:
          type: string
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
        penalty_amount:
          type: string
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          nullable: true
        service_fee:
          type: string
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          nullable: true
        billing_status:
          allOf:
            - $ref: '#/components/schemas/BillingStatusEnum'
          default: NO_ACTION
        billing_status_fk:
          $ref: '#/components/schemas/BillingStatus'
        pdf:
          type: string
          readOnly: true
        total:
          type: string
          readOnly: true
        driver:
          allOf:
            - $ref: '#/components/schemas/Driver'
          readOnly: true
        pin:
          type: string
          nullable: true
          maxLength: 255
      required:
        - billing_status_fk
        - description
        - driver
        - fine_amount
        - id
        - issuing_authority
        - pdf
        - received_date
        - ticket_date
        - ticket_time
        - ticket_type
        - total
        - vehicle
        - violation_number
    Vehicle:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        plate_number:
          type: string
          maxLength: 15
        plate_state:
          type: string
          maxLength: 2
        vehicle_number:
          type: string
          maxLength: 20
        active:
          type: boolean
        vehicle_make:
          type: string
          nullable: true
          maxLength: 50
        vehicle_model:
          type: string
          nullable: true
          maxLength: 50
        year:
          type: string
          nullable: true
          maxLength: 5
        lessee_renter:
          type: string
          nullable: true
          title: Lessee/Renter
          maxLength: 255
        custom_fields:
          type: string
          readOnly: true
        vehicle_type_code:
          type: string
          nullable: true
          maxLength: 15
        added_date:
          type: string
          format: date-time
          readOnly: true
        fleet:
          allOf:
            - $ref: '#/components/schemas/Fleet'
          readOnly: true
      required:
        - added_date
        - custom_fields
        - fleet
        - id
    BillingStatusEnum:
      enum:
        - NO_ACTION
        - CARD_NOT_ON_FILE
        - INVOICED_NOT_PAID
        - PAID_SUCCESSFULLY
        - CREDIT_CARD_DECLINED
        - EXPIRED_CREDIT_CARD
        - EMPLOYEE_USE_OR_FLEET_LIABLE
        - USER_NOT_FOUND
        - DISPUTED_TOLL_OR_TICKET
        - VALIDATION_ISSUES
        - COD_SERVICE
      type: string
      description: |-
        * `NO_ACTION` - No Action
        * `CARD_NOT_ON_FILE` - Card Not On File
        * `INVOICED_NOT_PAID` - Invoiced – Not Paid
        * `PAID_SUCCESSFULLY` - Paid Successfully
        * `CREDIT_CARD_DECLINED` - Credit Card Declined
        * `EXPIRED_CREDIT_CARD` - Expired Credit Card
        * `EMPLOYEE_USE_OR_FLEET_LIABLE` - Employee Use/Fleet Liable
        * `USER_NOT_FOUND` - User Not Found
        * `DISPUTED_TOLL_OR_TICKET` - Disputed Toll/Ticket
        * `VALIDATION_ISSUES` - Validation Issues
        * `COD_SERVICE` - COD Service
    BillingStatus:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        value:
          type: string
        display_text:
          type: string
        ticket_type:
          type: string
        fleet:
          type: integer
          readOnly: true
          nullable: true
        is_system:
          type: string
          readOnly: true
      required:
        - display_text
        - fleet
        - id
        - is_system
        - ticket_type
        - value
    Driver:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        email:
          type: array
          items:
            type: string
            format: email
        driver_id:
          type: string
          nullable: true
          maxLength: 255
        first_name:
          type: string
          maxLength: 100
        last_name:
          type: string
          maxLength: 100
        address_line_1:
          type: string
          maxLength: 100
        address_line_2:
          type: string
          nullable: true
          maxLength: 100
        city:
          type: string
          maxLength: 50
        state:
          type: string
          maxLength: 2
        zip:
          type: string
          maxLength: 10
          minLength: 5
        contact_number:
          type: string
          nullable: true
          maxLength: 15
      required:
        - address_line_1
        - city
        - first_name
        - id
        - state
        - zip
    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

````