Usage

You can access and use the API endpoint URI (https://api.redislabs.com/v1) with any of the following tools:

  • The Swagger user interface

  • The cURL HTTP client

  • An HTTP client in any programming language

The following examples use the cURL utility. You can use any REST client to work with the Redis Cloud REST API.

Users

You can use the Redis Enterprise Cloud REST API to update, delete and list users.

List Users

GET https://api.redislabs.com/v1/users

To retrieve list of users of current account.

API call

curl -s -X GET "https://api.redislabs.com/v1/users" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY"

Response body

{
  "account": 1001,
  "users": [
    {
      "id": 60192,
      "name": "Clifford O'neill",
      "email": "clifford.mail@gmail.com",
      "role": "Viewer",
      "userType": "Local",
      "hasApiKey": false,
      "options": {
        "billing": false,
        "emailAlerts": false,
        "operationalEmails": false,
        "mfaEnabled": false
      }
    }
  ]
}

Get User by ID

GET https://api.redislabs.com/v1/users/{userId}

To retrieve a user’s detail by its ID.

API call

curl -s -X GET "https://api.redislabs.com/v1/users/$USER_ID" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY"

Response body

{
  "id": 60192,
  "name": "Clifford O'neill",
  "email": "clifford.mail@gmail.com",
  "role": "Viewer",
  "userType": "Local",
  "hasApiKey": false,
  "options": {
    "billing": false,
    "emailAlerts": false,
    "operationalEmails": false,
    "mfaEnabled": false
  }
}

Update User

PUT https://api.redislabs.com/v1/users/{userId}

To update a user’s detail by its ID.

Request body

{
  "name": "My new user name",
  "role": "Owner"
}

API call

curl -s -X PUT "https://api.redislabs.com/v1/users/$USER_ID" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY" \
     -d '{
       "name": "My new user name",
       "role": "Owner"
     }'

Response body

{
  "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "commandType": "string",
  "status": "initialized",
  "description": "string",
  "timestamp": "2023-08-04T13:22:06.585Z",
  "response": {
    "resourceId": 0,
    "additionalResourceId": 0,
    "resource": {},
    "error": "UNAUTHORIZED",
    "additionalInfo": "string"
  },
  "links": [
    {
      "additionalProp1": {},
      "additionalProp2": {},
      "additionalProp3": {}
    }
  ]
}

Delete User

DELETE https://api.redislabs.com/v1/users/{userId}

To delete a user by its ID from current account.

API call

curl -s -X DELETE "https://api.redislabs.com/v1/users/$USER_ID" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY"

Response body

{
  "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "commandType": "string",
  "status": "initialized",
  "description": "string",
  "timestamp": "2023-08-04T13:24:06.944Z",
  "response": {
    "resourceId": 0,
    "additionalResourceId": 0,
    "resource": {},
    "error": "UNAUTHORIZED",
    "additionalInfo": "string"
  },
  "links": [
    {
      "additionalProp1": {},
      "additionalProp2": {},
      "additionalProp3": {}
    }
  ]
}

ACL

Data and operations related to access control list.

Redis Rules

Information on current account’s ACL users

List Redis Rules

GET https://api.redislabs.com/v1/acl/redisRules

To retrieve list of ACL redis rules.

API call

curl -s -X GET "https://api.redislabs.com/v1/acl/redisRules" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY"

Response body

{
  "accountId": 1001,
  "redisRules": [
    {
      "id": 7,
      "name": "Full-Access",
      "acl": "+@all  ~*",
      "isDefault": true,
      "status": "active"
    },
    {
      "id": 8,
      "name": "Read-Write",
      "acl": "+@all -@dangerous ~*",
      "isDefault": true,
      "status": "active"
    },
    {
      "id": 9,
      "name": "Read-Only",
      "acl": "+@read ~*",
      "isDefault": true,
      "status": "active"
    }
  ]
}

Create Redis Rule

POST https://api.redislabs.com/v1/acl/redisRules

To create a redis rule ACL.

Request body

{
  "name": "ACL-rule-example",
  "redisRule": "string"
}

API call

curl -s -X POST "https://api.redislabs.com/v1/acl/redisRules" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY" \
     -d '{
       "name": "ACL-rule-example",
       "redisRule": "string"
     }'

Response body

{
  "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "commandType": "string",
  "status": "initialized",
  "description": "string",
  "timestamp": "2023-08-04T14:45:17.256Z",
  "response": {
    "resourceId": 0,
    "additionalResourceId": 0,
    "resource": {},
    "error": "UNAUTHORIZED",
    "additionalInfo": "string"
  },
  "links": [
    {
      "additionalProp1": {},
      "additionalProp2": {},
      "additionalProp3": {}
    }
  ]
}

Update Redis Rule

PUT https://api.redislabs.com/v1/acl/redisRules/{aclRedisRuleId}

To update an ACL redis rule.

Request body

{
  "name": "ACL-rule-example",
  "redisRule": "string"
}

API call

curl -s -X PUT "https://api.redislabs.com/v1/acl/redisRules/$RULE_ID" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY" \
     -d '{
       "name": "ACL-rule-example",
       "redisRule": "string"
     }'

Response body

{
  "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "commandType": "string",
  "status": "initialized",
  "description": "string",
  "timestamp": "2023-08-04T14:45:17.256Z",
  "response": {
    "resourceId": 0,
    "additionalResourceId": 0,
    "resource": {},
    "error": "UNAUTHORIZED",
    "additionalInfo": "string"
  },
  "links": [
    {
      "additionalProp1": {},
      "additionalProp2": {},
      "additionalProp3": {}
    }
  ]
}

Delete Redis Rule

DELETE https://api.redislabs.com/v1/acl/redisRules/{aclRedisRuleId}

To update an ACL redis rule.

API call

curl -s -X DELETE "https://api.redislabs.com/v1/acl/redisRules/$RULE_ID" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY"

Response body

{
  "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "commandType": "string",
  "status": "initialized",
  "description": "string",
  "timestamp": "2023-08-04T16:13:29.868Z",
  "response": {
    "resourceId": 0,
    "additionalResourceId": 0,
    "resource": {},
    "error": "UNAUTHORIZED",
    "additionalInfo": "string"
  },
  "links": [
    {
      "additionalProp1": {},
      "additionalProp2": {},
      "additionalProp3": {}
    }
  ]
}

Roles

Information on current account’s ACL roles

List Roles

GET https://api.redislabs.com/v1/acl/roles

To retrieve list of ACL roles.

API call

curl -s -X GET "https://api.redislabs.com/v1/acl/roles" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY"

Response body

{
  "accountId": 1001,
  "roles": [
    {
      "id": 395,
      "name": "role-name",
      "redisRules": [
        {
          "ruleId": 7,
          "ruleName": "Full-Access",
          "databases": [
            {
              "subscriptionId": 126,
              "databaseId": 1,
              "databaseName": "DB-RCP-2-81-7"
            }
          ]
        }
      ],
      "users": [],
      "status": "error"
    }
  ]
}

Create Role

POST https://api.redislabs.com/v1/acl/roles

To create a new ACL role.

Request body

{
  "name": "ACL-role-example",
  "redisRules": [
    {
      "ruleName": "Read-Only",
      "databases": [
        {
          "subscriptionId": 0,
          "databaseId": 0,
          "regions": []
        }
      ]
    }
  ]
}

API call

curl -s -X POST "https://api.redislabs.com/v1/acl/roles" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY" \
     -d '{
       "name": "ACL-role-example",
       "redisRules": [
         {
           "ruleName": "Read-Only",
           "databases": [
             {
               "subscriptionId": 0,
               "databaseId": 0,
               "regions": []
             }
           ]
         }
       ]
     }'

Response body

{
  "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "commandType": "string",
  "status": "initialized",
  "description": "string",
  "timestamp": "2023-08-04T16:24:12.789Z",
  "response": {
    "resourceId": 0,
    "additionalResourceId": 0,
    "resource": {},
    "error": "UNAUTHORIZED",
    "additionalInfo": "string"
  },
  "links": [
    {
      "additionalProp1": {},
      "additionalProp2": {},
      "additionalProp3": {}
    }
  ]
}

Update Role

PUT https://api.redislabs.com/v1/acl/roles/{aclRoleId}

To update an ACL role.

Request body

{
  "name": "ACL-role-example",
  "redisRules": [
    {
      "ruleName": "Read-Only",
      "databases": [
        {
          "subscriptionId": 0,
          "databaseId": 0,
          "regions": []
        }
      ]
    }
  ]
}

API call

curl -s -X PUT "https://api.redislabs.com/v1/acl/roles/$ROLE_ID" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY" \
     -d '{
       "name": "ACL-role-example",
       "redisRules": [
         {
           "ruleName": "Read-Only",
           "databases": [
             {
               "subscriptionId": 0,
               "databaseId": 0,
               "regions": []
             }
           ]
         }
       ]
     }'

Response body

{
  "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "commandType": "string",
  "status": "initialized",
  "description": "string",
  "timestamp": "2023-08-04T16:32:47.628Z",
  "response": {
    "resourceId": 0,
    "additionalResourceId": 0,
    "resource": {},
    "error": "UNAUTHORIZED",
    "additionalInfo": "string"
  },
  "links": [
    {
      "additionalProp1": {},
      "additionalProp2": {},
      "additionalProp3": {}
    }
  ]
}

Delete Redis Rule

DELETE https://api.redislabs.com/v1/acl/roles/{aclRoleId}

To delete an ACL role.

API call

curl -s -X DELETE "https://api.redislabs.com/v1/acl/roles/$ROLE_ID" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY"

Response body

{
  "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "commandType": "string",
  "status": "initialized",
  "description": "string",
  "timestamp": "2023-08-04T16:34:07.530Z",
  "response": {
    "resourceId": 0,
    "additionalResourceId": 0,
    "resource": {},
    "error": "UNAUTHORIZED",
    "additionalInfo": "string"
  },
  "links": [
    {
      "additionalProp1": {},
      "additionalProp2": {},
      "additionalProp3": {}
    }
  ]
}

Users

Information on current account’s ACL users

List Users

GET https://api.redislabs.com/v1/acl/users

To retrieve list of ACL users.

API call

curl -s -X GET "https://api.redislabs.com/v1/acl/users" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY"

Response body

{
  "accountId": 1001,
  "users": [
    {
      "id": 1,
      "name": "user",
      "role": "role-name",
      "status": "active",
      "links": []
    }
  ]
}

Create User

POST https://api.redislabs.com/v1/acl/users

To create a new ACL user.

Request body

{
  "name": "ACL-user-example",
  "role": "Redis-role-example",
  "password": "some-random-password"
}

API call

curl -s -X POST "https://api.redislabs.com/v1/acl/roles" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY" \
     -d '{
       "name": "ACL-user-example",
       "role": "Redis-role-example",
       "password": "some-random-password"
     }'

Response body

{
  "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "commandType": "string",
  "status": "initialized",
  "description": "string",
  "timestamp": "2023-08-04T16:43:54.564Z",
  "response": {
    "resourceId": 0,
    "additionalResourceId": 0,
    "resource": {},
    "error": "UNAUTHORIZED",
    "additionalInfo": "string"
  },
  "links": [
    {
      "additionalProp1": {},
      "additionalProp2": {},
      "additionalProp3": {}
    }
  ]
}

Get User

GET https://api.redislabs.com/v1/acl/users/{aclUserId}

To retrieve an ACL user.

API call

curl -s -X GET "https://api.redislabs.com/v1/acl/users/$USER_ID" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY"

Response body

{
  "id": 1,
  "name": "abc",
  "role": "role-name",
  "status": "active"
}

Update User

PUT https://api.redislabs.com/v1/acl/users/{aclUserId}

To update an ACL user.

Request body

{
  "role": "Redis-role-example",
  "password": "some-random-password"
}

API call

curl -s -X PUT "https://api.redislabs.com/v1/acl/users/$USER_ID" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY" \
     -d '{
       "role": "Redis-role-example",
       "password": "some-random-password"
     }'

Response body

{
  "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "commandType": "string",
  "status": "initialized",
  "description": "string",
  "timestamp": "2023-08-04T16:52:02.810Z",
  "response": {
    "resourceId": 0,
    "additionalResourceId": 0,
    "resource": {},
    "error": "UNAUTHORIZED",
    "additionalInfo": "string"
  },
  "links": [
    {
      "additionalProp1": {},
      "additionalProp2": {},
      "additionalProp3": {}
    }
  ]
}

Delete User

DELETE https://api.redislabs.com/v1/acl/users/{aclUserId}

To delete an ACL user.

API call

curl -s -X DELETE "https://api.redislabs.com/v1/acl/user/$USER_ID" \
     -H "accept: application/json" \
     -H "x-api-key: $ACCOUNT_KEY" \
     -H "x-api-secret-key: $SECRET_KEY"

Response body

{
  "taskId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "commandType": "string",
  "status": "initialized",
  "description": "string",
  "timestamp": "2023-08-04T16:34:07.530Z",
  "response": {
    "resourceId": 0,
    "additionalResourceId": 0,
    "resource": {},
    "error": "UNAUTHORIZED",
    "additionalInfo": "string"
  },
  "links": [
    {
      "additionalProp1": {},
      "additionalProp2": {},
      "additionalProp3": {}
    }
  ]
}