# Updates a subscription Updates a Subscription object. Returns the updated Subscription Endpoint: PATCH /subscriptions/{id} Version: v1 Security: apiKey ## Path parameters: - `id` (string, required) ## Request fields (application/json): - `description` (string) Description of the subscription. This will be shown to customers and in the PayPro dashboard Example: "description" - `mandate` (string) ID of the mandate for subscription. Only approved 'direct-debit' customer's mandates are supported. - `cancel_at` (string,null) Date at which the subscription will be canceled. When left empty, the subscription will be active until manually canceled - `cancel_periods_on_cancellation` (boolean,null) If , canceling a subscription will also cancel any open and reversed periods. - `period` (object) Settings for when new periods should be created and with which amounts. When the Subscription is active updates to these settings will only affect new periods. Example: {"amount":1000} - `period.amount` (integer) The amount in cents that the customer will have to pay. Example: 1000 - `period.interval` (string) The interval of each period. Accepted values: , , or - `period.multiplier` (integer) The multiplier of the interval between periods. Example: and will create a new period every 3 months. - `first_period` (object,null) Settings for when the first period should be created and with what amount. These settings can only be updated if the Subscription has not started yet. ## Response 200 fields (application/json): - `id` (string, required) Example: "PSV1QACRO4DSMQT0KK" - `type` (string, required) Enum: "subscription" - `description` (string, required) Example: "Test subscription" - `subscription_type` (string,null, required) Enum: "direct_debit" - `state` (string, required) Example: "active" - `currency` (string, required) Enum: "EUR" - `created_at` (string, required) Example: "2023-07-24T12:40:10Z" - `start_at` (string,null, required) - `cancel_at` (string,null, required) - `customer` (string,null, required) Example: "CU7JRN6W6K3DA9" - `mandate` (string,null, required) Example: "MD6ULYXJ4HP9RJ" - `scheduling` (string,null) Enum: "manual", "automatic" - `cancel_periods_on_cancellation` (boolean) - `period` (object,null, required) Example: {"amount":"1000","vat":"21","multiplier":1,"interval":"month"} - `period.amount` (integer, required) Example: "1000" - `period.vat` (number, required) Example: "21" - `period.multiplier` (integer, required) Example: 1 - `period.interval` (string, required) Enum: "day", "week", "month", "year" - `first_period` (object,null, required) Example: {"amount":"1000","vat":"21","multiplier":1,"interval":"month"} - `payment_details` (object, required) Example: {"return_url":null,"cancel_url":null} - `payment_details.return_url` (string,null, required) - `payment_details.cancel_url` (string,null, required) - `metadata` (object, required) Example: {} - `_links` (object, required) Example: {"self":"https://api.paypro.nl/subscriptions/PSV1QACRO4DSMQT0KK","customer":"https://api.paypro.nl/customers/CU7JRN6W6K3DA9","mandate":"https://api.paypro.nl/mandates/MD6ULYXJ4HP9RJ"} - `_links.self` (string, required) Example: "https://api.paypro.nl/subscriptions/PSV1QACRO4DSMQT0KK" - `_links.checkout` (string) ## Response 404 fields (application/json): - `error` (object, required) - `error.message` (string, required) The error message - `error.type` (string, required) Type of error Enum: "invalid_request"