Introduction
This documentation aims to provide all the information you need to work with our API.
Base URL
https://app.webcomet.io
Authenticating requests
This API is authenticated by sending a X-PASSWORD header with the value "{FAQ_PORTAL_PASSWORD}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve your token by visiting your dashboard and clicking Generate API token.
FAQ APIs
Get FAQ
requires authentication
Example request:
curl --request GET \
--get "https://app.webcomet.io/api/external/faq/v1/123-example-slug?language=en&auto-sort-categories=true&auto-sort-questions=true" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://app.webcomet.io/api/external/faq/v1/123-example-slug',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'language' => 'en',
'auto-sort-categories' => 'true',
'auto-sort-questions' => 'true',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://app.webcomet.io/api/external/faq/v1/123-example-slug"
);
const params = {
"language": "en",
"auto-sort-categories": "true",
"auto-sort-questions": "true",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: public
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
access-control-allow-origin: *
access-control-expose-headers: etag
{
"id": 15,
"name": "Harum soluta in consequatur reprehenderit.",
"slug": "15-harum-soluta-in-consequatur-reprehenderit",
"uuid": "36143786-dd76-4b40-a8b1-0a9a25bd7043",
"default_language": "en",
"current_language": "en",
"available_languages": [
{
"name": "Spanish - español",
"code": "es"
},
{
"name": "German - Deutsch",
"code": "de"
},
{
"name": "English",
"code": "en"
}
],
"categories": [
{
"id": 29,
"sort_order": 1,
"name": "Amet nulla quia nostrum.",
"description": null,
"icon": "fas fa-money-check-alt",
"icon_custom_url": null,
"uncategorized": false,
"questions": [
{
"id": 169,
"sort_order": 1,
"title": "A quia eligendi commodi rerum sed ut.",
"answer": "<p>Sint sint mollitia nostrum consequuntur suscipit ad sed fugiat ipsum libero.</p>",
"answer_clean": "Sint sint mollitia nostrum consequuntur suscipit ad sed fugiat ipsum libero.",
"category_id": 29,
"subcategory_id": null
},
{
"id": 170,
"sort_order": 2,
"title": "Voluptatem et iusto voluptates dolorem.",
"answer": "<p>Quis neque hic assumenda quia harum dolor eligendi ut.</p>",
"answer_clean": "Quis neque hic assumenda quia harum dolor eligendi ut.",
"category_id": 29,
"subcategory_id": null
}
],
"subcategories": [
{
"id": 57,
"sort_order": 1,
"icon": null,
"icon_custom_url": null,
"name": "Voluptas aspernatur et quia vel.",
"description": null,
"questions": [
{
"id": 171,
"sort_order": 1,
"title": "Qui aut tempore voluptatem.",
"answer": "<p>Veritatis necessitatibus consequuntur vitae aut aliquid aut.</p>",
"answer_clean": "Veritatis necessitatibus consequuntur vitae aut aliquid aut.",
"category_id": null,
"subcategory_id": 57
},
{
"id": 172,
"sort_order": 2,
"title": "Exercitationem ut quibusdam temporibus tempora.",
"answer": "<p>Alias modi recusandae qui occaecati ipsam perferendis consequatur quia aut repellendus.</p>",
"answer_clean": "Alias modi recusandae qui occaecati ipsam perferendis consequatur quia aut repellendus.",
"category_id": null,
"subcategory_id": 57
}
],
"category_id": 29
},
{
"id": 58,
"sort_order": 2,
"icon": null,
"icon_custom_url": null,
"name": "Molestiae ad est iure eos in incidunt.",
"description": null,
"questions": [
{
"id": 173,
"sort_order": 3,
"title": "Ad occaecati ut rerum in laborum.",
"answer": "<p>Sit ut sed rerum non voluptatem voluptates et.</p>",
"answer_clean": "Sit ut sed rerum non voluptatem voluptates et.",
"category_id": null,
"subcategory_id": 58
},
{
"id": 174,
"sort_order": 4,
"title": "Earum aliquam dolorem omnis.",
"answer": "<p>Ducimus animi odio illum cumque nisi sed sed culpa et.</p>",
"answer_clean": "Ducimus animi odio illum cumque nisi sed sed culpa et.",
"category_id": null,
"subcategory_id": 58
}
],
"category_id": 29
}
]
},
{
"id": 30,
"sort_order": 2,
"name": "Quia expedita qui autem quia.",
"description": null,
"icon": "fas fa-question-circle",
"icon_custom_url": null,
"uncategorized": false,
"questions": [
{
"id": 175,
"sort_order": 3,
"title": "Saepe quos ab est distinctio aspernatur dolorem.",
"answer": "<p>Recusandae vel eius at libero ipsa alias.</p>",
"answer_clean": "Recusandae vel eius at libero ipsa alias.",
"category_id": 30,
"subcategory_id": null
},
{
"id": 176,
"sort_order": 4,
"title": "Nihil tenetur molestiae incidunt laboriosam numquam quibusdam.",
"answer": "<p>Quia provident quae consequatur consequatur et et in eaque molestiae esse.</p>",
"answer_clean": "Quia provident quae consequatur consequatur et et in eaque molestiae esse.",
"category_id": 30,
"subcategory_id": null
}
],
"subcategories": [
{
"id": 59,
"sort_order": 1,
"icon": null,
"icon_custom_url": null,
"name": "Placeat esse ex commodi velit quidem ut.",
"description": null,
"questions": [
{
"id": 177,
"sort_order": 1,
"title": "Sint neque expedita cupiditate incidunt dolore qui vel.",
"answer": "<p>Modi cum qui praesentium corporis et veniam impedit saepe quisquam ea ullam.</p>",
"answer_clean": "Modi cum qui praesentium corporis et veniam impedit saepe quisquam ea ullam.",
"category_id": null,
"subcategory_id": 59
},
{
"id": 178,
"sort_order": 2,
"title": "Est facere deleniti fuga debitis eveniet.",
"answer": "<p>Maiores natus quaerat illo autem in sit dolores.</p>",
"answer_clean": "Maiores natus quaerat illo autem in sit dolores.",
"category_id": null,
"subcategory_id": 59
}
],
"category_id": 30
},
{
"id": 60,
"sort_order": 2,
"icon": null,
"icon_custom_url": null,
"name": "Dicta tempora hic et enim.",
"description": null,
"questions": [
{
"id": 179,
"sort_order": 3,
"title": "Recusandae et dolore qui dolorem.",
"answer": "<p>Alias iure omnis omnis qui sunt praesentium non maiores.</p>",
"answer_clean": "Alias iure omnis omnis qui sunt praesentium non maiores.",
"category_id": null,
"subcategory_id": 60
},
{
"id": 180,
"sort_order": 4,
"title": "Consequatur sunt iste nam voluptate aperiam.",
"answer": "<p>Illum est voluptatem quod magni officiis sapiente quasi fugiat aut voluptatem doloremque sunt.</p>",
"answer_clean": "Illum est voluptatem quod magni officiis sapiente quasi fugiat aut voluptatem doloremque sunt.",
"category_id": null,
"subcategory_id": 60
}
],
"category_id": 30
}
]
}
]
}
Received response:
Request failed with error:
Search questions and answers
requires authentication
Example request:
curl --request GET \
--get "https://app.webcomet.io/api/external/faq/v1/123-example-slug?language=en&auto-sort-categories=true&auto-sort-questions=true" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://app.webcomet.io/api/external/faq/v1/123-example-slug',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'language' => 'en',
'auto-sort-categories' => 'true',
'auto-sort-questions' => 'true',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
"https://app.webcomet.io/api/external/faq/v1/123-example-slug"
);
const params = {
"language": "en",
"auto-sort-categories": "true",
"auto-sort-questions": "true",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 58
access-control-allow-origin: *
access-control-expose-headers: etag
{
"results": [
{
"id": 181,
"sort_order": 1,
"title": "Tempore nam laboriosam vero itaque.",
"answer": "<p>Placeat totam rerum sint aut sunt assumenda laboriosam dolor atque enim vitae eos fugiat.</p>",
"answer_clean": "Placeat totam rerum sint aut sunt assumenda laboriosam dolor atque enim vitae eos fugiat.",
"category_id": 31,
"subcategory_id": null
},
{
"id": 183,
"sort_order": 1,
"title": "Amet minima at unde.",
"answer": "<p>Aperiam ut possimus eum necessitatibus saepe et numquam sunt necessitatibus et hic.</p>",
"answer_clean": "Aperiam ut possimus eum necessitatibus saepe et numquam sunt necessitatibus et hic.",
"category_id": null,
"subcategory_id": 61
},
{
"id": 189,
"sort_order": 1,
"title": "Nihil consequatur deleniti repellat sunt.",
"answer": "<p>Ratione voluptatem quos aperiam hic qui perspiciatis impedit quod quibusdam.</p>",
"answer_clean": "Ratione voluptatem quos aperiam hic qui perspiciatis impedit quod quibusdam.",
"category_id": null,
"subcategory_id": 63
}
]
}
Received response:
Request failed with error: