Protocol Documentation
Table of Contents
Top
collections.proto
AliasDescription
| Field |
Type |
Label |
Description |
| alias_name |
string |
|
Name of the alias |
| collection_name |
string |
|
Name of the collection |
AliasOperations
ChangeAliases
| Field |
Type |
Label |
Description |
| actions |
AliasOperations |
repeated |
List of actions |
| timeout |
uint64 |
optional |
Wait timeout for operation commit in seconds, if not specified - default value will be supplied |
CollectionConfig
CollectionDescription
| Field |
Type |
Label |
Description |
| name |
string |
|
Name of the collection |
CollectionInfo
| Field |
Type |
Label |
Description |
| status |
CollectionStatus |
|
operating condition of the collection |
| optimizer_status |
OptimizerStatus |
|
status of collection optimizers |
| vectors_count |
uint64 |
|
number of vectors in the collection |
| segments_count |
uint64 |
|
Number of independent segments |
| config |
CollectionConfig |
|
Configuration |
| payload_schema |
CollectionInfo.PayloadSchemaEntry |
repeated |
Collection data types |
| points_count |
uint64 |
|
number of points in the collection |
| indexed_vectors_count |
uint64 |
optional |
number of indexed vectors in the collection. |
CollectionInfo.PayloadSchemaEntry
CollectionOperationResponse
| Field |
Type |
Label |
Description |
| result |
bool |
|
if operation made changes |
| time |
double |
|
Time spent to process |
CollectionParams
| Field |
Type |
Label |
Description |
| shard_number |
uint32 |
|
Number of shards in collection |
| on_disk_payload |
bool |
|
If true - point's payload will not be stored in memory |
| vectors_config |
VectorsConfig |
optional |
Configuration for vectors |
| replication_factor |
uint32 |
optional |
Number of replicas of each shard that network tries to maintain |
| write_consistency_factor |
uint32 |
optional |
How many replicas should apply the operation for us to consider it successful |
CollectionParamsDiff
| Field |
Type |
Label |
Description |
| replication_factor |
uint32 |
optional |
Number of replicas of each shard that network tries to maintain |
| write_consistency_factor |
uint32 |
optional |
How many replicas should apply the operation for us to consider it successful |
CreateAlias
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
Name of the collection |
| alias_name |
string |
|
New name of the alias |
CreateCollection
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
Name of the collection |
| hnsw_config |
HnswConfigDiff |
optional |
Configuration of vector index |
| wal_config |
WalConfigDiff |
optional |
Configuration of the Write-Ahead-Log |
| optimizers_config |
OptimizersConfigDiff |
optional |
Configuration of the optimizers |
| shard_number |
uint32 |
optional |
Number of shards in the collection, default = 1 |
| on_disk_payload |
bool |
optional |
If true - point's payload will not be stored in memory |
| timeout |
uint64 |
optional |
Wait timeout for operation commit in seconds, if not specified - default value will be supplied |
| vectors_config |
VectorsConfig |
optional |
Configuration for vectors |
| replication_factor |
uint32 |
optional |
Number of replicas of each shard that network tries to maintain, default = 1 |
| write_consistency_factor |
uint32 |
optional |
How many replicas should apply the operation for us to consider it successful, default = 1 |
| init_from_collection |
string |
optional |
Specify name of the other collection to copy data from |
| quantization_config |
QuantizationConfig |
optional |
Quantization configuration of vector |
DeleteAlias
| Field |
Type |
Label |
Description |
| alias_name |
string |
|
Name of the alias |
DeleteCollection
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
Name of the collection |
| timeout |
uint64 |
optional |
Wait timeout for operation commit in seconds, if not specified - default value will be supplied |
GetCollectionInfoRequest
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
Name of the collection |
GetCollectionInfoResponse
HnswConfigDiff
| Field |
Type |
Label |
Description |
| m |
uint64 |
optional |
Number of edges per node in the index graph. Larger the value - more accurate the search, more space required. |
| ef_construct |
uint64 |
optional |
Number of neighbours to consider during the index building. Larger the value - more accurate the search, more time required to build the index. |
| full_scan_threshold |
uint64 |
optional |
Minimal size (in KiloBytes) of vectors for additional payload-based indexing. If the payload chunk is smaller than full_scan_threshold additional indexing won't be used - in this case full-scan search should be preferred by query planner and additional indexing is not required. Note: 1 Kb = 1 vector of size 256 |
| max_indexing_threads |
uint64 |
optional |
Number of parallel threads used for background index building. If 0 - auto selection. |
| on_disk |
bool |
optional |
Store HNSW index on disk. If set to false, the index will be stored in RAM. |
| payload_m |
uint64 |
optional |
Number of additional payload-aware links per node in the index graph. If not set - regular M parameter will be used. |
ListAliasesRequest
ListAliasesResponse
ListCollectionAliasesRequest
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
Name of the collection |
ListCollectionsRequest
ListCollectionsResponse
OptimizerStatus
OptimizersConfigDiff
| Field |
Type |
Label |
Description |
| deleted_threshold |
double |
optional |
The minimal fraction of deleted vectors in a segment, required to perform segment optimization |
| vacuum_min_vector_number |
uint64 |
optional |
The minimal number of vectors in a segment, required to perform segment optimization |
| default_segment_number |
uint64 |
optional |
Target amount of segments the optimizer will try to keep. Real amount of segments may vary depending on multiple parameters: |
- Amount of stored points. - Current write RPS.
It is recommended to select the default number of segments as a factor of the number of search threads, so that each segment would be handled evenly by one of the threads. |
| max_segment_size | uint64 | optional | Do not create segments larger this size (in KiloBytes). Large segments might require disproportionately long indexation times, therefore it makes sense to limit the size of segments.
If indexation speed has more priority for you - make this parameter lower. If search speed is more important - make this parameter higher. Note: 1Kb = 1 vector of size 256 |
| memmap_threshold | uint64 | optional | Maximum size (in KiloBytes) of vectors to store in-memory per segment. Segments larger than this threshold will be stored as a read-only memmaped file. To enable memmap storage, lower the threshold Note: 1Kb = 1 vector of size 256 |
| indexing_threshold | uint64 | optional | Maximum size (in KiloBytes) of vectors allowed for plain index. Default value based on https://github.com/google-research/google-research/blob/master/scann/docs/algorithms.md Note: 1Kb = 1 vector of size 256 |
| flush_interval_sec | uint64 | optional | Interval between forced flushes. |
| max_optimization_threads | uint64 | optional | Max number of threads, which can be used for optimization. If 0 - NUM_CPU - 1 will be used |
PayloadIndexParams
| Field |
Type |
Label |
Description |
| text_index_params |
TextIndexParams |
|
Parameters for text index |
PayloadSchemaInfo
QuantizationConfig
RenameAlias
| Field |
Type |
Label |
Description |
| old_alias_name |
string |
|
Name of the alias to rename |
| new_alias_name |
string |
|
Name of the alias |
ScalarQuantization
| Field |
Type |
Label |
Description |
| type |
QuantizationType |
|
Type of quantization |
| quantile |
float |
optional |
Number of bits to use for quantization |
| always_ram |
bool |
optional |
If true - quantized vectors always will be stored in RAM, ignoring the config of main storage |
TextIndexParams
| Field |
Type |
Label |
Description |
| tokenizer |
TokenizerType |
|
Tokenizer type |
| lowercase |
bool |
optional |
If true - all tokens will be lowercase |
| min_token_len |
uint64 |
optional |
Minimal token length |
| max_token_len |
uint64 |
optional |
Maximal token length |
UpdateCollection
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
Name of the collection |
| optimizers_config |
OptimizersConfigDiff |
optional |
New configuration parameters for the collection |
| timeout |
uint64 |
optional |
Wait timeout for operation commit in seconds, if not specified - default value will be supplied |
| params |
CollectionParamsDiff |
optional |
New configuration parameters for the collection |
VectorParams
| Field |
Type |
Label |
Description |
| size |
uint64 |
|
Size of the vectors |
| distance |
Distance |
|
Distance function used for comparing vectors |
| hnsw_config |
HnswConfigDiff |
optional |
Configuration of vector HNSW graph. If omitted - the collection configuration will be used |
| quantization_config |
QuantizationConfig |
optional |
Configuration of vector quantization config. If omitted - the collection configuration will be used |
VectorParamsMap
VectorParamsMap.MapEntry
VectorsConfig
WalConfigDiff
| Field |
Type |
Label |
Description |
| wal_capacity_mb |
uint64 |
optional |
Size of a single WAL block file |
| wal_segments_ahead |
uint64 |
optional |
Number of segments to create in advance |
CollectionStatus
| Name |
Number |
Description |
| UnknownCollectionStatus |
0 |
|
| Green |
1 |
All segments are ready |
| Yellow |
2 |
Optimization in process |
| Red |
3 |
Something went wrong |
Distance
| Name |
Number |
Description |
| UnknownDistance |
0 |
|
| Cosine |
1 |
|
| Euclid |
2 |
|
| Dot |
3 |
|
PayloadSchemaType
| Name |
Number |
Description |
| UnknownType |
0 |
|
| Keyword |
1 |
|
| Integer |
2 |
|
| Float |
3 |
|
| Geo |
4 |
|
| Text |
5 |
|
QuantizationType
| Name |
Number |
Description |
| UnknownQuantization |
0 |
|
| Int8 |
1 |
|
TokenizerType
| Name |
Number |
Description |
| Unknown |
0 |
|
| Prefix |
1 |
|
| Whitespace |
2 |
|
| Word |
3 |
|
Top
collections_service.proto
Collections
Top
json_with_int.proto
ListValue
ListValue is a wrapper around a repeated field of values.
The JSON representation for ListValue is a JSON array.
| Field |
Type |
Label |
Description |
| values |
Value |
repeated |
Repeated field of dynamically typed values. |
Struct
Struct represents a structured data value, consisting of fields
which map to dynamically typed values. In some languages, Struct
might be supported by a native representation. For example, in
scripting languages like JS a struct is represented as an
object. The details of that representation are described together
with the proto support for the language.
The JSON representation for Struct is a JSON object.
| Field |
Type |
Label |
Description |
| fields |
Struct.FieldsEntry |
repeated |
Unordered map of dynamically typed values. |
Struct.FieldsEntry
Value
Value represents a dynamically typed value which can be either
null, a number, a string, a boolean, a recursive struct value, or a
list of values. A producer of value is expected to set one of those
variants, absence of any variant indicates an error.
The JSON representation for Value is a JSON value.
| Field |
Type |
Label |
Description |
| null_value |
NullValue |
|
Represents a null value. |
| double_value |
double |
|
Represents a double value. |
| integer_value |
int64 |
|
Represents an integer value |
| string_value |
string |
|
Represents a string value. |
| bool_value |
bool |
|
Represents a boolean value. |
| struct_value |
Struct |
|
Represents a structured value. |
| list_value |
ListValue |
|
Represents a repeated Value. |
NullValue
NullValue is a singleton enumeration to represent the null value for the
Value type union.
The JSON representation for NullValue is JSON null.
| Name |
Number |
Description |
| NULL_VALUE |
0 |
Null value. |
Top
points.proto
BatchResult
| Field |
Type |
Label |
Description |
| result |
ScoredPoint |
repeated |
|
ClearPayloadPoints
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
name of the collection |
| wait |
bool |
optional |
Wait until the changes have been applied? |
| points |
PointsSelector |
|
Affected points |
| ordering |
WriteOrdering |
optional |
Write ordering guarantees |
Condition
CountPoints
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
name of the collection |
| filter |
Filter |
|
Filter conditions - return only those points that satisfy the specified conditions |
| exact |
bool |
optional |
If true - return exact count, if false - return approximate count |
CountResponse
CountResult
| Field |
Type |
Label |
Description |
| count |
uint64 |
|
|
CreateFieldIndexCollection
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
name of the collection |
| wait |
bool |
optional |
Wait until the changes have been applied? |
| field_name |
string |
|
Field name to index |
| field_type |
FieldType |
optional |
Field type. |
| field_index_params |
PayloadIndexParams |
optional |
Payload index params. |
| ordering |
WriteOrdering |
optional |
Write ordering guarantees |
DeleteFieldIndexCollection
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
name of the collection |
| wait |
bool |
optional |
Wait until the changes have been applied? |
| field_name |
string |
|
Field name to delete |
| ordering |
WriteOrdering |
optional |
Write ordering guarantees |
DeletePayloadPoints
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
name of the collection |
| wait |
bool |
optional |
Wait until the changes have been applied? |
| keys |
string |
repeated |
List of keys to delete |
| points_selector |
PointsSelector |
optional |
Affected points |
| ordering |
WriteOrdering |
optional |
Write ordering guarantees |
DeletePoints
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
name of the collection |
| wait |
bool |
optional |
Wait until the changes have been applied? |
| points |
PointsSelector |
|
Affected points |
| ordering |
WriteOrdering |
optional |
Write ordering guarantees |
FieldCondition
| Field |
Type |
Label |
Description |
| key |
string |
|
|
| match |
Match |
|
Check if point has field with a given value |
| range |
Range |
|
Check if points value lies in a given range |
| geo_bounding_box |
GeoBoundingBox |
|
Check if points geolocation lies in a given area |
| geo_radius |
GeoRadius |
|
Check if geo point is within a given radius |
| values_count |
ValuesCount |
|
Check number of values for a specific field |
Filter
| Field |
Type |
Label |
Description |
| should |
Condition |
repeated |
At least one of those conditions should match |
| must |
Condition |
repeated |
All conditions must match |
| must_not |
Condition |
repeated |
All conditions must NOT match |
GeoBoundingBox
| Field |
Type |
Label |
Description |
| top_left |
GeoPoint |
|
north-west corner |
| bottom_right |
GeoPoint |
|
south-east corner |
GeoPoint
GeoRadius
| Field |
Type |
Label |
Description |
| center |
GeoPoint |
|
Center of the circle |
| radius |
float |
|
In meters |
GetPoints
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
name of the collection |
| ids |
PointId |
repeated |
List of points to retrieve |
| with_payload |
WithPayloadSelector |
|
Options for specifying which payload to include or not |
| with_vectors |
WithVectorsSelector |
optional |
Options for specifying which vectors to include into response |
| read_consistency |
ReadConsistency |
optional |
Options for specifying read consistency guarantees |
GetResponse
HasIdCondition
| Field |
Type |
Label |
Description |
| has_id |
PointId |
repeated |
|
IsEmptyCondition
| Field |
Type |
Label |
Description |
| key |
string |
|
|
IsNullCondition
| Field |
Type |
Label |
Description |
| key |
string |
|
|
LookupLocation
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
|
| vector_name |
string |
optional |
Which vector to use for search, if not specified - use default vector |
Match
NamedVectors
NamedVectors.VectorsEntry
PayloadExcludeSelector
| Field |
Type |
Label |
Description |
| fields |
string |
repeated |
List of payload keys to exclude from the result |
PayloadIncludeSelector
| Field |
Type |
Label |
Description |
| fields |
string |
repeated |
List of payload keys to include into result |
PointId
| Field |
Type |
Label |
Description |
| num |
uint64 |
|
Numerical ID of the point |
| uuid |
string |
|
UUID |
PointStruct
PointStruct.PayloadEntry
PointsIdsList
| Field |
Type |
Label |
Description |
| ids |
PointId |
repeated |
|
PointsOperationResponse
PointsSelector
QuantizationSearchParams
| Field |
Type |
Label |
Description |
| ignore |
bool |
optional |
If set to true, search will ignore quantized vector data |
| rescore |
bool |
optional |
If true, use original vectors to re-score top-k results. Default is true. |
Range
ReadConsistency
| Field |
Type |
Label |
Description |
| type |
ReadConsistencyType |
|
Common read consistency configurations |
| factor |
uint64 |
|
Send request to a specified number of nodes, and return points which are present on all of them |
RecommendBatchPoints
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
Name of the collection |
| recommend_points |
RecommendPoints |
repeated |
|
| read_consistency |
ReadConsistency |
optional |
Options for specifying read consistency guarantees |
RecommendBatchResponse
| Field |
Type |
Label |
Description |
| result |
BatchResult |
repeated |
|
| time |
double |
|
Time spent to process |
RecommendPoints
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
name of the collection |
| positive |
PointId |
repeated |
Look for vectors closest to those |
| negative |
PointId |
repeated |
Try to avoid vectors like this |
| filter |
Filter |
|
Filter conditions - return only those points that satisfy the specified conditions |
| limit |
uint64 |
|
Max number of result |
| with_payload |
WithPayloadSelector |
|
Options for specifying which payload to include or not |
| params |
SearchParams |
|
Search config |
| score_threshold |
float |
optional |
If provided - cut off results with worse scores |
| offset |
uint64 |
optional |
Offset of the result |
| using |
string |
optional |
Define which vector to use for recommendation, if not specified - default vector |
| with_vectors |
WithVectorsSelector |
optional |
Options for specifying which vectors to include into response |
| lookup_from |
LookupLocation |
optional |
Name of the collection to use for points lookup, if not specified - use current collection |
| read_consistency |
ReadConsistency |
optional |
Options for specifying read consistency guarantees |
RecommendResponse
| Field |
Type |
Label |
Description |
| result |
ScoredPoint |
repeated |
|
| time |
double |
|
Time spent to process |
RepeatedIntegers
| Field |
Type |
Label |
Description |
| integers |
int64 |
repeated |
|
RepeatedStrings
| Field |
Type |
Label |
Description |
| strings |
string |
repeated |
|
RetrievedPoint
RetrievedPoint.PayloadEntry
ScoredPoint
ScoredPoint.PayloadEntry
ScrollPoints
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
|
| filter |
Filter |
|
Filter conditions - return only those points that satisfy the specified conditions |
| offset |
PointId |
optional |
Start with this ID |
| limit |
uint32 |
optional |
Max number of result |
| with_payload |
WithPayloadSelector |
|
Options for specifying which payload to include or not |
| with_vectors |
WithVectorsSelector |
optional |
Options for specifying which vectors to include into response |
| read_consistency |
ReadConsistency |
optional |
Options for specifying read consistency guarantees |
ScrollResponse
| Field |
Type |
Label |
Description |
| next_page_offset |
PointId |
optional |
Use this offset for the next query |
| result |
RetrievedPoint |
repeated |
|
| time |
double |
|
Time spent to process |
SearchBatchPoints
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
Name of the collection |
| search_points |
SearchPoints |
repeated |
|
| read_consistency |
ReadConsistency |
optional |
Options for specifying read consistency guarantees |
SearchBatchResponse
| Field |
Type |
Label |
Description |
| result |
BatchResult |
repeated |
|
| time |
double |
|
Time spent to process |
SearchParams
| Field |
Type |
Label |
Description |
| hnsw_ef |
uint64 |
optional |
Params relevant to HNSW index. Size of the beam in a beam-search. Larger the value - more accurate the result, more time required for search. |
| exact |
bool |
optional |
Search without approximation. If set to true, search may run long but with exact results. |
| quantization |
QuantizationSearchParams |
optional |
If set to true, search will ignore quantized vector data |
SearchPoints
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
name of the collection |
| vector |
float |
repeated |
vector |
| filter |
Filter |
|
Filter conditions - return only those points that satisfy the specified conditions |
| limit |
uint64 |
|
Max number of result |
| with_payload |
WithPayloadSelector |
|
Options for specifying which payload to include or not |
| params |
SearchParams |
|
Search config |
| score_threshold |
float |
optional |
If provided - cut off results with worse scores |
| offset |
uint64 |
optional |
Offset of the result |
| vector_name |
string |
optional |
Which vector to use for search, if not specified - use default vector |
| with_vectors |
WithVectorsSelector |
optional |
Options for specifying which vectors to include into response |
| read_consistency |
ReadConsistency |
optional |
Options for specifying read consistency guarantees |
SearchResponse
| Field |
Type |
Label |
Description |
| result |
ScoredPoint |
repeated |
|
| time |
double |
|
Time spent to process |
SetPayloadPoints
SetPayloadPoints.PayloadEntry
UpdateResult
| Field |
Type |
Label |
Description |
| operation_id |
uint64 |
|
Number of operation |
| status |
UpdateStatus |
|
Operation status |
UpsertPoints
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
name of the collection |
| wait |
bool |
optional |
Wait until the changes have been applied? |
| points |
PointStruct |
repeated |
|
| ordering |
WriteOrdering |
optional |
Write ordering guarantees |
ValuesCount
Vector
| Field |
Type |
Label |
Description |
| data |
float |
repeated |
|
Vectors
| Field |
Type |
Label |
Description |
| names |
string |
repeated |
List of vectors to include into result |
WithPayloadSelector
| Field |
Type |
Label |
Description |
| enable |
bool |
|
If true - return all vectors, if false - none |
| include |
VectorsSelector |
|
List of payload keys to include into result |
WriteOrdering
FieldType
| Name |
Number |
Description |
| FieldTypeKeyword |
0 |
|
| FieldTypeInteger |
1 |
|
| FieldTypeFloat |
2 |
|
| FieldTypeGeo |
3 |
|
| FieldTypeText |
4 |
|
ReadConsistencyType
| Name |
Number |
Description |
| All |
0 |
Send request to all nodes and return points which are present on all of them |
| Majority |
1 |
Send requests to all nodes and return points which are present on majority of them |
| Quorum |
2 |
Send requests to half + 1 nodes, return points which are present on all of them |
UpdateStatus
| Name |
Number |
Description |
| UnknownUpdateStatus |
0 |
|
| Acknowledged |
1 |
Update is received, but not processed yet |
| Completed |
2 |
Update is applied and ready for search |
WriteOrderingType
| Name |
Number |
Description |
| Weak |
0 |
Write operations may be reordered, works faster, default |
| Medium |
1 |
Write operations go through dynamically selected leader, may be inconsistent for a short period of time in case of leader change |
| Strong |
2 |
Write operations go through the permanent leader, consistent, but may be unavailable if leader is down |
Top
points_service.proto
Points
Top
qdrant.proto
HealthCheckReply
HealthCheckRequest
Qdrant
Top
snapshots_service.proto
CreateFullSnapshotRequest
CreateSnapshotRequest
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
Name of the collection |
CreateSnapshotResponse
DeleteFullSnapshotRequest
| Field |
Type |
Label |
Description |
| snapshot_name |
string |
|
Name of the full snapshot |
DeleteSnapshotRequest
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
Name of the collection |
| snapshot_name |
string |
|
Name of the collection snapshot |
DeleteSnapshotResponse
| Field |
Type |
Label |
Description |
| time |
double |
|
Time spent to process |
ListFullSnapshotsRequest
ListSnapshotsRequest
| Field |
Type |
Label |
Description |
| collection_name |
string |
|
Name of the collection |
ListSnapshotsResponse
SnapshotDescription
Snapshots
Scalar Value Types
| .proto Type |
Notes |
C++ |
Java |
Python |
Go |
C# |
PHP |
Ruby |
| double |
|
double |
double |
float |
float64 |
double |
float |
Float |
| float |
|
float |
float |
float |
float32 |
float |
float |
Float |
| int32 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. |
int32 |
int |
int |
int32 |
int |
integer |
Bignum or Fixnum (as required) |
| int64 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. |
int64 |
long |
int/long |
int64 |
long |
integer/string |
Bignum |
| uint32 |
Uses variable-length encoding. |
uint32 |
int |
int/long |
uint32 |
uint |
integer |
Bignum or Fixnum (as required) |
| uint64 |
Uses variable-length encoding. |
uint64 |
long |
int/long |
uint64 |
ulong |
integer/string |
Bignum or Fixnum (as required) |
| sint32 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. |
int32 |
int |
int |
int32 |
int |
integer |
Bignum or Fixnum (as required) |
| sint64 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. |
int64 |
long |
int/long |
int64 |
long |
integer/string |
Bignum |
| fixed32 |
Always four bytes. More efficient than uint32 if values are often greater than 2^28. |
uint32 |
int |
int |
uint32 |
uint |
integer |
Bignum or Fixnum (as required) |
| fixed64 |
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. |
uint64 |
long |
int/long |
uint64 |
ulong |
integer/string |
Bignum |
| sfixed32 |
Always four bytes. |
int32 |
int |
int |
int32 |
int |
integer |
Bignum or Fixnum (as required) |
| sfixed64 |
Always eight bytes. |
int64 |
long |
int/long |
int64 |
long |
integer/string |
Bignum |
| bool |
|
bool |
boolean |
boolean |
bool |
bool |
boolean |
TrueClass/FalseClass |
| string |
A string must always contain UTF-8 encoded or 7-bit ASCII text. |
string |
String |
str/unicode |
string |
string |
string |
String (UTF-8) |
| bytes |
May contain any arbitrary sequence of bytes. |
string |
ByteString |
str |
[]byte |
ByteString |
string |
String (ASCII-8BIT) |