Inventory API
Inventory
The structure and makeup of the places where ads are going to be delivered.
Publishers
List a publisher
GET /v1/inventory/publisher/{id}
Retrieves details of a publisher by it's ID.
Request body
| Parameter | In | Required | Type | Description |
id |
path | Yes | integer | The publisher's ID. |
Response - 200
{
"id": 1,
"parentId": 0,
"companyName": "Main Publisher",
"quote": "",
"active": 1,
"companyAddress": "",
"companyNumber": "",
"companyZip": "",
"companyCity": "",
"companyCountry": "",
"companyTelephone": "",
"companyFax": "",
"companyEmail": "",
"companyURL": "",
"companyVat": "",
"companyBankAccount": "",
"contactName": "",
"contactFirstName": "",
"contactAddress": "",
"contactNumber": "",
"contactZip": "",
"contactCity": "",
"contactCountry": "",
"contactTelephone": "",
"contactFax": "",
"contactEmail": "",
"description": "",
"paymentMethod": "",
"invoicingParty": ""
}
Response codes
| Status | Meaning |
200 |
Publisher retrieved. |
400 |
Bad request - invalid input or parameters. |
401/403 |
Not authenticated / not allowed. |
404 |
Not Found - Resource not found. |
405 |
Method not allowed |
406 |
Not acceptable |
409 |
Conflict. |
415 |
Unssuported media type |
500 |
Internal Server Error - Unexpected failure. |
Update a publisher
PUT /v1/inventory/publisher/{id}
Updates the name, parent publisher, and active status of an existing publisher. Fields the request omits are left as they are.
Request body
| Parameter | In | Required | Type | Description |
parentPublisherId |
body | No | integer | The ID of the parent publisher. |
name |
body | No | string | Name of the publisher |
active |
body | No | boolean | Is the publisher active? |
Updating a publisher
{
"name": "Demo Publisher"
}
Response - 200
{
"id": 1,
"parentId": 0,
"companyName": "Demo Publisher",
"quote": "",
"active": 1,
"companyAddress": "",
"companyNumber": "",
"companyZip": "",
"companyCity": "",
"companyCountry": "",
"companyTelephone": "",
"companyFax": "",
"companyEmail": "",
"companyURL": "",
"companyVat": "",
"companyBankAccount": "",
"contactName": "",
"contactFirstName": "",
"contactAddress": "",
"contactNumber": "",
"contactZip": "",
"contactCity": "",
"contactCountry": "",
"contactTelephone": "",
"contactFax": "",
"contactEmail": "",
"description": "",
"paymentMethod": "",
"invoicingParty": ""
}
Response codes
| Status | Meaning |
200 |
Publisher updated. |
400 |
Bad request - invalid input or parameters. |
401/403 |
Not authenticated / not allowed. |
404 |
Not Found - Resource not found. |
405 |
Method not allowed |
406 |
Not acceptable |
409 |
Conflict. |
415 |
Unsupported media type |
500 |
Internal Server Error - Unexpected failure. |
Delete a publisher
DELETE /v1/inventory/publisher/{id}
Sets a publisher to inactive.
Request body
| Parameter | In | Required | Type | Description |
id |
path | Yes | integer | The publisher's ID. |
Response codes
| Status | Meaning |
204 |
Publisher set to inactive. |
400 |
Bad request - invalid input or parameters. |
401/403 |
Not authenticated / not allowed. |
404 |
Not Found - Resource not found. |
405 |
Method not allowed |
406 |
Not acceptable |
409 |
Conflict. |
415 |
Unsupported media type |
500 |
Internal Server Error - Unexpected failure. |
List publishers
GET /v1/inventory/publisher
Retrieves all publishers and their information.
Response - 200
[
{
"id": 1,
"parentId": 0,
"companyName": "Demo Publisher",
"quote": "",
"active": 1,
"companyAddress": "",
"companyNumber": "",
"companyZip": "",
"companyCity": "",
"companyCountry": "",
"companyTelephone": "",
"companyFax": "",
"companyEmail": "",
"companyURL": "",
"companyVat": "",
"companyBankAccount": "",
"contactName": "",
"contactFirstName": "",
"contactAddress": "",
"contactNumber": "",
"contactZip": "",
"contactCity": "",
"contactCountry": "",
"contactTelephone": "",
"contactFax": "",
"contactEmail": "",
"description": "",
"paymentMethod": "",
"invoicingParty": ""
},
{
"id": 2,
"parentId": 1,
"companyName": "Example Demo Publisher",
"quote": "",
"active": 0,
"companyAddress": "",
"companyNumber": "",
"companyZip": "",
"companyCity": "",
"companyCountry": "",
"companyTelephone": "",
"companyFax": "",
"companyEmail": "",
"companyURL": "",
"companyVat": "",
"companyBankAccount": "",
"contactName": "",
"contactFirstName": "",
"contactAddress": "",
"contactNumber": "",
"contactZip": "",
"contactCity": "",
"contactCountry": "",
"contactTelephone": "",
"contactFax": "",
"contactEmail": "",
"description": "",
"paymentMethod": "-",
"invoicingParty": ""
}
]
Create a publisher
POST /v1/inventory/publisher
Creates a new publisher.
Request body
| Parameter | In | Required | Type | Description |
parentPublisherId |
body | No | integer | The ID of the parent publisher. Leave blank if the new publisher is a main publisher |
name |
body | Yes | string | Name of the publisher |
active |
body | No | boolean | Is the publisher active? Default isĀ true |
Creating a new publisher
{
"parentPublisherId": 1,
"name": "Example API Publisher",
"active": true
}
Response - 201
{
"id": 3,
"parentId": 1,
"companyName": "Example API Publisher",
"quote": "",
"active": 1,
"companyAddress": "",
"companyNumber": "",
"companyZip": "",
"companyCity": "",
"companyCountry": "",
"companyTelephone": "",
"companyFax": "",
"companyEmail": "",
"companyURL": "",
"companyVat": "",
"companyBankAccount": "",
"contactName": "",
"contactFirstName": "",
"contactAddress": "",
"contactNumber": "",
"contactZip": "",
"contactCity": "",
"contactCountry": "",
"contactTelephone": "",
"contactFax": "",
"contactEmail": "",
"description": "",
"paymentMethod": "-",
"invoicingParty": ""
}
Response codes
| Status | Meaning |
201 |
Publisher created. |
400 |
Bad request - invalid input or parameters. |
401/403 |
Not authenticated / not allowed. |
404 |
Not Found - Resource not found. |
405 |
Method not allowed |
406 |
Not acceptable |
409 |
Conflict. |
415 |
Unsupported media type |
500 |
Internal Server Error - Unexpected failure. |
Publications
List a publication
GET /v1/inventory/publication/{id}
List a single publication by ID.
Request body
| Parameter | In | Required | Type | Description |
id |
path | Yes | integer | The publisher's ID. |
Response - 200
{
"id": 3,
"companyName": "Demo Sponsored Placements",
"companyAddress": "",
"companyNumber": "",
"companyZip": "",
"companyCity": "",
"companyCountry": "",
"companyTel": "",
"companyFax": "",
"companyUrl": "https://pool-demo.adhese.com/projects/marketing/index.html",
"companyEmail": "",
"publishersId": 1,
"quote": "",
"parentPublicationsId": 0,
"description": "",
"comment": "",
"active": 1,
"rank": 0,
"screenshotExtension": "",
"catchphrase": "",
"language": "",
"numberOfAuthors": 0,
"inventoryCategory": "sponsored_product"
}
Response codes
| Status | Meaning |
200 |
Publication retrieved. |
400 |
Bad request - invalid input or parameters. |
401/403 |
Not authenticated / not allowed. |
404 |
Not Found - Resource not found. |
405 |
Method not allowed |
406 |
Not acceptable |
409 |
Conflict. |
415 |
Unsupported media type |
500 |
Internal Server Error - Unexpected failure. |
Update a publication
PUT /v1/inventory/publication/{id}
Updates the name, parent publisher, active status, quote and website of an existing publication. Fields the request omits are left as they are.
Request body
| Parameter | In | Required | Type | Description |
parentPublisherId |
body | No | integer | The ID of the publication's publisher. |
active |
body | No | boolean | Is the publication active? Default is true. |
name |
body | Yes | string | Name of the publication. |
quote |
body | No | string | Quote field of the publication. |
website |
body | Yes | string | Website of the publication. |
Updating a publication
{
"publisherId": 1,
"active": true,
"name": "Demo Display",
"quote": "DD",
"website": "https://pool-demo.adhese.com/projects/marketing/index.html"
}
Response - 200
{
"id": 1,
"companyName": "Demo Display",
"companyAddress": "",
"companyNumber": "",
"companyZip": "",
"companyCity": "",
"companyCountry": "",
"companyTel": "",
"companyFax": "",
"companyUrl": "https://pool-demo.adhese.com/projects/marketing/index.html",
"companyEmail": "",
"publishersId": 1,
"quote": "DD",
"parentPublicationsId": 0,
"description": "",
"comment": "",
"active": 1,
"rank": 0,
"screenshotExtension": "",
"catchphrase": "",
"language": "",
"numberOfAuthors": 0,
"inventoryCategory": "display"
}
Response codes
| Status | Meaning |
200 |
Publication retrieved. |
400 |
Bad request - invalid input or parameters. |
401/403 |
Not authenticated / not allowed. |
404 |
Not Found - Resource not found. |
405 |
Method not allowed |
406 |
Not acceptable |
409 |
Conflict. |
415 |
Unsupported media type |
500 |
Internal Server Error - Unexpected failure. |
Delete a publication
DELETE /v1/inventory/publication/{id}
Sets a publication to inactive.
Request body
| Parameter | In | Required | Type | Description |
id |
path | Yes | integer | The publication's ID. |
Response codes
| Status | Meaning |
204 |
Publication set to inactive. |
400 |
Bad request - invalid input or parameters. |
401/403 |
Not authenticated / not allowed. |
404 |
Not Found - Resource not found. |
405 |
Method not allowed |
406 |
Not acceptable |
409 |
Conflict. |
415 |
Unsupported media type |
500 |
Internal Server Error - Unexpected failure. |
List all publications under a publisher
GET /v1/inventory/publication
List all publications under one or more publishers.
Request body
| Parameter | In | Required | Type | Description |
publisherIds |
parameter | Yes | integer | The publisher IDs whose publications you want listed. The publisher IDs are comma separated. |
Response - 200
[
{
"id": 1,
"companyName": "Demo Display",
"companyAddress": "",
"companyNumber": "",
"companyZip": "",
"companyCity": "",
"companyCountry": "",
"companyTel": "",
"companyFax": "",
"companyUrl": "https://pool-demo.adhese.com/projects/marketing/index.html",
"companyEmail": "",
"publishersId": 1,
"quote": "DD",
"parentPublicationsId": 0,
"description": "",
"comment": "",
"active": 1,
"rank": 0,
"screenshotExtension": "",
"catchphrase": "",
"language": "",
"numberOfAuthors": 0,
"inventoryCategory": "display"
},
{
"id": 2,
"companyName": "Demo DOOH",
"companyAddress": "",
"companyNumber": "",
"companyZip": "",
"companyCity": "",
"companyCountry": "",
"companyTel": "",
"companyFax": "",
"companyUrl": "https://adhese.eu",
"companyEmail": "",
"publishersId": 1,
"quote": "",
"parentPublicationsId": 0,
"description": "",
"comment": "",
"active": 1,
"rank": 0,
"screenshotExtension": "",
"catchphrase": "",
"language": "",
"numberOfAuthors": 0,
"inventoryCategory": "in_store"
},
{
"id": 3,
"companyName": "Demo Sponsored Placements",
"companyAddress": "",
"companyNumber": "",
"companyZip": "",
"companyCity": "",
"companyCountry": "",
"companyTel": "",
"companyFax": "",
"companyUrl": "https://pool-demo.adhese.com/projects/marketing/index.html",
"companyEmail": "",
"publishersId": 1,
"quote": "",
"parentPublicationsId": 0,
"description": "",
"comment": "",
"active": 1,
"rank": 0,
"screenshotExtension": "",
"catchphrase": "",
"language": "",
"numberOfAuthors": 0,
"inventoryCategory": "sponsored_product"
}
]
Response codes
| Status | Meaning |
200 |
Publications retrieved. |
400 |
Bad request - invalid input or parameters. |
401/403 |
Not authenticated / not allowed. |
404 |
Not Found - Resource not found. |
405 |
Method not allowed |
406 |
Not acceptable |
409 |
Conflict. |
415 |
Unsupported media type |
500 |
Internal Server Error - Unexpected failure. |
Create a publication
POST /v1/inventory/publication
Create a new publication.
Request body
| Parameter | In | Required | Type | Description |
publisherId |
body | No | integer | The ID of the parent publisher. Leave blank if the new publisher is a main publisher |
active |
body | No | boolean | Is the publication active? Default is true. |
name |
body | Yes | string | Name of the publication. |
quote |
body | No | string | Quote field of the publication. |
website |
body | Yes | string | Website of the publication. |
Creating a new publication
{
"publisherId": 3,
"active": true,
"name": "String Created Publication",
"quote": "SCP",
"website": "https://pool-demo.adhese.com/projects/marketing/index.html"
}
Response - 201
{
"id": 5,
"companyName": "String Created Publication",
"companyAddress": "",
"companyNumber": "",
"companyZip": "",
"companyCity": "",
"companyCountry": "",
"companyTel": "",
"companyFax": "",
"companyUrl": "https://pool-demo.adhese.com/projects/marketing/index.html",
"companyEmail": "",
"publishersId": 3,
"quote": "SCP",
"parentPublicationsId": 0,
"description": "",
"comment": "",
"active": 1,
"rank": 0,
"screenshotExtension": "",
"catchphrase": "",
"language": "",
"numberOfAuthors": 0,
"inventoryCategory": null
}
Response codes
| Status | Meaning |
201 |
Publication created. |
400 |
Bad request - invalid input or parameters. |
401/403 |
Not authenticated / not allowed. |
404 |
Not Found - Resource not found. |
405 |
Method not allowed |
406 |
Not acceptable |
409 |
Conflict. |
415 |
Unsupported media type |
500 |
Internal Server Error - Unexpected failure. |
Positions
GET /v1/inventory/position/{id}
Lists the chosen positions information by ID.
Request body
| Parameter | In | Required | Type | Description |
positionId |
path | Yes | integer | The position ID whose information you want listed. |
ResponseĀ - 200
{
"id": 9,
"publisherId": 1,
"transferId": 0,
"active": true,
"creation": "Mar 25, 2026, 2:31:29 PM CET",
"edited": "Mar 25, 2026, 2:31:29 PM CET",
"name": "",
"formatId": 4,
"formatName": "Billboard",
"formatWidth": 970,
"formatHeight": 250,
"formatSize": 0,
"locationId": 5,
"locationName": "ROS",
"locationTypeId": 10,
"publicationName": "Demo Display",
"previewUrl": "",
"url": ""
}
Response codes
| Status | Meaning |
200 |
Position listed. |
400 |
Bad request - invalid input or parameters. |
401/403 |
Not authenticated / not allowed. |
404 |
Not Found - Resource not found. |
405 |
Method not allowed |
406 |
Not acceptable |
409 |
Conflict. |
415 |
Unsupported media type |
500 |
Internal Server Error - Unexpected failure. |