Everything in Vectara is driven by APIs. This section serves as a roadmap to understanding and using our gRPC APIs and REST APIs for indexing, searching, and administrative tasks. Before getting into more details, we recommend that you have a basic understanding of API concepts.
🌟 Ready to Dive In? Check Out Our API Playground! 🌟
If you're ready to dive into our APIs, make your way to our API Playground! This interactive environment allows you to experiment with Vectara's REST APIs directly from your browser! Tailored for developers, the API Playground offers a hands-on experience to understand and demonstrate our capabilities.
Fundamental API Concepts
Familiarize yourself with the fundamentals of Application Programming Interfaces (APIs) including what APIs are, how they work, common use cases, and other key concepts:
gRPC APIs: Understand the basics of gRPC (Remote Procedure Call) such as the advantages with performance, code generation, and how it uses Protocol Buffers (.proto files) for schema defnitions.
RESTful APIs: Understand the principles of Representational State Transfer (REST) and why it's commonly used in web services. Make sure to also understand how it differs from gRPC.
For example, review the Java example for our Standard Indexing API.
HTTP Methods: Become familar with HTTP methods like GET, POST, PUT, and DELETE.
gRPC Methods: Become familar with gRPC methods like server streaming, client streaming, and bidirectional streaming.
Authentication: Become aware of common authentication methods that can be implemented in both gRPC and REST APIs including API Keys and OAuth 2.0 and JWT tokens.
Choosing gRPC or REST APIs
gRPC has several advantages over REST:
- It's lower latency than REST
- You can get strong typing out of gRPC: essentially "client libraries" for "free"
However, we include REST APIs as there's a lot of developer tooling around REST APIs and some organizations still struggle with using HTTP/2.0 due to firewalls.
If you'd like more details about how to use our REST APIs, including details on our OpenAPI specification and services, a good place to start is the REST page.
If you'd like more details about how to use our gRPC APIs, including details on how to generate strongly typed clients, see our gRPC page.