List offers
Newest first (by created_at). Use next_cursor to page.
GET
/
offers
List offers
curl --request GET \
--url https://app.hocdoc.com/api/v1/offers \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.hocdoc.com/api/v1/offers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.hocdoc.com/api/v1/offers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "0b0e7c1e-2f6a-4c3b-9d1e-5a4b3c2d1e0f",
"title": "Website relaunch",
"status": "sent",
"created_at": "2026-10-06T08:15:30.123Z",
"updated_at": "2026-10-06T08:20:04.317Z",
"sent_at": "2026-10-06T08:20:04.317Z",
"expires_at": "2026-10-20T21:59:59.999Z",
"accepted_at": null,
"expired_at": null,
"version": 2,
"recipient": {
"name": "Jane Doe",
"company": "Example GmbH",
"email": "jane@example.com"
},
"accepted_by": null,
"value": {
"amount": 480000,
"currency": "EUR"
}
},
{
"id": "5d2c8a40-7b19-4e6f-a3d8-1c9e0f7b2a64",
"title": "Brand identity package",
"status": "accepted",
"created_at": "2026-09-28T09:00:12.481Z",
"updated_at": "2026-10-02T14:07:46.001Z",
"sent_at": "2026-09-29T10:15:00.642Z",
"expires_at": "2026-10-13T21:59:59.999Z",
"accepted_at": "2026-10-02T14:07:45.912Z",
"expired_at": null,
"version": 1,
"recipient": {
"name": "John Smith",
"company": "Sample AG",
"email": "john@example.com"
},
"accepted_by": {
"name": "John Smith",
"email": "john@example.com"
},
"value": {
"amount": 1250000,
"currency": "EUR"
}
}
],
"next_cursor": "eyJjIjoiMjAyNi0wOS0yOFQwOTowMDoxMi40ODEwMDBaIiwiaSI6IjVkMmM4YTQwLTdiMTktNGU2Zi1hM2Q4LTFjOWUwZjdiMmE2NCJ9"
}Autorisierungen
API key, for example hd_live_….
Abfrageparameter
Only offers with this status.
Verfügbare Optionen:
draft, sent, accepted, declined, expired, withdrawn Page size, 1 to 100.
Erforderlicher Bereich:
1 <= x <= 100Opaque cursor from next_cursor of the previous page.
Required string length:
1 - 512⌘I
List offers
curl --request GET \
--url https://app.hocdoc.com/api/v1/offers \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.hocdoc.com/api/v1/offers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.hocdoc.com/api/v1/offers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "0b0e7c1e-2f6a-4c3b-9d1e-5a4b3c2d1e0f",
"title": "Website relaunch",
"status": "sent",
"created_at": "2026-10-06T08:15:30.123Z",
"updated_at": "2026-10-06T08:20:04.317Z",
"sent_at": "2026-10-06T08:20:04.317Z",
"expires_at": "2026-10-20T21:59:59.999Z",
"accepted_at": null,
"expired_at": null,
"version": 2,
"recipient": {
"name": "Jane Doe",
"company": "Example GmbH",
"email": "jane@example.com"
},
"accepted_by": null,
"value": {
"amount": 480000,
"currency": "EUR"
}
},
{
"id": "5d2c8a40-7b19-4e6f-a3d8-1c9e0f7b2a64",
"title": "Brand identity package",
"status": "accepted",
"created_at": "2026-09-28T09:00:12.481Z",
"updated_at": "2026-10-02T14:07:46.001Z",
"sent_at": "2026-09-29T10:15:00.642Z",
"expires_at": "2026-10-13T21:59:59.999Z",
"accepted_at": "2026-10-02T14:07:45.912Z",
"expired_at": null,
"version": 1,
"recipient": {
"name": "John Smith",
"company": "Sample AG",
"email": "john@example.com"
},
"accepted_by": {
"name": "John Smith",
"email": "john@example.com"
},
"value": {
"amount": 1250000,
"currency": "EUR"
}
}
],
"next_cursor": "eyJjIjoiMjAyNi0wOS0yOFQwOTowMDoxMi40ODEwMDBaIiwiaSI6IjVkMmM4YTQwLTdiMTktNGU2Zi1hM2Q4LTFjOWUwZjdiMmE2NCJ9"
}