# Manage subscriptions with the API
> Automate recurring billing with Payabli's subscription API. Create, update, pause, and delete subscription payments, scheduled transactions, and autopays with full control over frequency, amounts, and payment methods
Subscriptions, also known as recurring transactions, autopays, or scheduled payments, are a powerful way to automate billing and payment collection. With Payabli's API, you can manage these transactions, including creating, updating, and deleting subscriptions.
This guide covers the key operations for managing subscriptions through the API.
## Considerations
When working with subscriptions, keep the following in mind:
* Payabli automatically tokenizes payment information and assigns stored payment methods to the provided customer.
* Subscriptions are always linked to a customer - if no `customerId` is provided and the `customerData` fields don't match an existing customer, a new customer is created.
* Best practice is to create the customer first and pass the `customerId` in the customerData object.
* When using a stored payment method, ensure the `storedId` in paymentMethod corresponds to the customer in `customerData`.
* Subscription and autopay transactions typically run between 2:30 AM and 3:30 AM Eastern time.
* If a subscription payment is declined, you can update the subscription and retry the payment. See [Subscription retry logic](/guides/pay-in-developer-subscriptions-utilities#subscription-retry-logic) for more information. Payabli doesn't retry failed autopays.
* If you pass an `invoiceData` object to a subscription, the payments in the subscription are automatically added to the invoice as they're processed.
## Pause a subscription or skip a payment
Pausing a subscription stops all future payments until the subscription is unpaused. Skipping payments allows the subscription to continue but skips the next scheduled payment.
To skip a payment, update the subscription's `totalAmount` to `0`. To resume payments, update `totalAmount` to a non-zero amount. Note that if `totalAmount` is set to `0`, then `serviceFee` must also be set to `0`.
To pause a subscription, send a PUT request to `/api/Subscription/\{subscriptionId\}` with the `setPause` field set to `true`. When you're ready to resume the subscription, send another PUT request with `setPause` set to `false`.
## Create a subscription
Send a POST request to `/api/Subscription/add` to create a new subscription or scheduled payment. See the [API reference](/developers/api-reference/subscription/create-a-subscription-or-scheduled-payment) for this endpoint for full documentation.
Creates an autopay subscription using a card payment method.
Creates an autopay subscription using a bank account to pay via ACH.
Creates a subscription using a saved payment method (also known as a payment token or stored payment method). This is useful for recurring payments where the customer has previously saved their payment information.
A successful request sends a response that includes the subscription ID (in `responseData`) and customer ID.
## Get subscription details
Send a GET request to `/api/Subscription/{subscriptionId}` to retrieve details about a specific subscription.
This example gets the details for the subscription with ID `263`.
A successful request returns a response that includes all available details about a subscription. See the [API reference](/developers/api-reference/subscription/get-subscription) for a full response example.
## Update a subscription
Send a PUT request to `/api/Subscription/{subscriptionId}` to change an existing subscription's payment details, schedule, or pause status. See the [API reference](/developers/api-reference/subscription/update-subscription) for this endpoint for full documentation.
A successful request returns a response that includes the subscription ID (in `responseData`) and customer ID.
## Delete a subscription
Send a DELETE request to `/api/Subscription/{subscriptionId}` to cancel a subscription and stop future payments. See the [API reference](/developers/api-reference/subscription/remove-a-subscription) for this endpoint for full documentation.
This example deletes the subscription with the ID `396`.
A successful deletion returns a response that includes the subscription ID (in `responseData`) and customer ID.
## Next steps
Use the [Subscription Utilities](/guides/pay-in-developer-subscriptions-utilities) to manage your subscriptions. These utilities provide additional functionality, such as retrying failed payments and managing autopay transactions.
## Related resources
See these related resources to help you get the most out of Payabli.
* **[Subscription utility code](/guides/pay-in-developer-subscriptions-utilities)** - Use example code to enhance your subscription management via the API