It looks like you're new here. If you want to get involved, click one of these buttons!
autoslice : Enable automatic slicing for orders exceeding freeze quantity limits. Values: true (enable), false (disable, default).However, it doesn't explicitly mention what happens when the order quantity is less than the freeze quantity.
Quantity should be greater than or equal to 3510 for order slicing.Why is the minimum quantity for slicing being enforced even when my order quantity is below the freeze quantity?
{"status":"success","data":{"order_id":"XXXXX","children":[{"order_id":"YYYYYY"}]}}
please help here
its urgent
autoslice=trueautomatically splits orders exceeding the exchange freeze quantity into smaller orders. When the quantity is at or below the freeze limit, the order should be placed without autoslice or 'autoslice'="false". The error indicates that the submitted quantity did not meet the minimum required by the slicing validation. This is the intended behaviour for auto-slicing, as mentioned in the API documentation.Even when the order quantity is within the freeze limit, enabling auto-slicing by default may result in orders being split without the user’s explicit intent.Accordingly, users should pass autoslice=true when they want an order exceeding the freeze quantity to be automatically sliced. This ensures that slicing is performed only when explicitly requested.
For the minimum-quantity validation request, we will check the feasibility of making it smoother. Currently, we don't support the OpenAPI specification. We consider this as feedback.
and the response
{"status":"success","data":{"order_id":"XXXXX","children":[{"order_id":"YYYYYY"}]}}too.It will be very helpful if we already know all the responses (error types) , so that we can write handler accordingly.
Thanks
But it is feasible, if you simply publish the open-API specification,
your back-end server must have all defined routes, request and response schema.
so simply publish that for developer to use them
How then API documentation is correct ?
Unlike a regular order placement response, the API returns data as an array with one entry per slice.But response is slice under children.
Why are you not rectifying the documentation ?
To elaborate further
In reality, response we are getting is : @salim_chisty @nagavenijThe documentation states:
Unlike a regular order placement response, the API returns data as an array with one entry per slice.Please clarify the correct response structure and expected behaviour even if you do not wish to share the full REST API specification.
If children is the actual and final response format, please confirm explicitly. I need this clarity to avoid unexpected issues during live trading hours.
@salim_chisty words Please add this scenario to the documentation, as API documentation currently does not specify what happens when the provided quantity is less than the freeze quantity.
All I am looking for is:
- The response schema.
- The expected behaviour in different scenarios.
I want to ensure there are no surprises during trading hours.Response Schema
- data.children[] is the canonical JSON structure for autosliced orders. Each element represents an individual slice and contains either an order_id if the order is successfully placed or an error object if the slice fails.
- The top-level data.order_id represents the parent ID for the request. This is updated in the doc.
Behavioral Scenarios- Quantity exceeds Freeze Limit and autoslice=true: The order is automatically divided into multiple child orders. The details of each slice are returned in data.children[].
- Quantity is less than Freeze Limit and autoslice=true: The request is rejected immediately with HTTP 400 (InputException). The autoslice flag should only be set to true when the requested quantity strictly exceeds the freeze limit.
- Quantity is greater than Freeze Limit and autoslice=false: The order is rejected by the RMS or exchange with the standard freeze limit rejection error.
Slice Limit and Rate Limiting (HTTP 429)- Kite Connect enforces the rate limit of 10 order placements per second. Since autosliced orders are submitted concurrently, a single request can generate a maximum of 10 slices without exceeding this limit.
- Any slice beyond the 10th may fail with HTTP 429 (NetworkException: Maximum allowed order requests per second exceeded).
Recommendation