curl --request PATCH \
--url https://api.yalg.ai/v1/youtube-suggestions/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": "How to turn stories into content",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"status": "new"
}
'const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'How to turn stories into content',
url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',
status: 'new'
})
};
fetch('https://api.yalg.ai/v1/youtube-suggestions/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.yalg.ai/v1/youtube-suggestions/{id}"
payload = {
"title": "How to turn stories into content",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"status": "new"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "018f9f52-3661-7657-81c0-bf1d02a1a50e",
"title": "How to turn stories into content",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"status": "new",
"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": 404,
"message": "Resource not found",
"error": "Not Found",
"code": "not_found"
}{
"statusCode": 409,
"message": "Resource conflict",
"error": "Conflict",
"code": "conflict"
}{
"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"
}Update a suggestion
Update a suggestion through the YALG API. Requests are scoped to the authenticated API key owner; cross-owner resource IDs return 404.
curl --request PATCH \
--url https://api.yalg.ai/v1/youtube-suggestions/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": "How to turn stories into content",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"status": "new"
}
'const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'How to turn stories into content',
url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',
status: 'new'
})
};
fetch('https://api.yalg.ai/v1/youtube-suggestions/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.yalg.ai/v1/youtube-suggestions/{id}"
payload = {
"title": "How to turn stories into content",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"status": "new"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "018f9f52-3661-7657-81c0-bf1d02a1a50e",
"title": "How to turn stories into content",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"status": "new",
"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": 404,
"message": "Resource not found",
"error": "Not Found",
"code": "not_found"
}{
"statusCode": 409,
"message": "Resource conflict",
"error": "Conflict",
"code": "conflict"
}{
"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.
Path Parameters
UUID of the suggestion to update
"123e4567-e89b-12d3-a456-426614174000"
Body
Video title
200"10 Tips to Master TypeScript in 2024"
Video description
"In this video, we explore the best practices for TypeScript development..."
Video hook/intro
"Are you still writing JavaScript like it's 2015? Here's what you're missing..."
Video tags
["typescript", "programming", "tutorial"]
SEO keywords
[
"typescript tutorial",
"learn typescript",
"typescript 2024"
]
Video category
tutorial, review, vlog, educational, entertainment, news, how_to, interview, documentary, other "tutorial"
Estimated video duration
"15-20 minutes"
Target audience description
"Intermediate JavaScript developers looking to level up"
Why this suggestion could perform well
"Strong retention on workflow videos and repeated audience demand"
Suggestion confidence or potential score
0 <= x <= 10085
Origin query or source for this suggestion
"youtube_analytics"
Suggestion status
pending, approved, rejected, used "approved"
Response
Suggestion updated successfully
YouTube suggestion tracked by YALG.