Release identity
SHA-256 of the pack file bytes: 223b31d387da00817c87b38a9c9aa35d256ab801c9e077185650eb44a4ca454b
Not in the distributable release manifest. The binary carries a digest-bound manifest of the distributable library; a pack whose bytes differ from its manifest entry — endpoint, tier, allowlist, or credential edited, with provider, version, and review block preserved — fails the digest check, loses distributability, and renders MODIFIED rather than as the shipped reviewed artifact. Review state and artifact status are different facts: the first is a documentation-review declaration, the second is the identity of the exact bytes.
Capabilities (7)
redis.cloud.subscriptions.read v1.0.0R0
- Action
- read
- Endpoint
GET https://redis-cloud.invalid/v1/subscriptions- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-redis-cloud-api-keys- Data class
- internal
List the subscriptions on the account: names, cloud providers, regions and status. The registered path covers the collection read only — single-subscription reads (GET /v1/subscriptions/{id}) are not registered. The host is a reserved placeholder: substitute the real Redis Cloud API host before enabling.
redis.cloud.databases.read v1.0.0R0
- Action
- read
- Endpoint
GET https://redis-cloud.invalid/v1/subscriptions/SUBSCRIPTION_ID/databases- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-redis-cloud-api-keys- Data class
- internal
List the databases in one subscription: names, memory limits, endpoints and status. Database endpoints reveal connection topology; database content is never exposed by this management API. The registered path covers the collection read only. SUBSCRIPTION_ID is a placeholder the deployment binds before enabling.
redis.cloud.subscription.create v1.0.0R3
- Actions
- create, deploy
- Endpoint
POST https://redis-cloud.invalid/v1/subscriptions- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-redis-cloud-api-keys- Data class
- internal
Create one subscription. The request body is an unrestricted subscription definition — cloud provider, regions, payment method reference and the initial database plan are all settable — so the registered capability carries the full create effect, including ongoing billed spend; cost review belongs to the deployment's budget controls, not to this file. Provisioning is asynchronous (the response is a task to poll). Creating a subscription provisions live, billable cloud infrastructure, so the capability declares create and deploy at the R3 floor — deploy is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer) — and an installer's intention to request only a small plan is not a restriction the registration can enforce.
redis.cloud.database.create v1.0.0R3
- Actions
- create, deploy
- Endpoint
POST https://redis-cloud.invalid/v1/subscriptions/SUBSCRIPTION_ID/databases- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-redis-cloud-api-keys- Data class
- internal
Create one database in a subscription. The request body is an unrestricted database definition — memory limit, throughput, modules, replication, persistence and the database password are settable — so the capability carries the full create effect; a password in the body is secret material the executor must keep out of logs exactly like the API keys themselves. Provisioning is asynchronous. Creating a database provisions live, billable infrastructure, so the capability declares create and deploy at the R3 floor. SUBSCRIPTION_ID is a placeholder the deployment binds before enabling.
redis.cloud.database.update v1.0.0R3
- Actions
- update, deploy
- Endpoint
PUT https://redis-cloud.invalid/v1/subscriptions/SUBSCRIPTION_ID/databases/DATABASE_ID- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-redis-cloud-api-keys- Data class
- internal
Update one database's configuration: memory limit, throughput, alerts, replication and security settings, including changing the database password. The request body is unrestricted within the update schema, so the capability carries the full update effect; a new password in the body is secret material the executor must keep out of logs — whether a password change drops existing client connections is NOT stated in the retrieved documentation and is asserted here only as a possibility the deployment must verify against the live reference. Resizing the plan reconfigures live, billable capacity, so the capability declares update and deploy at the R3 floor; whether resizing down can evict data is likewise unverified against the operation specification (the vendor's Swagger reference was not retrievable this session), and the deployment's review should treat plan changes with the same care as this registration treats the endpoint: the whole effect, not an installer's intention. SUBSCRIPTION_ID and DATABASE_ID are placeholders the deployment binds before enabling.
redis.cloud.database.delete v1.0.0R3
- Action
- delete
- Endpoint
DELETE https://redis-cloud.invalid/v1/subscriptions/SUBSCRIPTION_ID/databases/DATABASE_ID- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-redis-cloud-api-keys- Data class
- internal
Delete one database. Deleting a database destroys its content — data not covered by a backup is gone, and re-creating a database later is a new database, not an undo of this call. Delete is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer) and registers at the R3 floor; an irreversible action cannot be taken without a person. Deletion is asynchronous (the response is a task to poll). SUBSCRIPTION_ID and DATABASE_ID are placeholders the deployment binds before enabling.
redis.cloud.subscription.delete v1.0.0R3
- Action
- delete
- Endpoint
DELETE https://redis-cloud.invalid/v1/subscriptions/SUBSCRIPTION_ID- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-redis-cloud-api-keys- Data class
- internal
Delete a subscription. Verified prerequisite from the vendor's support documentation: a subscription cannot be deleted while any databases remain in it — the deployment must delete every database first (registered separately above) — and deleting the subscription stops its billing; this registration claims NO cascade deletion of databases by this call. Delete is one of the IRREVERSIBLE ACTIONS (delete, send, pay, deploy, approve, share and transfer) and registers at the R3 floor; an irreversible action cannot be taken without a person, and policy can raise the tier above the floor. Deletion is asynchronous (the response is a task to poll). SUBSCRIPTION_ID is a placeholder the deployment binds before enabling.
Credential reference
The pack names a reference, never a secret. Installing a pack registers capabilities and makes them governable; registration is not connectivity. The credential is created at the provider and held in the client's own secret manager under the reference the pack names, and deployment testing is still required to show the credential path works and cannot be bypassed.
- Reference
secret-ref-redis-cloud-api-keys- Custody
- customer_vault
- Injection
- header (x-api-key)
Redis Cloud REST API credentials for the customer's own account, held in the client's own secret manager. Authentication requires TWO headers on every request: the account key as 'x-api-key' and a user (secret) key as 'x-api-secret-key'. The stored material is ONE exact value: a single JSON object of the form {"x-api-key":"<account key>","x-api-secret-key":"<user key>"}. Declared connector gap: this registration declares a single-header injector (inject_name: x-api-key), which can place only one stored string into one header and CANNOT split this object into the two documented headers — the two-header contract therefore requires a separately reviewed two-header-capable connector binding before the pack can be enabled, and the injector fields as declared are not a working representation on their own. Issuance: the API is disabled by default; enabling it generates the account key once, and changing or deleting the account key requires contacting Redis support — there is no self-serve rotation of the account key. User keys are personal keys issued to users holding the Owner, Viewer, Billing admin or Logs viewer role, are shown only once at creation, and may be scoped to a CIDR allow list of source IPs. Least privilege: create a dedicated user for this integration with the minimum role that covers the enabled capabilities (a Viewer-role key cannot perform the writes), issue it its own user key so system-log audit attributes requests to this integration, and set the CIDR allow list to the executor's egress addresses. Expiry and revocation: the fetched documentation describes no automatic expiry; a user key stays valid until it is deleted in the console (or the owning user is removed), and disabling the ability to create NEW keys does NOT invalidate already-issued keys — revocation means deleting each issued key, and account-key replacement goes through support. Renewal and rotation ownership sits with an external deployment process; the executor injects the stored values verbatim and performs no key lifecycle itself. Executor hygiene: the values must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.
Resources
redis-cloud-account(api, internal):https://redis-cloud.invalid/v1
Pack notes and exclusions
The endpoint host 'redis-cloud.invalid' is a reserved non-production placeholder (an RFC 2606 reserved TLD): substitute the Redis Cloud REST API host the deployment actually uses (the documented API endpoint URI is https://api.redislabs.com/v1) before enabling, in every endpoint, in the resource locator and in every egress allowlist entry — the allowlist matches exactly, so all three must be substituted together, and substitution is a required deployment step. SUBSCRIPTION_ID and DATABASE_ID in the endpoint paths are placeholders the deployment binds to concrete resources before enabling. Two-header honesty: Redis Cloud authenticates EVERY API request with two headers — the account key in 'x-api-key' and a personal user key in 'x-api-secret-key' — and the credential note defines the exact stored value; because the declared single-header injector cannot place two headers, every capability in this pack carries a declared connector gap — enabling requires a separately reviewed two-header-capable connector binding, which is one of the reasons this pack stays in draft state. The API is disabled on all accounts by default and must be enabled before any capability here works. Provisioning is asynchronous: create, update and delete operations return a task the caller polls (GET /v1/tasks/{taskId}) — this pack registers the initiating operations only, and task polling is a read of the same class the deployment may register separately. Documented exclusions — this pack does not register: user and role management (creating users or assigning roles under /v1/users and ACL endpoints), payment methods and billing operations, cloud account management (cloud accounts hold the customer's own cloud-provider credentials used for Bring-Your-Own-Cloud provisioning), database backup scheduling and especially database import (an import overwrites current database content — destructive to live data and deserving its own review), CRDB / Active-Active subscription management, SSO and SAML configuration, and system log export. The vendor's full API reference is a client-side Swagger UI that could not be retrieved verbatim in this review session; the registered routes follow the documented v1 shapes shown in the fetched getting-started and usage pages (and the public task-status example linking to /v1/subscriptions/{id}), and each route must be re-verified against the live reference before enabling — one reason this pack stays in draft state.
Review record
Draft review record dated 2026-09-21 · Reviewer: aaes-eng (an opaque id that resolves internally to the responsible reviewer)
- https://redis.io/docs/latest/operate/rc/api/get-started/ (retrieved 2026-09-21)
- https://redis.io/docs/latest/operate/rc/api/get-started/use-rest-api/ (retrieved 2026-09-21)
- https://support.redislabs.com/hc/en-us/articles/27215735376658 (retrieved 2026-09-21)
A pack review is not a vendor or examiner attestation. A retrieval date says when a source page was read; it does not by itself establish what the page said then. No pack is vendor-endorsed, and none has been connectivity-tested against a live vendor tenant.
