# Orders

Use these operations to manage customer orders.
An order is a customer's request to purchase items.
It can contain subscription and one-time sale items.
When an order contains one or more subscription items, it is a subscription order.
An order generates an invoice.
A subscription order generates an invoice for each service period.
For more information, see [Orders](https://www.rebilly.com/docs/dev-docs/concepts/#orders).

 - [GET /subscriptions](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptioncollection.md): Retrieves a list of orders.
 - [POST /subscriptions](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscription.md): Creates an order. To create or update an order with a specified ID, use the [Upsert an order](../PutSubscription) operation.
 - [GET /subscriptions/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscription.md): Retrieves an order with a specified ID.
 - [PUT /subscriptions/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/putsubscription.md): Creates or updates (upserts) an order with a specified ID.
 - [DELETE /subscriptions/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/deletesubscription.md): Deletes a pending order with a specified ID.
 - [POST /subscriptions/{id}/void](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptionvoid.md): Voids a pending order with a specified ID.
 - [POST /subscriptions/{id}/change-items](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptionitemschange.md): Changes subscription order items or quantities, and designates if or when pro-rata credits should be given.
 - [PATCH /subscriptions/{id}/items/{itemId}](https://www.rebilly.com/docs/dev-docs/api/orders/patchsubscriptionitem.md): Updates a subscription order item. This is an experimental endpoint and may be changed or removed in the future.
 - [POST /subscriptions/{id}/interim-invoice](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptioninteriminvoice.md): Issues an interim invoice for a subscription order. Use this operation for plan changes and pro rata adjustments. This process: - Creates an invoice. - Adds the subscription line items to the invoice.
 - [GET /subscription-pauses](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptionpausecollection.md): Retrieves a list of subscription order pauses.
 - [POST /subscription-pauses](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptionpause.md): Pauses a subscription order with a specified ID.
 - [GET /subscription-pauses/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptionpause.md): Retrieves a subscription order pause with a specified ID.
 - [PUT /subscription-pauses/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/putsubscriptionpause.md): Updates a subscription order pause.
 - [DELETE /subscription-pauses/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/deletesubscriptionpause.md): Deletes a subscription order pause with a specified ID. If the specified pause is `pending`, it is `revoked`. If the specified pause is `ongoing`, it is `finished`.
 - [GET /subscription-cancellations](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptioncancellationcollection.md): Retrieves a list of subscription order cancellations.
 - [POST /subscription-cancellations](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptioncancellation.md): Cancels a subscription order.
 - [GET /subscription-cancellations/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptioncancellation.md): Retrieves a subscription order cancellation with a specified ID.
 - [PUT /subscription-cancellations/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/putsubscriptioncancellation.md): Creates or updates (upserts) a subscription order cancellation with a specified ID.
 - [PATCH /subscription-cancellations/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/patchsubscriptioncancellation.md): Updates a subscription order cancellation with a specified ID. Use this operation to update a cancellation reason and description.
 - [DELETE /subscription-cancellations/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/deletesubscriptioncancellation.md): Deletes a subscription order cancellation with a specified ID. > **Important:** Only subscription order cancellations with a `status` of `draft` can be deleted.
 - [GET /subscription-reactivations](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptionreactivationcollection.md): Retrieves a list of subscription order reactivations.
 - [POST /subscription-reactivations](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptionreactivation.md): Reactivates a subscription order with a specified ID.
 - [GET /subscription-reactivations/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptionreactivation.md): Retrieves a subscription order reactivation with a specified ID.
 - [GET /subscriptions/{id}/upcoming-invoice](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptionupcominginvoice.md): Retrieves an upcoming invoice for a specified subscription order. An upcoming invoice is an invoice that has not been issued. It functions as a preview of the next invoice for the order. For more info
 - [POST /subscriptions/{id}/upcoming-invoice/issue](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptionupcominginvoiceissuance.md): Issues an upcoming invoice, for a subscription order with a specified ID, for early pay.
 - [POST /previews/orders](https://www.rebilly.com/docs/dev-docs/api/orders/postprevieworder.md): Previews an order. Use this operation to preview a draft order before making an order.
 - [GET /subscriptions/{id}/upcoming-invoices](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptionupcominginvoicecollection.md): Retrieves an upcoming invoice for a specified subscription order. This endpoint is deprecated. Use [Retrieve an upcoming invoice](../GetSubscriptionUpcomingInvoice) instead.
 - [POST /subscriptions/{id}/upcoming-invoices/{invoiceId}/issue](https://www.rebilly.com/docs/dev-docs/api/orders/postupcominginvoiceissuance.md): Issues an upcoming invoice with a specified ID for early pay. This endpoint is deprecated. Use [Issue an upcoming invoice for early pay](../PostSubscriptionUpcomingInvoiceIssuance) instead.
 - [POST hard-usage-limit-reached](https://www.rebilly.com/docs/dev-docs/api/orders/hard-usage-limit-reached.md)
 - [POST order-abandon-reminder](https://www.rebilly.com/docs/dev-docs/api/orders/order-abandon-reminder.md)
 - [POST order-abandoned](https://www.rebilly.com/docs/dev-docs/api/orders/order-abandoned.md)
 - [POST order-completed](https://www.rebilly.com/docs/dev-docs/api/orders/order-completed.md)
 - [POST renewal-invoice-issued](https://www.rebilly.com/docs/dev-docs/api/orders/renewal-invoice-issued.md)
 - [POST soft-usage-limit-reached](https://www.rebilly.com/docs/dev-docs/api/orders/soft-usage-limit-reached.md)
 - [POST subscription-activated](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-activated.md)
 - [POST subscription-canceled](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-canceled.md)
 - [POST subscription-churned](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-churned.md)
 - [POST subscription-created](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-created.md)
 - [POST subscription-downgraded](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-downgraded.md)
 - [POST subscription-items-changed](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-items-changed.md)
 - [POST subscription-modified](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-modified.md)
 - [POST subscription-quantity-filled-limit-reached](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-quantity-filled-limit-reached.md)
 - [POST subscription-reactivated](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-reactivated.md)
 - [POST subscription-renewal-reminder](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-renewal-reminder.md)
 - [POST subscription-renewed](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-renewed.md)
 - [POST subscription-trial-converted](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-trial-converted.md)
 - [POST subscription-trial-end-reminder](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-trial-end-reminder.md)
 - [POST subscription-trial-ended](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-trial-ended.md)
 - [POST subscription-upgraded](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-upgraded.md)
 - [POST subscription-paused](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-paused.md)
 - [POST subscription-pause-created](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-pause-created.md)
 - [POST subscription-pause-modified](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-pause-modified.md)
 - [POST subscription-pause-revoked](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-pause-revoked.md)
 - [POST subscription-resumed](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-resumed.md)
 - [POST trial-usage-limit-reached](https://www.rebilly.com/docs/dev-docs/api/orders/trial-usage-limit-reached.md)
 - [POST order-delinquency-reached](https://www.rebilly.com/docs/dev-docs/api/orders/order-delinquency-reached.md)
