> For the complete documentation index, see [llms.txt](https://docs.xorosoft.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xorosoft.com/developers-api/fulfillment-and-wave-management/create-wave.md).

# Create Wave

Create or update wave data in Xorosoft ERP. Send the JSON payload using the field names documented in this operation and in the module export/import format used by Xorosoft ERP.

```json
{"openapi":"3.0.3","info":{"title":"Xorosoft ERP Public API","version":"2026.07"},"tags":[{"name":"Fulfillment and Wave Management","description":"Use Fulfillment and Wave Management APIs to retrieve waves, create waves, fulfill waves, ship waves, confirm shipments, manage carriers and shipping terms, and support warehouse execution workflows. These APIs are designed for WMS, shipping, 3PL, and fulfillment integrations that need to move orders from allocation through picking, packing, shipping, and confirmation."}],"servers":[{"url":"https://res.xorosoft.io","description":"Xorosoft ERP API server"}],"security":[{"basic":[]}],"components":{"securitySchemes":{"basic":{"scheme":"basic","type":"http"}},"schemas":{"XoroApiResponse":{"type":"object","description":"Standard Xorosoft ERP API response envelope used by most endpoints.","properties":{"Result":{"type":"boolean","description":"True when the operation completed successfully."},"Message":{"type":"string","description":"Human-readable success or error message."},"Data":{"description":"Endpoint-specific payload.","type":"object","additionalProperties":true,"nullable":true},"Page":{"type":"integer","description":"Current page number when paging is enabled.","nullable":true},"TotalPages":{"type":"integer","description":"Total page count when paging is enabled.","nullable":true}}},"PostWaveCreateRequest":{"type":"object","required":["WaveHeaderData","WaveDetailArr"],"properties":{"WaveHeaderData":{"type":"object","description":"Header values that control the wave creation process.","additionalProperties":true,"properties":{"StoreId":{"type":"integer","description":"Store identifier from which the wave is created."},"StoreName":{"type":"string","description":"Store name associated with the wave."},"WaveNumber":{"type":"string","description":"Optional wave number used for preview workflows; Xorosoft ERP otherwise generates the number."},"LockFlag":{"type":"boolean","description":"Set to true to lock the newly created wave."},"PlannedShipDate":{"type":"string","format":"date-time","nullable":true,"description":"Planned shipment date and time."},"AllowInventoryAdj":{"type":"boolean","description":"Allows the wave process to make permitted inventory adjustments."},"AutoCloseSOFlag":{"type":"boolean","description":"Set to true to automatically close eligible sales orders after processing."},"CartonBreakRuleId":{"type":"integer","format":"int64","nullable":true,"description":"Carton break rule to apply during allocation."},"PriorityCodeId":{"type":"integer","nullable":true,"description":"Priority code to apply to the wave."},"ThirdPartyRefNo":{"type":"string","description":"Optional external reference number for the wave."},"ThirdPartySource":{"type":"string","description":"Optional source system name for the external reference."},"BypassPaymentTermsCheck":{"type":"boolean","description":"Bypasses payment-term validation when the private app is authorized to do so."},"BypassAutoMergeCheck":{"type":"boolean","description":"Bypasses automatic wave-merge validation when the private app is authorized to do so."}}},"WaveDetailArr":{"type":"array","description":"Sales-order lines to allocate into the wave.","items":{"type":"object","additionalProperties":true}},"WaveItemLocationAlloc":{"type":"array","description":"Optional inventory-location allocations to apply during wave creation.","items":{"type":"object","additionalProperties":true}},"WaveDetailAllocationArr":{"type":"array","description":"Optional detailed line allocations for the wave.","items":{"type":"object","additionalProperties":true}},"MoCreateParamsList":{"type":"array","description":"Optional manufacturing-order creation instructions for inventory shortages.","items":{"type":"object","additionalProperties":true}},"LpnNumbers":{"type":"array","description":"Optional license plate numbers to include in the wave.","items":{"type":"string"}}},"description":"Request body for Create.","additionalProperties":true}}},"paths":{"/api/xerp/wave/create":{"post":{"tags":["Fulfillment and Wave Management"],"summary":"Create Wave","description":"Create or update wave data in Xorosoft ERP. Send the JSON payload using the field names documented in this operation and in the module export/import format used by Xorosoft ERP.","operationId":"post_wave_create","responses":{"200":{"description":"Request processed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/XoroApiResponse"}}}},"400":{"description":"Invalid request, failed validation, or business rule error.","content":{"text/plain":{"schema":{"type":"string"}}}},"401":{"description":"Missing or invalid private app credentials."},"403":{"description":"Private app does not have permission for this request."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostWaveCreateRequest"}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.xorosoft.com/developers-api/fulfillment-and-wave-management/create-wave.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
