curl --request GET \
--url https://www.trybloom.ai/api/v1/brand-skills/{id} \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://www.trybloom.ai/api/v1/brand-skills/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://www.trybloom.ai/api/v1/brand-skills/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"brandId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"brandName": "<string>",
"sources": [
{
"kind": "website",
"url": "<string>"
}
],
"failure": {
"code": "source_processing_failed",
"message": "<string>",
"retryable": true,
"explanation": "<string>"
},
"download": {
"url": "<string>",
"filename": "<string>",
"byteLength": 4503599627370495
},
"createdAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "UNAUTHORIZED",
"status": 401,
"message": "Invalid or missing API credentials",
"data": "<unknown>"
}
}{
"error": {
"code": "ACCOUNT_BANNED",
"status": 403,
"message": "This account has been suspended.",
"data": "<unknown>"
}
}{
"error": {
"code": "BRAND_SKILL_NOT_FOUND",
"status": 404,
"message": "Brand Skill not found",
"data": "<unknown>"
}
}{
"error": {
"code": "TOO_MANY_REQUESTS",
"status": 429,
"message": "Rate limit exceeded",
"data": "<unknown>"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"status": 500,
"message": "Failed to retrieve Brand Skill",
"data": "<unknown>"
}
}Get a Brand Skill
Return the current creation status. A completed Brand Skill includes a temporary signed ZIP download and is permanently removed within 30 days of bundle delivery. Poll until completed or failed.
curl --request GET \
--url https://www.trybloom.ai/api/v1/brand-skills/{id} \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://www.trybloom.ai/api/v1/brand-skills/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://www.trybloom.ai/api/v1/brand-skills/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"brandId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "pending",
"brandName": "<string>",
"sources": [
{
"kind": "website",
"url": "<string>"
}
],
"failure": {
"code": "source_processing_failed",
"message": "<string>",
"retryable": true,
"explanation": "<string>"
},
"download": {
"url": "<string>",
"filename": "<string>",
"byteLength": 4503599627370495
},
"createdAt": "2023-11-07T05:31:56Z",
"completedAt": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "UNAUTHORIZED",
"status": 401,
"message": "Invalid or missing API credentials",
"data": "<unknown>"
}
}{
"error": {
"code": "ACCOUNT_BANNED",
"status": 403,
"message": "This account has been suspended.",
"data": "<unknown>"
}
}{
"error": {
"code": "BRAND_SKILL_NOT_FOUND",
"status": 404,
"message": "Brand Skill not found",
"data": "<unknown>"
}
}{
"error": {
"code": "TOO_MANY_REQUESTS",
"status": 429,
"message": "Rate limit exceeded",
"data": "<unknown>"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"status": 500,
"message": "Failed to retrieve Brand Skill",
"data": "<unknown>"
}
}Authorizations
Bloom API key, for example x-api-key: bloom_sk_....
Path Parameters
Brand Skill ID
Response
OK
Hide child attributes
Hide child attributes
Brand Skill ID. Use this ID to poll or delete the Brand Skill through /brand-skills/{id}.
ID of the Brand associated with this Brand Skill.
Lifecycle state: pending is queued, processing is being built, completed has a download, and failed has failure details
pending, processing, completed, failed Brand Skill name
Sources used to build the Brand Skill, in request order. Stored-file input URLs are never returned
1 - 30 elementsFailure details when status is failed; otherwise null
Hide child attributes
Hide child attributes
Machine-readable build failure code
source_processing_failed, source_rejected, instagram_profile_not_found, instagram_private_profile, rate_limited, provider_unavailable, insufficient_evidence, invalid_output, generation_failed, internal_error Human-readable failure message
Whether a new create request may be attempted
Why Bloom could not find enough brand information in the supplied sources. Present only when code is insufficient_evidence.
Download details when status is completed; otherwise null
Time the Brand Skill was created
Time the Brand Skill completed successfully; otherwise null