tread.io ApprovalAssignments API

The ApprovalAssignments API from tread.io — 12 operation(s) for approvalassignments.

OpenAPI Specification

treadio-approvalassignments-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Horizon API V1 AccountExternalTruckIdentifier ApprovalAssignments API
  version: '1.0'
  contact:
    name: Tread
    url: https://tread.io
    email: developers@tread.io
  description: 'This is the Version 1 implementation.


    When in doubt we default to the practices outlined [here](https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api#advanced-queries)'
  license:
    name: Private
    url: https://tread.io
servers:
- description: production
  url: https://api.tread-horizon.com
security:
- bearerAuth: []
tags:
- name: ApprovalAssignments
paths:
  /v1/companies/{company-id}/driver_days/{driver-day-id}/approval_status:
    parameters:
    - schema:
        type: string
        format: uuid
      name: driver-day-id
      in: path
      required: true
      description: Driver Day Id
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve ApprovalStatus for a Driver Day for a Company
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Approval-Status'
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-driver-days-driver-day-id-driver_status
      description: Retrieve  `ApprovalStatus` for a visible `DriverDay` for a specific `Company`
      tags:
      - ApprovalAssignments
      x-stoplight:
        id: 2nwlpo1o4637v
  /v1/companies/{company-id}/driver_days/{driver-day-id}/approvals:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - schema:
        type: string
        format: uuid
      name: driver-day-id
      in: path
      required: true
      description: DriverDay ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve ApprovalAssignments for a DriverDay as a Company
      responses:
        '200':
          description: OK
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    x-stoplight:
                      id: h8hgsi1nvlpxz
                    items:
                      $ref: '#/components/schemas/ApprovalAssignment-Read'
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: get-v1-companies-company-id-driver_days-driver-day-id-approvals
      x-stoplight:
        id: 9tqoz2dxf9td3
      x-internal: true
      description: Retrieve `ApprovalAssignments` for a `DriverDay` as a `Company`
      tags:
      - ApprovalAssignments
  /v1/companies/{company-id}/driver_days/{driver-day-id}/approve:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - schema:
        type: string
        format: uuid
      name: driver-day-id
      in: path
      required: true
      description: DriverDay ID
    - $ref: '#/components/parameters/Accept-Language'
    put:
      summary: Approve a DriverDay as a Company
      tags:
      - ApprovalAssignments
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/DriverDay-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: put-v1-companies-company-id-driver_days-driver-day-id-approve
      x-stoplight:
        id: qcgf2529culuc
      x-internal: true
      description: 'Approve a `DriverDay` by ID as a `Company`


        This endpoint requires the `approve_driver_day` permission.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Approval-Approve'
  /v1/companies/{company-id}/driver_days/{driver-day-id}/unapprove:
    parameters:
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - schema:
        type: string
        format: uuid
      name: driver-day-id
      in: path
      required: true
      description: DriverDay ID
    - $ref: '#/components/parameters/Accept-Language'
    put:
      summary: Unapprove a DriverDay as a Company
      tags:
      - ApprovalAssignments
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/DriverDay-Read'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '415':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: put-v1-companies-company-id-driver_days-driver-day-id-unapprove
      x-stoplight:
        id: or0ir2wc8pnje
      x-internal: true
      description: 'Unapprove a `DriverDay` by ID as a `Company`



        This endpoint requires the `approve_driver_day` permission.'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties: {}
  /v1/companies/{company-id}/jobs/{job-id}/approval_status:
    parameters:
    - schema:
        type: string
        format: uuid
      name: job-id
      in: path
      required: true
      description: Job Id
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve ApprovalStatus for a Job for a Company
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Approval-Status'
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-jobs-job-id-driver_status
      description: Retrieve  `ApprovalStatus` for a visible `Job` for a specific `Company`
      tags:
      - ApprovalAssignments
      x-stoplight:
        id: amdv2nn5zoknz
  /v1/companies/{company-id}/jobs/{job-id}/approvals:
    parameters:
    - schema:
        type: string
        format: uuid
      name: job-id
      in: path
      required: true
      description: Job ID
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve ApprovalAssignments for a Job for a Company
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApprovalAssignment-Read'
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-jobs-job-id-job_approvals
      description: Retrieve all `ApprovalAssignments` visible to the specified `Company` for a `Job`
      x-stoplight:
        id: wpvi2o1l6w7d8
      tags:
      - ApprovalAssignments
  /v1/companies/{company-id}/loads/{load-id}/approvals:
    parameters:
    - schema:
        type: string
        format: uuid
      name: load-id
      in: path
      required: true
      description: Load ID
    - schema:
        type: string
        format: uuid
      name: company-id
      in: path
      required: true
      description: Company ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve ApprovalAssignments for a Load for a Company
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApprovalAssignment-Read'
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-companies-company-id-loads-load-id-load_approvals
      description: Retrieve all `ApprovalAssignments` visible to the specified `Company` for a `Load`
      tags:
      - ApprovalAssignments
      x-stoplight:
        id: uazfhzq623xqz
  /v1/driver_days/{driver-day-id}/approval_status:
    parameters:
    - schema:
        type: string
        format: uuid
      name: driver-day-id
      in: path
      required: true
      description: Driver Day Id
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve ApprovalStatus for a Driver Day
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Approval-Status'
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-driver-days-driver-day-id-driver_status
      description: 'Deprecated in favor of "Retrieve  `ApprovalStatus` for a visible `DriverDay` for a Company"


        Retrieve  `ApprovalStatus` for a visible `DriverDay`'
      tags:
      - ApprovalAssignments
      x-stoplight:
        id: 2nvlpn1o4537v
      deprecated: true
  /v1/driver_days/{driver-day-id}/approvals:
    parameters:
    - schema:
        type: string
      name: driver-day-id
      in: path
      required: true
      description: Driver Day Id
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve ApprovalAssignments for a Driver Day
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApprovalAssignment-Read'
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '400':
          $ref: '#/components/responses/Error'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
        '422':
          $ref: '#/components/responses/ModelError'
      operationId: get-v1-driver-days-driver-day-id-driver_day_approvals
      description: 'Deprecated in favor of "Retrieve `ApprovalAssignments` for a `DriverDay` as a `Company`"


        Retrieve all `ApprovalAssignments` visible to your `Company` for a `DriverDay`'
      tags:
      - ApprovalAssignments
      x-stoplight:
        id: f3xryhg69wok0
      deprecated: true
  /v1/jobs/{job-id}/approval_status:
    parameters:
    - schema:
        type: string
        format: uuid
      name: job-id
      in: path
      required: true
      description: Job Id
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve ApprovalStatus for a Job
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/Approval-Status'
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-job-job-id-driver_status
      description: 'Deprecated in favor of "Retrieve  `ApprovalStatus` for a visible `Job` for a Company"


        Retrieve  `ApprovalStatus` for a visible `Job`'
      tags:
      - ApprovalAssignments
      x-stoplight:
        id: amcv2nm5zojnz
      deprecated: true
  /v1/jobs/{job-id}/approvals:
    parameters:
    - schema:
        type: string
      name: job-id
      in: path
      required: true
      description: Job ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve ApprovalAssignments for a Job
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApprovalAssignment-Read'
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-jobs-job-id-job_approvals
      description: 'Deprecated in favor of "Retrieve ApprovalAssignments for a Job for a Company"


        Retrieve all `ApprovalAssignments` visible to your `Company` for a `Job`'
      x-stoplight:
        id: wpui2o9l6q7d8
      tags:
      - ApprovalAssignments
      deprecated: true
  /v1/loads/{load-id}/approvals:
    parameters:
    - schema:
        type: string
      name: load-id
      in: path
      required: true
      description: Load ID
    - $ref: '#/components/parameters/Accept-Language'
    get:
      summary: Retrieve ApprovalAssignments for a Load
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApprovalAssignment-Read'
          headers:
            Link:
              schema:
                type: string
              description: Contains prev and next links for pagination
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '404':
          $ref: '#/components/responses/Error'
        '406':
          $ref: '#/components/responses/Error'
      operationId: get-v1-loads-load-id-load_approvals
      description: 'Deprecated in favor of "Retrieve ApprovalAssignments for a Load for a Company"


        Retrieve all `ApprovalAssignments` visible to your `Company` for a `Load`'
      tags:
      - ApprovalAssignments
      x-stoplight:
        id: uazehzp622xqz
      deprecated: true
components:
  schemas:
    GpsStatus:
      title: GpsStatus
      x-stoplight:
        id: 3b02180lfd6ve
      description: GPS Ping status for a record
      type: object
      required:
      - status
      - last_ping_at
      properties:
        status:
          x-stoplight:
            id: 7f6aqydupq3ac
          enum:
          - online
          - offline
          - idle
          - no_signal
        last_ping_at:
          type: string
          x-stoplight:
            id: 1ikh7blmxdqcz
          format: date-time
          nullable: true
      additionalProperties: false
    RoleApprovable:
      title: RoleApprovable
      x-stoplight:
        id: fie0647l1zmho
      type: object
      required:
      - approved
      - approvable
      - unapprovable
      - billing_approved_at
      - field_approved_at
      properties:
        approved:
          type: boolean
          x-stoplight:
            id: je3f3e9kzi9d8
        approvable:
          type: boolean
          x-stoplight:
            id: 3e8gmlshlm661
        unapprovable:
          type: boolean
          x-stoplight:
            id: 7t2cltf0njxtj
        billing_approved_at:
          type: string
          x-stoplight:
            id: f2bkkw0znb1uy
          format: date-time
          nullable: true
        field_approved_at:
          type: string
          x-stoplight:
            id: 78l5n1sakfgl3
          format: date-time
          nullable: true
      additionalProperties: false
    CompanyShare-Read-Nested:
      title: CompanyShare-Read-Nested
      x-stoplight:
        id: makajouqsb7jq
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - type: object
        x-stoplight:
          id: s6h0nfzt2fjry
        required:
        - external_id
        - ticket_match_id
        - sender_company
        - dispatchable
        - schedule_on
        - rate_override
        - expires_at
        properties:
          external_id:
            type: string
            x-stoplight:
              id: c9ls3nrhbih3v
            nullable: true
          ticket_match_id:
            type: string
            x-stoplight:
              id: a1cd3nrhbih3v
            nullable: true
          sender_company:
            $ref: '#/components/schemas/Company-Read-Nested'
          dispatchable:
            type: boolean
            x-stoplight:
              id: kd884ihz6qi6w
          schedule_on:
            type: boolean
            x-stoplight:
              id: kd884ihz61234
          rate_override:
            type: boolean
            x-stoplight:
              id: mq4osazzielxo
          expires_at:
            type: string
            x-stoplight:
              id: aaa111jpq0ga9
            format: date-time
            description: ISO8601 timestamp with local timezone
            nullable: true
    Equipment-Read-Typeahead:
      title: Equipment-Read-Typeahead
      x-stoplight:
        id: sv94osohm5xhg
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - type: object
        required:
        - name
        - equipment_type
        - external_id
        - equipment_id
        properties:
          name:
            type: string
            description: Equipment name
          equipment_type:
            $ref: '#/components/schemas/EquipmentType-Read-Nested'
          external_id:
            type: string
            x-stoplight:
              id: jrkz95htilck3
            nullable: true
          company_share:
            $ref: '#/components/schemas/CompanyShare-Read-Nested'
          equipment_id:
            type: string
            x-stoplight:
              id: fkr9fkdtl996f
    Error-Response:
      title: Error-Response
      x-stoplight:
        id: 52cydhphee3qe
      type: object
      required:
      - error
      properties:
        error:
          $ref: '#/components/schemas/Error'
      additionalProperties: false
    MaterialDeliveredQuantity:
      title: MaterialDeliveredQuantity
      x-stoplight:
        id: x8zbak180ua1x
      type: object
      x-internal: true
      required:
      - material_id
      properties:
        material_id:
          type: string
          x-stoplight:
            id: eww32a0dqwhel
          format: uuid
        unit_quantities:
          type: array
          x-stoplight:
            id: yergzsohqrwmd
          items:
            $ref: '#/components/schemas/QuantityUnit'
      additionalProperties: false
    ApprovalAssignment-Read:
      title: ApprovalAssignment-Read
      x-stoplight:
        id: j2fcwgvbf8qjm
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - $ref: '#/components/schemas/Timestamps'
      - type: object
        x-stoplight:
          id: ehtvb5mvqfibq
        required:
        - approval_category
        properties:
          approval_type:
            x-stoplight:
              id: 7xzbj92ggrge9
            enum:
            - foreman
            - biller
            - company_admin
            - platform_admin
          approver_id:
            type: string
            x-stoplight:
              id: kiva0q8kik4ph
            format: uuid
          external_approver_name:
            type: string
            x-stoplight:
              id: mzm4cqlaqkbhz
            nullable: true
          approver_type:
            x-stoplight:
              id: hg7tm679i5kjp
            enum:
            - User
            - Company
            - Impersonation
            - M2MClient
          approval_action:
            $ref: '#/components/schemas/ApprovalAction'
          approval_category:
            $ref: '#/components/schemas/ApprovalCategory'
      x-tags:
      - Approvals
    DriverStateEvent-Read:
      title: DriverStateEvent-Read
      x-stoplight:
        id: 813jz0m2wvdpm
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - type: object
        properties:
          user_id:
            type: string
            format: uuid
            x-stoplight:
              id: azx0we0941wlr
          state:
            $ref: '#/components/schemas/DriverState'
          started_at:
            x-stoplight:
              id: k97zhsrha4zvo
            type: string
            format: date-time
          ended_at:
            x-stoplight:
              id: xqde66xx0nitc
            type: string
            format: date-time
            nullable: true
        required:
        - user_id
        - state
        - started_at
      - $ref: '#/components/schemas/Timestamps'
      description: Model for driver_state_event
      x-tags:
      - DriverStateEvent
      x-internal: true
    AccountType:
      title: AccountType
      x-stoplight:
        id: i4vfmd4rwrq8p
      enum:
      - customer
      - vendor
      example: customer
    ApprovalCategory:
      title: ApprovalCategory
      x-stoplight:
        id: qhkzxgj1hqou5
      enum:
      - field
      - billing
      default: field
      example: field
    TreadId:
      title: TreadId
      x-stoplight:
        id: 43k4t5tl359m4
      type: object
      required:
      - tread_id
      properties:
        tread_id:
          type: string
          x-stoplight:
            id: zi3ld7djflw6f
          pattern: ^[0-9A-F]{6}$
          minLength: 6
          maxLength: 6
          example: ABC123
          description: Tread ID
      additionalProperties: false
    Label-Read-Nested:
      title: Label-Read-Nested
      x-stoplight:
        id: lbl1readnest01
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - type: object
        properties:
          name:
            type: string
            x-stoplight:
              id: lbl1nestnm0001
            description: Label name
          color:
            type: string
            x-stoplight:
              id: lbl1nestcol001
            description: Hex color code for the label
            pattern: ^#[0-9A-Fa-f]{6}$
        required:
        - name
        - color
    QuantityUnit:
      title: QuantityUnit
      x-stoplight:
        id: c6w3qflofaihr
      type: object
      required:
      - quantity
      - unit_of_measure
      properties:
        quantity:
          type: string
          x-stoplight:
            id: xf9z9w59yb0cv
        unit_of_measure:
          $ref: '#/components/schemas/OrderUnitOfMeasure'
      x-internal: true
      additionalProperties: false
    DriverDay-Read:
      title: DriverDay-Read
      x-stoplight:
        id: x3uyxssr62k8m
      allOf:
      - $ref: '#/components/schemas/Identifier'
      - type: object
        required:
        - started_shift_at
        - ended_shift_at
        - jobs_count
        - loads_count
        - tickets_count
        - first_geofence_entry_at
        - last_geofence_exit_at
        - first_homebase_exit_at
        - last_homebase_entry_at
        - first_ticket_at
        - last_ticket_at
        - total_break_minutes
        - total_gps_minutes
        - total_delivered_quantities
        - driver
        - company
        - driver_day_date
        - equipment_external_ids
        - shift_adjustment_minutes
        - shift_adjustment_type
        - total_shift_minutes
        - total_on_duty_minutes
        - external_id
        - driver_day_id
        - editable
        - times_editable
        - adjusted_started_shift_at
        - adjusted_ended_shift_at
        - delivered_quantities
        - travelled_distance_meters
        properties:
          started_shift_at:
            type: string
            x-stoplight:
              id: jyxnpz12glvic
            format: date-time
            nullable: true
          ended_shift_at:
            type: string
            x-stoplight:
              id: erxxhi8q861f3
            format: date-time
            nullable: true
          jobs_count:
            type: integer
            x-stoplight:
              id: hh1rgudjzyz80
          loads_count:
            type: integer
            x-stoplight:
              id: uli2dn8an8w7r
          tickets_count:
            type: integer
            x-stoplight:
              id: 9px12c8gnfo0v
          first_geofence_entry_at:
            type: string
            x-stoplight:
              id: kdvvk1bmxcjcs
            format: date-time
            nullable: true
          last_geofence_exit_at:
            type: string
            x-stoplight:
              id: ljnrxb4f9nf4j
            format: date-time
            nullable: true
          first_homebase_exit_at:
            type: string
            x-stoplight:
              id: fhex01234abcd
            format: date-time
            nullable: true
            description: The earliest time equipment exited its home base during the driver's on-duty time
          last_homebase_entry_at:
            type: string
            x-stoplight:
              id: lhen56789efgh
            format: date-time
            nullable: true
            description: The latest time equipment entered its home base during the driver's on-duty time
          first_ticket_at:
            type: string
            x-stoplight:
              id: efp3h7z5ymr5v
            format: date-time
            nullable: true
          last_ticket_at:
            type: string
            x-stoplight:
              id: ve7lma3tf2eqh
            format: date-time
            nullable: true
          total_break_minutes:
            type: integer
            x-stoplight:
              id: 3uinxutb9eigk
            nullable: true
          total_gps_minutes:
            type: integer
            x-stoplight:
              id: 53qb3y1wrtmgz
          total_delivered_quantities:
            x-stoplight:
              id: wa46amxr07q26
            type: array
            items:
              $ref: '#/components/schemas/MaterialDeliveredQuantity'
          driver:
            $ref: '#/components/schemas/Driver-Read-Nested'
          company:
            $ref: '#/components/schemas/Company-Read-Nested'
          driver_day_date:
            type: string
            x-stoplight:
              id: 15n3k7oiut8o8
            format: date
          vendor_account:
            $ref: '#/components/schemas/Account-Read-Nested'
          equipment_external_ids:
            type: array
            x-stoplight:
              id: 7bic77dhx0hqe
            items:
              x-stoplight:
                id: d27mh52vjf5dq
              type: string
          shift_adjustment_minutes:
            type: integer
            x-stoplight:
              id: kqqg46ypfm3i2
          shift_adjustment_type:
            $ref: '#/components/schemas/NullableShiftAdjustmentType'
          total_shift_minutes:
            type: integer
            x-stoplight:
              id: opw4karobx252
            nullable: true
          total_on_duty_minutes:
            type: integer
            x-stoplight:
              id: p4craugui1zmy
            nullable: true
          external_id:
            type: string
            x-stoplight:
              id: p2viy5es0xhab
            nullable: true
          driver_day_id:
            type: string
            x-stoplight:
              id: 4eo8bb1c0o7ni
          editable:
            type: boolean
            x-stoplight:
              id: w5ugpdzu8qo1p
          times_editable:
            type: boolean
            description: Whether the driver can edit shift times, captured from the edit_job_times feature flag at creation time
          adjusted_started_shift_at:
            type: string
            x-stoplight:
              id: xxxnpz12glvic
            format: date-time
            nullable: true
          adjusted_ended_shift_at:
            type: string
            x-stoplight:
              id: xxxxhi8q861f3
            format: date-time
            nullable: true
          approval_status:
            $ref: '#/components/schemas/Approval-Status'
          delivered_quantities:
            type: array
            x-stoplight:
              id: xa3113eklmosr
            items:
              $ref: '#/components/schemas/DeliveredQuantity-Read'
          current_driver_state_event:
            $ref: '#/components/schemas/DriverStateEvent-Read'
          travelled_distance_meters:
            type: strin

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/treadio/refs/heads/main/openapi/treadio-approvalassignments-api-openapi.yml