diff --git a/content/operate/rc/api/get-started/_index.md b/content/operate/rc/api/get-started/_index.md index 3cf0c9de21..a8ee333222 100644 --- a/content/operate/rc/api/get-started/_index.md +++ b/content/operate/rc/api/get-started/_index.md @@ -28,7 +28,7 @@ To use the keys to authenticate and authorize your request, include the keys wit ## Enable the API -The API is disabled on all accounts by default. You must [enable the API]({{< relref "/operate/rc/api/get-started/enable-the-api.md" >}}) before you can use it. +The API is disabled on all accounts by default. You must [enable the API]({{< relref "/operate/rc/api/get-started/enable-the-api" >}}) before you can use it. ## Account key @@ -44,20 +44,20 @@ If you need to change or delete your account key, please [contact support](https ## User key -The user key is a personal key that belongs to a specific user having the **owner** role. User keys are assigned owners when they're created. Keys cannot be assigned to users that aren't owners. Keys can belong to only one owner; however, an owner may have multiple keys. +The user key is a personal key that belongs to a specific user having the **Owner**, **Viewer**, or **Logs viewer** role. User keys are assigned to users when they're created. Keys can belong to only one user; however, a user may have multiple keys. -You can view keys or copy their values _only_ during the [creation process]({{< relref "/operate/rc/api/get-started/manage-api-keys.md" >}}). +You can view keys or copy their values _only_ during the [creation process]({{< relref "/operate/rc/api/get-started/manage-api-keys" >}}). {{< note >}} User keys are personal secrets. Do not share them. {{< /note >}} -Individual owners can [generate multiple user keys]({{< relref "/operate/rc/api/get-started/manage-api-keys.md" >}}) +Individual owners can [generate multiple user keys]({{< relref "/operate/rc/api/get-started/manage-api-keys" >}}) for themselves, for separate apps, or for other owners, viewers, or log viewers within the same account. Use key names to uniquely associate specific API requests to individual users or apps. -Doing so lets you [audit API requests]({{< relref "/operate/rc/api/examples/audit-system-logs.md" >}}) using the system log, which tracks the key used to authenticate each request. +Doing so lets you [audit API requests]({{< relref "/operate/rc/api/examples/audit-system-logs" >}}) using the system log, which tracks the key used to authenticate each request. ## Authentication using API keys @@ -79,5 +79,6 @@ An API request successfully authenticates when: To learn more, see: -- [Manage API keys]({{< relref "/operate/rc/api/get-started/manage-api-keys.md" >}}) -- [Use the API]({{< relref "/operate/rc/api/get-started/use-rest-api.md" >}}) +- [Manage API keys]({{< relref "/operate/rc/api/get-started/manage-api-keys" >}}) +- [Use the API]({{< relref "/operate/rc/api/get-started/use-rest-api" >}}) +- [Full API reference]({{< relref "/operate/rc/api/api-reference" >}}) diff --git a/content/operate/rc/api/get-started/enable-the-api.md b/content/operate/rc/api/get-started/enable-the-api.md index c9073ff290..4357a8ea2e 100644 --- a/content/operate/rc/api/get-started/enable-the-api.md +++ b/content/operate/rc/api/get-started/enable-the-api.md @@ -9,9 +9,9 @@ description: Use the Redis Cloud dashboard to enable the REST API. weight: 10 --- -If you have a Redis Cloud subscription, you can use a REST API to manage your subscription programmatically. +If you have a Redis Cloud account, you can use a REST API to manage your subscriptions and databases programmatically. -For security reasons, the Redis Cloud API is disabled by default. +For security reasons, the Redis Cloud API is inactive by default. To enable the API: @@ -29,7 +29,7 @@ To enable the API: {{Use the **Enable API** button to enable the REST API for your account.}} -To authenticate REST API calls, you need to combine the API account key with an [API user key]({{< relref "/operate/rc/api/get-started/manage-api-keys#api-user-keys" >}}) to make API calls. +To authenticate REST API calls, you need to use both the API account key and an [API user key]({{< relref "/operate/rc/api/get-started/manage-api-keys#api-user-keys" >}}) to make API calls. Only account owners can see the access key in the account settings and give API access to other users. diff --git a/content/operate/rc/api/get-started/manage-api-keys.md b/content/operate/rc/api/get-started/manage-api-keys.md index c71b0860af..d93733a5c2 100644 --- a/content/operate/rc/api/get-started/manage-api-keys.md +++ b/content/operate/rc/api/get-started/manage-api-keys.md @@ -62,7 +62,7 @@ The key name: - Must be between 10 and 50 characters long - Can contain alphanumeric characters, hyphens, and underscores. Spaces are not allowed. -The user name must have an owner, viewer, or logs viewer role. +The selected user must have an owner, viewer, or logs viewer role. Select **Create** to create the new key. diff --git a/content/operate/rc/api/get-started/manage-tasks.md b/content/operate/rc/api/get-started/manage-tasks.md index 2622ee3a70..524f3c046d 100644 --- a/content/operate/rc/api/get-started/manage-tasks.md +++ b/content/operate/rc/api/get-started/manage-tasks.md @@ -24,10 +24,9 @@ After you request an asynchronous operation, the operation returns a `taskId` th Tasks are part of the API [processing and provisioning lifecycle]({{< relref "/operate/rc/api/get-started/process-lifecycle" >}}). -### Task information +## Task information -When you query a task of an asynchronous API operation, -the response to the request includes the task status and additional information about the task: +When you request an asynchronous operation, the response to the request includes the task status and additional information about the task: ```json { @@ -57,19 +56,15 @@ Where: - A link to itself - Additional links based on the context of the response -### Task status updates +## Task status updates With the task ID, you can query the task status for updates and progress information. The response in the above example shows a URL with the title `getTaskStatusUpdates`. The URL in the `href` property returns updates for the specified task. -This request returns the updated status of the task identifier: +Use [`GET /v1/tasks/{taskId}`]({{< relref "/operate/rc/api/api-reference#tag/Tasks/operation/getTaskById" >}}) to check the task status. -```bash -GET "https://[host]/v1/tasks/" -``` - -The response to the `getTaskStatusUpdates` request shows: +This endpoint returns information about the queried task. ```json { @@ -104,12 +99,8 @@ This response example shows: ### Tasks list -You can use the API operation `GET /tasks` to list the recently submitted and completed tasks for the current account. +You can use the API operation [`GET /tasks`]({{< relref "/operate/rc/api/api-reference#tag/Tasks/operation/getAllTasks" >}}) to list the recently submitted and completed tasks for the current account. This API operation returns a list of tasks for the current account, sorted by most recent status update. -```bash -GET "https://$HOST/tasks" -``` - The result returns all the tasks submitted during the past 10 days. diff --git a/content/operate/rc/api/get-started/process-lifecycle.md b/content/operate/rc/api/get-started/process-lifecycle.md index 13db229c3a..543a232eae 100644 --- a/content/operate/rc/api/get-started/process-lifecycle.md +++ b/content/operate/rc/api/get-started/process-lifecycle.md @@ -10,13 +10,13 @@ description: API requests follow specific lifecycle phases and states, based on linkTitle: API request lifecycle weight: 60 --- -All Redis Cloud [subscriptions]({{< relref "/operate/rc/subscriptions/" >}}) can leverage a RESTful API that permits operations against a variety of resources, including servers, services, and related infrastructure. +Redis Cloud owners and viewers can leverage a RESTful API that permits operations against a variety of resources, including subscriptions, databases, and related infrastructure. [Once it's enabled]({{< relref "/operate/rc/api/get-started/enable-the-api.md" >}}), you can use the REST API to create, update, and delete subscriptions, databases, and other entities. -API operations run asynchronously, which means that provisioning occurs in the background. When you submit a request, a background process starts working on it. The response object includes an ID that lets you determine the status of the background process as it performs its work. +All create, update, and delete API operations (`POST`, `PUT`, and `DELETE`) and some query operations (`GET`) run asynchronously, which means that provisioning occurs in the background. When you submit a request, a background process, known as a **Task**, starts working on it. The response object includes an ID that lets you determine the status of the background process as it performs its work. -For operations that do not create or modify resources (such as most GET operations), the API is sychronous; that is, the response object reports the results of the request. +For operations that do not create or modify resources (such as most GET operations), the API is synchronous; that is, the response object reports the results of the request. Asynchronous operations have two main phases: processing and provisioning. A resource is not available until both phases are complete. @@ -30,17 +30,9 @@ During this phase, the request is received, evaluated, planned, and executed. Many operations are asychronous, including CREATE, UPDATE, and DELETE operations. The response objects for such operations provide a `taskId` identifier that lets you track the progress of the underlying operation. -You can query the `taskId` to track the state of a specific task: +You can query the `taskId` to track the state of a specific task using [`GET /v1/tasks/{taskId}`]({{< relref "/operate/rc/api/api-reference#tag/Tasks/operation/getTaskById" >}}). -```shell -GET "https://[host]/v1/tasks/" -``` - -You can also query the state of all active tasks or recently completed tasks in your account: - -```shell -GET "https://[host]/v1/tasks" -``` +You can also query the state of all active tasks or recently completed tasks in your account using [`GET /tasks`]({{< relref "/operate/rc/api/api-reference#tag/Tasks/operation/getAllTasks" >}}) ### Task process states @@ -69,13 +61,7 @@ The term "provisioning" refers to all infrastructure changes required in order t The provisioning phase may require several minutes to complete. You can query the resource identifier to track the progress of the provisioning phase. -For example, when you provision a new subscription, use this API call to query the status of the subscription: - -```shell -GET "https://[host]/v1/subscriptions/" -``` - -Where the `` is the resource ID that you receive when the task is in the `processing-completed` state. +For example, when you provision a new subscription, use [`GET /v1/subscriptions/{subscriptionId}`]({{< relref "/operate/rc/api/api-reference#tag/Subscriptions-Pro/operation/getSubscriptionById" >}}), where the `{subscriptionId}` is the resource ID that you receive when the task is in the `processing-completed` state. ### Provisioning state values diff --git a/static/images/rc/access-management-api-keys-tab.png b/static/images/rc/access-management-api-keys-tab.png old mode 100755 new mode 100644 index 7b13ca481b..135437edad Binary files a/static/images/rc/access-management-api-keys-tab.png and b/static/images/rc/access-management-api-keys-tab.png differ diff --git a/static/images/rc/access-management-create-user-key.png b/static/images/rc/access-management-create-user-key.png old mode 100755 new mode 100644 index ed5906c11a..c2a7fb35a5 Binary files a/static/images/rc/access-management-create-user-key.png and b/static/images/rc/access-management-create-user-key.png differ diff --git a/static/images/rc/access-management-user-key-add.png b/static/images/rc/access-management-user-key-add.png old mode 100755 new mode 100644 index 7003d8fed7..835afb0209 Binary files a/static/images/rc/access-management-user-key-add.png and b/static/images/rc/access-management-user-key-add.png differ