{
  "service": "bland_ai",
  "displayName": "Bland AI",
  "categories": [
    "AI",
    "Communication"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "BLAND_API_KEY",
      "description": "Bland AI API key sent in the authorization header. Create or view API keys in the Bland dashboard under Settings > API Keys: https://app.bland.ai/dashboard/settings/api-keys.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.bland.ai/",
  "actions": [
    {
      "id": "bland_ai.get_account",
      "service": "bland_ai",
      "name": "get_account",
      "description": "Retrieve Bland AI account status, billing balance, and total call count.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for retrieving Bland AI account details."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Current Bland AI account status."
          },
          "billing": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Bland AI."
          },
          "currentBalance": {
            "anyOf": [
              {
                "type": "number",
                "description": "Current account credit balance when provided."
              },
              {
                "type": "null"
              }
            ]
          },
          "refillTo": {
            "anyOf": [
              {
                "type": "number",
                "description": "Auto-refill target balance when provided."
              },
              {
                "type": "null"
              }
            ]
          },
          "totalCalls": {
            "anyOf": [
              {
                "type": "integer",
                "description": "Total number of calls made by the account when provided."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Bland AI."
          }
        },
        "additionalProperties": false,
        "description": "Bland AI account details."
      }
    },
    {
      "id": "bland_ai.get_call",
      "service": "bland_ai",
      "name": "get_call",
      "description": "Retrieve detailed information and transcript phrases for a Bland AI call.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "callId": {
            "type": "string",
            "minLength": 1,
            "description": "Unique id of the call to retrieve."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for retrieving a Bland AI call."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "call": {
            "type": "object",
            "properties": {
              "callId": {
                "type": "string",
                "description": "Unique id of the call."
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp when the call request was created."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "startedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp when the call connected when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "endedAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Timestamp when the call ended when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "callLength": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "Call length in minutes when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "fromNumber": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Phone number that initiated the call when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "toNumber": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Phone number that received the call when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "completed": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the call has completed when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "inbound": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the call was inbound when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "queueStatus": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Bland queue status when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Most up-to-date call status when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "answeredBy": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Answer classification such as human, voicemail, or no-answer."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "errorMessage": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Error message recorded by Bland when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "batchId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Batch id associated with the call when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "recordingUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Recording URL when the call was recorded and Bland provides it."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "summary": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Generated call summary when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Bland AI."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Bland AI call."
          },
          "transcripts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Unique phrase id when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Timestamp when this transcript phrase was created."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "text": {
                  "type": "string",
                  "description": "Transcript phrase text."
                },
                "user": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Speaker label such as user, assistant, robot, or agent-action."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Bland AI."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Bland AI transcript phrase."
            },
            "description": "Transcript phrases returned for the call."
          },
          "concatenatedTranscript": {
            "anyOf": [
              {
                "type": "string",
                "description": "Single combined transcript text when provided."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Bland AI call details response."
      }
    },
    {
      "id": "bland_ai.get_voice",
      "service": "bland_ai",
      "name": "get_voice",
      "description": "Retrieve details for a specific Bland AI voice by UUID or curated voice name.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "voiceId": {
            "type": "string",
            "minLength": 1,
            "description": "Voice UUID or curated voice name."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for retrieving a Bland AI voice."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "voice": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "UUID of the Bland voice."
              },
              "name": {
                "type": "string",
                "description": "Display name of the voice."
              },
              "description": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Human-readable voice description when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isPublic": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the voice is public or curated when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string",
                  "description": "One voice tag."
                },
                "description": "Labels describing the voice."
              },
              "userId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Owner UUID when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "voiceId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Underlying model identifier when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "service": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Bland TTS engine identifier when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "finetuned": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the voice has been fine-tuned when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isCreatorVoice": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the voice is a creator-program voice when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "ratings": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "Total number of voice ratings when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "averageRating": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "Average voice rating when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "myRating": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "Authenticated user's rating when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "creatorDisplayName": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "Creator display name when provided."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw object returned by Bland AI."
              }
            },
            "additionalProperties": false,
            "description": "A normalized Bland AI voice."
          }
        },
        "additionalProperties": false,
        "description": "Bland AI voice details response."
      }
    },
    {
      "id": "bland_ai.list_calls",
      "service": "bland_ai",
      "name": "list_calls",
      "description": "List Bland AI calls with optional official filters and result-window controls.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fromNumber": {
            "type": "string",
            "minLength": 1,
            "description": "Filter calls by the number that initiated the call."
          },
          "toNumber": {
            "type": "string",
            "minLength": 1,
            "description": "Filter calls by the number that answered the call."
          },
          "from": {
            "type": "integer",
            "minimum": 0,
            "description": "Starting index, inclusive, for the call result window."
          },
          "to": {
            "type": "integer",
            "minimum": 0,
            "description": "Ending index for the call result window."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of calls to return."
          },
          "ascending": {
            "type": "boolean",
            "description": "Whether to sort calls ascending by creation time."
          },
          "sortBy": {
            "type": "string",
            "enum": [
              "created_at",
              "updated_at"
            ],
            "description": "Field to sort calls by."
          },
          "startDate": {
            "type": "string",
            "minLength": 1,
            "description": "Start date or ISO datetime for filtering calls."
          },
          "endDate": {
            "type": "string",
            "minLength": 1,
            "description": "End date or ISO datetime for filtering calls."
          },
          "createdAt": {
            "type": "string",
            "minLength": 1,
            "description": "Specific call creation date in YYYY-MM-DD format."
          },
          "timezone": {
            "type": "string",
            "minLength": 1,
            "description": "IANA timezone for interpreting date-only filters."
          },
          "updateStartDate": {
            "type": "string",
            "minLength": 1,
            "description": "Start date for filtering calls by update date."
          },
          "updateEndDate": {
            "type": "string",
            "minLength": 1,
            "description": "End date for filtering calls by update date."
          },
          "completed": {
            "type": "boolean",
            "description": "Whether to filter calls by completed status."
          },
          "batchId": {
            "type": "string",
            "minLength": 1,
            "description": "Filter calls by Bland batch id."
          },
          "answeredBy": {
            "type": "string",
            "minLength": 1,
            "description": "Filter calls by answer classification."
          },
          "inbound": {
            "type": "boolean",
            "description": "Whether to filter inbound calls."
          },
          "durationGt": {
            "type": "number",
            "description": "Filter calls with call length greater than this minute value."
          },
          "durationLt": {
            "type": "number",
            "description": "Filter calls with call length less than this minute value."
          },
          "campaignId": {
            "type": "string",
            "minLength": 1,
            "description": "Filter calls by campaign id."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Bland AI calls."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "totalCount": {
            "anyOf": [
              {
                "type": "integer",
                "description": "Total number of calls matching the filters when provided."
              },
              {
                "type": "null"
              }
            ]
          },
          "count": {
            "anyOf": [
              {
                "type": "integer",
                "description": "Number of calls returned when provided."
              },
              {
                "type": "null"
              }
            ]
          },
          "calls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "callId": {
                  "type": "string",
                  "description": "Unique id of the call."
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Timestamp when the call request was created."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "startedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Timestamp when the call connected when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "endedAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Timestamp when the call ended when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "callLength": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "Call length in minutes when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "fromNumber": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Phone number that initiated the call when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "toNumber": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Phone number that received the call when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "completed": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the call has completed when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "inbound": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the call was inbound when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "queueStatus": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Bland queue status when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Most up-to-date call status when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "answeredBy": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Answer classification such as human, voicemail, or no-answer."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "errorMessage": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Error message recorded by Bland when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "batchId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Batch id associated with the call when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "recordingUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Recording URL when the call was recorded and Bland provides it."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "summary": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Generated call summary when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Bland AI."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Bland AI call."
            },
            "description": "Calls returned by Bland AI."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Bland AI."
          }
        },
        "additionalProperties": false,
        "description": "Bland AI call list response."
      }
    },
    {
      "id": "bland_ai.list_voices",
      "service": "bland_ai",
      "name": "list_voices",
      "description": "List every Bland AI voice available to the authenticated account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for listing Bland AI voices."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "voices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "UUID of the Bland voice."
                },
                "name": {
                  "type": "string",
                  "description": "Display name of the voice."
                },
                "description": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Human-readable voice description when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isPublic": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the voice is public or curated when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One voice tag."
                  },
                  "description": "Labels describing the voice."
                },
                "userId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Owner UUID when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "voiceId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Underlying model identifier when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "service": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Bland TTS engine identifier when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "finetuned": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the voice has been fine-tuned when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "isCreatorVoice": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the voice is a creator-program voice when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "ratings": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "Total number of voice ratings when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "averageRating": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "Average voice rating when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "myRating": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "Authenticated user's rating when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "creatorDisplayName": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Creator display name when provided."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw object returned by Bland AI."
                }
              },
              "additionalProperties": false,
              "description": "A normalized Bland AI voice."
            },
            "description": "Voices returned by Bland AI."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw object returned by Bland AI."
          }
        },
        "additionalProperties": false,
        "description": "Bland AI voice list response."
      }
    }
  ]
}
