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

# Auth Profile • AI Agent SDK

> AuthProfile: Authentication profile for an LLM provider.

# AuthProfile

> Defined in the [**failover**](../modules/failover) module.

<Badge color="blue">AI Agent</Badge>

Authentication profile for an LLM provider.

Attributes:
name: Profile name for identification
provider: Provider name (openai, anthropic, google, etc.)
api\_key: API key for authentication
base\_url: Optional base URL override
model: Default model for this profile
priority: Priority for failover (lower = higher priority)
rate\_limit\_rpm: Requests per minute limit
rate\_limit\_tpm: Tokens per minute limit
status: Current status
last\_error: Last error message
last\_error\_time: Timestamp of last error
cooldown\_until: Timestamp until which this profile is in cooldown
metadata: Additional provider-specific configuration

## Properties

<ResponseField name="name" type="str">
  No description available.
</ResponseField>

<ResponseField name="provider" type="str">
  No description available.
</ResponseField>

<ResponseField name="api_key" type="str">
  No description available.
</ResponseField>

<ResponseField name="base_url" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="model" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="priority" type="int">
  No description available.
</ResponseField>

<ResponseField name="rate_limit_rpm" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="rate_limit_tpm" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="status" type="ProviderStatus">
  No description available.
</ResponseField>

<ResponseField name="last_error" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="last_error_time" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="cooldown_until" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="metadata" type="Dict">
  No description available.
</ResponseField>

## Methods

<CardGroup cols={2}>
  <Card title="is_available()" icon="function" href="../functions/AuthProfile-is_available">
    Check if this profile is currently available.
  </Card>

  <Card title="mark_rate_limited()" icon="function" href="../functions/AuthProfile-mark_rate_limited">
    Mark this profile as rate limited.
  </Card>

  <Card title="mark_error()" icon="function" href="../functions/AuthProfile-mark_error">
    Mark this profile as having an error.
  </Card>

  <Card title="reset()" icon="function" href="../functions/AuthProfile-reset">
    Reset this profile to available status.
  </Card>
</CardGroup>

<Accordion title="Internal & Generic Methods">
  * **from\_dict**: Create from dictionary.
  * **to\_dict**: Convert to dictionary (hides sensitive data).
</Accordion>

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/llm/failover.py#L40">
  `praisonaiagents/llm/failover.py` at line 40
</Card>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Agent Profiles" icon="id-card" href="/docs/features/agent-profiles" />

  <Card title="Profiling" icon="chart-line" href="/docs/features/profiling" />
</CardGroup>
