# Overview

In addition to the web based console, users can also perform operations programmatically using Open API compliant REST APIs. The Controller is designed and developed with an **API First** philosophy. RCTL CLI Utility, Rafay Terraform Provider and the Web Console use the REST APIs underneath the covers for all their functionality.

---

## API Keys

In order to manage their API Keys, users have to click on "My Tools" and Select "Manage Keys"

- API keys are uniquely generated for every user
- Users can have one or many API keys associated with their Identity
- Users can generate new APIs keys at any time.
- Users can also delete API keys anytime.

---

## Access the Swagger UI

Use the following links to access the Swagger UI for the REST APIs.

**Production Orgs:**

- [v3 APIs](https://console.rafay.dev/openapi-explorer)

- [v2/v1 APIs](https://console.rafay.dev/swagger-ui/)

**Preview Orgs:**

- [v3 APIs](https://console.stage.rafay.dev/openapi-explorer)

- [v2/v1 APIs](https://console.stage.rafay.dev/swagger-ui/)

Note

It is recommended to use v3 APIs wherever available. v3 APIs were designed to enable a more consistent experience and follows a declarative usage pattern.

Authorized users with access to an Org or Partner Operations Console can also access the Swagger UI for the REST APIs directly from the Console

- Login to the Console
- Click **API DOCS** from the controller menu bar

Opt for the necessary version, whether V3 or V2, with a preference for V3 as the recommended choice.

You will be presented with a familiar Swagger UI for the REST APIs. Ensure you generate and use API keys before you try the APIs against your Org.

---

## Partner APIs

These REST APIs are meant for SaaS multi-tenant, optionally white labeled partners/customers. These APIs are primarily meant for End Customer Organization (aka Org) lifecycle management actions.

- Create an Org
- Sign Up a New Org
- Get list of all Orgs
- Get a specific Org's details
- Delete an Org
- Activate an Org
- Deactivate an Org
- Approve an Org
- Add user to an Org
- Generate an API key for a User in an Org

---

## Administration APIs

These REST APIs (Get, Post, Put and Delete) can be used for performing all CRUD actions on objects in a specific Organization (Org).

- Projects
- Clusters
- Blueprints
- Addons
- Namespaces
- Workloads
- Catalogs
- Repositories
- Agents
- Users
- Groups
- Triggers
- Pipelines
- Cluster Override
- Cluster Templates
- Gateway
- Convert to Managed
- Roles
- Backup and Restore

---
