canonical: https://jentic.com/apis/smartling.com/smartling

# Smartling REST API Reference

Before you begin using the Smartling APIs, we recommend going through our [Developer documentation](https://help.smartling.com/hc/en-us/categories/1260801686149). The API exposes 109 endpoints.

## For AI agents

Programmatically authenticate, refresh access token. Covers 109 operations.

## Scope

Does not handle payments, communications, or crm - use for hr and recruiting only.

## Capabilities

- Authenticate
- Refresh access token
- List projects
- Get project details
- Add a new target locale
- Copy an existing project

## Use cases

### HR and Recruiting Operations

Use the Smartling REST API Reference to perform hr recruiting operations programmatically. The API provides 109 endpoints covering core functionality including authenticate, refresh access token, list projects.

Example prompt: Call POST `/auth-api/v2/authenticate` to authenticate

### Automated Authentication Management

Automate authentication operations by combining multiple Smartling REST API Reference endpoints. Agents can refresh access token and then list projects in a single workflow.

Example prompt: Call POST `/auth-api/v2/authenticate/refresh` to refresh access token, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call Smartling REST API Reference endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle none tokens manually.

Example prompt: Search Jentic for 'authenticate', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/auth-api/v2/authenticate` | Authenticate |
| POST | `/auth-api/v2/authenticate/refresh` | Refresh access token |
| GET | `/accounts-api/v2/accounts/{accountUid}/projects` | List projects |
| GET | `/projects-api/v2/projects/{projectId}` | Get project details |
| POST | `/projects-api/v2/projects/{projectId}/targetLocales` | Add a new target locale |
| POST | `/projects-api/v2/projects/{projectId}/copy` | Copy an existing project |
| GET | `/projects-api/v2/projects/{projectId}/copy/{processUid}` | Get the status of the project copy request |
| GET | `/locales-api/v2/dictionary/locales` | List locales |

## Key resources

- **Authentication** — Smartling uses OAuth2 for [authentication](https://help.smartling.com/hc/en-us/articles/126080517684
- **Account & Projects** — Each client within Smartling is given their own account with a designated
`accountUid`. Within each
- **Locales** — Locales are the language and country pairs that are used to identify the
source content and the desi
- **People** — Smartling users, who process and translate content with the Smartling platform.
- **Files** — Files are typically how you can exchange your content with Smartling to
get translations. Smartling

## Why Jentic

- **Setup:** Wiring Smartling by hand means calling its auth-api to exchange credentials for a token, refreshing it, and managing retries against api.smartling.com yourself. Through Jentic you install once, import the Smartling REST API from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** Smartling puts the project id in the URL path (`/projects-api/v2/projects/{projectId}/...`), so a rule can pin your agent to one project: it can read that project and add target locales. You choose the operations it may call, so a project copy is not included unless you add it.
- **Credential handling:** Your Smartling credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get a project's details' or 'add a target locale', and Jentic returns the matching Smartling operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Greenhouse** — Alternative hr recruiting API
- **Lever** — Alternative hr recruiting API
- **Workday** — Complementary hr recruiting API

## FAQ

### What authentication does the Smartling REST API Reference use?

The Smartling REST API Reference uses no authentication. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I authenticate with the Smartling REST API Reference?

Yes. Use the POST `/auth-api/v2/authenticate` endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the Smartling REST API Reference?

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I authenticate through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'authenticate'. Jentic returns the matching Smartling REST API Reference operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the Smartling REST API Reference have?

The Smartling REST API Reference exposes 109 endpoints covering authentication, account & projects, locales operations.

### Can I limit what my agent is allowed to do with the Smartling REST API?

Yes. Because Jentic One is self-hosted, your own rules decide which Smartling operations and credentials the agent may use. Smartling puts the project id in the URL path (`/projects-api/v2/projects/{projectId}/...`), so a rule can pin your agent to a single project and allow only the operations you choose, such as reading project details and adding target locales. Operations you do not grant, like copying a project, stay off limits until you explicitly add them.
