API Reference
REST API
The IntlPull API lets you programmatically manage projects, translations, and keys. All endpoints return JSON and require authentication via API key.
Authentication
Include your API key in the Authorization header:
Authorization: Bearer your_api_keyGet your API key from the Dashboard Settings.
Base URL
https://api.intlpull.comEndpoints
GET
/api/v1/projectsList all projects
Response:
{
"projects": [
{
"id": "proj_abc123",
"name": "My App",
"sourceLanguage": "en",
"targetLanguages": ["es", "fr", "de"],
"stringCount": 1250
}
]
}GET
/api/v1/projects/:id/translationsGet all translations for a project
Response:
{
"translations": {
"en": {
"common.welcome": "Welcome",
"common.logout": "Log out"
},
"es": {
"common.welcome": "Bienvenido",
"common.logout": "Cerrar sesión"
}
}
}POST
/api/v1/projects/:id/keysCreate a new translation key
Response:
{
"key": {
"id": "key_xyz789",
"name": "common.submit",
"value": "Submit",
"namespace": "common"
}
}PUT
/api/v1/keys/:idUpdate a translation key
Response:
{
"key": {
"id": "key_xyz789",
"name": "common.submit",
"translations": {
"en": "Submit",
"es": "Enviar"
}
}
}DELETE
/api/v1/keys/:idDelete a translation key
Response:
{
"deleted": true
}POST
/api/v1/projects/:id/importImport translations from file
Response:
{
"imported": 150,
"updated": 25,
"skipped": 0
}GET
/api/v1/projects/:id/exportExport translations in various formats
Response:
{
"common.welcome": "Welcome",
"common.logout": "Log out"
}Rate Limits
- Free: 100 requests/minute
- Starter: 500 requests/minute
- Growth: 1,000 requests/minute
- Professional: 5,000 requests/minute
- Enterprise: Custom limits
Rate limit headers are included in all responses: X-RateLimit-Remaining
Error Codes
| Code | Description |
|---|---|
| 400 | Bad request - check your parameters |
| 401 | Unauthorized - invalid or missing API key |
| 403 | Forbidden - insufficient permissions |
| 404 | Not found - resource doesn't exist |
| 429 | Rate limited - too many requests |
| 500 | Server error - contact support |