# Introduction

## Overview

The Redivis API is designed to give users and applications programmatic interfaces for the Redivis platform.&#x20;

When interacting with the API, we highly recommend using the [redivis-r](https://docs.redivis.com/api/client-libraries/redivis-r) or [redivis-python](https://docs.redivis.com/api/client-libraries/redivis-python) client libraries, which provide programmatic interfaces for interacting with the low-level [REST API](https://docs.redivis.com/api/rest-api/general-structure).

{% hint style="info" %}
Before getting started, it is important to familiarize yourself with how [resources are referenced ](https://docs.redivis.com/api/referencing-resources)on Redivis.
{% endhint %}

## API Design

This API leverages a RESTful, resource-oriented design. Our goal is to provide a consistency across methods while allowing for an expressive interface.&#x20;

All methods, request properties, and status codes inherit from the behavior outlined in the [General structure](https://docs.redivis.com/api/rest-api/general-structure) section. All definitions of REST resources are provided under the "Resource definitions" header.&#x20;

## Examples

{% content-ref url="client-libraries/redivis-python" %}
[redivis-python](https://docs.redivis.com/api/client-libraries/redivis-python)
{% endcontent-ref %}

{% content-ref url="client-libraries/redivis-r" %}
[redivis-r](https://docs.redivis.com/api/client-libraries/redivis-r)
{% endcontent-ref %}

{% content-ref url="client-libraries/redivis-js" %}
[redivis-js](https://docs.redivis.com/api/client-libraries/redivis-js)
{% endcontent-ref %}
