> For the complete documentation index, see [llms.txt](https://learn.spexi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.spexi.com/api-reference/tasking-api/submit-tasking-order.md).

# POST Submit tasking request

## Submit tasking order

> Creates a tasking order for a new capture request. The area of interest can be provided as H3 zones or a GeoJSON polygon, and each requested product is tracked independently.

```json
{"openapi":"3.0.3","info":{"title":"Spexi Developer API","version":"1.0.0"},"servers":[{"url":"https://world.spexi.com","description":"Production"}],"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key passed via request header. Either this or the `api_key` query parameter is required."},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"API key passed as a query parameter. Either this or the `x-api-key` header is required."}},"schemas":{"CreateOrderRequest":{"type":"object","properties":{"zones":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Area of interest expressed as a list of H3 cell identifiers. Provide this OR `geometry`, never both. Must contain at least one zone."},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Feature"]},"geometry":{"type":"object","properties":{"type":{"type":"string","enum":["Polygon"]},"coordinates":{"type":"array","items":{"type":"array","items":{}}}},"required":["type","coordinates"],"description":"GeoJSON Polygon describing the capture area of interest, in [longitude, latitude] coordinate order."},"properties":{"type":"object","additionalProperties":{},"nullable":true,"description":"Optional GeoJSON feature properties. Ignored by the API."}},"required":["type","geometry"],"description":"GeoJSON Feature wrapping a Polygon area of interest. Provide this OR `zones`, never both."},"intent":{"type":"string","enum":["new_capture"],"description":"Purpose of the order. Currently only `new_capture` (request a fresh capture of the area) is supported."},"products":{"type":"array","items":{"type":"object","properties":{"product_type":{"type":"string","enum":["panorama","orthomosaic","image"],"description":"Type of deliverable product requested."},"product_sub_type":{"type":"string","enum":["standard","aligned"],"description":"Product variant. Required when `product_type` is `orthomosaic`; must be omitted otherwise."}},"required":["product_type"]},"minItems":1,"description":"Products requested for this order. At least one is required; each is tracked and progresses through its lifecycle independently."},"customer_org_name":{"type":"string","minLength":1,"description":"Name of the customer organization placing the order."},"customer_first_name":{"type":"string","minLength":1,"description":"First name of the primary customer contact."},"customer_last_name":{"type":"string","minLength":1,"description":"Last name of the primary customer contact."},"customer_email":{"type":"string","format":"email","description":"Email address of the primary customer contact."},"preferred_capture_start":{"type":"string","format":"date-time","description":"Preferred start of the capture window (ISO-8601). When both bounds are supplied, must be before `preferred_capture_end`."},"preferred_capture_end":{"type":"string","format":"date-time","description":"Preferred end of the capture window (ISO-8601). When both bounds are supplied, must be after `preferred_capture_start`."},"external_order_id":{"type":"string","description":"Caller-supplied identifier for the order in an external system. Echoed back on read endpoints for reconciliation."},"control_data_url":{"type":"string","format":"uri","description":"URL to ground control or reference data to use for this capture."},"notes":{"type":"string","description":"Free-form notes or special instructions for the order."}},"required":["intent","products","customer_org_name","customer_first_name","customer_last_name","customer_email"]},"CreateOrderResponse":{"type":"object","properties":{"spexi_order_id":{"type":"string","description":"Spexi-assigned identifier for the newly created order."},"submitted_by_org_id":{"type":"string","format":"uuid","description":"UUID of the organization that submitted the order."},"external_order_id":{"type":"string","description":"Echoed `external_order_id` from the request, if one was sent."},"control_data_url":{"type":"string","format":"uri","description":"Echoed `control_data_url` from the request, if one was sent."},"status":{"type":"string","enum":["submitted"],"description":"Initial order status. Always `submitted` on creation."},"created_at":{"type":"string","format":"date-time","description":"ISO-8601 timestamp when the order was created."}},"required":["spexi_order_id","submitted_by_org_id","status","created_at"]}}},"paths":{"/developer-api/api/v1/order/tasking":{"post":{"description":"Creates a tasking order for a new capture request. The area of interest can be provided as H3 zones or a GeoJSON polygon, and each requested product is tracked independently.","operationId":"OrderController_submitOrder","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrderRequest"}}}},"responses":{"201":{"description":"Tasking order accepted and persisted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateOrderResponse"}}}},"400":{"description":"Invalid payload: failed validation, both/neither of `zones` and `geometry` supplied, missing `product_sub_type` for an orthomosaic, or `preferred_capture_start` not before `preferred_capture_end`."},"401":{"description":"Missing or invalid authentication credentials."},"403":{"description":"Caller lacks permission to submit orders. Only org_owner and org_admin roles (or a Developer API key) may submit."}},"summary":"Submit tasking order","tags":["Order"]}}}}
```
