List Keys

Lists keys in a collection with optional pagination and prefix filtering.

Authentication

Requires internal authentication. Pass credentials via X-Glue-Authentication header, or apikey and secret headers.

Path Parameters

Parameter Type Description
col string The name of the collection

Query Parameters

Parameter Type Description
limit integer Maximum number of keys to return (default: 100)
prefix string Filter keys by prefix

Example Request

curl "https://api.hola.cloud/v1/collections/users/keys?prefix=user:&limit=10" \
  -H "X-Glue-Authentication: YOUR_AUTH_TOKEN"
GET /v1/collections/users/keys?prefix=user:&limit=10 HTTP/1.1
Host: api.hola.cloud
X-Glue-Authentication: YOUR_AUTH_TOKEN
// Go 1.21+, standard library only. Save as main.go and run: go run main.go
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	req, err := http.NewRequest("GET", "https://api.hola.cloud/v1/collections/users/keys?prefix=user:&limit=10", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-Glue-Authentication", "YOUR_AUTH_TOKEN")

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	responseBody, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Status)
	fmt.Println(string(responseBody))
}
<?php
// PHP 8+ with the curl extension. Save as example.php and run: php example.php

$ch = curl_init();

curl_setopt_array($ch, [
    CURLOPT_URL => 'https://api.hola.cloud/v1/collections/users/keys?prefix=user:&limit=10',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => [
        'X-Glue-Authentication: YOUR_AUTH_TOKEN',
    ],
]);

$response = curl_exec($ch);
if ($response === false) {
    throw new Exception(curl_error($ch));
}
echo curl_getinfo($ch, CURLINFO_RESPONSE_CODE), "\n", $response, "\n";
curl_close($ch);
# Python 3.8+. Install: pip install requests. Save as example.py and run: python example.py
import requests

headers = {
    "X-Glue-Authentication": "YOUR_AUTH_TOKEN",
}

response = requests.request(
    "GET",
    "https://api.hola.cloud/v1/collections/users/keys?prefix=user:&limit=10",
    headers=headers
)

print(response.status_code)
print(response.text)
// Node.js 18+. Save as example.mjs and run: node example.mjs
const response = await fetch("https://api.hola.cloud/v1/collections/users/keys?prefix=user:&limit=10", {
  method: "GET",
  headers: {
    "X-Glue-Authentication": "YOUR_AUTH_TOKEN"
  }
});

console.log(response.status);
console.log(await response.text());
const response = await fetch("https://api.hola.cloud/v1/collections/users/keys?prefix=user:&limit=10", {
  method: "GET",
  headers: {
    "X-Glue-Authentication": "YOUR_AUTH_TOKEN"
  }
});

console.log(response.status);
console.log(await response.text());
// Java 17+, standard library only. Save as Main.java and run: java Main.java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
    public static void main(String[] args) throws Exception {
        var request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.hola.cloud/v1/collections/users/keys?prefix=user:&limit=10"))
            .method("GET", HttpRequest.BodyPublishers.noBody())
            .header("X-Glue-Authentication", "YOUR_AUTH_TOKEN")
            .build();

        var response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.statusCode());
        System.out.println(response.body());
    }
}

Example Response

1HTTP/1.1 200 OK
2Content-Type: application/json
 1{
 2  "items": [
 3    {
 4      "key": "user:1001",
 5      "value": { "name": "Alice" },
 6      "version": 1,
 7      "updatedAt": "2025-06-20T15:30:00Z"
 8    },
 9    {
10      "key": "user:1002",
11      "value": { "name": "Bob" },
12      "version": 1,
13      "updatedAt": "2025-06-21T08:00:00Z"
14    }
15  ],
16  "next": "user:1002"
17}

Error Codes

Status Code Description
403 forbidden Missing authentication headers
500 internal_error Internal server error

Comments

Leave a comment