You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[CP-147] Added endpoints and samples to readme. (#99)
* [CP-147] Added endpoints and samples to readme.
* Added that we support HTTP/2 as well.
* Review remarks addressed
* format
* more format
* more format
* Use <>
* Fixed anker
Copy file name to clipboardExpand all lines: README.md
+122-3Lines changed: 122 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,120 @@
1
1
# Qdrant Cloud API
2
2
3
-
This repository contains the Protocol Buffer definitions for the Qdrant Cloud API, as well as its generated code.
3
+
Welcome to the Qdrant Cloud API [repository](https://github.com/qdrant/qdrant-cloud-public-api)!
4
+
5
+
## Introduction
6
+
7
+
This repository hosts the Protocol Buffer (`.proto`) definitions that define the contract for interacting with Qdrant Cloud platform services.
8
+
9
+
The Qdrant Cloud API offers two main ways to interact:
10
+
11
+
***gRPC:** For high-performance, type-safe communication, ideal for backend services and (newer) clients.
12
+
***REST/JSON:** A conventional HTTP/1.1 (and HTTP/2) based interface with JSON payloads, provided via gRPC Gateway for ease of use with tools.
13
+
14
+
This repository also contains generated client libraries (SDKs) for Go, Python, and TypeScript (found in the `gen/` directory) to help you get started quickly.
15
+
16
+
If you plan to contribute, please review the Protobuf guidelines to ensure our API remains consistent and user-friendly.
17
+
18
+
## API Endpoints
19
+
20
+
***gRPC:**`grpc.cloud.qdrant.io:443`
21
+
***REST/JSON:**`https://api.cloud.qdrant.io`
22
+
23
+
Authentication is typically handled via API keys (so called management keys), which are passed in the `Authorization` header as an apikey (e.g., `Authorization: apikey <YOUR_MANAGEMENT_KEY>`).
24
+
25
+
## Interacting with the API
26
+
27
+
You can interact with the Qdrant Cloud API directly using tools like `grpcurl` (for gRPC) and `curl` (for REST/JSON), or by using the provided client libraries.
28
+
29
+
The API is used in the [TerraformProvider](https://registry.terraform.io/providers/qdrant/qdrant-cloud/latest) as well, so this can be used to interact as well.
30
+
The sources for the TerraformProvider can be found [in Github here](https://github.com/qdrant/terraform-provider-qdrant-cloud).
31
+
32
+
### Using `grpcurl` (for gRPC)
33
+
34
+
`grpcurl` is a command-line tool that lets you interact with gRPC servers. It's great for exploring and testing APIs.
35
+
36
+
#### Example: List available services with `grpcurl`
37
+
38
+
```sh
39
+
grpcurl grpc.cloud.qdrant.io:443 list
40
+
```
41
+
42
+
#### Example: Describe a service (e.g., ClusterService)
*Note: Replace `<YOUR_MANAGEMENT_KEY>` with your actual management key and `<YOUR_ACCOUNT_ID>` with your account ID. The specific service and method names can be found in the `.proto` files under the `proto/` directory or by using `grpcurl list` and `grpcurl describe`.*
58
+
59
+
Assuming you have exported your management key in the environment variable `MANAGEMENT_KEY`, you can replace the first line with:
*Note: Replace `<YOUR_MANAGEMENT_KEY>` with your actual management key and `<YOUR_ACCOUNT_ID>` with your account ID. The exact REST path and HTTP method depend on the `google.api.http` annotations in the `.proto` files.*
79
+
80
+
You can typically infer these from the gRPC service and method names, or refer to the API documentation. Or check the output of grpcurl like:
The `gen/` directory in this repository contains pre-generated client libraries (SDKs) to help you integrate the Qdrant Cloud API into your applications. These libraries provide type-safe methods to call the gRPC services directly.
108
+
109
+
We currently provide support for:
110
+
***Go:**`gen/go/`
111
+
***Python:**`gen/python/`
112
+
***TypeScript:**`gen/ts/`
113
+
114
+
See [below](#using-generated-code) for more details.
115
+
116
+
117
+
## Working with Protocol Buffer definitions
4
118
5
119
We use [Buf](https://buf.build/) to lint the schemas and to generate language bindings.
6
120
@@ -12,8 +126,6 @@ This project leverages Make to automate common tasks. To view all available comm
12
126
make help
13
127
```
14
128
15
-
## Working with Protocol Buffer definitions
16
-
17
129
### Adding/updating proto files
18
130
19
131
The API schema definitions are located under the `proto/` directory. Whenever you add or modify a `.proto` file, make sure that you format and lint it accordingly. You can do that running:
@@ -50,6 +162,7 @@ import (
50
162
- Make sure you are authorised to gcloud. `gcloud auth application-default login`
0 commit comments