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

# Preview Routing

> Previews routing.



## OpenAPI

````yaml /api-reference/customer/openapi.json get /api/v1/customer/routing/preview
openapi: 3.0.0
info:
  title: DEVMOB Customer API
  description: DEVMOB API
  version: '1.0'
  contact: {}
servers: []
security: []
tags:
  - name: Address
    description: Customer addresses
  - name: Auth
    description: Authentication and token lifecycle
  - name: Benefit Program
    description: Fare benefit programs
  - name: Benefit Request
    description: Fare benefit requests and documents
  - name: Checkout
    description: Checkout creation and retrieval
  - name: Credit Grant
    description: Customer credits
  - name: Invite
    description: Invitation preview and acceptance
  - name: Notification
    description: Customer inbox notifications
  - name: Offering
    description: Trip offerings and seat maps
  - name: Order
    description: Customer orders
  - name: OTP
    description: One-time password flows
  - name: Payment
    description: Payments
  - name: Payment Method
    description: Saved payment methods
  - name: Point
    description: Point lookup
  - name: Profile
    description: Authenticated customer profile
  - name: Promotion
    description: Promotions
  - name: Routing
    description: Routing helpers
  - name: Session
    description: Authenticated sessions
  - name: Storage
    description: Storage uploads
  - name: Support
    description: Support cases
  - name: Ticket
    description: Customer tickets
  - name: Trip
    description: Customer trip access
  - name: Trip Review
    description: Trip reviews
paths:
  /api/v1/customer/routing/preview:
    get:
      tags:
        - Routing
      summary: Preview Routing
      description: Previews routing.
      operationId: routingPreview
      parameters:
        - name: pointIds
          required: true
          in: query
          schema:
            description: Comma-separated point UUIDs in order
            example: >-
              0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a,0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b
            type: string
        - name: vehicleType
          required: true
          in: query
          schema:
            type: string
            enum:
              - VAN
            description: Vehicle type
            example: VAN
        - name: fields
          required: false
          in: query
          description: >-
            Comma-separated list of fields to include in the response. Supports
            dot notation for nested projection (e.g.
            `id,name,user.email,trips.route.id`). Unknown fields are silently
            dropped.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutePreview'
          description: OK
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: required
                    path: name
                message: Bad Request Error
                statusCode: 400
              schema:
                properties:
                  message:
                    type: string
                  statusCode:
                    enum:
                      - 400
                    type: number
                  errors:
                    items:
                      properties:
                        message:
                          type: string
                        path:
                          type: string
                      required:
                        - message
                        - path
                      type: object
                    type: array
                required:
                  - message
                  - statusCode
                type: object
          description: Bad Request Error
        '500':
          content:
            application/json:
              example:
                message: Internal Server Error
                statusCode: 500
              schema:
                properties:
                  message:
                    type: string
                  statusCode:
                    enum:
                      - 500
                    type: number
                required:
                  - message
                  - statusCode
                type: object
          description: Internal Server Error
components:
  schemas:
    RoutePreview:
      type: object
      properties:
        vehicleType:
          type: string
          enum:
            - VAN
          description: Vehicle type
          example: VAN
        status:
          type: string
          enum:
            - COMPLETE
            - PARTIAL
            - UNROUTABLE
          description: Route preview status
          example: PARTIAL
        polyline:
          type: string
          description: Encoded polyline
          example: a~l~Fjk~uOwHJy@P
          nullable: true
        distanceMeters:
          type: integer
          description: Distance in meters
          example: 12500
        durationSeconds:
          type: integer
          description: Duration in seconds
          example: 1800
        segments:
          type: array
          items:
            oneOf:
              - type: object
                properties:
                  type:
                    type: string
                    description: Segment type
                    example: ROUTED
                    enum:
                      - ROUTED
                  fromIndex:
                    type: integer
                    description: Start point index
                    example: 0
                  toIndex:
                    type: integer
                    description: End point index
                    example: 2
                  pointIds:
                    type: array
                    items:
                      type: string
                      format: uuid
                    description: Segment point identifiers
                    example:
                      - 0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a
                      - 0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b
                  polyline:
                    type: string
                    description: Encoded polyline
                    example: a~l~Fjk~uOwHJy@P
                  distanceMeters:
                    type: integer
                    description: Distance in meters
                    example: 12500
                  durationSeconds:
                    type: integer
                    description: Duration in seconds
                    example: 1800
                required:
                  - type
                  - fromIndex
                  - toIndex
                  - pointIds
                  - polyline
                  - distanceMeters
                  - durationSeconds
              - type: object
                properties:
                  type:
                    type: string
                    description: Segment type
                    example: GAP
                    enum:
                      - GAP
                  fromIndex:
                    type: integer
                    description: Start point index
                    example: 1
                  toIndex:
                    type: integer
                    description: End point index
                    example: 2
                  pointIds:
                    type: array
                    items:
                      type: string
                      format: uuid
                    description: Gap point identifiers
                    example:
                      - 0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a
                      - 0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b
                  missingPointIds:
                    type: array
                    items:
                      type: string
                      format: uuid
                    description: Point identifiers without coordinates
                    example:
                      - 0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3b
                  reason:
                    type: string
                    enum:
                      - MISSING_COORDINATES
                    description: Route preview gap reason
                    example: MISSING_COORDINATES
                required:
                  - type
                  - fromIndex
                  - toIndex
                  - pointIds
                  - missingPointIds
                  - reason
            description: Route preview segment
          description: Route preview segments
        points:
          type: array
          items:
            type: object
            properties:
              pointId:
                type: string
                format: uuid
                description: Point identifier
                example: 0195e7a1-8b5c-7d3e-9f4a-2c6b8d0e1f3a
              name:
                type: string
                description: Point name
                example: São Paulo
              description:
                type: string
                description: Additional description
                example: Terminal Rodoviário Tietê
                nullable: true
              lat:
                type: number
                minimum: -90
                maximum: 90
                description: Latitude
                example: -23.5155
                nullable: true
              lng:
                type: number
                minimum: -180
                maximum: 180
                description: Longitude
                example: -46.6254
                nullable: true
              createdAt:
                type: string
                format: date-time
                description: Created at
                example: '2026-01-01T00:00:00.000Z'
              updatedAt:
                type: string
                format: date-time
                description: Updated at
                example: '2026-01-01T00:00:00.000Z'
            required:
              - pointId
              - name
              - createdAt
              - updatedAt
          description: Hydrated points in input order
      required:
        - vehicleType
        - status
        - distanceMeters
        - durationSeconds
        - segments
        - points
      description: Route preview

````