---
title: "Create order"
method: POST
path: "/api/v1/orders"
tags: ["📖 Orders"]
---

# Create order

`POST /api/v1/orders`

## Request

- Base URL: `http://{{fulfillment_url}}`
- URL: `http://{{fulfillment_url}}/api/v1/orders`
- Auth: HTTP bearer

## Headers

- `Content-Type` string
- `Accept` string

## Request body

- object
  - `shipments` object[], required: Array of shipments that belong to the order. Each shipment can contain the following params:
    - `internalKey` string: Unique shipment identifier. You can use this field to store your unique identifier of the shipment. All of our tracking systems support searching by internalKey. We strongly suggest you always use this field and make sure it is unique. If its not given we will assign an ID for this field. - maxLength: 36 - minLength: 5 - example: 123e4567-e89b-12d3-a456-426655440000
    - `deliveryType` string, required: Accepts only the values: 'SMD', 'NXD', '99M', 'CO2F', 'RET', 'NAL'
    - `sender` object, required: Sender data
      - `firstName` string, required: Name of the person that recieves the shipment. example: Juan
      - `lastName` string, required: Last Name of the person that recieves the shipment. example: Gonzales
      - `phone` string, required: Phone of the person that recieves the shipment. Must include the international code.+573192000000
      - `email` string, required: Email of the person that recieves
    - `recipient` object, required: Person who will receive the shipment. You must specify the following fields:
      - `firstName` string, required: Name of the person that recieves the shipment
      - `lastName` string, required: Last Name of the person that recieves the shipment
      - `phone` string, required: Phone of the person that recieves the shipment. Must include the international code
      - `email` string, required: Email of the person that recieves
    - `origin` object: Location where the package is picked up. Depending on the flow you choose, you must send different parameters. For more details go to the `Location Schema` section. If it is not given the default will be the warehouse address
      - `lat` number: Number, Max(180) Min(-180)
      - `lng` number: Number, Max(180) Min(-180)
      - `address` string
      - `country` string, required: Valid('MEX')
      - `reference` string: Max(200)
      - `zipcode` string
    - `destination` object, required: Location where a shipment is dropped off. Same as origin, see the `Location Schema` section for more details.
      - `lat` number: Max(180) Min(-180)
      - `lng` number: Max(180) Min(-180)
      - `address` string, required
      - `reference` string: Max(200)
      - `country` string, required: Valid('MEX')
      - `zipcode` number
    - `payments` object, required: Payment options are included in this section
      - `paymentMethod` string, required: Payment Method of the shipment. Be careful submitting allowed values. Allowed values: [ 'cash', 'monthly', 'prepaid']
      - `cashOnDelivery` object: Cash on delivery (COD) applies to shipments paid by the recipient in cash at the time of delivery. If it is not sent in the payload, it is assumed that this does not happen, otherwise the following fields must be included :
        - `amount` integer
        - `currency` string: Be careful submitting allowed values. Allowed values: [ COP, MXN, CLP, PEN, ARP ]
        - `InsuredValue` number: Amount in local currency for which the shipment will be insured. The shipment will be insured in case of damage, loss, theft. Extra fees could be applied, check with your support agent.
    - `options` object
      - `pickUpAfter` string
      - `twoFactorAuth` boolean
      - `notes` string
    - `items` object[], required
      - `size` string, required: String, Required, allowed values ('xs', 's', 'm', 'l', 'xl')
      - `description` string, required
      - `weight` number, required: Max(25000)
      - `length` number: Max(100)
      - `width` number: Max(100)
      - `height` number: Max(100)
      - `sku` string, required
      - `price` number, required
      - `metadata` object
    - `price` object
      - `subTotal` number
      - `totalDiscounts` number
      - `totalPrice` number
      - `totalTax` number
      - `shippingPrice` number

## Response `201`

Created

- object

## Other responses

- `400`: Bad Request
- `409`: Conflict

---

[API](https://skmtc.dev/99minutos/apis/fulfillment-v1-documentation.md) - [All operations](https://skmtc.dev/99minutos/apis/fulfillment-v1-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/99minutos/apis/fulfillment-v1-documentation/revisions/780a43093cb6?raw)
