Get random anecdote
curl --request GET \
--url https://api.yalg.ai/v1/anecdotes/random \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.yalg.ai/v1/anecdotes/random', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.yalg.ai/v1/anecdotes/random"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)[
{
"id": "018f9f41-22a1-74bb-9450-7dd0d21ab8ab",
"title": "The onboarding lesson",
"content": "A customer got stuck on step one, which showed us the product was explaining itself too late.",
"mood": "reflective",
"storyType": "lesson",
"tags": [
"onboarding",
"product"
],
"isFavorite": false,
"createdAt": "2026-06-20T17:24:39.000Z",
"updatedAt": "2026-06-20T17:24:39.000Z"
}
]{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request",
"code": "validation_failed"
}{
"statusCode": 401,
"message": "Invalid or missing API key",
"error": "Unauthorized",
"code": "unauthorized"
}{
"statusCode": 403,
"message": "Access denied",
"error": "Forbidden",
"code": "forbidden"
}{
"statusCode": 429,
"message": "Rate limit exceeded",
"error": "Too Many Requests",
"code": "rate_limit_exceeded",
"retryAfter": 60
}{
"statusCode": 500,
"message": "Internal server error",
"error": "Internal Server Error",
"code": "internal_server_error"
}anecdotes
Get random anecdote
Retrieves a random anecdote, optionally filtered by story type
GET
/
v1
/
anecdotes
/
random
Get random anecdote
curl --request GET \
--url https://api.yalg.ai/v1/anecdotes/random \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.yalg.ai/v1/anecdotes/random', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.yalg.ai/v1/anecdotes/random"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)[
{
"id": "018f9f41-22a1-74bb-9450-7dd0d21ab8ab",
"title": "The onboarding lesson",
"content": "A customer got stuck on step one, which showed us the product was explaining itself too late.",
"mood": "reflective",
"storyType": "lesson",
"tags": [
"onboarding",
"product"
],
"isFavorite": false,
"createdAt": "2026-06-20T17:24:39.000Z",
"updatedAt": "2026-06-20T17:24:39.000Z"
}
]{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request",
"code": "validation_failed"
}{
"statusCode": 401,
"message": "Invalid or missing API key",
"error": "Unauthorized",
"code": "unauthorized"
}{
"statusCode": 403,
"message": "Access denied",
"error": "Forbidden",
"code": "forbidden"
}{
"statusCode": 429,
"message": "Rate limit exceeded",
"error": "Too Many Requests",
"code": "rate_limit_exceeded",
"retryAfter": 60
}{
"statusCode": 500,
"message": "Internal server error",
"error": "Internal Server Error",
"code": "internal_server_error"
}Authorizations
YALG Developer API key. Send it in the x-api-key header from a server-side environment only.
Query Parameters
Story type to filter by
Available options:
professional_stories, personal_stories, lesson_learned Example:
"lesson"
Response
Random anecdote retrieved successfully
- object[]
- object
Source anecdote used by YALG content workflows.
Anecdote identifier.
Example:
"018f9f40-7d7b-7712-9b0f-2e5d9fd5df3f"
Example:
"The onboarding lesson"
Example:
"A short story that can be turned into content."
Example:
"reflective"
Example:
"lesson"
Example:
false
Example:
"2026-06-20T17:24:39.000Z"
Example:
"2026-06-20T17:24:39.000Z"