Create Tracked Urls
curl --request POST \
--url https://app.backend.genezio.ai/customer/v1/brands/{brand_id}/tracked-urls \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"urls": [
{
"url": "https://acme.com/pricing",
"title": "<string>"
}
],
"dry_run": false,
"group_id": 123
}
'import requests
url = "https://app.backend.genezio.ai/customer/v1/brands/{brand_id}/tracked-urls"
payload = {
"urls": [
{
"url": "https://acme.com/pricing",
"title": "<string>"
}
],
"dry_run": False,
"group_id": 123
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
urls: [{url: 'https://acme.com/pricing', title: '<string>'}],
dry_run: false,
group_id: 123
})
};
fetch('https://app.backend.genezio.ai/customer/v1/brands/{brand_id}/tracked-urls', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"citation_rate": 0.04,
"citations": 123,
"conversations": 123,
"created_at": "2023-11-07T05:31:56Z",
"id": 123,
"title": "<string>",
"url": "<string>",
"first_cited": "2023-11-07T05:31:56Z",
"group": {
"id": 123,
"name": "<string>"
}
}
],
"info": {
"dry_run": true,
"rejected": 123,
"written": 123
},
"rejected": [
{
"code": "not_found",
"index": 123,
"message": "<string>"
}
]
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}Tracked URLs
Track pages
Track up to 200 pages. A page with no title gets the title of the page.
An address that the brand already tracks is rejected with conflict. The
API compares the normal form of the addresses, thus https://acme.com/a/
and https://acme.com/a are one page.
POST
/
customer
/
v1
/
brands
/
{brand_id}
/
tracked-urls
Create Tracked Urls
curl --request POST \
--url https://app.backend.genezio.ai/customer/v1/brands/{brand_id}/tracked-urls \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"urls": [
{
"url": "https://acme.com/pricing",
"title": "<string>"
}
],
"dry_run": false,
"group_id": 123
}
'import requests
url = "https://app.backend.genezio.ai/customer/v1/brands/{brand_id}/tracked-urls"
payload = {
"urls": [
{
"url": "https://acme.com/pricing",
"title": "<string>"
}
],
"dry_run": False,
"group_id": 123
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
urls: [{url: 'https://acme.com/pricing', title: '<string>'}],
dry_run: false,
group_id: 123
})
};
fetch('https://app.backend.genezio.ai/customer/v1/brands/{brand_id}/tracked-urls', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"citation_rate": 0.04,
"citations": 123,
"conversations": 123,
"created_at": "2023-11-07T05:31:56Z",
"id": 123,
"title": "<string>",
"url": "<string>",
"first_cited": "2023-11-07T05:31:56Z",
"group": {
"id": 123,
"name": "<string>"
}
}
],
"info": {
"dry_run": true,
"rejected": 123,
"written": 123
},
"rejected": [
{
"code": "not_found",
"index": 123,
"message": "<string>"
}
]
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}Authorizations
An API key of your account, from Settings > API Keys. It starts with gnz-.
Headers
Any unique string, such as a UUID. Send the same key again to get the first answer and not a second write. The API keeps an answer for 24 hours.
Path Parameters
Body
application/json
Required array length:
1 - 200 elementsShow child attributes
Show child attributes
Check the request and give the answer, but write nothing. Use it to test a program, or to see the rejected items first.
Put each page in this tracked URL group.