# Create Basket Order Creates new basket order. When creating a new basket order, you must select the Execution Type - "NONE": All orders in the order list are executed individually. - "VALID": All orders must be valid orders. If 1 order is invalid, none of the orders are executed. - "LINKED": All orders in the order list must be matched immediately. If 1 order does not match immediately, all orders in the order list are canceled. Endpoint: POST /public-api/1.0/xbid/electricity/orders/basket Version: 1.0 Security: api-key ## Query parameters: - `callbackurl` (string) Callback to return the Id of the order to after initial processing by our system. The callback url will receive a GET request with a parameter named 'id' containing the order Id. Due to the order being created asynchronously, the status cannot be returned by the current http request. After receive of the Id the order can be traced using the Server Sent Event. ## Request fields (application/json): - `basketExecutionType` (string, required) Basket execution type Enum: "NONE", "VALID", "LINKED" - `orderList` (array, required) List of order requests - `orderList.orderType` (string, required) The Order type is required field. Enum: "BUY", "SELL" - `orderList.xbidOrderType` (string, required) The XBID Order type is required field. Currently supported types include REGULAR and ICEBERG Example: "REGULAR / ICEBERG" - `orderList.participantId` (string, required) Example: "292c3db8-3ee1-4999-bbed-d579225d1596" - `orderList.capacity` (number, required) The capacity can not be negative and 0. Also the decimal limit of the capacity is 1. The capacity is required field. Example: 2 - `orderList.deliveryStartTime` (integer, required) The start time is an epoch time. It is the time in milliseconds since the start of the unix time. The deliveryStartTime time is required field. Example: 1465596000000 - `orderList.deliveryEndTime` (integer, required) The end time is an epoch time. It is the time in milliseconds since the start of the unix time. The deliveryEndTime time is required field Example: 1465682400000 - `orderList.unitPrice` (number, required) The UnitPrice is required field. Example: 35 - `orderList.metadata` (object) Example: {"key1":"value1","key2":"value2"} - `orderList.customExpirationTime` (integer) Custom expiration time of an order. If no value is provided then the order will expire 15 minutes before the start time.The time must be a time in the future and must not be later than 15 minutes before the start time. The time provided must be a multiple of 15 minutes. For example 03:00, 03:15, 03:30 and 03:45. Example: 1465682400000 - `orderList.orderDeliveryArea` (string, required) Delivery Area Id where the order is located. Enum: "AT", "BG", "BE", "CZ", "DE1", "DE2", "DE3", "DE4", "DK1", "DK2", "EE", "ES", "FI", "FR", "GR", "HR", "HU", "IT1", "IT2", "IT3", "IT4", "IT5", "IT6", "IT7", "IT8", "IT9", "IT10", "IT_AT", "IT_CH", "IT_CP", "IT_FR", "IT_GR", "IT_ME", "IT_SI", "LT", "LV", "MA", "NL", "NO1", "NO2", "NO3", "NO4", "NO5", "PL", "PT", "RO", "RU", "SE1", "SE2", "SE3", "SE4", "SI", "SK" - `orderList.orderStatus` (string) The Order status is required field. Enum: "ACTIVE", "HIBERNATE", "WITHDRAWN" - `orderList.orderExecution` (string, required) Order execution restriction. Currently only supported types are NON, FOK and IOC Enum: "NON", "FOK", "IOC" - `orderList.allowedForLocalMarket` (boolean) When this field is true the order is allowed to go to the local market. If this field is false the order will be rejected and will not be sent to the local market if XBID is down. - `orderList.orderVersion` (object) Order validity check - `orderList.orderVersion.revisionNo` (integer, required) Order revision number - `orderList.orderVersion.xbidOrderId` (integer, required) Xbid order id - `orderList.showCapacity` (number) The quantity shown to the market. Only used for XbidOrderType ICEBERG Example: 2 - `orderList.pricePerDelta` (number) The peak price delta means that the price of the order can be increased/ decreased with every slice. This field is optional, meaning the default value is 0.0. Example: 2 - `allowedForLocalMarket` (boolean) When this field is true the full basket order is allowed to go to the local market, regardless of the allowedForLocalMarket field in the individual ordersIf this field is false the basket order will be rejected and will not be sent to the local market if XBID is down. ## Response 200 fields (application/json): - `link` (object, required) - `link.href` (string) - `link.hreflang` (string) - `link.title` (string) - `link.type` (string) - `link.deprecation` (string) - `link.profile` (string) - `link.name` (string) - `link.templated` (boolean) - `success` (string, required) - `invalidOrders` (array, required) - `invalidOrders.position` (integer, required) - `invalidOrders.reason` (string, required) - `invalidOrders.order` (object, required) - `invalidOrders.order.orderType` (string, required) The Order type is required field. Enum: "BUY", "SELL" - `invalidOrders.order.xbidOrderType` (string, required) The XBID Order type is required field. Currently supported types include REGULAR and ICEBERG Example: "REGULAR / ICEBERG" - `invalidOrders.order.participantId` (string, required) Example: "292c3db8-3ee1-4999-bbed-d579225d1596" - `invalidOrders.order.capacity` (number, required) The capacity can not be negative and 0. Also the decimal limit of the capacity is 1. The capacity is required field. Example: 2 - `invalidOrders.order.deliveryStartTime` (integer, required) The start time is an epoch time. It is the time in milliseconds since the start of the unix time. The deliveryStartTime time is required field. Example: 1465596000000 - `invalidOrders.order.deliveryEndTime` (integer, required) The end time is an epoch time. It is the time in milliseconds since the start of the unix time. The deliveryEndTime time is required field Example: 1465682400000 - `invalidOrders.order.unitPrice` (number, required) The UnitPrice is required field. Example: 35 - `invalidOrders.order.metadata` (object) Example: {"key1":"value1","key2":"value2"} - `invalidOrders.order.customExpirationTime` (integer) Custom expiration time of an order. If no value is provided then the order will expire 15 minutes before the start time.The time must be a time in the future and must not be later than 15 minutes before the start time. The time provided must be a multiple of 15 minutes. For example 03:00, 03:15, 03:30 and 03:45. Example: 1465682400000 - `invalidOrders.order.orderDeliveryArea` (string, required) Delivery Area Id where the order is located. Enum: "AT", "BG", "BE", "CZ", "DE1", "DE2", "DE3", "DE4", "DK1", "DK2", "EE", "ES", "FI", "FR", "GR", "HR", "HU", "IT1", "IT2", "IT3", "IT4", "IT5", "IT6", "IT7", "IT8", "IT9", "IT10", "IT_AT", "IT_CH", "IT_CP", "IT_FR", "IT_GR", "IT_ME", "IT_SI", "LT", "LV", "MA", "NL", "NO1", "NO2", "NO3", "NO4", "NO5", "PL", "PT", "RO", "RU", "SE1", "SE2", "SE3", "SE4", "SI", "SK" - `invalidOrders.order.orderStatus` (string) The Order status is required field. Enum: "ACTIVE", "HIBERNATE", "WITHDRAWN" - `invalidOrders.order.orderExecution` (string, required) Order execution restriction. Currently only supported types are NON, FOK and IOC Enum: "NON", "FOK", "IOC" - `invalidOrders.order.allowedForLocalMarket` (boolean) When this field is true the order is allowed to go to the local market. If this field is false the order will be rejected and will not be sent to the local market if XBID is down. - `invalidOrders.order.orderVersion` (object) Order validity check - `invalidOrders.order.orderVersion.revisionNo` (integer, required) Order revision number - `invalidOrders.order.orderVersion.xbidOrderId` (integer, required) Xbid order id - `invalidOrders.order.showCapacity` (number) The quantity shown to the market. Only used for XbidOrderType ICEBERG Example: 2 - `invalidOrders.order.pricePerDelta` (number) The peak price delta means that the price of the order can be increased/ decreased with every slice. This field is optional, meaning the default value is 0.0. Example: 2 ## Response 412 fields (*/*): - `errors` (array) ## Response 400 fields