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 keyPERMISSION_DENIED: Insufficient permissions for the operationNOT_FOUND: Requested resource does not existINVALID_ARGUMENT: Invalid request parametersUNAVAILABLE: Service temporarily unavailableRESOURCE_EXHAUSTED: Rate limits exceededINTERNAL: 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
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
- Generate client code from the protocol buffer definitions
- Create an API key using CreateApiKey
- Set up authentication with the generated key
- 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.