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

# Get the vehicle inspection report



## OpenAPI

````yaml /openapi.yaml get /v2/orders/{order_id}/inspection-report
openapi: 3.1.2
info:
  title: Bahn Customer API
  version: 2.0.0-draft
  summary: Create and follow vehicle transport orders.
  description: |
    Create vehicle transport orders and read their current state.
  contact:
    name: Bahn API support
    email: support@bahnexpress.com
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
servers:
  - url: https://sandbox.api.bahnexpress.fi
    description: Customer sandbox
  - url: https://api.bahnexpress.fi
    description: Production
security:
  - oauth2:
      - orders:read
      - orders:write
tags:
  - name: Authentication
    description: Create an access token for the selected environment.
  - name: Prices
    description: Check the current price for a route.
  - name: Orders
    description: Create, read, change, and cancel orders.
  - name: Files
    description: Upload and read order files.
  - name: Inspections
    description: Get vehicle inspection reports.
  - name: Tracking
    description: Get the current location for each order item.
  - name: Reports
    description: Get order report rows.
  - name: Sandbox
    description: Apply deterministic scenarios in the customer sandbox.
  - name: Webhooks
    description: Receive order change events from Bahn.
paths:
  /v2/orders/{order_id}/inspection-report:
    parameters:
      - $ref: '#/components/parameters/OrderId'
      - $ref: '#/components/parameters/RequestId'
    get:
      tags:
        - Inspections
      summary: Get the vehicle inspection report
      operationId: getOrderInspectionReport
      responses:
        '200':
          description: The inspection state and report.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InspectionReport'
              example:
                order_id: ord_01k1a2b3c4d5e6f7g8h9j0k1m2
                item_id: item_01k1a2b3c4d5e6f7g8h9j0k1m2_primary
                status: available
                inspected_at: '2026-08-03T08:42:00+03:00'
                overall_findings: One small scratch on the right front door.
                items:
                  - category: body
                    status: issue
                    findings: Small scratch on the right front door.
                    evidence:
                      - id: file_01k1a2b3c4d5e6f7g8h9j0k1m2
                        item_id: item_01k1a2b3c4d5e6f7g8h9j0k1m2_primary
                        kind: image
                        category: vehicle
                        stage: pickup
                        evidence_for:
                          - inspection
                          - damage
                        description: null
                        name: right-front-door.jpg
                        media_type: image/jpeg
                        size_bytes: 1138201
                        created_at: '2026-08-03T08:41:00+03:00'
                        content_url: https://download.example.invalid/right-front-door.jpg
                        content_url_expires_at: '2026-08-03T09:41:00+03:00'
                        can_delete: false
                  - category: tires
                    status: ok
                    findings: null
                    evidence: []
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        '503':
          $ref: '#/components/responses/ServerError'
      security:
        - oauth2:
            - orders:read
components:
  parameters:
    OrderId:
      name: order_id
      in: path
      required: true
      description: The order identifier.
      schema:
        $ref: '#/components/schemas/OrderId'
    RequestId:
      name: X-Request-Id
      in: header
      required: false
      description: A caller-supplied request identifier for support.
      schema:
        type: string
        minLength: 1
        maxLength: 255
  schemas:
    InspectionReport:
      description: Structured full-inspection result for the primary vehicle.
      type: object
      additionalProperties: false
      required:
        - order_id
        - item_id
        - status
        - inspected_at
        - overall_findings
        - items
      properties:
        order_id:
          $ref: '#/components/schemas/OrderId'
          description: Order that requested the inspection.
        item_id:
          oneOf:
            - $ref: '#/components/schemas/OrderItemId'
            - type: 'null'
          description: |
            The primary order item.
            This value is null when the order needs no report.
        status:
          $ref: '#/components/schemas/InspectionStatus'
          description: Current availability of the full inspection report.
        inspected_at:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Time when the full inspection was completed, or null before
            completion.
        overall_findings:
          type:
            - string
            - 'null'
          description: Overall inspector summary, or null when none was recorded.
        items:
          type: array
          description: >-
            Category-level inspection results. Empty until the report is
            available.
          items:
            $ref: '#/components/schemas/InspectionItem'
    OrderId:
      type: string
      pattern: ^ord_[a-z0-9]+$
      description: Stable Bahn order identifier used in every order resource path.
    OrderItemId:
      type: string
      pattern: ^item_[a-z0-9]+_(primary|trade_in)$
      description: Stable identifier for the primary or trade-in vehicle within an order.
    InspectionStatus:
      type: string
      description: >-
        not_required when the order has no full inspection, pending before
        completion, and available when the report can be read.
      enum:
        - not_required
        - pending
        - available
    InspectionItem:
      description: Result for one category in a full vehicle inspection.
      type: object
      additionalProperties: false
      required:
        - category
        - status
        - findings
        - evidence
      properties:
        category:
          $ref: '#/components/schemas/InspectionCategory'
          description: Vehicle area or function that was checked.
        status:
          type: string
          description: >-
            ok when no issue was recorded; issue when the report contains a
            finding.
          enum:
            - ok
            - issue
        findings:
          type:
            - string
            - 'null'
          description: >-
            Inspector findings for this category, or null when none were
            recorded.
        evidence:
          type: array
          description: Photos or documents attached to this inspection category.
          items:
            $ref: '#/components/schemas/File'
    Problem:
      description: A machine-readable API error in RFC 9457 problem-details format.
      type: object
      additionalProperties: false
      required:
        - type
        - title
        - status
        - code
        - instance
        - request_id
      properties:
        type:
          type: string
          format: uri
          description: A stable URI for the problem type.
        title:
          type: string
          description: A short problem summary.
        status:
          type: integer
          minimum: 400
          maximum: 599
          description: The HTTP status code returned with this problem.
        code:
          $ref: '#/components/schemas/ProblemCode'
          description: Stable code for application logic and retry decisions.
        detail:
          type: string
          description: A human-readable explanation of this occurrence.
        instance:
          type: string
          description: The request path that produced the problem.
        request_id:
          type: string
          description: Request identifier to include when you contact Bahn support.
        errors:
          type: array
          description: >-
            Field-level validation errors, when the problem concerns request
            input.
          items:
            $ref: '#/components/schemas/FieldError'
    InspectionCategory:
      type: string
      description: Vehicle area or function checked during a full inspection.
      enum:
        - body
        - tires
        - interior
        - starting
        - electrical
        - accessories
        - service_book
        - engine
        - gearbox
        - drivetrain
        - other
    File:
      description: >-
        One customer upload, handover photo, transport document, or inspection
        evidence file.
      type: object
      additionalProperties: false
      required:
        - id
        - item_id
        - kind
        - category
        - stage
        - evidence_for
        - description
        - name
        - media_type
        - size_bytes
        - created_at
        - content_url
        - content_url_expires_at
        - can_delete
      properties:
        id:
          $ref: '#/components/schemas/FileId'
          description: >-
            Stable file ID. Use this as the file identity instead of
            content_url.
        item_id:
          description: Vehicle associated with the file, or null for an order-level file.
          oneOf:
            - $ref: '#/components/schemas/OrderItemId'
            - type: 'null'
        kind:
          $ref: '#/components/schemas/FileKind'
          description: Whether the UI should render this file as an image or document.
        category:
          $ref: '#/components/schemas/FileCategory'
          description: What the file contains.
        stage:
          description: >-
            The pickup or delivery stage, or null when the file has no handover
            stage.
          type:
            - string
            - 'null'
          enum:
            - pickup
            - delivery
            - null
        evidence_for:
          description: The damage or inspection facts that use this file as evidence.
          type: array
          items:
            $ref: '#/components/schemas/FileEvidence'
        description:
          type:
            - string
            - 'null'
          description: Customer-facing file description, when available.
        name:
          type: string
          description: Display file name.
        media_type:
          type:
            - string
            - 'null'
          description: MIME type, when known.
        size_bytes:
          type:
            - integer
            - 'null'
          minimum: 0
          description: File size in bytes, when known.
        created_at:
          type: string
          format: date-time
          description: Time when the file became available on the order.
        content_url:
          type: string
          format: uri
          description: >-
            Short-lived URL for downloading the file. Do not store it as file
            identity.
        content_url_expires_at:
          type: string
          format: date-time
          description: >-
            Time when content_url expires. Read the file list again for a fresh
            URL.
        can_delete:
          type: boolean
          description: Whether the current credential can delete this file now.
    ProblemCode:
      type: string
      description: A stable machine code for client decisions.
      enum:
        - validation_error
        - authentication_failed
        - permission_denied
        - resource_not_found
        - idempotency_conflict
        - revision_conflict
        - order_not_cancellable
        - order_not_updateable
        - business_rule_violation
        - ordered_for_required
        - ordered_for_not_allowed
        - ordered_for_customer_not_found
        - file_too_large
        - request_too_large
        - scenario_not_allowed
        - internal_error
    FieldError:
      description: One invalid request field.
      type: object
      additionalProperties: false
      required:
        - path
        - code
        - message
      properties:
        path:
          type: string
          description: Dot-separated path to the invalid field.
        code:
          type: string
          description: Stable validation code for this field error.
        message:
          type: string
          description: Human-readable reason why the field is invalid.
    FileId:
      type: string
      pattern: ^file_[a-z0-9]+$
      description: Stable identifier for an uploaded or published order file.
    FileKind:
      type: string
      description: Whether the file is an image or a document.
      enum:
        - image
        - document
    FileCategory:
      type: string
      description: The file content category.
      enum:
        - vehicle
        - odometer
        - vin
        - accessories
        - cmr
        - power_of_attorney
        - customer_document
    FileEvidence:
      type: string
      description: The purpose for which the file is evidence.
      enum:
        - inspection
        - damage
  responses:
    Unauthorized:
      description: Authentication failed.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    Forbidden:
      description: The token lacks the required scope or customer access.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    NotFound:
      description: The resource does not exist or the customer cannot access it.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    ServerError:
      description: Bahn could not complete the request.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 client credentials.
      flows:
        clientCredentials:
          tokenUrl: /oauth2/token
          scopes:
            orders:read: Read customer orders.
            orders:write: Check prices, upload files, and change customer orders.
            reports:read: Read customer order reports.
            test:write: Apply customer sandbox scenarios.

````