> ## 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.

# Create Transport Operator Route Policy

> Creates a transport operator route policy.



## OpenAPI

````yaml /api-reference/bko/openapi.json post /api/v1/bko/transport-operator-route-policies
openapi: 3.0.0
info:
  title: DEVMOB BKO API
  version: '1.0'
servers: []
security: []
tags:
  - name: Auth
    description: Authentication endpoints.
  - name: Benefit Category
    description: Global fare benefit category endpoints.
  - name: Invite
    description: Invitation endpoints.
  - name: Member
    description: BKO internal member endpoints.
  - name: Notification
    description: BKO inbox notifications
  - name: Order
    description: Order query endpoints.
  - name: Organization
    description: Organization management endpoints.
  - name: Organization Address
    description: Organization address endpoints.
  - name: Payment
    description: Payment query endpoints.
  - name: Permission
    description: Permission catalog endpoints.
  - name: Place
    description: Place lookup endpoints.
  - name: Point
    description: Global point catalog endpoints.
  - name: Profile
    description: Authenticated BKO profile endpoints.
  - name: Receivable
    description: Receivable query endpoints.
  - name: Report
    description: Platform report endpoints.
  - name: Role
    description: Internal and reusable role endpoints.
  - name: Route
    description: BKO route review endpoints.
  - name: Route Approval
    description: BKO route approval review endpoints.
  - name: Storage
    description: Storage upload signing endpoints.
  - name: Transfer
    description: Transfer query endpoints.
  - name: Transport Operator
    description: Transport operators
  - name: Transport Operator Route
    description: Transport operator route authorizations
  - name: Transport Operator Route Policy
    description: Transport operator route policy management.
  - name: Transport Operator Subsidy Settlement
    description: Transport operator subsidy settlements
  - name: User
    description: Platform user administration endpoints.
  - name: User Session
    description: Backoffice user session management.
paths:
  /api/v1/bko/transport-operator-route-policies:
    post:
      tags:
        - Transport Operator Route Policy
      summary: Create Transport Operator Route Policy
      description: Creates a transport operator route policy.
      operationId: createBkoTransportOperatorRoutePolicy
      parameters:
        - name: fields
          required: false
          in: query
          description: >-
            Comma-separated list of fields to include in the response. Supports
            dot notation for nested projection.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTransportOperatorRoutePolicyRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportOperatorRoutePolicy'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '409':
          $ref: '#/components/responses/ConflictError'
        '422':
          $ref: '#/components/responses/UnprocessableEntityError'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearer: []
components:
  schemas:
    CreateTransportOperatorRoutePolicyRequest:
      type: object
      description: Payload de criação da política operacional e financeira
      properties:
        transportOperatorId:
          type: string
          format: uuid
          description: Permissionário da política
        routeId:
          type: string
          format: uuid
          description: Rota da política
        startAt:
          type: string
          format: date-time
          description: Início da vigência
        endAt:
          type: string
          format: date-time
          description: Fim da vigência
        subsidyAmountPerKm:
          type: integer
          minimum: 0
          description: Valor do subsídio por quilômetro em centavos
        distanceSource:
          type: string
          enum:
            - PLANNED_ROUTE
            - GPS_AUDITED
            - ODOMETER_AUDITED
            - COMBINED_AUDIT
          description: Fonte da distância usada no cálculo do subsídio
        tripLimit:
          type: integer
          minimum: 1
          description: Quantidade máxima de viagens na vigência
      required:
        - transportOperatorId
        - routeId
        - startAt
        - endAt
        - subsidyAmountPerKm
        - distanceSource
        - tripLimit
    TransportOperatorRoutePolicy:
      type: object
      description: Política operacional e financeira de um permissionário em uma rota
      properties:
        transportOperatorRoutePolicyId:
          type: string
          format: uuid
          description: Identificador único
        transportOperatorId:
          type: string
          format: uuid
          description: Permissionário da política
        routeId:
          type: string
          format: uuid
          description: Rota da política
        startAt:
          type: string
          format: date-time
          description: Início da vigência
        endAt:
          type: string
          format: date-time
          description: Fim da vigência
        subsidyAmountPerKm:
          type: integer
          minimum: 0
          description: Valor do subsídio por quilômetro em centavos
        distanceSource:
          type: string
          enum:
            - PLANNED_ROUTE
            - GPS_AUDITED
            - ODOMETER_AUDITED
            - COMBINED_AUDIT
          description: Fonte da distância usada no cálculo do subsídio
        tripLimit:
          type: integer
          minimum: 1
          description: Quantidade máxima de viagens na vigência
        createdAt:
          type: string
          format: date-time
          description: Data de criação
        updatedAt:
          type: string
          format: date-time
          description: Data da última atualização
        deletedAt:
          type: string
          format: date-time
          nullable: true
          description: Data de remoção lógica
      required:
        - transportOperatorRoutePolicyId
        - transportOperatorId
        - routeId
        - startAt
        - endAt
        - subsidyAmountPerKm
        - distanceSource
        - tripLimit
        - createdAt
        - updatedAt
        - deletedAt
    ValidationError:
      type: object
      properties:
        statusCode:
          type: integer
          description: HTTP status code.
          example: 400
        message:
          type: string
          description: Error message.
          example: Bad Request Error
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: Validation code.
                example: invalid_type
              message:
                type: string
                description: Validation message.
                example: Required
              path:
                type: string
                description: Invalid field path.
                example: name
            required:
              - code
              - message
              - path
      required:
        - statusCode
        - message
        - errors
      description: Validation error response.
    ApiError:
      type: object
      properties:
        statusCode:
          type: integer
          description: HTTP status code.
          example: 404
        error:
          type: string
          description: HTTP error name.
          example: Not Found
        message:
          type: string
          description: Machine-readable error code.
          example: resource.not_found
      required:
        - statusCode
        - error
        - message
      description: Domain error response.
  responses:
    BadRequestError:
      description: Validation failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationError'
    UnauthorizedError:
      description: Authentication required.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    ForbiddenError:
      description: Forbidden.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    ConflictError:
      description: State conflict.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    UnprocessableEntityError:
      description: Business rule failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    InternalServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````