syntax = "proto3"; package eventstore.v1; import "qpoint/type/v1/artifact.proto"; import "qpoint/type/v1/connection.proto"; import "qpoint/type/v1/database_request.proto"; import "qpoint/type/v1/grpc_request.proto"; import "qpoint/type/v1/issue.proto"; import "qpoint/type/v1/pii.proto"; import "qpoint/type/v1/request.proto"; service EventStoreService { rpc Ping(PingRequest) returns (PingResponse) {} rpc Ingest(stream IngestRequest) returns (stream IngestResponse) {} rpc IngestBatch(IngestBatchRequest) returns (IngestBatchResponse) {} } message PingRequest {} message PingResponse { string org_id = 1; } message Event { oneof event { qpoint.type.v1.Request request = 1; qpoint.type.v1.Issue issue = 2; qpoint.type.v1.Artifact artifact = 3; qpoint.type.v1.PIIEntity pii_entity = 4; qpoint.type.v1.Connection connection = 5; qpoint.type.v1.DatabaseRequest database_request = 6; qpoint.type.v1.GrpcRequest grpc_request = 7; } } message IngestRequest { // Event was moved to the top-level, however IngestRequest will retain its submessage for backwards compatibility. message Event { oneof event { qpoint.type.v1.Request request = 1; qpoint.type.v1.Issue issue = 2; qpoint.type.v1.Artifact artifact = 3; qpoint.type.v1.PIIEntity pii_entity = 4; qpoint.type.v1.Connection connection = 5; qpoint.type.v1.DatabaseRequest database_request = 6; qpoint.type.v1.GrpcRequest grpc_request = 7; } } repeated Event events = 1; } message IngestResponse { // total_accepted_count is the total number of events accepted by the server since the beginning of the stream. uint32 total_accepted_count = 1; // accepted_count is the number of events accepted by the server since the last IngestResponse. uint32 accepted_count = 2; } message IngestBatchRequest { repeated Event events = 1; } message IngestBatchResponse {}