API pro projekty
Projekt je jeden AI tazatel s vlastními otázkami. Většina ostatních endpointů potřebuje ID projektu, takže tohle bývá první volání, které uděláte. Ověření, stránkování a chyby popisuje Přehled API.
Výpis projektů#
HTTP
GET /api/v1/projectsVrátí všechny projekty v organizaci klíče od nejnovějších, publikované i nepublikované. Nemá žádné parametry a vrátí všechny projekty na jedné stránce.
Příklad#
curl "https://diaform.io/api/v1/projects" \
-H "Authorization: Bearer $DIAFORM_API_KEY"Odpověď#
JSON
{
"data": [
{
"id": "b8acb3ab-1f3d-4a7e-a846-b7f493f86b6d",
"name": "Onboarding interviews",
"product_name": "Acme",
"published": true,
"language": "english",
"respondent_access": "public",
"url": "https://acme.diaform.io/c/b8acb3ab-1f3d-4a7e-a846-b7f493f86b6d",
"created_at": "2026-04-02T09:14:31.402057+00:00",
"published_at": "2026-04-02T09:41:05.471073+00:00"
}
],
"has_more": false,
"next_cursor": null
}Pole projektu#
| Pole | Typ | Popis |
|---|---|---|
id | string | ID projektu |
name | string nebo null | Název projektu, jak ho ukazuje dashboard |
product_name | string nebo null | Název produktu nebo služby z nastavení projektu |
published | boolean | Zda je projekt publikovaný |
language | string nebo null | Jazyk rozhovoru, například english |
respondent_access | string | public (kdokoli s odkazem) nebo invite_only |
url | string nebo null | Veřejný odkaz na rozhovor. Pokud máte ověřenou vlastní doménu, použije ji. |
created_at | string | Kdy byl projekt vytvořen |
published_at | string nebo null | Kdy byl naposledy publikován |
Načtení projektu#
HTTP
GET /api/v1/projects/{project_id}Vrátí jeden projekt s jeho aktuálními otázkami a počty rozhovorů.
Příklad#
curl "https://diaform.io/api/v1/projects/b8acb3ab-1f3d-4a7e-a846-b7f493f86b6d" \
-H "Authorization: Bearer $DIAFORM_API_KEY"Odpověď#
JSON
{
"id": "b8acb3ab-1f3d-4a7e-a846-b7f493f86b6d",
"name": "Onboarding interviews",
"product_name": "Acme",
"published": true,
"language": "english",
"respondent_access": "public",
"url": "https://acme.diaform.io/c/b8acb3ab-1f3d-4a7e-a846-b7f493f86b6d",
"created_at": "2026-04-02T09:14:31.402057+00:00",
"published_at": "2026-04-02T09:41:05.471073+00:00",
"questions": [
{
"id": "V1StGXR8_Z5jdHi6B-myT",
"text": "How did your first week with the product go?",
"type": "open_text",
"required": false,
"options": []
},
{
"id": "tTJUuhijB3m3nvA5horJ6",
"text": "Which plan are you on?",
"type": "single_choice",
"required": true,
"options": [
{ "id": "fvbfMZcZXZLzZWCa-jXXJ", "label": "Starter" },
{ "id": "nb-XqVVvSICqEQjZ12Mox", "label": "Pro" }
]
}
],
"conversation_counts": {
"total": 212,
"completed": 148
}
}Obsahuje všechna pole z výpisu a navíc:
| Pole | Typ | Popis |
|---|---|---|
questions | array | Publikované otázky v daném pořadí |
questions[].id | string | ID otázky. Shrnutí rozhovorů na něj odkazují jako na question_id. |
questions[].text | string | Otázka tak, jak je napsaná |
questions[].type | string | open_text, single_choice, multiple_choice, nps, star_rating nebo file_upload |
questions[].required | boolean | Zda je otázka povinná |
questions[].options | array | Možnosti u otázky s výběrem, každá s id a label. U ostatních typů prázdné. |
conversation_counts.total | number | Rozhovory, které byly aspoň otevřeny |
conversation_counts.completed | number | Rozhovory, které došly do konce |
Otázky se mohou časem měnit. Shrnutí rozhovoru si uchovává znění, které respondent skutečně dostal.