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

# Endpoint Settings

> Configure caching, rate limits, and advanced options

The Settings tab lets you configure advanced endpoint behaviors like caching, rate limits, and other operational settings.

## Accessing Settings

Open any endpoint and click the **Settings** tab in the workspace.

## Caching

Caching stores LLM responses so identical requests return instantly without calling the LLM again.

### Enable Caching

| Setting            | Description                              |
| ------------------ | ---------------------------------------- |
| **Enable Cache**   | Toggle caching on/off for this endpoint  |
| **Cache Duration** | How long to cache responses (in seconds) |

<Note>
  Caching is based on the complete request payload. Different inputs produce different cache keys.
</Note>

### When to Use Caching

<CardGroup cols={2}>
  <Card title="Good for Caching" icon="check">
    * Reference data lookups
    * Static content generation
    * Classification tasks
    * Repeated queries
  </Card>

  <Card title="Avoid Caching" icon="xmark">
    * User-specific content
    * Time-sensitive data
    * Random/creative outputs
    * Conversational contexts
  </Card>
</CardGroup>

### Cache Bypass

During testing, you may want fresh responses. The test runner includes a "Bypass Cache" option that forces a new LLM call.

You can also bypass cache programmatically:

```bash theme={null}
curl -X POST https://yourcompany.api.endprompt.ai/api/v1/summarize \
  -H "x-api-key: your-key" \
  -H "x-cache-bypass: true" \
  -d '{"text": "..."}'
```

## Rate Limits

Protect your endpoints from abuse with rate limiting.

### Rate Limit Settings

| Setting                 | Description                         |
| ----------------------- | ----------------------------------- |
| **Requests per Minute** | Maximum requests allowed per minute |
| **Requests per Hour**   | Maximum requests allowed per hour   |
| **Requests per Day**    | Maximum requests allowed per day    |

<Warning>
  Rate limits apply per API key. Different keys have independent limits.
</Warning>

### Rate Limit Headers

Responses include rate limit information:

```
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1699999999
```

When exceeded, requests receive a `429 Too Many Requests` response:

```json theme={null}
{
  "error": "rate_limit_exceeded",
  "message": "Rate limit exceeded. Try again in 45 seconds.",
  "retry_after": 45
}
```

## Visibility

Control who can see and use this endpoint.

| Setting      | Description                    |
| ------------ | ------------------------------ |
| **Public**   | Visible to all team members    |
| **Internal** | Only visible to you and admins |

<Tip>
  Use Internal visibility for endpoints under development or for personal experiments.
</Tip>

## Timeout Settings

Configure how long to wait for LLM responses.

| Setting             | Default | Description                           |
| ------------------- | ------- | ------------------------------------- |
| **Request Timeout** | 60s     | Maximum time to wait for LLM response |

Long-running prompts (complex analysis, long documents) may need higher timeouts.

## Danger Zone

<Warning>
  Actions in the Danger Zone are permanent and cannot be undone.
</Warning>

### Delete Endpoint

Permanently removes the endpoint and all associated:

* Prompts and versions
* Execution logs
* Cached responses

To delete:

1. Click **Delete Endpoint**
2. Type the endpoint name to confirm
3. Click **Permanently Delete**

<Note>
  Deleting an endpoint will break any applications calling it. Ensure nothing depends on the endpoint before deleting.
</Note>

## Configuration Best Practices

<AccordionGroup>
  <Accordion title="Start without caching" icon="clock">
    Enable caching only after you've stabilized your prompts and confirmed outputs are deterministic.
  </Accordion>

  <Accordion title="Set conservative rate limits" icon="shield">
    Start with lower limits and increase based on actual usage patterns.
  </Accordion>

  <Accordion title="Use Internal during development" icon="eye-slash">
    Keep endpoints Internal while testing, then make Public when ready.
  </Accordion>

  <Accordion title="Document settings choices" icon="file-lines">
    Use the endpoint description to note why certain settings were chosen.
  </Accordion>
</AccordionGroup>

## Settings by Use Case

| Use Case           | Cache         | Rate Limit | Timeout |
| ------------------ | ------------- | ---------- | ------- |
| Search/lookup      | Yes, 1 hour   | 100/min    | 30s     |
| Content generation | No            | 20/min     | 60s     |
| Document analysis  | No            | 10/min     | 120s    |
| Classification     | Yes, 24 hours | 200/min    | 30s     |
| Chatbot            | No            | 30/min     | 45s     |

## Next Steps

<CardGroup cols={2}>
  <Card title="Create a Prompt" icon="wand-magic-sparkles" href="/prompts/create-prompt">
    Now that your endpoint is configured, add a prompt
  </Card>

  <Card title="API Authentication" icon="key" href="/api/authentication">
    Set up API keys to call your endpoint
  </Card>
</CardGroup>
