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

# SDKs

Passy integrates directly into your existing codebase. \
\
Simply update your API configuration with your Passy `API Key` and target `Base URL`.

<Tabs>
  <Tab title="Vercel AI SDK">
    <CodeGroup>
      ```bash Typescript theme={null}
      npm install @ai-sdk/openai
      ```
    </CodeGroup>

    <CodeGroup>
      ```typescript Typescript theme={null}
      import { createOpenAI } from '@ai-sdk/openai';
      import { generateText } from 'ai';
         
      const passy = createOpenAI({
      	baseURL: 'https://api.passy.ai/v1',
      	apiKey: 'your-passy-api-key',
      });
         
      const { text } = await generateText({
      	model: passy('passy/Kimi-K2.6'),
      	prompt: 'Say hi!',
      });
         
      console.log(text);
      ```
    </CodeGroup>
  </Tab>

  <Tab title="OpenAI SDK">
    <CodeGroup>
      ```bash Typescript theme={null}
      npm install openai
      ```

      ```bash Python theme={null}
      pip install openai
      ```
    </CodeGroup>

    <CodeGroup>
      ```typescript Typescript theme={null}
      import OpenAI from 'openai';
         
      const client = new OpenAI({
      	baseURL: 'https://api.passy.ai/v1',
      	apiKey: 'your-passy-api-key'
      });
         
      const response = await client.chat.completions.create({
      	model: 'passy/Kimi-K2.6',
      	messages: [{ role: 'user', content: 'Say hi!' }]
      });
         
      console.log(response.choices[0].message.content);
      ```

      ```python Python theme={null}
      from openai import OpenAI
         
      client = OpenAI(
      	base_url="https://api.passy.ai/v1",
      	api_key="your-passy-api-key"
      )
         
      response = client.chat.completions.create(
      	model="passy/Kimi-K2.6",
      	messages=[{"role": "user", "content": "Say hi!"}]
      )
         
      print(response.choices[0].message.content)
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Anthropic SDK">
    <CodeGroup>
      ```bash Typescript theme={null}
      npm install @anthropic-ai/sdk
      ```

      ```bash Python theme={null}
      pip install anthropic 
      ```
    </CodeGroup>

    <CodeGroup>
      ```typescript Typescript theme={null}
      import Anthropic from '@anthropic-ai/sdk';
         
      const client = new Anthropic({
      	baseURL: 'https://api.passy.ai/',
      	apiKey: 'your-passy-api-key'
      });
         
      const message = await client.messages.create({
      	model: 'passy/Kimi-K2.6',
      	max_tokens: 1024,
      	messages: [{ role: 'user', content: 'Say hi!' }]
      });
         
      console.log(message.content[0].text);
      ```

      ```python Python theme={null}
      from anthropic import Anthropic
         
      client = Anthropic(
      	base_url="https://api.passy.ai/",
      	api_key="your-passy-api-key"
      )
         
      message = client.messages.create(
      	model="passy/Kimi-K2.6",
      	max_tokens=1024,
      	messages=[{"role": "user", "content": "Say hi!"}]
      )
         
      print(message.content[0].text)

      ```
    </CodeGroup>

    <Warning>
      For Claude Code you need to keep the Base URL `https://api.passy.ai` without the `/v1`
    </Warning>
  </Tab>
</Tabs>

***

## FAQ

<AccordionGroup>
  <Accordion title="How much does Passy cost?">
    Passy uses flat per-developer pricing. No token calculations or variable monthly bills. Track your limit metrics inside your [Dashboard](https://dash.passy.ai).
  </Accordion>

  <Accordion title="Will my existing SDK code layout change?">
    No. Because we expose standard OpenAI and Anthropic endpoint shapes, changing the routing `baseURL` target configuration and key token is all it takes.
  </Accordion>

  <Accordion title="How does Passy handle model fallback and failover?">
    Passy automatically routes traffic around provider downtime. If a primary model host (like Azure or AWS Bedrock) experiences an outage, our gateway automatically routes your query to an operational secondary host for that exact same model seamlessly.
  </Accordion>

  <Accordion title="Does Passy log or train on my data payload?">
    No. Passy acts purely as a zero-data retention proxy gateway. We never log your prompt strings or completions, and none of your data streams are ever used to train underlying AI models.
  </Accordion>

  <Accordion title="Can I pass provider-specific parameters like reasoning_effort?">
    Yes. Passy forwards all root API payload properties downstream to the target provider. Advanced parameters like `reasoning_effort` for specialized models will be respected completely.
  </Accordion>

  <Accordion title="Are streaming completions supported over Passy endpoints?">
    Yes. Server-Sent Events (SSE) streaming works natively out of the box. You do not need to alter your `streamText` or `stream` method calls in your chosen SDK.
  </Accordion>
</AccordionGroup>

***

## Support Channels

<CardGroup cols={3}>
  <Card title="WhatsApp" icon="whatsapp" href="https://wa.absolum.nl" target="_blank" />

  <Card title="Book Call" icon="calendar" href="https://cal.com/absolum/emby-dev-enterprise" target="_blank" />

  <Card title="Feedback" icon="circle-question" href="https://passy.ai/feedback" target="_blank" />
</CardGroup>
