Birdy APIdocs.birdy.chat ↗
Access the full Balsio Integrations API spec: bots, channels, threads, messages, events, webhooks, users, and schemas in structured JSON.
What is the Birdy API?
This API exposes 3 endpoints that parse and return structured data from the Balsio Integrations API OpenAPI specification (formerly BirdyChat), covering operations across bots, channels, threads, messaging, events, webhooks, users, permissions, and attachments. Use get_api_overview to retrieve all tagged operations in one call, get_operation_detail to fetch full parameter and response schemas for any single operation by its operation_id, or get_schema_detail to resolve any named component schema with nested field definitions.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/474d99f0-02c9-4f92-b5fa-2b2b065714b9/get_api_overview' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns a high-level overview of all API operations in the public Integrations API OpenAPI document, grouped by tag, including the document title and version (currently branded 'Balsio Integrations API' after the product's rename from BirdyChat), authentication details, rate limits, webhook information, server URL, and the complete list of operations with their IDs, HTTP methods, paths, and summaries. One round trip to the public OpenAPI spec.
No input parameters required.
{
"type": "object",
"fields": {
"tags": "Array of tag objects with name and description",
"title": "API title string (currently 'Balsio Integrations API')",
"version": "API version string",
"base_url": "Production server URL",
"webhooks": "Array of webhook definitions with name, summary, description",
"rate_limit": "Rate limit description",
"tag_groups": "Array of tag group objects organizing tags into categories",
"description": "Full API description with auth, reliability, error, and webhook documentation",
"authentication": "Authentication method description",
"operations_by_tag": "Object keyed by tag name, each containing array of operations with operation_id, method, path, summary"
},
"sample": {
"tags": [
{
"name": "Threads",
"description": "Thread resources and related operations."
},
{
"name": "Messages",
"description": "Message resources and related operations."
}
],
"title": "BirdyChat Integrations API",
"version": "v1",
"base_url": "https://birdy.chat/api/v1",
"webhooks": [
{
"name": "integrationEvent",
"summary": "Outbound integration webhook delivery",
"description": "BirdyChat sends this webhook to integration-configured webhook URLs."
}
],
"rate_limit": "500 requests per minute shared across endpoints",
"tag_groups": [
{
"name": "Core Messaging",
"tags": [
"Threads",
"Messages",
"Scheduled Messages"
]
}
],
"authentication": "Bearer token (sk_...)",
"operations_by_tag": {
"Threads": [
{
"path": "/threads",
"method": "GET",
"summary": "List threads",
"operation_id": "listThreads"
},
{
"path": "/threads",
"method": "POST",
"summary": "Create thread",
"operation_id": "createThread"
}
],
"Messages": [
{
"path": "/threads/{thread_id}/messages",
"method": "GET",
"summary": "List messages in thread",
"operation_id": "listThreadMessages"
}
]
}
}
}About the Birdy API
What the API Returns
The get_api_overview endpoint returns the full catalog of operations from the Balsio Integrations API OpenAPI document, organized by tag. The response includes the document title (currently 'Balsio Integrations API'), version, base_url, authentication details, rate_limit description, webhooks array, and an operations_by_tag object. Each tag entry lists every operation with its operation_id, HTTP method, path, and summary. This gives a complete map of the API surface in a single call without needing to parse the raw OpenAPI JSON.
Operation and Schema Inspection
The get_operation_detail endpoint takes an operation_id string (for example, createIntegration, listThreadMessages, or addThreadUsers) and returns the full operation spec: method, path, description, tags, parameters (each with name, in, required, description, and schema), request_body fields with content_type and schema_name, and responses keyed by HTTP status code with description, schema_name, and field definitions. The request_body field is null for GET operations.
Schema Resolution
The get_schema_detail endpoint accepts a schema_name string such as Thread, Message, Channel, User, Integration, Event, or WebhookEvent and returns the full component schema. The response includes a fields object (with type, required, description, pattern, and enum details per field), a top-level required array, and a nested_schemas object that resolves one level of referenced sub-schemas. This makes it straightforward to understand the exact shape of any data model without manually chasing $ref chains in the raw spec.
Source Context
Balsio (previously BirdyChat) publishes an OpenAPI specification at docs.birdy.chat/openapi.json. The product itself provides a team messaging and integration platform with support for bots, webhooks, and channel-based communication. The API documented here provides a structured, queryable view of that spec — useful for building API clients, generating documentation, type-checking integration code, or exploring available operations programmatically.
The Birdy API is a managed, monitored endpoint for docs.birdy.chat — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when docs.birdy.chat changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official docs.birdy.chat API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Generating typed API client code from resolved operation and schema definitions for Balsio integrations
- Building internal developer documentation by iterating
operations_by_tagfromget_api_overview - Validating bot or webhook payload shapes by fetching
WebhookEventorIntegrationschemas viaget_schema_detail - Discovering all thread-related endpoints by filtering the
operations_by_tagresponse for thread tags - Automating SDK scaffolding by programmatically retrieving
request_bodyandresponsefield definitions per operation - Cross-referencing permission and user models by resolving
Userand related nested schemas in one call - Monitoring API version changes over time by tracking the
versionanddescriptionfields fromget_api_overview
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Balsio (BirdyChat) have an official developer API?+
What does `get_operation_detail` return for a POST operation versus a GET operation?+
request_body object with content_type, schema_name, and a fields map describing each body parameter. For GET operations, request_body is null. Both operation types return parameters (for path/query params), responses keyed by HTTP status code, and full description and summary strings.Does `get_schema_detail` resolve deeply nested schema references?+
nested_schemas. References within those nested schemas are not recursively expanded. If your use case requires deeper resolution, you can fork this API on Parse and revise the endpoint to add additional resolution depth.Does the API expose live Balsio message or channel data — actual messages, users, or threads from a workspace?+
Are webhook event payload schemas available through these endpoints?+
get_api_overview endpoint returns a webhooks array listing all webhook definitions with their name, summary, and description. You can then call get_schema_detail with a schema name like WebhookEvent to retrieve the full field definitions and any nested schemas for that payload type.