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

# Integration Examples

> Integrate LinguLink with CI/CD and application runtimes.

## CI Workflow Example

```yaml theme={null}
- name: Download translations
  env:
    LINGULINK_API_KEY: ${{ secrets.LINGULINK_API_KEY }}
  run: |
    curl -H "Authorization: Bearer $LINGULINK_API_KEY" \
      "https://linguolink.dev/api/v1/pull?project_id=$PROJECT_ID&language=en&format=json" \
      -o ./src/translations/en.json
```

## Using the CLI Instead

The [CLI](/api/cli) wraps the calls above — no `curl`/`jq` scripting needed:

```yaml theme={null}
- name: Sync translations
  env:
    LINGULINK_API_KEY: ${{ secrets.LINGULINK_API_KEY }}
  run: |
    npx lingulink pull
    npx lingulink status --min 90   # fail the build below 90% coverage
```

`lingulink push` handles the reverse direction (uploading a translated
JSON file back into a project) — see [Import Translations](/api/import-translations).

## Runtime Usage Pattern

* Fetch translations on build/deploy
* Cache locally per environment
* Refresh on release events or scheduled sync

## Cron Sync Example

```bash theme={null}
# daily sync at 02:00
0 2 * * * curl -H "Authorization: Bearer $LINGULINK_API_KEY" \
  "https://linguolink.dev/api/v1/pull?project_id=$PROJECT_ID&language=en&format=json" \
  -o /app/locales/en.json
```

## Safe Deployment Pattern

1. Pull translations during CI
2. Validate JSON schema/shape
3. Run smoke tests in staging
4. Promote build to production

## Next Steps

* Secure credentials via [API Keys](/api/api-keys)
* Handle response behavior in [API Usage](/api/api-usage)
