Vectara APIs Overview
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, querying, and administrative tasks such as managing user access and corpora. 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. You can download the
.proto
files directly from Github. For example,serving.proto
provides the message definitions for running queries. - 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​
Almost every API has both a gRPC and a REST endpoint. The only exception at this time is the File Upload API, which is only available via REST.
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.
REST API​
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 APIs page.
gRPC API​
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 APIs page.