# Retrieve all the agents
Source: https://developers.getfernand.com/api-reference/agents/retrieve-all-the-agents
https://api.getfernand.com/openapi.json get /agents
# Retrieve pending agent invitations
Source: https://developers.getfernand.com/api-reference/agents/retrieve-pending-agent-invitations
https://api.getfernand.com/openapi.json get /agents/pending
# Create a new channel
Source: https://developers.getfernand.com/api-reference/channels/create-a-new-channel
https://api.getfernand.com/openapi.json post /organization/channels
# Delete a channel
Source: https://developers.getfernand.com/api-reference/channels/delete-a-channel
https://api.getfernand.com/openapi.json delete /organization/channels/{email}
# List all channels
Source: https://developers.getfernand.com/api-reference/channels/list-all-channels
https://api.getfernand.com/openapi.json get /organization/channels
# Update a channel's name
Source: https://developers.getfernand.com/api-reference/channels/update-a-channels-name
https://api.getfernand.com/openapi.json patch /organization/channels/{email}
# Verify channel domain DNS settings
Source: https://developers.getfernand.com/api-reference/channels/verify-channel-domain-dns-settings
https://api.getfernand.com/openapi.json get /organization/channels/{email}/verify
# Get chat widget configuration
Source: https://developers.getfernand.com/api-reference/chat-widget/get-chat-widget-configuration
https://api.getfernand.com/openapi.json get /organization/chat
# Update chat widget configuration
Source: https://developers.getfernand.com/api-reference/chat-widget/update-chat-widget-configuration
https://api.getfernand.com/openapi.json put /organization/chat
# Link a payment email to a contact
Source: https://developers.getfernand.com/api-reference/contact-payments/link-a-payment-email-to-a-contact
https://api.getfernand.com/openapi.json post /contacts/{id}/payment-email
# Unlink a payment email from a contact
Source: https://developers.getfernand.com/api-reference/contact-payments/unlink-a-payment-email-from-a-contact
https://api.getfernand.com/openapi.json delete /contacts/{id}/payment-email
# Add an email or domain to the suppression list
Source: https://developers.getfernand.com/api-reference/contact-suppressions/add-an-email-or-domain-to-the-suppression-list
https://api.getfernand.com/openapi.json post /contacts/suppressed
# List all suppressed contacts or domains
Source: https://developers.getfernand.com/api-reference/contact-suppressions/list-all-suppressed-contacts-or-domains
https://api.getfernand.com/openapi.json get /contacts/suppressed
# Remove an email or domain from the suppression list
Source: https://developers.getfernand.com/api-reference/contact-suppressions/remove-an-email-or-domain-from-the-suppression-list
https://api.getfernand.com/openapi.json delete /contacts/suppressed/{email}
# Retrieve contact informations
Source: https://developers.getfernand.com/api-reference/contacts/retrieve-contact-informations
https://api.getfernand.com/openapi.json get /contacts/{id}
# Search for contacts
Source: https://developers.getfernand.com/api-reference/contacts/search-for-contacts
https://api.getfernand.com/openapi.json get /contacts
# Update the contact
Source: https://developers.getfernand.com/api-reference/contacts/update-the-contact
https://api.getfernand.com/openapi.json patch /contacts/{id}
# Create a new draft
Source: https://developers.getfernand.com/api-reference/conversation-drafts/create-a-new-draft
https://api.getfernand.com/openapi.json post /conversations/{conv_id}/drafts
# Delete a draft
Source: https://developers.getfernand.com/api-reference/conversation-drafts/delete-a-draft
https://api.getfernand.com/openapi.json delete /conversations/{conv_id}/drafts/{draft_id}
# Add a tag to a conversation
Source: https://developers.getfernand.com/api-reference/conversation-tags/add-a-tag-to-a-conversation
https://api.getfernand.com/openapi.json post /conversations/{id}/tags
# Remove a tag from a conversation
Source: https://developers.getfernand.com/api-reference/conversation-tags/remove-a-tag-from-a-conversation
https://api.getfernand.com/openapi.json delete /conversations/{id}/tags/{tag}
# Add a recipient to a conversation
Source: https://developers.getfernand.com/api-reference/conversations/add-a-recipient-to-a-conversation
https://api.getfernand.com/openapi.json post /conversations/{id}/recipients
# Bulk update multiple conversations
Source: https://developers.getfernand.com/api-reference/conversations/bulk-update-multiple-conversations
https://api.getfernand.com/openapi.json post /conversations/bulk
# Create a new conversation
Source: https://developers.getfernand.com/api-reference/conversations/create-a-new-conversation
https://api.getfernand.com/openapi.json post /conversations/compose
# Delete a conversation
Source: https://developers.getfernand.com/api-reference/conversations/delete-a-conversation
https://api.getfernand.com/openapi.json delete /conversations/{id}
# Export conversation as PDF
Source: https://developers.getfernand.com/api-reference/conversations/export-conversation-as-pdf
https://api.getfernand.com/openapi.json get /conversations/{id}/export
# List all recipients for a conversation
Source: https://developers.getfernand.com/api-reference/conversations/list-all-recipients-for-a-conversation
https://api.getfernand.com/openapi.json get /conversations/{id}/recipients
# List conversations
Source: https://developers.getfernand.com/api-reference/conversations/list-conversations
https://api.getfernand.com/openapi.json get /conversations
# Remove a recipient from a conversation
Source: https://developers.getfernand.com/api-reference/conversations/remove-a-recipient-from-a-conversation
https://api.getfernand.com/openapi.json delete /conversations/{id}/recipients/{email}
# Reply to conversation
Source: https://developers.getfernand.com/api-reference/conversations/reply-to-conversation
https://api.getfernand.com/openapi.json post /conversations/{id}/reply
# Retrieve a conversation
Source: https://developers.getfernand.com/api-reference/conversations/retrieve-a-conversation
https://api.getfernand.com/openapi.json get /conversations/{id}
# Update a conversation
Source: https://developers.getfernand.com/api-reference/conversations/update-a-conversation
https://api.getfernand.com/openapi.json patch /conversations/{id}
# Delete custom data configuration
Source: https://developers.getfernand.com/api-reference/custom-data/delete-custom-data-configuration
https://api.getfernand.com/openapi.json delete /organization/custom-data
# Get custom data API logs
Source: https://developers.getfernand.com/api-reference/custom-data/get-custom-data-api-logs
https://api.getfernand.com/openapi.json get /organization/custom-data/logs
# Get custom data configuration
Source: https://developers.getfernand.com/api-reference/custom-data/get-custom-data-configuration
https://api.getfernand.com/openapi.json get /organization/custom-data
# Update custom data configuration
Source: https://developers.getfernand.com/api-reference/custom-data/update-custom-data-configuration
https://api.getfernand.com/openapi.json patch /organization/custom-data
# Attach a GitHub issue to a conversation
Source: https://developers.getfernand.com/api-reference/github-integration/attach-a-github-issue-to-a-conversation
https://api.getfernand.com/openapi.json put /integrations/github/{conversation_id}/tickets/{ticket_id}
# Create a new GitHub issue and attach it to a conversation
Source: https://developers.getfernand.com/api-reference/github-integration/create-a-new-github-issue-and-attach-it-to-a-conversation
https://api.getfernand.com/openapi.json post /integrations/github/{conversation_id}/tickets
# Detach a GitHub issue from a conversation
Source: https://developers.getfernand.com/api-reference/github-integration/detach-a-github-issue-from-a-conversation
https://api.getfernand.com/openapi.json delete /integrations/github/{conversation_id}/tickets/{ticket_id}
# Get GitHub integration properties
Source: https://developers.getfernand.com/api-reference/github-integration/get-github-integration-properties
https://api.getfernand.com/openapi.json get /integrations/github/properties
# Get GitHub tickets attached to a conversation
Source: https://developers.getfernand.com/api-reference/github-integration/get-github-tickets-attached-to-a-conversation
https://api.getfernand.com/openapi.json get /integrations/github/{conversation_id}/tickets
# Search for GitHub issues across all connected repositories
Source: https://developers.getfernand.com/api-reference/github-integration/search-for-github-issues-across-all-connected-repositories
https://api.getfernand.com/openapi.json post /integrations/github/search
# Create an article
Source: https://developers.getfernand.com/api-reference/knowledge-articles/create-an-article
https://api.getfernand.com/openapi.json post /knowledge/articles
# Delete an article
Source: https://developers.getfernand.com/api-reference/knowledge-articles/delete-an-article
https://api.getfernand.com/openapi.json delete /knowledge/articles/{id}
# Retrieve an article
Source: https://developers.getfernand.com/api-reference/knowledge-articles/retrieve-an-article
https://api.getfernand.com/openapi.json get /knowledge/articles/{id}
# Update an article
Source: https://developers.getfernand.com/api-reference/knowledge-articles/update-an-article
https://api.getfernand.com/openapi.json patch /knowledge/articles/{id}
# Update the position of an article
Source: https://developers.getfernand.com/api-reference/knowledge-articles/update-the-position-of-an-article
https://api.getfernand.com/openapi.json patch /knowledge/articles/{id}/collections
# Retrieve articles statistics for the Knowledge Base
Source: https://developers.getfernand.com/api-reference/knowledge-base-reporting/retrieve-articles-statistics-for-the-knowledge-base
https://api.getfernand.com/openapi.json get /reporting/knowledge/articles
# Retrieve knowledge base statistics
Source: https://developers.getfernand.com/api-reference/knowledge-base-reporting/retrieve-knowledge-base-statistics
https://api.getfernand.com/openapi.json get /reporting/knowledge/statistics
# Retrieve search statistics from the knowledge base
Source: https://developers.getfernand.com/api-reference/knowledge-base-reporting/retrieve-search-statistics-from-the-knowledge-base
https://api.getfernand.com/openapi.json get /reporting/knowledge/searches
# Retrieve knowledge base settings
Source: https://developers.getfernand.com/api-reference/knowledge-base/retrieve-knowledge-base-settings
https://api.getfernand.com/openapi.json get /knowledge
# Retrieve the complete knowledge base structure
Source: https://developers.getfernand.com/api-reference/knowledge-base/retrieve-the-complete-knowledge-base-structure
https://api.getfernand.com/openapi.json get /knowledge/structure
# Update knowledge base settings and configuration
Source: https://developers.getfernand.com/api-reference/knowledge-base/update-knowledge-base-settings-and-configuration
https://api.getfernand.com/openapi.json patch /knowledge
# Verify custom domain DNS configuration
Source: https://developers.getfernand.com/api-reference/knowledge-base/verify-custom-domain-dns-configuration
https://api.getfernand.com/openapi.json get /knowledge/verify
# Create a new collection
Source: https://developers.getfernand.com/api-reference/knowledge-collections/create-a-new-collection
https://api.getfernand.com/openapi.json post /knowledge/collections
# Delete a collection
Source: https://developers.getfernand.com/api-reference/knowledge-collections/delete-a-collection
https://api.getfernand.com/openapi.json delete /knowledge/collections/{id}
# List collections
Source: https://developers.getfernand.com/api-reference/knowledge-collections/list-collections
https://api.getfernand.com/openapi.json get /knowledge/collections
# Update a collection
Source: https://developers.getfernand.com/api-reference/knowledge-collections/update-a-collection
https://api.getfernand.com/openapi.json patch /knowledge/collections/{id}
# Create a new link
Source: https://developers.getfernand.com/api-reference/knowledge-links/create-a-new-link
https://api.getfernand.com/openapi.json post /knowledge/links
# Delete a link
Source: https://developers.getfernand.com/api-reference/knowledge-links/delete-a-link
https://api.getfernand.com/openapi.json delete /knowledge/links/{id}
# List links
Source: https://developers.getfernand.com/api-reference/knowledge-links/list-links
https://api.getfernand.com/openapi.json get /knowledge/links
# Update a link
Source: https://developers.getfernand.com/api-reference/knowledge-links/update-a-link
https://api.getfernand.com/openapi.json patch /knowledge/links/{id}
# Attach a Linear issue to a conversation
Source: https://developers.getfernand.com/api-reference/linear-integration/attach-a-linear-issue-to-a-conversation
https://api.getfernand.com/openapi.json put /integrations/linear/{conversation_id}/tickets/{linear_id}
# Create a new Linear issue and attach it to a conversation
Source: https://developers.getfernand.com/api-reference/linear-integration/create-a-new-linear-issue-and-attach-it-to-a-conversation
https://api.getfernand.com/openapi.json post /integrations/linear/{conversation_id}/tickets
# Detach a Linear issue from a conversation
Source: https://developers.getfernand.com/api-reference/linear-integration/detach-a-linear-issue-from-a-conversation
https://api.getfernand.com/openapi.json delete /integrations/linear/{conversation_id}/tickets/{linear_id}
# Get Linear issues attached to a conversation
Source: https://developers.getfernand.com/api-reference/linear-integration/get-linear-issues-attached-to-a-conversation
https://api.getfernand.com/openapi.json get /integrations/linear/{conversation_id}/tickets
# Get Linear properties
Source: https://developers.getfernand.com/api-reference/linear-integration/get-linear-properties
https://api.getfernand.com/openapi.json get /integrations/linear/properties
# Search for Linear issues
Source: https://developers.getfernand.com/api-reference/linear-integration/search-for-linear-issues
https://api.getfernand.com/openapi.json post /integrations/linear/search
# Update a Linear issue
Source: https://developers.getfernand.com/api-reference/linear-integration/update-a-linear-issue
https://api.getfernand.com/openapi.json patch /integrations/linear/{conversation_id}/tickets/{linear_id}
# Delete a message
Source: https://developers.getfernand.com/api-reference/messages/delete-a-message
https://api.getfernand.com/openapi.json delete /conversations/{id}/messages/{message_id}
# List messages in a conversation
Source: https://developers.getfernand.com/api-reference/messages/list-messages-in-a-conversation
https://api.getfernand.com/openapi.json get /conversations/{id}/messages
Retrieves messages, notes, and events from a specific conversation in reverse chronological order. Supports pagination using the before parameter to fetch older entries. Returns a mix of messages, notes, and conversation events in a unified timeline.
# Add a note to a conversation
Source: https://developers.getfernand.com/api-reference/notes/add-a-note-to-a-conversation
https://api.getfernand.com/openapi.json post /conversations/{id}/notes
# Delete a note
Source: https://developers.getfernand.com/api-reference/notes/delete-a-note
https://api.getfernand.com/openapi.json delete /conversations/{id}/notes/{note_id}
# Update a note
Source: https://developers.getfernand.com/api-reference/notes/update-a-note
https://api.getfernand.com/openapi.json patch /conversations/{id}/notes/{note_id}
# Retrieve organization details
Source: https://developers.getfernand.com/api-reference/organizations/retrieve-organization-details
https://api.getfernand.com/openapi.json get /organization
# Retrieve organization invoices
Source: https://developers.getfernand.com/api-reference/organizations/retrieve-organization-invoices
https://api.getfernand.com/openapi.json get /organization/invoices
# Set organization business hours
Source: https://developers.getfernand.com/api-reference/organizations/set-organization-business-hours
https://api.getfernand.com/openapi.json post /organization/hours
# Update organization details
Source: https://developers.getfernand.com/api-reference/organizations/update-organization-details
https://api.getfernand.com/openapi.json patch /organization
# Add file to the AI store
Source: https://developers.getfernand.com/api-reference/rag-ai-data/add-file-to-the-ai-store
https://api.getfernand.com/openapi.json post /organization/rag/sources/files
# Add Q&A to the AI store
Source: https://developers.getfernand.com/api-reference/rag-ai-data/add-q&a-to-the-ai-store
https://api.getfernand.com/openapi.json post /organization/rag/sources/questions
# Add text to the AI Store
Source: https://developers.getfernand.com/api-reference/rag-ai-data/add-text-to-the-ai-store
https://api.getfernand.com/openapi.json post /organization/rag/sources/texts
# Add URL source to your AI Data
Source: https://developers.getfernand.com/api-reference/rag-ai-data/add-url-source-to-your-ai-data
https://api.getfernand.com/openapi.json post /organization/rag/sources/urls
# Delete a single AI source
Source: https://developers.getfernand.com/api-reference/rag-ai-data/delete-a-single-ai-source
https://api.getfernand.com/openapi.json delete /organization/rag/sources/{uuid}
# Delete multiple AI sources
Source: https://developers.getfernand.com/api-reference/rag-ai-data/delete-multiple-ai-sources
https://api.getfernand.com/openapi.json delete /organization/rag/sources
# Get AI data source content
Source: https://developers.getfernand.com/api-reference/rag-ai-data/get-ai-data-source-content
https://api.getfernand.com/openapi.json get /organization/rag/sources/{uuid}/content
# Get AI usage statistics
Source: https://developers.getfernand.com/api-reference/rag-ai-data/get-ai-usage-statistics
https://api.getfernand.com/openapi.json get /organization/rag/statistics
# List all public AI sources
Source: https://developers.getfernand.com/api-reference/rag-ai-data/list-all-public-ai-sources
https://api.getfernand.com/openapi.json get /organization/rag
# Retrain a single URL source
Source: https://developers.getfernand.com/api-reference/rag-ai-data/retrain-a-single-url-source
https://api.getfernand.com/openapi.json post /organization/rag/sources/{uuid}/retrain
# Retrain multiple URL sources
Source: https://developers.getfernand.com/api-reference/rag-ai-data/retrain-multiple-url-sources
https://api.getfernand.com/openapi.json post /organization/rag/sources/retrain
# Stop URL crawling process
Source: https://developers.getfernand.com/api-reference/rag-ai-data/stop-url-crawling-process
https://api.getfernand.com/openapi.json post /organization/rag/sources/urls/stop
# Update AI Data auto-sync settings
Source: https://developers.getfernand.com/api-reference/rag-ai-data/update-ai-data-auto-sync-settings
https://api.getfernand.com/openapi.json patch /organization/rag
# Update Q&A message
Source: https://developers.getfernand.com/api-reference/rag-ai-data/update-q&a-message
https://api.getfernand.com/openapi.json patch /organization/rag/sources/questions/{message_id}
# Update Q&A source
Source: https://developers.getfernand.com/api-reference/rag-ai-data/update-q&a-source
https://api.getfernand.com/openapi.json patch /organization/rag/sources/questions/{uuid}
# Update text source
Source: https://developers.getfernand.com/api-reference/rag-ai-data/update-text-source
https://api.getfernand.com/openapi.json patch /organization/rag/sources/texts/{uuid}
# Retrieve general conversation statistics
Source: https://developers.getfernand.com/api-reference/reporting/retrieve-general-conversation-statistics
https://api.getfernand.com/openapi.json get /reporting/general
# Create a new ruleset
Source: https://developers.getfernand.com/api-reference/rulesets/create-a-new-ruleset
https://api.getfernand.com/openapi.json post /organization/rules
# Delete a ruleset
Source: https://developers.getfernand.com/api-reference/rulesets/delete-a-ruleset
https://api.getfernand.com/openapi.json delete /organization/rules/{id}
# Disable a ruleset
Source: https://developers.getfernand.com/api-reference/rulesets/disable-a-ruleset
https://api.getfernand.com/openapi.json post /organization/rules/{id}/disable
# Enable a ruleset
Source: https://developers.getfernand.com/api-reference/rulesets/enable-a-ruleset
https://api.getfernand.com/openapi.json post /organization/rules/{id}/enable
# Retrieve all rulesets
Source: https://developers.getfernand.com/api-reference/rulesets/retrieve-all-rulesets
https://api.getfernand.com/openapi.json get /organization/rules
# Update a ruleset
Source: https://developers.getfernand.com/api-reference/rulesets/update-a-ruleset
https://api.getfernand.com/openapi.json patch /organization/rules/{id}
# Create a new snippet category
Source: https://developers.getfernand.com/api-reference/snippet-categories/create-a-new-snippet-category
https://api.getfernand.com/openapi.json post /snippets/categories
# Delete a snippet category
Source: https://developers.getfernand.com/api-reference/snippet-categories/delete-a-snippet-category
https://api.getfernand.com/openapi.json delete /snippets/categories/{id}
# Get details of a snippet category
Source: https://developers.getfernand.com/api-reference/snippet-categories/get-details-of-a-snippet-category
https://api.getfernand.com/openapi.json get /snippets/categories/{id}
# List all snippet categories
Source: https://developers.getfernand.com/api-reference/snippet-categories/list-all-snippet-categories
https://api.getfernand.com/openapi.json get /snippets/categories
# Update a category's position and parent
Source: https://developers.getfernand.com/api-reference/snippet-categories/update-a-categorys-position-and-parent
https://api.getfernand.com/openapi.json patch /snippets/categories/{id}/position
# Update a snippet category's name
Source: https://developers.getfernand.com/api-reference/snippet-categories/update-a-snippet-categorys-name
https://api.getfernand.com/openapi.json patch /snippets/categories/{id}
# Create a new snippet
Source: https://developers.getfernand.com/api-reference/snippets/create-a-new-snippet
https://api.getfernand.com/openapi.json post /snippets
# Delete a snippet
Source: https://developers.getfernand.com/api-reference/snippets/delete-a-snippet
https://api.getfernand.com/openapi.json delete /snippets/{id}
# List all snippets
Source: https://developers.getfernand.com/api-reference/snippets/list-all-snippets
https://api.getfernand.com/openapi.json get /snippets
# Update a snippet
Source: https://developers.getfernand.com/api-reference/snippets/update-a-snippet
https://api.getfernand.com/openapi.json patch /snippets/{id}
# Update snippet's categories
Source: https://developers.getfernand.com/api-reference/snippets/update-snippets-categories
https://api.getfernand.com/openapi.json post /snippets/{id}/categories
# Create a new tag
Source: https://developers.getfernand.com/api-reference/tags/create-a-new-tag
https://api.getfernand.com/openapi.json post /tags
# Delete a tag
Source: https://developers.getfernand.com/api-reference/tags/delete-a-tag
https://api.getfernand.com/openapi.json delete /tags/{slug}
# List all tags
Source: https://developers.getfernand.com/api-reference/tags/list-all-tags
https://api.getfernand.com/openapi.json get /tags
# Update a tag
Source: https://developers.getfernand.com/api-reference/tags/update-a-tag
https://api.getfernand.com/openapi.json patch /tags/{slug}
# Authentication
Source: https://developers.getfernand.com/docs/authentication
To interact with the Fernand API, you need to include your API key in every request.
This is done by passing it in the `X-Api-Key` header.
You can create and manage your keys directly from your Fernand dashboard under **Integrations → API Key**.
## Managing keys
Navigate to **Integrations** in your workspace settings.
Click on **Manage keys** under the **API Key** integration card.
Create a new key if you don't already have one, or copy an existing key.
Include this key in the `X-Api-Key` header when making API calls.
**Security best practices:**
* Keep your keys secret. Do not paste them into public repositories or client-side code.
* Rotate your keys regularly for added security.
* If you suspect a leak, revoke the key immediately from the dashboard.
## Making a request
Once you have an API key, include it in the header of your request. Here are some examples:
```bash theme={null}
curl -H "X-Api-Key: sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
https://api.getfernand.com/conversations
```
```bash theme={null}
curl -H "X-Api-Key: sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
https://api.getfernand.com/conversations//messages
```
# Error codes
Source: https://developers.getfernand.com/docs/error-codes
Most of the errors you will encounter when using the Fernand API are listed below. If you encounter an error that's not documented here, please [contact our support team](mailto:support@getfernand.com).
The Fernand API uses standard HTTP status codes to indicate the result of your request:
| Error | Status | Meaning |
| :---- | :-------------------- | :-------------------------------------------------------------------------------- |
| 400 | Bad Request | Your request is invalid. Often, it means a parameter was wrongly set. |
| 401 | Unauthorized | No API key were found. |
| 403 | Forbidden | The provided API key is invalid. |
| 404 | Not Found | The page you tried to reach was not found. |
| 405 | Method Not Allowed | The endpoint you tried to reach is not available with this HTTP method. |
| 429 | Too Many Requests | You sent too many request. Please see the Rate limiting section for more details. |
| 500 | Internal Server Error | We had a problem with our server. |
Need help troubleshooting an error? Our support team is here to help at [support@getfernand.com](mailto:support@getfernand.com).
# OpenAPI Specification
Source: https://developers.getfernand.com/docs/openapi
The Fernand API follows the OpenAPI 3.0 specification, providing a complete and machine-readable description of all available endpoints, request parameters, and response formats.
Download the complete OpenAPI 3.0 specification in JSON format.
All API requests should be made to `https://api.getfernand.com`
## Using the OpenAPI specification
The OpenAPI specification can be used to:
* **Generate client libraries** - Use tools like [OpenAPI Generator](https://openapi-generator.tech/) to create SDKs in your preferred language
* **Explore endpoints** - Import the spec into tools like [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/) for interactive testing
* **Validate requests** - Use the schema to validate your API requests before sending them
Our documentation and OpenAPI specification are constantly updated to reflect the latest version of our RESTful API. Always use the latest version for the most up-to-date endpoint information.
# Rate limits
Source: https://developers.getfernand.com/docs/rate-limits
Rate limiting helps ensure fair usage of the Fernand API.
Understanding these limits will help you build robust integrations.
## Rate limits
By default, most endpoints are limited by the following restrictions:
* 20 requests per minutes for accessing read-only endpoints (via the `GET` method)
* 5 requests per minutes for accessing write endpoints (`PUT`, `POST`, `PATCH` and `DELETE`)
Some endpoints are different rate limits implemented based on their purpose.
When this is the case, we indicates how much actions you can perform per minutes on these endpoints.
**Rate limit exceeded:** When you exceed the rate limit, you'll receive an HTTP `429` status code. Monitor the rate limit headers (see below) to avoid hitting this limit.
## Rate limit headers
Each API response includes three headers to help you monitor your usage:
Indicates the number of requests remaining before hitting the rate limit.
Indicates the maximum number of requests you can make per minute.
Represents a Unix timestamp in seconds indicating when the rate limit will reset.
# Fernand documentation
Source: https://developers.getfernand.com/index
The customer support tool for small B2B teams
Learn how to authenticate your API requests using API keys.
Learn about rate limits and how to handle them.
Reference guide for all API error codes and their meanings.
Download the complete OpenAPI specs for our API.
## Quick start
To get started with the Fernand API:
1. **Get your API key** - Create an API key from your Fernand dashboard under Settings → Integrations → API Key
2. **Make your first request** - Include your API key in the `X-Api-Key` header
3. **Explore the API** - Check our [OpenAPI specification](/docs/openapi) for all endpoints
Learn how to retrieve and list all conversations in your workspace.
Find specific conversations using search queries and filters.
Retrieve messages in a conversation.
Learn how to send replies to conversations via the API.
Learn how to create and save draft messages for conversations.
Need help? Contact our support team at [support@getfernand.com](mailto:support@getfernand.com) or visit our [help center](https://help.getfernand.com).