> For the complete documentation index, see [llms.txt](https://docs.adaptria.locaria.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.adaptria.locaria.com/internal-api/reference/client-services.md).

# 🧩 Client Services

### Client Services

Client services define the types of work that can be requested in an RFQ for a specific client or company.

#### Service Types

| Type                 | Description             | Examples                                                    |
| -------------------- | ----------------------- | ----------------------------------------------------------- |
| **LINGUISTICS**      | Language-based services | Translation, Transcription, Localization                    |
| **NON\_LINGUISTICS** | Supporting services     | Desktop Publishing (DTP), QA, Engineering, Video Adaptation |

#### Using Services in RFQs

When creating an RFQ, use these endpoints to find the service IDs available for the client or company. The service type determines what additional fields are required:

* **LINGUISTICS** services require source and target languages
* **NON\_LINGUISTICS** services require target markets

Get available client services from the endpoints below.

## 🧩 Get Available Client Services

> \## Get Services for RFQ Creation\
> \
> Retrieve the list of services available to your company for creating RFQs.\
> \
> \### When to Use This\
> \
> Call this endpoint \*\*before creating an RFQ\*\* to get the available service IDs. You'll need to include at least one service when creating or updating an RFQ.\
> \
> \### Service Types\
> \
> Services are categorized into two types:\
> \
> \| Type | Description | Examples |\
> \|------|-------------|----------|\
> \| \`LINGUISTICS\` | Language-based services | Translation, Transcription, Localization |\
> \| \`NON\_LINGUISTICS\` | Supporting services | Desktop Publishing (DTP), QA, Engineering |\
> \
> \### Response Structure\
> \
> Services are returned as a flat list. Use the \`id\` field when creating RFQs.

```json
{"openapi":"3.1.0","info":{"title":"Adaptria Public API: Connector","version":"1.0.0"},"tags":[{"name":"🧩 Client Services","description":"## Client Services\n\nClient services define the types of work that can be requested in an RFQ for a specific client or company.\n\n### Service Types\n\n| Type | Description | Examples |\n|------|-------------|----------|\n| **LINGUISTICS** | Language-based services | Translation, Transcription, Localization |\n| **NON_LINGUISTICS** | Supporting services | Desktop Publishing (DTP), QA, Engineering, Video Adaptation |\n\n### Using Services in RFQs\n\nWhen creating an RFQ, use these endpoints to find the service IDs available for the client or company. The service type determines what additional fields are required:\n- **LINGUISTICS** services require source and target languages\n- **NON_LINGUISTICS** services require target markets\n\nGet available client services from the endpoints below.\n"}],"servers":[{"url":"https://api.adaptria.locaria.com","description":"Production Environment"}],"security":[{"apiKeyAuth":[]},{"bearerAuth":[]}],"components":{"securitySchemes":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"Api-key","description":"## API Key Authentication\n\nStatic API key obtained from the Adaptria Portal or via `POST /api/credentials/api-keys`.\n\n**How to authenticate**:\n1. Generate an API key from the Adaptria Portal (Settings → API Keys) or ask your admin\n2. Include the key in all requests using the `Api-key` header\n\n**Key format**: `lla_live_<32-character-string>`\n\n**No token exchange needed** — the key is used directly in every request. Revoke or rotate keys from the portal."},"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"## Auth0 Bearer Token\n\nFor first-party clients that already authenticate against Auth0, send the JWT in\nthe `Authorisation` header as `Bearer <token>`."}},"schemas":{"GetServicesResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"array","items":{"$ref":"#/components/schemas/PublicService"},"description":"List of services available to your company"}},"required":["success","data"]},"PublicService":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the service"},"name":{"type":"string","description":"Human-readable service name"},"type":{"type":"string","enum":["LINGUISTICS","NON_LINGUISTICS"],"description":"Service category type:\n- `LINGUISTICS`: Language-based services (translation, transcription, etc.)\n- `NON_LINGUISTICS`: Non-language services (desktop publishing, QA, etc.)"}},"required":["id","name","type"]}}},"paths":{"/api/public/v1/client/services":{"get":{"summary":"🧩 Get Available Client Services","description":"## Get Services for RFQ Creation\n\nRetrieve the list of services available to your company for creating RFQs.\n\n### When to Use This\n\nCall this endpoint **before creating an RFQ** to get the available service IDs. You'll need to include at least one service when creating or updating an RFQ.\n\n### Service Types\n\nServices are categorized into two types:\n\n| Type | Description | Examples |\n|------|-------------|----------|\n| `LINGUISTICS` | Language-based services | Translation, Transcription, Localization |\n| `NON_LINGUISTICS` | Supporting services | Desktop Publishing (DTP), QA, Engineering |\n\n### Response Structure\n\nServices are returned as a flat list. Use the `id` field when creating RFQs.","tags":["🧩 Client Services"],"parameters":[{"name":"search","in":"query","required":false,"schema":{"type":"string"},"description":"Filter services by name"},{"name":"companyId","in":"query","required":true,"schema":{"type":"string","format":"uuid"},"description":"Company ID to filter services. Required to scope results to a specific company."}],"responses":{"200":{"description":"Services retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetServicesResponse"}}}},"401":{"description":"Authentication required - provide a valid API key or Auth0 bearer token"},"403":{"description":"Access denied - your credentials do not have permission"}}}}}}
```

## 🧩 List Client Services

> Client users → scoped to own client. Internal users → all.

```json
{"openapi":"3.1.0","info":{"title":"Adaptria Public API: Connector","version":"1.0.0"},"tags":[{"name":"🧩 Client Services","description":"## Client Services\n\nClient services define the types of work that can be requested in an RFQ for a specific client or company.\n\n### Service Types\n\n| Type | Description | Examples |\n|------|-------------|----------|\n| **LINGUISTICS** | Language-based services | Translation, Transcription, Localization |\n| **NON_LINGUISTICS** | Supporting services | Desktop Publishing (DTP), QA, Engineering, Video Adaptation |\n\n### Using Services in RFQs\n\nWhen creating an RFQ, use these endpoints to find the service IDs available for the client or company. The service type determines what additional fields are required:\n- **LINGUISTICS** services require source and target languages\n- **NON_LINGUISTICS** services require target markets\n\nGet available client services from the endpoints below.\n"}],"servers":[{"url":"https://api.adaptria.locaria.com","description":"Production Environment"}],"security":[{"apiKeyAuth":[]}],"components":{"securitySchemes":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"Api-key","description":"## API Key Authentication\n\nStatic API key obtained from the Adaptria Portal or via `POST /api/credentials/api-keys`.\n\n**How to authenticate**:\n1. Generate an API key from the Adaptria Portal (Settings → API Keys) or ask your admin\n2. Include the key in all requests using the `Api-key` header\n\n**Key format**: `lla_live_<32-character-string>`\n\n**No token exchange needed** — the key is used directly in every request. Revoke or rotate keys from the portal."}},"schemas":{"ListClientServicesResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"array","items":{"type":"object","additionalProperties":{}}},"pagination":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"},"total":{"type":"number"},"totalPages":{"type":"number"},"hasNextPage":{"type":"boolean"},"hasPrevPage":{"type":"boolean"}},"required":["page","limit","total","totalPages","hasNextPage","hasPrevPage"]}},"required":["success","data","pagination"]}}},"paths":{"/api/public/v1/client-services":{"get":{"summary":"🧩 List Client Services","description":"Client users → scoped to own client. Internal users → all.","tags":["🧩 Client Services"],"parameters":[{"schema":{"type":"string","pattern":"^\\d+$"},"required":false,"name":"page","in":"query"},{"schema":{"type":"string","pattern":"^\\d+$"},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string"},"required":false,"name":"search","in":"query"},{"schema":{"type":"string","format":"uuid"},"required":false,"name":"clientId","in":"query"},{"schema":{"type":"string"},"required":false,"name":"sortBy","in":"query"},{"schema":{"type":"string","enum":["asc","desc"]},"required":false,"name":"sortOrder","in":"query"}],"responses":{"200":{"description":"Client services","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListClientServicesResponse"}}}}}}}}}
```

## GET /api/public/v1/client-services/{id}

> 🔍 Get Client Service Details

```json
{"openapi":"3.1.0","info":{"title":"Adaptria Public API: Connector","version":"1.0.0"},"tags":[{"name":"🧩 Client Services","description":"## Client Services\n\nClient services define the types of work that can be requested in an RFQ for a specific client or company.\n\n### Service Types\n\n| Type | Description | Examples |\n|------|-------------|----------|\n| **LINGUISTICS** | Language-based services | Translation, Transcription, Localization |\n| **NON_LINGUISTICS** | Supporting services | Desktop Publishing (DTP), QA, Engineering, Video Adaptation |\n\n### Using Services in RFQs\n\nWhen creating an RFQ, use these endpoints to find the service IDs available for the client or company. The service type determines what additional fields are required:\n- **LINGUISTICS** services require source and target languages\n- **NON_LINGUISTICS** services require target markets\n\nGet available client services from the endpoints below.\n"}],"servers":[{"url":"https://api.adaptria.locaria.com","description":"Production Environment"}],"security":[{"apiKeyAuth":[]}],"components":{"securitySchemes":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"Api-key","description":"## API Key Authentication\n\nStatic API key obtained from the Adaptria Portal or via `POST /api/credentials/api-keys`.\n\n**How to authenticate**:\n1. Generate an API key from the Adaptria Portal (Settings → API Keys) or ask your admin\n2. Include the key in all requests using the `Api-key` header\n\n**Key format**: `lla_live_<32-character-string>`\n\n**No token exchange needed** — the key is used directly in every request. Revoke or rotate keys from the portal."}},"schemas":{"ClientServiceDetailsResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":{}}},"required":["success","data"]}}},"paths":{"/api/public/v1/client-services/{id}":{"get":{"summary":"🔍 Get Client Service Details","tags":["🧩 Client Services"],"parameters":[{"schema":{"type":"string","format":"uuid"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Client service details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientServiceDetailsResponse"}}}},"404":{"description":"Not found / out of scope"}}}}}}
```
