Protocol Buffers Schema (proto3)
A proto3 Protocol Buffers schema with messages, an enum, and a repeated field — for testing protobuf compilers (protoc), codegen, and schema tooling.
syntax = "proto3";
package novus.example.v1;
// A tiny example schema for testing protobuf tooling and codegen.
message User {
int64 id = 1;
string name = 2;
string email = 3;
Role role = 4;
}
enum Role {
ROLE_UNSPECIFIED = 0;
ROLE_ADMIN = 1;
ROLE_MEMBER = 2;
ROLE_GUEST = 3;
}
message ListUsersRequest {
int32 page = 1;
int32 page_size = 2;
}
message ListUsersResponse {
int32 page = 1;
int32 total = 2;
repeated User items = 3;
}
Specifications
- Format
- Protocol Buffers (proto3)
- Messages
- 3
- Enum
- Role
What is a .proto file?
Proto files define Protocol Buffers schemas, Google's language-neutral interface definition language for serializing structured data. They declare typed messages, fields, and services that a compiler turns into efficient binary serialization code in many languages. They underpin gRPC and high-performance data interchange.
How to use this file
Use an example proto file to test schema parsers, code generation across languages, and gRPC service or message-definition tooling.
Related files
- jsonAPI Error — 404 (RFC 9457 problem+json)A 404 error body in RFC 9457 (problem+json) form, with type, title, status, detail, and instance — for testing structured error handling and problem-detail parsers.
- jsonAPI Error — 422 Validation (JSON)A 422 validation-error response with a machine-readable list of field errors — for testing form-validation surfacing and error mapping.
- jsonAPI Response — Users Page 1 (JSON)Page 1 of a paginated JSON API response (users), with page metadata and a `hasMore` flag. Paired with page 2 for testing pagination and infinite-scroll logic.
- jsonAPI Response — Users Page 2 (JSON)Page 2 (the final page) of a paginated JSON API response. Paired with page 1 for testing pagination, `hasMore` handling, and list merging.
- graphqlGraphQL Schema (SDL)A GraphQL Schema Definition Language (SDL) file with queries, a mutation, object/input types, and an enum — for testing GraphQL schema parsers, linters, and code generators.
- jsonOpenAPI 3.1 Spec (JSON)A small but complete OpenAPI 3.1 description (two paths, three schemas) in JSON — for testing API tooling, mock servers, client codegen, and docs generators.
Generated by generation/data_dev_fixtures.py. Free for any use, no attribution required — license.