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

# List Custom Instructions

> Retrieve all custom translation instructions configured for your account

Retrieve every custom instruction (translation guidelines) owned by your API key’s account. Use these with the SDK’s `ollang.customInstructions` helpers or when you need IDs for updates or deletes.

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api-integration.ollang.com/integration/custom-instructions" \
    -H "X-Api-Key: <your-api-key>"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://api-integration.ollang.com/integration/custom-instructions",
    {
      method: "GET",
      headers: {
        "X-Api-Key": "<your-api-key>",
      },
    },
  );

  const instructions = await response.json();
  ```

  ```python Python theme={null}
  import requests

  headers = {"X-Api-Key": "<your-api-key>"}

  response = requests.get(
      "https://api-integration.ollang.com/integration/custom-instructions",
      headers=headers,
  )

  instructions = response.json()
  ```
</RequestExample>

## Authorizations

This endpoint requires API key authentication.

* **Header name**: `X-Api-Key`
* **Header value**: Your API key from the [Ollang dashboard](https://lab.ollang.com)

## Response

Returns an array of custom instruction objects.

<ResponseField name="id" type="string">
  Unique identifier of the custom instruction.
</ResponseField>

<ResponseField name="key" type="string">
  Machine-friendly name for the instruction (e.g. `tone_and_register`).
</ResponseField>

<ResponseField name="value" type="string">
  The instruction text applied to translation workflows.
</ResponseField>

<ResponseField name="active" type="boolean">
  Whether the instruction is currently enabled.
</ResponseField>

<ResponseField name="description" type="string">
  Optional human-readable description.
</ResponseField>

<ResponseField name="scopeRefId" type="string">
  Scope reference (client) identifier.
</ResponseField>

<ResponseField name="createdAt" type="string">
  Creation timestamp (ISO 8601).
</ResponseField>

<ResponseField name="updatedAt" type="string">
  Last update timestamp (ISO 8601).
</ResponseField>

<ResponseExample>
  ```json 200 theme={null}
  [
    {
      "id": "507f1f77bcf86cd799439011",
      "key": "tone_and_register",
      "value": "Match the formality level of the source.",
      "active": true,
      "description": "Tone and register guidelines",
      "scopeRefId": "507f1f77bcf86cd799439012",
      "createdAt": "2023-10-05T12:34:56.789Z",
      "updatedAt": "2023-10-05T12:34:56.789Z"
    }
  ]
  ```

  ```json 401 theme={null}
  {
    "error": "Unauthorized",
    "message": "Invalid or missing API key",
    "code": "UNAUTHORIZED"
  }
  ```
</ResponseExample>
