{
  "schema_version": 2,
  "id": "operate/rc/api/examples/manage-subscriptions",
  "title": "Create and manage subscriptions",
  "url": "https://redis.io/docs/latest/operate/rc/api/examples/manage-subscriptions/",
  "summary": "Describes how to create and manage a subscription using the Redis Cloud API.",
  "tags": [
    "docs",
    "operate",
    "rc"
  ],
  "last_updated": "2026-09-25T14:59:52+01:00",
  "page_type": "content",
  "content_hash": "ca5c772836a9e5cadf5eea9f083d23c5dd7f0185352b5286fad3e0711ff6f6c2",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "The Redis Cloud REST API lets you create and manage all kinds of subscriptions."
    },
    {
      "id": "redis-cloud-essentials",
      "title": "Redis Cloud Essentials",
      "role": "content",
      "text": ""
    },
    {
      "id": "create-an-essentials-subscription",
      "title": "Create an Essentials subscription",
      "role": "content",
      "text": "Use [`POST /v1/fixed/subscriptions`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Subscriptions-Essentials/operation/createSubscription_1) to create an Essentials subscription.\n\n[code example]\n\nModify the following parameters in the sample JSON document to create a subscription on your own account:\n\n- **`paymentMethodId`** - Specify a payment method connected to your account.\n\n    Use [`GET /v1/payment-methods`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Account/operation/getAccountPaymentMethods) to find a payment method ID.\n\n    You don't need to pass this field in your API request if you subscribed to Redis Cloud through a marketplace integration.\n\n- **`planId`** - Specify an essentials plan to create.\n\n    Use [`GET /v1/fixed/plans`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Subscriptions-Essentials/operation/getAllFixedSubscriptionsPlans) to get a list of plan IDs.\n\nAfter you create an Essentials subscription, you must use the [`POST /v1/fixed/subscriptions/{subscriptionId}/databases`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Databases-Essentials/operation/createFixedDatabase) endpoint to [create the database](https://redis.io/docs/latest/operate/rc/api/examples/create-database#redis-cloud-essentials).\n\nYou can include the contents of the JSON document in the `POST /v1/fixed/subscriptions` operation in the [Swagger UI](https://api.redislabs.com/v1/swagger-ui.html). See [Swagger user interface](https://redis.io/docs/latest/operate/rc/api/get-started/use-rest-api#swagger-user-interface) for more details.\n\n> [!NOTE]\n> The Swagger UI generates default JSON examples for `POST` and `PUT` operations. You can reference these examples and modify them to fit your specific needs and account settings. The examples will fail if used as-is.\n\nThe response body contains the `taskId` for the task that creates the subscription. You can use [`GET /v1/tasks/{taskId}`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Tasks/operation/getTaskById) to track the task's status."
    },
    {
      "id": "update-an-essentials-subscription",
      "title": "Update an Essentials subscription",
      "role": "content",
      "text": "Use [`PUT /v1/fixed/subscriptions/{subscriptionId}`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Subscriptions-Essentials/operation/updateSubscription_1) to update an Essentials subscription.\n\n[code example]\n\nYou can only change the following settings with this endpoint:\n- **`name`** - Specify a new name for your subscription.\n\n- **`planId`** - Specify a new Essentials plan to change to.\n\n    You can only change to a plan that:\n        \n    - Is in the same cloud provider and region of your current plan.\n        \n    - Has a compatible [High-availability option](https://redis.io/docs/latest/operate/rc/databases/configuration/high-availability) to your current plan. For example, if your current plan has single-zone replication, you cannot switch to a plan with multi-zone replication, but you can switch to a plan with no replication. If your current plan has multi-zone replication, you must switch to a plan with multi-zone replication.\n\n    Use [`GET /v1/fixed/plans/subscriptions/{subscriptionID}`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Subscriptions-Essentials/operation/getFixedSubscriptionsPlanById) to get a list of plan IDs that are compatible with your subscription.\n\n- **`paymentMethodId`** - Specify a different payment method connected to your account.\n\n    Use [`GET /v1/payment-methods`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Account/operation/getAccountPaymentMethods) to find a payment method ID.\n\nThe response body contains the `taskId` for the task that updates the subscription. You can use [`GET /v1/tasks/{taskId}`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Tasks/operation/getTaskById) to track the task's status."
    },
    {
      "id": "delete-an-essentials-subscription",
      "title": "Delete an Essentials subscription",
      "role": "content",
      "text": "Use [`DELETE /v1/fixed/subscriptions/{subscriptionId}`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Subscriptions-Essentials/operation/deleteSubscriptionById_1) to delete a subscription.\n\n[code example]\nThe response body contains the `taskId` for the task that deletes the subscription. You can use [`GET /v1/tasks/{taskId}`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Tasks/operation/getTaskById) to track the task's status."
    },
    {
      "id": "redis-cloud-pro",
      "title": "Redis Cloud Pro",
      "role": "content",
      "text": ""
    },
    {
      "id": "create-a-pro-subscription",
      "title": "Create a Pro subscription",
      "role": "content",
      "text": "Use [`POST /v1/subscriptions`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Subscriptions-Pro/operation/createSubscription) to create a Pro subscription.\n\n[code example]\n\nModify the following parameters in the sample JSON document to create a subscription on your own account:\n\n- **`paymentMethodId`** - Specify a payment method connected to your account.\n\n    Use [`GET /v1/payment-methods`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Account/operation/getAccountPaymentMethods) to find a payment method ID.\n\n    You don't need to pass this field in your API request if you subscribed to Redis Cloud through a marketplace integration.\n\nThe request JSON body contains two primary segments: subscription specification and databases specification. When you create a subscription, you must specify one or more databases in the \"`databases`\" array. \n\nThere are many additional parameters and settings that can be defined on subscription and database creation. Review the subscription parameters and options in the [Full API documentation](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Subscriptions-Pro/operation/createSubscription).\n\nThe response body contains the `taskId` for the task that creates the subscription. You can use [`GET /v1/tasks/{taskId}`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Tasks/operation/getTaskById) to track the task's status."
    },
    {
      "id": "update-a-pro-subscription",
      "title": "Update a Pro subscription",
      "role": "content",
      "text": "Use [`PUT /v1/subscriptions/{subscriptionId}`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Subscriptions-Pro/operation/updateSubscription) to update a Pro subscription.\n\n[code example]\n\nYou can only change the following settings with this endpoint:\n- **`name`** - Specify a new name for your subscription.\n\n- **`paymentMethodId`** - Specify a different payment method connected to your account.\n\n    Use [`GET /v1/payment-methods`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Account/operation/getAccountPaymentMethods) to find a payment method ID.\n\nThe response body contains the `taskId` for the task that updates the subscription. You can use [`GET /v1/tasks/{taskId}`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Tasks/operation/getTaskById) to track the task's status."
    },
    {
      "id": "delete-a-pro-subscription",
      "title": "Delete a Pro subscription",
      "role": "content",
      "text": "Use [`DELETE /v1/subscriptions/{subscriptionId}`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Subscriptions-Pro/operation/deleteSubscriptionById) to delete a subscription.\n\n[code example]\nThe response body contains the `taskId` for the task that deletes the subscription. You can use [`GET /v1/tasks/{taskId}`](https://redis.io/docs/latest/operate/rc/api/api-reference#tag/Tasks/operation/getTaskById) to track the task's status."
    }
  ],
  "examples": [
    {
      "id": "create-an-essentials-subscription-ex0",
      "language": "sh",
      "code": "POST \"https://[host]/v1/fixed/subscriptions\"\n{\n    \"name\": \"My new subscription\",\n    \"planId\": <plan_id>,\n    \"paymentMethodId\": <payment_id>\n}",
      "section_id": "create-an-essentials-subscription"
    },
    {
      "id": "update-an-essentials-subscription-ex0",
      "language": "sh",
      "code": "PUT \"https://[host]/v1/fixed/subscriptions/{subscriptionId}\"\n{\n    \"name\": \"new-subscription-name\",\n    \"planId\": <plan_id>,\n    \"paymentMethodId\": <payment_id>\n}",
      "section_id": "update-an-essentials-subscription"
    },
    {
      "id": "delete-an-essentials-subscription-ex0",
      "language": "sh",
      "code": "DELETE \"https://[host]/v1/fixed/subscriptions/{subscriptionId}\"",
      "section_id": "delete-an-essentials-subscription"
    },
    {
      "id": "create-a-pro-subscription-ex0",
      "language": "sh",
      "code": "POST \"https://[host]/v1/subscriptions\"\n{\n    \"name\": \"Basic Subscription Example\",\n    \"paymentMethodId\": <payment_id>,\n    \"cloudProviders\": [\n        {\n            \"provider\": \"AWS\",\n            \"regions\": [\n                {\n                    \"region\": \"us-east-1\",\n                    \"networking\": {\n                        \"deploymentCIDR\": \"10.0.1.0/24\"\n                    }\n                }\n            ]\n        }\n    ],\n    \"databases\": [\n        {\n            \"name\": \"Redis-database-example\",\n            \"protocol\": \"redis\",\n            \"datasetSizeInGb\": 1\n        }\n    ]\n}",
      "section_id": "create-a-pro-subscription"
    },
    {
      "id": "update-a-pro-subscription-ex0",
      "language": "sh",
      "code": "PUT \"https://[host]/v1/subscriptions/{subscriptionId}\"\n{\n    \"name\": \"new-subscription-name\",\n    \"paymentMethodId\": <payment_id>\n}",
      "section_id": "update-a-pro-subscription"
    },
    {
      "id": "delete-a-pro-subscription-ex0",
      "language": "sh",
      "code": "DELETE \"https://[host]/v1/subscriptions/{subscriptionId}\"",
      "section_id": "delete-a-pro-subscription"
    }
  ]
}
