Disable a provider
curl --request DELETE \
--url https://breadbox.example.com/api/v1/providers/{name} \
--header 'X-API-Key: <api-key>'import requests
url = "https://breadbox.example.com/api/v1/providers/{name}"
headers = {"X-API-Key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'X-API-Key': '<api-key>'}};
fetch('https://breadbox.example.com/api/v1/providers/{name}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://breadbox.example.com/api/v1/providers/{name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://breadbox.example.com/api/v1/providers/{name}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://breadbox.example.com/api/v1/providers/{name}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://breadbox.example.com/api/v1/providers/{name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"provider": "<string>",
"ok": true,
"message": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Disable a provider
Clears every app_config row tied to the named provider (Plaid:
client_id/secret/env; Teller: app_id/env/cert/key/webhook secret) and
re-runs the live provider init so the in-memory map drops the
provider. Existing connections stay in the DB and continue to surface
in listings, but sync attempts fail until credentials are restored.
CSV has no credentials and is a no-op.
Requires full_access scope.
Disable a provider
curl --request DELETE \
--url https://breadbox.example.com/api/v1/providers/{name} \
--header 'X-API-Key: <api-key>'import requests
url = "https://breadbox.example.com/api/v1/providers/{name}"
headers = {"X-API-Key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'X-API-Key': '<api-key>'}};
fetch('https://breadbox.example.com/api/v1/providers/{name}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://breadbox.example.com/api/v1/providers/{name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://breadbox.example.com/api/v1/providers/{name}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://breadbox.example.com/api/v1/providers/{name}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://breadbox.example.com/api/v1/providers/{name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"provider": "<string>",
"ok": true,
"message": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Breadbox API key with format bb_<base62>. Carries either read_only
or full_access scope. Write endpoints (and a handful of sensitive
reads — /api-keys, /users/{user_id}/login) require full_access;
endpoints that require it are flagged in their description.
Path Parameters
Available options:
plaid, teller, csv Last modified on June 25, 2026
⌘I