cURL
curl --request GET \
--url https://api.yoshi.ai/v1/recurring \
--header 'Authorization: Bearer <token>'import os
from yoshi_sdk import Yoshi
client = Yoshi(
api_key=os.environ.get("YOSHI_API_KEY"), # This is the default and can be omitted
)
recurrings = client.recurring.list()
print(recurrings.data)import Yoshi from '@yoshi-ai/sdk';
const client = new Yoshi({
apiKey: process.env['YOSHI_API_KEY'], // This is the default and can be omitted
});
const recurrings = await client.recurring.list();
console.log(recurrings.data);package main
import (
"context"
"fmt"
"github.com/yoshi-ai-dev/yoshi-go"
"github.com/yoshi-ai-dev/yoshi-go/option"
)
func main() {
client := yoshi.NewClient(
option.WithAPIKey("My API Key"),
)
recurrings, err := client.Recurring.List(context.TODO())
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", recurrings.Data)
}
yoshi recurring list \
--api-key 'My API Key'{
"data": {
"streams": [
{
"id": "<string>",
"direction": "<string>",
"description": "<string>",
"merchant_name": "<string>",
"frequency": "<string>",
"status": "<string>",
"is_active": true,
"first_date": "<string>",
"last_date": "<string>",
"predicted_next_date": "<string>",
"average_amount": 123,
"last_amount": 123,
"currency_code": "<string>",
"account_id": "<string>",
"account_name": "<string>"
}
]
},
"meta": {
"request_id": "req_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"timestamp": "2026-04-10T12:00:00.000Z"
}
}Recurring
List recurring streams
List recurring transaction streams (subscriptions, bills, income).
GET
/
recurring
cURL
curl --request GET \
--url https://api.yoshi.ai/v1/recurring \
--header 'Authorization: Bearer <token>'import os
from yoshi_sdk import Yoshi
client = Yoshi(
api_key=os.environ.get("YOSHI_API_KEY"), # This is the default and can be omitted
)
recurrings = client.recurring.list()
print(recurrings.data)import Yoshi from '@yoshi-ai/sdk';
const client = new Yoshi({
apiKey: process.env['YOSHI_API_KEY'], // This is the default and can be omitted
});
const recurrings = await client.recurring.list();
console.log(recurrings.data);package main
import (
"context"
"fmt"
"github.com/yoshi-ai-dev/yoshi-go"
"github.com/yoshi-ai-dev/yoshi-go/option"
)
func main() {
client := yoshi.NewClient(
option.WithAPIKey("My API Key"),
)
recurrings, err := client.Recurring.List(context.TODO())
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", recurrings.Data)
}
yoshi recurring list \
--api-key 'My API Key'{
"data": {
"streams": [
{
"id": "<string>",
"direction": "<string>",
"description": "<string>",
"merchant_name": "<string>",
"frequency": "<string>",
"status": "<string>",
"is_active": true,
"first_date": "<string>",
"last_date": "<string>",
"predicted_next_date": "<string>",
"average_amount": 123,
"last_amount": 123,
"currency_code": "<string>",
"account_id": "<string>",
"account_name": "<string>"
}
]
},
"meta": {
"request_id": "req_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"timestamp": "2026-04-10T12:00:00.000Z"
}
}Authorizations
A Yoshi API key from Settings → API Keys, or a Yoshi OAuth access token issued by Sign in with Yoshi.
Response
200 - application/json
Recurring streams retrieved.
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Last modified on June 18, 2026
Was this page helpful?