> ## Documentation Index
> Fetch the complete documentation index at: https://developers.phrase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Understand the difference between the Connectors API and TMS connector management, and what you can do with each.

<Info>This guide is about **managing TMS connectors** — connecting Phrase TMS to third-party systems like Google Drive, GitHub, Amazon S3, WordPress, Marketo, and others. It does not cover building a new connector type from scratch; see [Build a TMS Plugin](/en/guides/build-a-tms-plugin/overview) for that.</Info>

## Two different APIs, easy to confuse

Phrase has two separate API surfaces that both use the word "connector," and it's easy to reach for the wrong one:

* **The [Connectors API](/en/api/connectors/introduction)** only moves file content through a connector that has *already been set up* — listing, uploading, downloading, and converting files inside a connector's remote storage. It has no endpoints to create, edit, or delete a connector itself.
* **The TMS API** (this guide) owns the connector's actual lifecycle — creating a new connector, listing your existing ones, viewing or editing a connector's configuration, deleting it, and checking its sync status. This is where you go to set up a new Google Drive, GitHub, Amazon S3, WordPress, or Marketo connector.

If you're trying to programmatically create or configure a connector and you're looking at the Connectors API, you're in the wrong place — come back here instead.

## What you'll build

A typical connector setup flow looks like this:

1. Confirm the connector doesn't already exist (list existing connectors and check by name/type — avoid creating duplicates).
2. For OAuth-based connector types (Google Drive, GitHub, Box, Salesforce, and others — see [OAuth Connector Setup](/en/guides/managing-connectors/oauth-setup)), walk the user through authorizing access to the third-party account.
3. Create the connector with the fields that type requires.
4. Check the connection status, and fix credentials if it's rejected.
5. Optionally, monitor sync status and browse what the connector has picked up.

## Choose your path

<CardGroup cols={2}>
  <Card title="OAuth Connector Setup" icon="key" href="/en/guides/managing-connectors/oauth-setup">
    Walk through the authorization-code flow required for Google Drive, GitHub, Box, Salesforce, and other OAuth-based connector types.
  </Card>

  <Card title="Troubleshooting" icon="triangle-alert" href="/en/guides/managing-connectors/troubleshooting">
    Diagnose access-denied errors, per-connector-type field quirks, and common setup mistakes.
  </Card>
</CardGroup>

## The connector lifecycle endpoints

All connector lifecycle operations live under `/api2/v1/connectors` on the TMS API:

| Method & path                                   | Purpose                                     |
| ----------------------------------------------- | ------------------------------------------- |
| `GET /api2/v1/connectors`                       | List your connectors                        |
| `POST /api2/v1/connectors`                      | Create a connector                          |
| `GET /api2/v1/connectors/{connectorId}`         | View a connector's configuration            |
| `PATCH /api2/v1/connectors/{connectorId}`       | Edit a connector's configuration            |
| `DELETE /api2/v1/connectors/{connectorId}`      | Delete a connector                          |
| `GET /api2/v1/connectorAsyncTasks`              | Check background sync task status           |
| `GET /api2/v1/connectors/{connectorId}/folders` | Browse what a connector has actually synced |

<Tip>Before creating a connector, list your existing connectors and check for one with a matching name/type — this avoids accidentally creating duplicates if a previous attempt errored or its result was unclear.</Tip>

Once a connector is created, keep a reference to its `uid` — you'll need it to view, edit, delete, or check the status of that connector later, and it's what you'd use to link directly to the connector's page in the TMS UI (`/tms/connectors/edit/{uid}`).

<Note>A connector being successfully **created** is a different thing from its connection being successfully **tested**. If `PATCH`/`POST` succeeds but a follow-up connection test reports an error status (e.g. `GENERAL_ERROR`, `UNAUTHORIZED`), the connector object still exists — you'll usually need to go fix its credentials rather than starting over.</Note>
