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

# Wolfia API Overview: REST API for Integrations

> The Wolfia REST API lets you sync users from Okta/Azure AD, upload questionnaires, manage organizations, and embed expert Q&A into your own products.

## Overview

Every endpoint is a standard REST call over HTTPS, authenticated with an API key and returning JSON, so you can call it from any language, script, or scheduler you already run.

## Why use the Wolfia API?

The API is designed for teams that want to:

* **Automate user management** – Sync users from Okta, Azure AD, or other identity providers automatically
* **Streamline onboarding** – Invite new team members as part of your existing onboarding workflows
* **Build custom integrations** – Connect Wolfia with internal tools and systems via MCP or custom applications
* **Ingest questionnaires from multiple sources** – Automatically import questionnaires from JIRA, ServiceNow, and other ticketing systems
* **Embed AI-powered Q\&A** – Add Wolfia's expert knowledge to your custom products and applications
* **Scale operations** – Manage large teams without manual effort

## Getting started

### Prerequisites

Before you can use the API, you'll need:

* An active Wolfia account
* Organization administrator permissions
* A secure place to store API credentials

### Creating your first API key

API keys are how you authenticate with Wolfia's API. Only organization administrators can create and manage them.

<Steps>
  <Step title="Navigate to API settings">
    Go to [Settings → API](https://wolfia.com/settings/api) in your Wolfia account.
  </Step>

  <Step title="Create a new key">
    Click **Create API Key** and provide a descriptive name that identifies the integration or purpose.

    Good examples:

    * "Okta User Sync"
    * "HR Onboarding Bot"
    * "Production Integration"
  </Step>

  <Step title="Save your key securely">
    Your API key will be displayed once and looks like this:

    ```
    wolfia-api-xxxxxxxxxxxxxxxx
    ```

    <Warning>
      Copy and save your API key immediately. You won't be able to see it again. Store it in a secure location like a password manager or secrets management system.
    </Warning>
  </Step>

  <Step title="Test your key">
    Make a test API call to verify your key works correctly. See the examples below for guidance.
  </Step>
</Steps>

## Authentication

All API requests require authentication using your API key. Include it in the `X-API-Key` header:

```bash theme={null}
curl https://api.wolfia.com/v1/organizations/invite \
  -H "X-API-Key: wolfia-api-YOUR_KEY_HERE" \
  -H "Content-Type: application/json"
```

### Security best practices

<AccordionGroup>
  <Accordion title="Store keys securely">
    * Never hardcode API keys in source code
    * Use environment variables or secrets management systems (AWS Secrets Manager, Azure Key Vault, HashiCorp Vault)
    * Add API keys to your `.gitignore` file
  </Accordion>

  <Accordion title="Rotate keys regularly">
    * Create new keys periodically (every 6 months recommended)
    * Deactivate old keys after rotating
    * Update all integrations before deactivating old keys
  </Accordion>

  <Accordion title="Use separate keys for different integrations">
    * Create dedicated keys for each integration or environment
    * Label keys clearly (e.g., "Production Okta Sync", "Staging HR Integration")
    * This limits the impact if a key is compromised
  </Accordion>

  <Accordion title="Monitor key usage">
    * Check the "Last Used" timestamp in your API settings regularly
    * Deactivate keys that haven't been used in 30+ days
    * Investigate any unexpected usage patterns
  </Accordion>
</AccordionGroup>

## Available endpoints

### User management

Automate user invitations and manage your organization's members programmatically.

| Endpoint                   | Method | Description                            |
| -------------------------- | ------ | -------------------------------------- |
| `/v1/organizations/invite` | POST   | Invite a new user to your organization |

<Card title="Invite users" icon="user-plus" href="/how-to/api-invite-users">
  See detailed examples and integration patterns for inviting users
</Card>

### Conversation insights

Retrieve and analyze all conversations across your Wolfia workspace.

| Endpoint                     | Method | Description                             |
| ---------------------------- | ------ | --------------------------------------- |
| `/v1/insights/conversations` | GET    | Retrieve paginated conversation history |

<Card title="Retrieve conversation insights" icon="chart-line" href="/how-to/api-conversation-insights">
  Build custom analytics dashboards and monitor AI performance
</Card>

### Knowledge base uploads

Upload files to your knowledge base using pre-signed S3 URLs.

| Endpoint                            | Method | Description                            |
| ----------------------------------- | ------ | -------------------------------------- |
| `/v1/content-source/prepare-upload` | POST   | Get pre-signed URLs for file uploads   |
| `/v1/content-source/confirm-upload` | POST   | Confirm uploads and trigger processing |

<Card title="Upload knowledge base files" icon="file-arrow-up" href="/how-to/api-knowledge-upload">
  Programmatically add documents to your knowledge base
</Card>

### Questionnaires

Upload, list, search, and retrieve security questionnaires and RFPs.

| Endpoint                          | Method | Description                                      |
| --------------------------------- | ------ | ------------------------------------------------ |
| `/v1/questionnaire/upload/file`   | POST   | Upload a questionnaire file                      |
| `/v1/questionnaire/upload/text`   | POST   | Upload text content for processing               |
| `/v1/questionnaire/list`          | GET    | List all questionnaires with pagination          |
| `/v1/questionnaire/search`        | GET    | Search questionnaires by text or field filters   |
| `/v1/questionnaire/{id}/overview` | GET    | Get detailed questionnaire status and statistics |

<Card title="Questionnaires" icon="file-circle-question" href="/how-to/api-questionnaires">
  Upload, list, search, and track questionnaire processing status
</Card>

### Content tags

List tags used to categorize questionnaires and knowledge base content.

| Endpoint    | Method | Description           |
| ----------- | ------ | --------------------- |
| `/v1/tags/` | GET    | List all content tags |

<Card title="Content tags" icon="tags" href="/how-to/api-tags">
  Retrieve tag IDs for categorizing questionnaires on upload
</Card>

### Organization management

Manage multi-tenant organizations programmatically.

| Endpoint                          | Method | Description                  |
| --------------------------------- | ------ | ---------------------------- |
| `/v1/organizations/tenant/create` | POST   | Create a child organization  |
| `/v1/organizations/tenant/list`   | GET    | List available organizations |
| `/v1/organizations/tenant/switch` | POST   | Switch between organizations |

<Card title="Manage organizations" icon="building" href="/how-to/api-organizations">
  Create, list, and switch between organizations for multi-tenant management
</Card>

### Trust portal analytics

Access trust center engagement metrics, document interactions, and revenue attribution.

| Endpoint                              | Method | Description                  |
| ------------------------------------- | ------ | ---------------------------- |
| `/v1/trustportal/analytics`           | GET    | Portal overview analytics    |
| `/v1/trustportal/analytics/documents` | GET    | Document interaction metrics |
| `/v1/trustportal/analytics/accounts`  | GET    | Active account metrics       |
| `/v1/trustportal/analytics/revenue`   | GET    | Revenue attribution metrics  |

<Card title="Trust portal analytics" icon="chart-mixed" href="/how-to/api-trust-portal-analytics">
  Build reports on trust center engagement and revenue impact
</Card>

### Trust portal updates

Create, manage, and schedule trust center update notifications.

| Endpoint                              | Method | Description         |
| ------------------------------------- | ------ | ------------------- |
| `/v1/trustportal/updates`             | POST   | Create a new update |
| `/v1/trustportal/updates`             | GET    | List all updates    |
| `/v1/trustportal/updates/subscribers` | GET    | List subscribers    |

<Card title="Trust portal updates" icon="megaphone" href="/how-to/api-trust-portal-updates">
  Automate trust center update notifications and subscriber management
</Card>

## Managing your API keys

### Viewing all keys

Navigate to [Settings → API](https://wolfia.com/settings/api) to see all active and inactive keys for your organization. Each key shows:

* **Name** – The descriptive name you provided
* **Created** – When the key was created
* **Last used** – Timestamp of the most recent API call
* **Created by** – Which admin created the key
* **Status** – Active or inactive

### Deactivating a key

If a key is compromised, no longer needed, or you're rotating credentials:

1. Go to [Settings → API](https://wolfia.com/settings/api)
2. Find the key in the list
3. Click **Deactivate**
4. Confirm the action

The key will stop working immediately. Any systems using that key will receive 401 Unauthorized errors until updated with a new key.

### Deleting a key

Deactivated keys can be permanently deleted:

1. Find the deactivated key in your list
2. Click **Delete**
3. Confirm permanent deletion

<Warning>
  Deletion is permanent and cannot be undone. Make sure the key is no longer in use before deleting.
</Warning>

## Rate limits

Wolfia's API includes reasonable rate limits to ensure reliability for all users:

* **Default limit:** 1,000 requests per hour per organization
* **Burst capacity:** 30 requests per minute

If you need higher limits for your integration, please contact us at [support@wolfia.com](mailto:support@wolfia.com) to discuss your requirements.

### Rate limit headers

API responses include headers to help you track your usage:

```
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 995
X-RateLimit-Reset: 1640000000
```

## Error handling

All API responses use standard HTTP status codes:

| Code | Meaning           | Action                                               |
| ---- | ----------------- | ---------------------------------------------------- |
| 200  | Success           | Request completed successfully                       |
| 400  | Bad Request       | Check your request parameters                        |
| 401  | Unauthorized      | Verify your API key is valid and active              |
| 403  | Forbidden         | Check that you have permission for this action       |
| 404  | Not Found         | The requested resource doesn't exist                 |
| 409  | Conflict          | Resource already exists (e.g., user already invited) |
| 429  | Too Many Requests | You've hit the rate limit. Slow down and retry       |
| 500  | Server Error      | Something went wrong on our end. Retry with backoff  |

### Best practices for error handling

* **Implement exponential backoff** for 5xx errors
* **Don't retry 4xx errors** without fixing the request
* **Handle 409 gracefully** – it usually means the resource already exists
* **Log all errors** for debugging and monitoring

## Getting help

We're here to support your integration needs:

* **Documentation questions:** Email [support@wolfia.com](mailto:support@wolfia.com)
* **Technical consultation:** [Schedule a call](https://wolfia.com/demo?ref=docs-api) to discuss your integration
* **Security concerns:** Contact [security@wolfia.com](mailto:security@wolfia.com)
* **Feature requests:** Let us know what API capabilities you need

## What's next?

<CardGroup cols={2}>
  <Card title="Invite users" icon="user-plus" href="/how-to/api-invite-users">
    Automate user invitations with detailed examples
  </Card>

  <Card title="Conversation insights" icon="chart-line" href="/how-to/api-conversation-insights">
    Retrieve and analyze conversation history
  </Card>

  <Card title="Knowledge base uploads" icon="file-arrow-up" href="/how-to/api-knowledge-upload">
    Upload files to your knowledge base programmatically
  </Card>

  <Card title="Questionnaires" icon="file-circle-question" href="/how-to/api-questionnaires">
    Upload, list, search, and track questionnaires
  </Card>

  <Card title="Content tags" icon="tags" href="/how-to/api-tags">
    List tags for categorizing questionnaires
  </Card>

  <Card title="Organization management" icon="building" href="/how-to/api-organizations">
    Create and manage multi-tenant organizations
  </Card>

  <Card title="Trust portal analytics" icon="chart-mixed" href="/how-to/api-trust-portal-analytics">
    Access engagement metrics and revenue attribution
  </Card>

  <Card title="Trust portal updates" icon="megaphone" href="/how-to/api-trust-portal-updates">
    Schedule and manage trust center notifications
  </Card>
</CardGroup>
