Citadelis Logo

Citadelis

/API Docs/Getting Started
Back to Documentation

Getting Started with Citadelis API

Learn how to set up and start using the Citadelis API in your applications.

1

Create an Account

If you do not already have a Citadelis account, sign up at citadelis.eu/signup.

Account Types

  • Free: 50 requests/day, 30 req/min rate limit
  • Pro: Unlimited requests, 60 req/min, budget controls
  • Enterprise: 120 req/min, dedicated support, custom limits
2

Generate an API Key

Go to Settings > API Keys and create a new API key.

Important: Save Your Key

Your API key will only be shown once when created. Copy and store it securely. If you lose it, you will need to create a new one.

3

Install the SDK

The Citadelis API is compatible with the official OpenAI SDK. Install it for your language:

Python
pip install openai
Node.js
npm install openai
Go
go get github.com/sashabaranov/go-openai
4

Make Your First Request

Configure the SDK to use the Citadelis API endpoint and your API key:

from openai import OpenAI

# Configure the client
client = OpenAI(
    base_url="https://citadelis.eu/api/v1",
    api_key="citadel_sk_your_key_here"  # Replace with your actual key
)

# Make a chat completion request
response = client.chat.completions.create(
    model="Meta-Llama-3_3-70B-Instruct",  # EU-hosted model
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "What is the capital of France?"}
    ],
    temperature=0.7
)

# Print the response
print(response.choices[0].message.content)
5

Enable Anonymization (Optional)

Citadelis provides a unique anonymization feature that protects sensitive data before sending it to AI models. This is especially useful for GDPR compliance.

Python with Anonymization
# Add anonymize=True to enable PII anonymization
response = client.chat.completions.create(
    model="Meta-Llama-3_3-70B-Instruct",
    messages=[
        {"role": "user", "content": "Draft an email to john@example.com about the meeting"}
    ],
    extra_body={"anonymize": True}  # Enable anonymization
)

# The response includes:
# - response.choices[0].message.content (raw response with tokens)
# - response.citadelis.anonymization.mapping (token -> original value)
# - response.citadelis.anonymization.deanonymized_content (restored response)

Learn more about anonymization in the Anonymization Guide.

Next Steps