GoodMem
ReferenceAPI

gRPC API Reference

Complete gRPC API reference for GoodMem protocol buffer services

GoodMem gRPC API Reference

This documentation is automatically generated from the GoodMem protocol buffer definitions.

Authentication

All gRPC methods require authentication via metadata:

  • Metadata key: authorization
  • Value format: Bearer YOUR_API_KEY

Example:

const metadata = new grpc.Metadata();
metadata.add('authorization', 'Bearer your_api_key_here');

Error Handling

The gRPC API uses standard gRPC status codes:

  • UNAUTHENTICATED: Invalid or missing API key
  • PERMISSION_DENIED: Insufficient permissions for the operation
  • NOT_FOUND: Requested resource does not exist
  • INVALID_ARGUMENT: Invalid request parameters
  • UNAVAILABLE: Service temporarily unavailable
  • RESOURCE_EXHAUSTED: Rate limits exceeded
  • INTERNAL: Server-side error

Services

The following gRPC services are available:

Core Services

  • Apikey - Manage API keys for authentication
  • Space - Create and manage memory spaces
  • User - User management and permissions

AI/ML Services

  • Embedder - Text and document embedding generation
  • Llm - Large language model integrations
  • Reranker - Result reranking for improved relevance

Extension Services

  • Extension - Custom extensions and plugins
  • Common - Shared types and utilities

Protocol Buffer Definitions

All gRPC methods are defined using Protocol Buffers v3. The definitions include:

  • Strong type safety for all requests and responses
  • Comprehensive field documentation
  • Validation rules and constraints
  • Backward compatibility guarantees

Getting Started

  1. Generate client code from the protocol buffer definitions
  2. Create an API key using CreateApiKey
  3. Set up authentication with the generated key
  4. Start making requests to the services you need

Client Libraries

Protocol buffer definitions can be used to generate client libraries for:

  • Go (using protoc-gen-go)
  • Java (using protoc-gen-java)
  • Python (using protoc-gen-python)
  • JavaScript/TypeScript (using protoc-gen-js)
  • C# (using protoc-gen-csharp)
  • And many other languages

Need HTTP/JSON Instead?

If you prefer REST APIs, check out the REST API Reference which provides the same functionality using standard HTTP requests and JSON payloads.