{"openapi":"3.1.0","info":{"title":"Bird Email Stats (BYOK) API","version":"0.1.0","description":"Bird Email Stats (BYOK) lets an AI assistant read your own Bird Email Stats data through the Bird Email Stats API with a key you supply (Bird workspace API key (bk_...)). Read-only: 10 tools (get_email_stats_summary, get_email_stats_daily, get_email_stats_by_bounce_code, get_email_stats_by_complaint_type, get_email_stats_by_mailbox_provider, get_email_stats_by_recipient_domain,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-bird-email-stats.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-bird-email-stats/docs"},"termsOfService":"https://connectorbay.com/byok-bird-email-stats/terms"},"servers":[{"url":"https://byok-bird-email-stats.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-bird-email-stats/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_email_stats_summary":{"post":{"operationId":"get_email_stats_summary","summary":"Get aggregate email counts and rates for a period (accepted, delivered, bounced by type, complained, opens, clicks, unsu","description":"Get aggregate email counts and rates for a period (accepted, delivered, bounced by type, complained, opens, clicks, unsubscribes, latency percentiles), optionally compared with the previous period. Use for \"What were my Bird email delivery, bounce and open rates this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Region your Bird organization is hosted in: us1 or eu1 (the key prefix bk_us1_ or bk_eu1_ shows it).","enum":["us1","eu1"],"title":"Region","type":"string"},"date_from":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Start of the window: a day (YYYY-MM-DD) or an ISO 8601 instant.","title":"Date From"},"date_to":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"End of the window in the same form (default: today).","title":"Date To"},"timezone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone used to group days, for example Asia/Kolkata (default UTC).","title":"Timezone"},"category":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only this category: transactional or marketing (comma-separated for both).","title":"Category"},"sending_domain":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only this sending domain (comma-separated for several).","title":"Sending Domain"},"tag":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this tag: name for any value, or name:value.","title":"Tag"},"template":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only this template, by id (emt_...) or slug (comma-separated for several).","title":"Template"},"compare":{"anyOf":[{"const":"previous_period","type":"string"},{"type":"null"}],"default":null,"description":"Set to previous_period to also return the preceding window of equal length.","title":"Compare"}},"required":["region"],"title":"get_email_stats_summaryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_email_stats_daily":{"post":{"operationId":"get_email_stats_daily","summary":"Get email counts and rates per day over a window, optionally filtered by category, sending domain, tag or template. Use ","description":"Get email counts and rates per day over a window, optionally filtered by category, sending domain, tag or template. Use for \"How many emails did I send each day last week on Bird and what was the bounce rate\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Region your Bird organization is hosted in: us1 or eu1 (the key prefix bk_us1_ or bk_eu1_ shows it).","enum":["us1","eu1"],"title":"Region","type":"string"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"First day of the window, YYYY-MM-DD, counted in the timezone below (default: 30 days before the end day).","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last day of the window (inclusive), YYYY-MM-DD (default: today). The window may not exceed 365 days.","title":"Date To"},"timezone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone used to group days, for example Asia/Kolkata (default UTC).","title":"Timezone"},"category":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only this category: transactional or marketing (comma-separated for both).","title":"Category"},"sending_domain":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only this sending domain (comma-separated for several).","title":"Sending Domain"},"tag":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only this tag: name for any value, or name:value.","title":"Tag"},"template":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only this template, by id (emt_...) or slug (comma-separated for several).","title":"Template"}},"required":["region"],"title":"get_email_stats_dailyArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_email_stats_by_bounce_code":{"post":{"operationId":"get_email_stats_by_bounce_code","summary":"Count email bounces by SMTP error code with hard, soft and block splits, ranked by bounce count. Use for \"Which SMTP err","description":"Count email bounces by SMTP error code with hard, soft and block splits, ranked by bounce count. Use for \"Which SMTP error codes cause most of my Bird email bounces\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Region your Bird organization is hosted in: us1 or eu1 (the key prefix bk_us1_ or bk_eu1_ shows it).","enum":["us1","eu1"],"title":"Region","type":"string"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"First day of the window, YYYY-MM-DD, counted in the timezone below (default: 30 days before the end day).","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last day of the window (inclusive), YYYY-MM-DD (default: today). The window may not exceed 365 days.","title":"Date To"},"timezone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone used to group days, for example Asia/Kolkata (default UTC).","title":"Timezone"},"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Maximum bounce-code rows to return (1 to 200, default 50).","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the next_cursor value of the previous answer (leave empty for the first page).","title":"Starting After"}},"required":["region"],"title":"get_email_stats_by_bounce_codeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_email_stats_by_complaint_type":{"post":{"operationId":"get_email_stats_by_complaint_type","summary":"Count spam complaints by feedback-loop type, ranked by complaint count. Use for \"What kinds of spam complaints did my Bi","description":"Count spam complaints by feedback-loop type, ranked by complaint count. Use for \"What kinds of spam complaints did my Bird emails receive\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Region your Bird organization is hosted in: us1 or eu1 (the key prefix bk_us1_ or bk_eu1_ shows it).","enum":["us1","eu1"],"title":"Region","type":"string"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"First day of the window, YYYY-MM-DD, counted in the timezone below (default: 30 days before the end day).","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last day of the window (inclusive), YYYY-MM-DD (default: today). The window may not exceed 365 days.","title":"Date To"},"timezone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone used to group days, for example Asia/Kolkata (default UTC).","title":"Timezone"},"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Maximum complaint-type rows to return (1 to 200, default 50).","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the next_cursor value of the previous answer (leave empty for the first page).","title":"Starting After"}},"required":["region"],"title":"get_email_stats_by_complaint_typeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_email_stats_by_mailbox_provider":{"post":{"operationId":"get_email_stats_by_mailbox_provider","summary":"Compare email delivery, bounces, complaints and engagement across mailbox providers such as Gmail and Outlook. Use for \"","description":"Compare email delivery, bounces, complaints and engagement across mailbox providers such as Gmail and Outlook. Use for \"Which mailbox provider has the worst Bird email delivery rate\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Region your Bird organization is hosted in: us1 or eu1 (the key prefix bk_us1_ or bk_eu1_ shows it).","enum":["us1","eu1"],"title":"Region","type":"string"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"First day of the window, YYYY-MM-DD, counted in the timezone below (default: 30 days before the end day).","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last day of the window (inclusive), YYYY-MM-DD (default: today). The window may not exceed 365 days.","title":"Date To"},"timezone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone used to group days, for example Asia/Kolkata (default UTC).","title":"Timezone"},"sort":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Metric to rank rows by, descending, for example processed, delivered, bounced, delivery_rate or unique_opens (default depends on the report).","title":"Sort"},"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Maximum mailbox-provider rows to return (1 to 200, default 50).","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the next_cursor value of the previous answer (leave empty for the first page).","title":"Starting After"}},"required":["region"],"title":"get_email_stats_by_mailbox_providerArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_email_stats_by_recipient_domain":{"post":{"operationId":"get_email_stats_by_recipient_domain","summary":"Compare email delivery and engagement across recipient mailbox domains (domain names only, no addresses). Use for \"Which","description":"Compare email delivery and engagement across recipient mailbox domains (domain names only, no addresses). Use for \"Which recipient domains bounce most on Bird\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Region your Bird organization is hosted in: us1 or eu1 (the key prefix bk_us1_ or bk_eu1_ shows it).","enum":["us1","eu1"],"title":"Region","type":"string"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"First day of the window, YYYY-MM-DD, counted in the timezone below (default: 30 days before the end day).","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last day of the window (inclusive), YYYY-MM-DD (default: today). The window may not exceed 365 days.","title":"Date To"},"timezone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone used to group days, for example Asia/Kolkata (default UTC).","title":"Timezone"},"sort":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Metric to rank rows by, descending, for example processed, delivered, bounced, delivery_rate or unique_opens (default depends on the report).","title":"Sort"},"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Maximum recipient-domain rows to return (1 to 200, default 50).","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the next_cursor value of the previous answer (leave empty for the first page).","title":"Starting After"}},"required":["region"],"title":"get_email_stats_by_recipient_domainArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_email_stats_by_sending_domain":{"post":{"operationId":"get_email_stats_by_sending_domain","summary":"Compare email delivery and engagement across your sending domains. Use for \"Which of my sending domains has the best ema","description":"Compare email delivery and engagement across your sending domains. Use for \"Which of my sending domains has the best email delivery on Bird\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Region your Bird organization is hosted in: us1 or eu1 (the key prefix bk_us1_ or bk_eu1_ shows it).","enum":["us1","eu1"],"title":"Region","type":"string"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"First day of the window, YYYY-MM-DD, counted in the timezone below (default: 30 days before the end day).","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last day of the window (inclusive), YYYY-MM-DD (default: today). The window may not exceed 365 days.","title":"Date To"},"timezone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone used to group days, for example Asia/Kolkata (default UTC).","title":"Timezone"},"sort":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Metric to rank rows by, descending, for example processed, delivered, bounced, delivery_rate or unique_opens (default depends on the report).","title":"Sort"},"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Maximum sending-domain rows to return (1 to 200, default 50).","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the next_cursor value of the previous answer (leave empty for the first page).","title":"Starting After"}},"required":["region"],"title":"get_email_stats_by_sending_domainArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_email_stats_by_sending_ip":{"post":{"operationId":"get_email_stats_by_sending_ip","summary":"Compare email delivery and bounce types across your sending IPs, including the IP pool of each. Use for \"Which of my Bir","description":"Compare email delivery and bounce types across your sending IPs, including the IP pool of each. Use for \"Which of my Bird sending IPs has the most blocks\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Region your Bird organization is hosted in: us1 or eu1 (the key prefix bk_us1_ or bk_eu1_ shows it).","enum":["us1","eu1"],"title":"Region","type":"string"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"First day of the window, YYYY-MM-DD, counted in the timezone below (default: 30 days before the end day).","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last day of the window (inclusive), YYYY-MM-DD (default: today). The window may not exceed 365 days.","title":"Date To"},"timezone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone used to group days, for example Asia/Kolkata (default UTC).","title":"Timezone"},"sort":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Metric to rank rows by, descending, for example processed, delivered, bounced, delivery_rate or unique_opens (default depends on the report).","title":"Sort"},"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Maximum sending-IP rows to return (1 to 200, default 50).","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the next_cursor value of the previous answer (leave empty for the first page).","title":"Starting After"}},"required":["region"],"title":"get_email_stats_by_sending_ipArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_email_stats_by_template":{"post":{"operationId":"get_email_stats_by_template","summary":"Compare email delivery and engagement across your email templates. Use for \"Which email template has the best click rate","description":"Compare email delivery and engagement across your email templates. Use for \"Which email template has the best click rate on Bird\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Region your Bird organization is hosted in: us1 or eu1 (the key prefix bk_us1_ or bk_eu1_ shows it).","enum":["us1","eu1"],"title":"Region","type":"string"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"First day of the window, YYYY-MM-DD, counted in the timezone below (default: 30 days before the end day).","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last day of the window (inclusive), YYYY-MM-DD (default: today). The window may not exceed 365 days.","title":"Date To"},"timezone":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"IANA timezone used to group days, for example Asia/Kolkata (default UTC).","title":"Timezone"},"sort":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Metric to rank rows by, descending, for example processed, delivered, bounced, delivery_rate or unique_opens (default depends on the report).","title":"Sort"},"limit":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Maximum template rows to return (1 to 200, default 50).","title":"Limit"},"starting_after":{"anyOf":[{"maxLength":300,"type":"string"},{"type":"null"}],"default":null,"description":"Paging cursor: the next_cursor value of the previous answer (leave empty for the first page).","title":"Starting After"}},"required":["region"],"title":"get_email_stats_by_templateArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_email_health":{"post":{"operationId":"get_email_health","summary":"Get the overall sending health status and each deliverability signal (metric, value, limit and thresholds) for a window.","description":"Get the overall sending health status and each deliverability signal (metric, value, limit and thresholds) for a window. Use for \"Is my Bird email sending healthy or at risk of throttling\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"Region your Bird organization is hosted in: us1 or eu1 (the key prefix bk_us1_ or bk_eu1_ shows it).","enum":["us1","eu1"],"title":"Region","type":"string"},"date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"First day of the window, YYYY-MM-DD, counted in the timezone below (default: 30 days before the end day).","title":"Date From"},"date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last day of the window (inclusive), YYYY-MM-DD (default: today). The window may not exceed 365 days.","title":"Date To"}},"required":["region"],"title":"get_email_healthArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}