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

> Creates an order.



## OpenAPI

````yaml /api-reference/ops/openapi.json post /api/v1/ops/orders
openapi: 3.0.0
info:
  title: DEVMOB OPS API
  description: DEVMOB API
  version: '1.0'
  contact: {}
servers: []
security: []
tags:
  - name: Auth
    description: Authentication and token lifecycle
  - name: Bank Account
    description: Bank accounts
  - name: Benefit
    description: Benefit categories and usage history
  - name: Benefit Program
    description: Fare benefit programs
  - name: Benefit Request
    description: Fare benefit requests and documents
  - name: Credit Grant
    description: Company granted credits
  - name: Driver
    description: Company drivers
  - name: Employee
    description: Company employees
  - name: Employee Session
    description: Employee sessions
  - name: Export
    description: Export resources
  - name: Export Job
    description: Immediate export jobs
  - name: Export Schedule
    description: Scheduled exports
  - name: Invite
    description: Member invitations
  - name: Notification
    description: OPS inbox notifications
  - name: Offering
    description: Trip offerings and seat maps
  - name: Order
    description: Orders
  - name: Organization
    description: Organization profile
  - name: Organization Address
    description: Organization address
  - name: OTP
    description: One-time password flows
  - name: Payment
    description: Payments
  - name: Permission
    description: Permissions
  - name: Point
    description: Point lookup
  - name: Profile
    description: Authenticated OPS profile
  - name: Promotion
    description: Promotions
  - name: Promotion Rule
    description: Promotion rules
  - name: Receivable
    description: Receivables
  - name: Report
    description: Operational reports
  - name: Role
    description: Roles
  - name: Route
    description: Routes
  - name: Route Approval
    description: Route approvals
  - name: Routing
    description: Routing helpers
  - name: Storage
    description: Storage uploads
  - name: Support
    description: Support cases
  - name: Transfer
    description: Transfers
  - name: Trip
    description: Trips
  - name: Trip Event
    description: Trip operational events
  - name: Trip Schedule
    description: Recurring trip schedules
  - name: Trip Tracking
    description: Trip GPS tracking
  - name: Vehicle
    description: Vehicles and seats
paths:
  /api/v1/ops/orders:
    post:
      tags:
        - Order
      summary: Create Order
      description: Creates an order.
      operationId: createOrder
      parameters:
        - 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
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
          description: Created
        '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
        '401':
          content:
            application/json:
              example:
                message: Missing or invalid access token
                statusCode: 401
              schema:
                properties:
                  message:
                    type: string
                  statusCode:
                    enum:
                      - 401
                    type: number
                required:
                  - message
                  - statusCode
                type: object
          description: Unauthorized
        '403':
          content:
            application/json:
              example:
                message: Insufficient permissions
                statusCode: 403
              schema:
                properties:
                  message:
                    type: string
                  statusCode:
                    enum:
                      - 403
                    type: number
                required:
                  - message
                  - statusCode
                type: object
          description: Forbidden
        '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
      security:
        - bearer: []
        - bearer: []
components:
  schemas:
    CreateOrderRequest:
      type: object
      properties:
        tickets:
          minItems: 1
          type: array
          items:
            type: object
            properties:
              tripItineraryId:
                type: string
                format: uuid
                description: Trip itinerary identifier
              seatId:
                type: string
                format: uuid
                description: Seat identifier
              passenger:
                type: object
                properties:
                  name:
                    type: string
                    description: Passenger name
                    example: Maria Silva
                  document:
                    type: string
                    description: Passenger document
                    example: '36641876870'
                  documentType:
                    type: string
                    enum:
                      - CPF
                      - CNPJ
                      - RG
                    description: Document type
                    example: CPF
                  birthDate:
                    description: Passenger birth date
                    example: '1990-01-01'
                    type: string
                    format: date
                required:
                  - name
                  - document
                  - documentType
                description: Passenger snapshot
            required:
              - tripItineraryId
              - seatId
              - passenger
          description: Tickets
        customerId:
          description: Existing customer identifier
          type: string
          format: uuid
        customer:
          description: Customer data to create when customerId is not provided
          type: object
          properties:
            email:
              description: Email address
              example: maria@example.com
              type: string
              format: email
              nullable: true
            name:
              type: string
              description: Customer name
              example: Maria Silva
            document:
              type: string
              description: Customer document
              example: '36641876870'
            documentType:
              type: string
              enum:
                - CPF
                - CNPJ
                - RG
              description: Document type
              example: CPF
            birthDate:
              description: Customer birth date
              example: '1990-01-01'
              type: string
              format: date
            phoneDdi:
              description: International dialing code
              example: '+55'
              type: string
            phoneIso:
              description: Phone country code
              example: BR
              type: string
            phoneNumber:
              description: Phone number
              example: '11999887766'
              type: string
          required:
            - name
            - document
            - documentType
            - phoneDdi
            - phoneIso
            - phoneNumber
      required:
        - tickets
      description: Create order
    Order:
      type: object
      properties:
        orderId:
          type: string
          format: uuid
          description: Identificador único
        checkoutId:
          type: string
          format: uuid
          description: Referência ao checkout da compra
        customerId:
          type: string
          format: uuid
          description: Referência ao cliente comprador
        organizationId:
          type: string
          format: uuid
          description: Referência à organização da empresa
        companyId:
          type: string
          format: uuid
          description: Referência à empresa responsável pelos tickets do pedido
        soldById:
          type: string
          format: uuid
          description: Referência ao usuário responsável pela criação do pedido
        externalProvider:
          type: string
          description: Nome do provedor externo
        externalProviderId:
          type: string
          description: ID do pedido no provedor externo
        type:
          type: string
          enum:
            - ONLINE
            - POS
          description: Origem da compra
        code:
          type: string
          description: Código legível único do pedido
        amount:
          type: integer
          description: Valor total do pedido em centavos
        status:
          type: string
          enum:
            - PENDING
            - PAID
            - PAYMENT_FAILED
            - CANCELED
          description: Status do pedido (default PENDING)
        createdBy:
          type: string
          format: uuid
          nullable: true
          description: Usuário que criou o registro, quando aplicável
        createdAt:
          type: string
          format: date-time
          description: Data de criação
        updatedBy:
          type: string
          format: uuid
          nullable: true
          description: Usuário que fez a última atualização, quando aplicável
        updatedAt:
          type: string
          format: date-time
          description: Data da última atualização
      required:
        - orderId
        - checkoutId
        - customerId
        - organizationId
        - companyId
        - soldById
        - externalProvider
        - externalProviderId
        - type
        - code
        - amount
        - status
        - createdBy
        - createdAt
        - updatedBy
        - updatedAt
      description: Pedido de uma empresa dentro de um checkout
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````