Procurize.AI REST API Reference#
Programmatisk adgang til din vidensbase – dokumenter, spørgeskemaer, RAG og rapporter – ved brug af din API‑token.
Gælder for: Procurize.AI API v1
Godkendelse: API‑nøgle viaX-API-Key‑header (se API Tokens for token‑styring)
Base‑URL:https://api.procurize.com
Oversigt#
Procurize.AI REST API giver programmatisk adgang til centrale platformfunktioner. Den gør det muligt at integrere Procurize.AI med dine interne systemer, automatisere håndtering af vidensbasen og bygge tilpassede arbejdsgange.
Understøttede moduler (token‑godkendt):
- RagArticle – håndter dokumenter
- RagFaq – håndter FAQ‑poster
- RagQuery – udfør RAG‑forespørgsler
Godkendelse#
Alle godkendte endpoints kræver en API‑token sendt i anmodnings‑headeren.
| Header | Værdi |
|---|---|
X-API-Key | <YOUR_API_TOKEN> |
Eksempel:
curl -X GET "https://api.procurize.com/v1/..." \
-H "X-API-Key: your-api-token-here"
💡 Tokens er bundet til din organisation – du behøver ikke angive en organisations‑ID i anmodningen.
Base‑URL#
Alle REST API‑endpoints leveres under:
https://api.procurize.com
Fejlhåndtering#
API’en bruger standard HTTP‑statuskoder.
| Kode | Betydning |
|---|---|
200 OK | Anmodning lykkedes |
201 Created | Ressource oprettet succesfuldt |
204 No Content | Anmodning lykkedes, ingen svar‑krop |
400 Bad Request | Ugyldige parametre eller forkert anmodning |
401 Unauthorized | Manglende eller ugyldig API‑token |
403 Forbidden | Token har ikke tilladelse til denne handling |
404 Not Found | Ressource findes ikke |
500 Internal Server Error | Uventet serverfejl |
Fejl‑svar indeholder en maskin‑læselig fejlkode og en menneske‑læselig besked.
Modulreference#
RagArticle#
GET /questionnaire/rag/articles/summary#
Resumé: Resumé for startsiden
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| proj | query | string (uuid) | No | Projekt‑ID. |
Svar (200):
{
"active": 5
}
GET /questionnaire/rag/articles/total#
Resumé: Antal artikler
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| q | query | string | No | Filtrer på artikelnavn eller -kode. |
| state | query | array | No | Filtrer på tilstande. |
| project | query | array | No | Filtrer på projekter. |
| type | query | array | No | Filtrer på dokumenttyper. |
Svar (200):
42
GET /questionnaire/rag/articles/list#
Resumé: Hent liste over artikler
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| q | query | string | No | Filtrer på artikelnavn eller -kode. |
| state | query | array | No | Filtrer på tilstande. |
| project | query | array | No | Filtrer på projekter. |
| type | query | array | No | Filtrer på dokumenttyper. |
| s | query | string | No | Sorteringsfelt. |
| asc | query | boolean | No | Stigende sortering. |
| ps | query | integer (int32) | No | Sidestørrelse. |
| p | query | integer (int32) | No | 1‑baseret sidenummer. |
Svar (200):
{
"paging": {
"pageNumber": 1,
"pageSize": 10,
"total": 42,
"totalPages": 5
},
"items": [
{
"code": "ART-001",
"org": "00000000-0000-0000-0000-000000000000",
"id": "00000000-0000-0000-0000-000000000000",
"name": "Article Title",
"description": "Article description",
"documentTypes": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Type Name",
"plural": "Type Names",
"count": 5
}
],
"size": 150,
"revision": {
"id": "00000000-0000-0000-0000-000000000000",
"collectionId": "00000000-0000-0000-0000-000000000000",
"rev": 3,
"date": "2025-01-15T10:30:00Z",
"author": {
"id": "user123",
"name": "John Doe",
"email": "john.doe@example.com",
"login": "johndoe",
"ra": true
},
"authorName": "John Doe",
"analysisSummary": {
"id": "00000000-0000-0000-0000-000000000000",
"initiator": {
"id": "user123",
"name": "John Doe",
"email": "john.doe@example.com",
"login": "johndoe",
"ra": true
},
"created": "2025-01-15T10:30:00Z",
"state": "Completed",
"stateDate": "2025-01-15T10:35:00Z",
"stateDetails": "Analysis completed successfully",
"operationId": "op-12345"
}
},
"type": "Article",
"state": "Active",
"projects": [
"00000000-0000-0000-0000-000000000000"
],
"items": [
"00000000-0000-0000-0000-000000000000"
],
"isShared": false
}
]
}
POST /questionnaire/rag/file-to-md#
Resumé: Returnerer Markdown‑indhold fra filen
Anmodnings‑krop (multipart/form-data):
{
"url": "https://example.com/file.pdf",
"file": "binary"
}
Svar (200):
"Markdown content from file"
POST /questionnaire/rag/article/create#
Resumé: Opret en artikel
Anmodnings‑krop (multipart/form-data):
{
"code": "ART-001",
"name": "Article Title",
"description": "Article description",
"content": "# Article Content\n\nThis is the article content.",
"url": "https://example.com/file.pdf",
"file": "binary"
}
Svar (200):
{
"code": "ART-001",
"org": "00000000-0000-0000-0000-000000000000",
"id": "00000000-0000-0000-0000-000000000000",
"name": "Article Title",
"description": "Article description",
"documentTypes": null,
"size": 150,
"revision": null,
"type": "Article",
"state": "Active",
"projects": null,
"items": null,
"isShared": false
}
GET /questionnaire/rag/article/check#
Resumé: Tjek om artikel findes.
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Artikelkode. |
Svar (200):
true
GET /questionnaire/rag/article-info#
Resumé: Hent artikelinfo efter kode.
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Artikelkode. |
Svar (200):
{
"code": "ART-001",
"org": "00000000-0000-0000-0000-000000000000",
"id": "00000000-0000-0000-0000-000000000000",
"name": "Article Title",
"description": "Article description",
"documentTypes": null,
"size": 150,
"revision": null,
"type": "Article",
"state": "Active",
"projects": null,
"items": null,
"isShared": false
}
GET /questionnaire/rag/article#
Resumé: Hent artikelindhold efter kode
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Artikelkode. |
| format | query | string | No | Hvis true, returnerer HTML‑indhold i svar‑kroppen. Ellers returneres indhold i Markdown‑format. |
| split | query | boolean | No | Hvis true, returnerer indhold opdelt efter RAG‑elementer. |
| css | query | boolean | No | Hvis true, returnerer HTML/PDF‑indhold med CSS. |
Svar (200):
"# Article Title\n\nThis is the article content in Markdown format."
POST /questionnaire/rag/article#
Resumé: Opdater artikelmetadata
Anmodnings‑krop:
{
"code": "ART-001",
"name": "Updated Article Title",
"description": "Updated description",
"projects": [
"00000000-0000-0000-0000-000000000000"
],
"documentTypes": [
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "Type Name",
"plural": "Type Names"
}
],
"isShared": true,
"state": "Active"
}
Svar (200):
{}
DELETE /questionnaire/rag/article#
Resumé: Slet artikel
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Artikelkode. |
GET /questionnaire/rag/article/pdf#
Resumé: Hent artikel som PDF efter kode
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Artikelkode. |
Svar (200):
(pdf binary)
GET /questionnaire/rag/article/content#
Resumé: Hent artikelindhold
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Artikelkode. |
Svar (200):
{
"content": "# Article Title\n\nContent here."
}
POST /questionnaire/rag/article/content#
Resumé: Opdater artikelindhold
Anmodnings‑krop (multipart/form-data):
{
"code": "ART-001",
"content": "# Updated Content",
"file": "binary"
}
POST /questionnaire/rag/plural#
Resumé: Hent flertalsform af substantivet
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| noun | query | string | No | Substantiv der skal pluraliseres. |
Svar (200):
{
"plural": "Articles"
}
POST /questionnaire/rag/article/find-types#
Resumé: Analyser artikel med AI og returner deres typer
Anmodnings‑krop (multipart/form-data):
{
"code": "ART-001",
"content": "# Article Content"
}
Svar (200):
[
{
"plural": "Types"
}
]
POST /questionnaire/rag/article/format-with-ai#
Resumé: Formater artikelindhold med AI
Anmodnings‑krop (multipart/form-data):
{
"code": "ART-001",
"content": "# Article Content"
}
Svar (200):
{
"formattedContent": "# Formatted Article Content"
}
POST /questionnaire/rag/article/improve-on-suggestions#
Resumé: Forbedr dokumentet baseret på forslag
Anmodnings‑krop (multipart/form-data):
{
"suggestions": [
{
"sectionTitle": "Introduction",
"suggestion": "Add more details here."
}
],
"code": "ART-001",
"content": "# Article Content"
}
Svar (200):
{
"improvedContent": "# Improved Content"
}
GET /questionnaire/rag/article/parts#
Resumé: Returnerer liste over artikeldele
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| id | query | array | Yes | Liste over artikeldele. |
Svar (200):
[
{
"id": "00000000-0000-0000-0000-000000000000",
"code": "part-1",
"title": "Introduction",
"orderNumber": 1,
"content": "Introduction content."
}
]
GET /questionnaire/rag/article/revisions#
Resumé: Returnerer liste over artikelrevisioner
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Artikelkode. |
Svar (200):
[
{
"id": "00000000-0000-0000-0000-000000000000",
"collectionId": "00000000-0000-0000-0000-000000000000",
"rev": 1,
"date": "2025-01-15T10:30:00Z",
"author": {
"id": "user123",
"name": "John Doe",
"email": "john.doe@example.com",
"login": "johndoe",
"ra": true
},
"authorName": "John Doe",
"analysisSummary": {
"id": "00000000-0000-0000-0000-000000000000",
"initiator": {
"id": "user123",
"name": "John Doe",
"email": "john.doe@example.com",
"login": "johndoe",
"ra": true
},
"created": "2025-01-15T10:30:00Z",
"state": "Completed",
"stateDate": "2025-01-15T10:35:00Z",
"stateDetails": "Analysis completed",
"operationId": "op-12345"
}
}
]
GET /questionnaire/rag/article/revisions/info/{id}#
Resumé: Hent artikelrevision info
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| id | path | string (uuid) | Yes | Revisions‑ID. |
Svar (200):
{
"id": "00000000-0000-0000-0000-000000000000",
"collectionId": "00000000-0000-0000-0000-000000000000",
"rev": 1,
"date": "2025-01-15T10:30:00Z",
"author": {
"id": "user123",
"name": "John Doe",
"email": "john.doe@example.com",
"login": "johndoe",
"ra": true
},
"authorName": "John Doe",
"analysisSummary": {
"id": "00000000-0000-0000-0000-000000000000",
"initiator": {
"id": "user123",
"name": "John Doe",
"email": "john.doe@example.com",
"login": "johndoe",
"ra": true
},
"created": "2025-01-15T10:30:00Z",
"state": "Completed",
"stateDate": "2025-01-15T10:35:00Z",
"stateDetails": "Analysis completed",
"operationId": "op-12345"
}
}
GET /questionnaire/rag/article/revisions/{id}#
Resumé: Hent artikelrevision indhold
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| id | path | string (uuid) | Yes | Revisions‑ID. |
Svar (200):
"# Article Revision Content\n\nPrevious version."
GET /questionnaire/rag/article/analyze#
Resumé: Analyser artikelindhold med AI
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Artikelkode. |
| rev | query | integer (int32) | No | Revisionsnummer. |
| force | query | boolean | No | Tving oprettelse af ny analyse og slet eventuelt ufuldstændigt resultat. |
Svar (200):
{
"id": "00000000-0000-0000-0000-000000000000",
"initiator": {
"id": "user123",
"name": "John Doe",
"email": "john.doe@example.com",
"login": "johndoe",
"ra": true
},
"created": "2025-01-15T10:30:00Z",
"state": "Completed",
"stateDate": "2025-01-15T10:35:00Z",
"stateDetails": "Analysis completed",
"operationId": "op-12345"
}
GET /questionnaire/rag/article/analyze/{id}#
Resumé: Hent artikelanalyse‑resultat
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| id | path | string (uuid) | Yes | Analyse‑ID. |
Svar (200):
{
"id": "00000000-0000-0000-0000-000000000000",
"initiator": {
"id": "user123",
"name": "John Doe",
"email": "john.doe@example.com",
"login": "johndoe",
"ra": true
},
"created": "2025-01-15T10:30:00Z",
"state": "Completed",
"stateDate": "2025-01-15T10:35:00Z",
"stateDetails": "Analysis completed",
"operationId": "op-12345",
"fragments": [
"fragment-1",
"fragment-2"
],
"ownInconcies": "Own inconsistencies found",
"ragInconcies": "RAG inconsistencies found",
"proposals": "Improvement proposals"
}
GET /questionnaire/rag/messages/list#
Resumé: List alle beskeder
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| id | query | string (uuid) | Yes | RAG‑samling‑ID. |
| item | query | string (uuid) | No | RAG‑element‑ID. |
| message | query | string (uuid) | No | Besked‑ID. |
| asc | query | boolean | No | Stigende sortering. |
| ps | query | integer (int32) | No | Sidestørrelse. |
| p | query | integer (int32) | No | 1‑baseret sidenummer. |
Svar (200):
{
"paging": {
"pageNumber": 1,
"pageSize": 10,
"total": 5,
"totalPages": 1
},
"items": [
{
"id": "00000000-0000-0000-0000-000000000000",
"replyTo": null,
"questionnaire": null,
"section": null,
"question": null,
"ragCollection": "00000000-0000-0000-0000-000000000000",
"ragItem": "00000000-0000-0000-0000-000000000000",
"targetId": "00000000-0000-0000-0000-000000000000",
"targetType": "Question",
"targetNum": 1,
"author": {
"id": "user123",
"name": "John Doe",
"email": "john.doe@example.com",
"login": "johndoe",
"ra": true
},
"text": "Message content",
"created": "2025-01-15T10:30:00Z",
"updated": "2025-01-15T10:30:00Z",
"replies": 0
}
]
}
POST /questionnaire/rag/messages/add#
Resumé: Tilføj ny besked
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| id | query | string (uuid) | Yes | RAG‑samling‑ID. |
| item | query | string (uuid) | No | RAG‑element‑ID. |
| message | query | string (uuid) | No | Besked‑ID som svar. |
Anmodnings‑krop:
{
"text": "New message content"
}
Svar (200):
{
"id": "00000000-0000-0000-0000-000000000000",
"replyTo": null,
"questionnaire": null,
"section": null,
"question": null,
"ragCollection": "00000000-0000-0000-0000-000000000000",
"ragItem": "00000000-0000-0000-0000-000000000000",
"targetId": "00000000-0000-0000-0000-000000000000",
"targetType": "Question",
"targetNum": 1,
"author": {
"id": "user123",
"name": "John Doe",
"email": "john.doe@example.com",
"login": "johndoe",
"ra": true
},
"text": "New message content",
"created": "2025-01-15T10:30:00Z",
"updated": "2025-01-15T10:30:00Z",
"replies": 0
}
POST /questionnaire/rag/message#
Resumé: Opdater eksisterende besked
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| c | query | string (uuid) | Yes | RAG‑samling‑ID. |
| id | query | string (uuid) | Yes | Besked‑ID. |
Anmodnings‑krop:
{
"text": "Updated message content"
}
Svar (200):
{
"id": "00000000-0000-0000-0000-000000000000",
"replyTo": null,
"questionnaire": null,
"section": null,
"question": null,
"ragCollection": "00000000-0000-0000-0000-000000000000",
"ragItem": "00000000-0000-0000-0000-000000000000",
"targetId": "00000000-0000-0000-0000-000000000000",
"targetType": "Question",
"targetNum": 1,
"author": {
"id": "user123",
"name": "John Doe",
"email": "john.doe@example.com",
"login": "johndoe",
"ra": true
},
"text": "Updated message content",
"created": "2025-01-15T10:30:00Z",
"updated": "2025-01-15T10:45:00Z",
"replies": 0
}
DELETE /questionnaire/rag/message#
Resumé: Slet eksisterende besked
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| id | query | string (uuid) | Yes | Besked‑ID. |
Svar (200):
{}
RagFaq#
GET /questionnaire/rag/faq-collections/summary#
Resumé: Resumé for startsiden
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| proj | query | string (uuid) | No | Projekt‑ID. |
Svar (200):
{
"active": 3
}
GET /questionnaire/rag/faq-collections/total#
Resumé: Antal FAQ‑samlinger.
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| q | query | string | No | Filtrer på samlingsnavn eller -kode. |
| state | query | array | No | Filtrer på tilstande. |
| project | query | array | No | Filtrer på projekter. |
Svar (200):
3
GET /questionnaire/rag/faq-collections/list#
Resumé: Hent liste over FAQ‑samlinger.
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| q | query | string | No | Filtrer på samlingsnavn eller -kode. |
| state | query | array | No | Filtrer på tilstande. |
| project | query | array | No | Filtrer på projekter. |
| s | query | string | No | Sorteringsfelt. |
| asc | query | boolean | No | Stigende sortering. |
| ps | query | integer (int32) | No | Sidestørrelse. |
| p | query | integer (int32) | No | 1‑baseret sidenummer. |
Svar (200):
{
"paging": {
"pageNumber": 1,
"pageSize": 10,
"total": 3,
"totalPages": 1
},
"items": [
{
"code": "FAQ-001",
"org": "00000000-0000-0000-0000-000000000000",
"id": "00000000-0000-0000-0000-000000000000",
"name": "FAQ Collection",
"description": "FAQ collection description",
"documentTypes": null,
"size": 5,
"revision": null,
"type": "Faq",
"state": "Active",
"projects": null,
"items": null,
"isShared": false
}
]
}
GET /questionnaire/rag/faq-collections/find-items#
Resumé: Find FAQ‑poster.
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| q | query | string | Yes | Filtrer på spørgsmål. |
| project | query | string (uuid) | No | Filtrer på projekt. |
| ps | query | integer (int32) | No | Sidestørrelse. |
| p | query | integer (int32) | No | 1‑baseret sidenummer. |
Svar (200):
{
"paging": {
"pageNumber": 1,
"pageSize": 10,
"total": 5,
"totalPages": 1
},
"items": [
{
"index": 0,
"question": "What is this product?",
"answer": "This is a great product.",
"comment": "Product FAQ",
"state": "Active"
}
]
}
POST /questionnaire/rag/faq-collection/create#
Resumé: Opret ny FAQ‑samling.
Anmodnings‑krop (multipart/form-data):
{
"code": "FAQ-001",
"name": "FAQ Collection",
"description": "FAQ collection description",
"content": "Content here",
"file": "binary"
}
Svar (200):
{
"code": "FAQ-001",
"id": "00000000-0000-0000-0000-000000000000",
"name": "FAQ Collection",
"description": "FAQ collection description",
"documentTypes": null,
"size": 5,
"revision": null,
"type": "Faq",
"state": "Active",
"projects": null,
"items": null,
"isShared": false
}
POST /questionnaire/rag/faq-collection#
Resumé: Opdater FAQ‑samlingens metadata.
Anmodnings‑krop:
{
"code": "FAQ-001",
"name": "Updated FAQ Collection",
"description": "Updated description",
"projects": null,
"documentTypes": null,
"isShared": false,
"state": "Active"
}
DELETE /questionnaire/rag/faq-collection#
Resumé: Slet FAQ‑samling.
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Kode for samlingen. |
GET /questionnaire/rag/faq-collection#
Resumé: Hent FAQ‑samling.
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Kode for samlingen. |
Svar (200):
{
"code": "FAQ-001",
"org": "00000000-0000-0000-0000-000000000000",
"id": "00000000-0000-0000-0000-000000000000",
"name": "FAQ Collection",
"description": "FAQ collection description",
"documentTypes": null,
"size": 5,
"revision": null,
"type": "Faq",
"state": "Active",
"projects": null,
"items": null,
"isShared": false
}
GET /questionnaire/rag/faq-collection/check#
Resumé: Tjek om FAQ‑samling findes.
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Kode for samlingen. |
Svar (200):
true
GET /questionnaire/rag/faq-collection/items-total#
Resumé: Antal FAQ‑poster.
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Kode for samlingen. |
| q | query | string | No | Filtrer på indhold i FAQ‑post. |
Anmodnings‑krop:
["Active", "Default"]
Svar (200):
5
GET /questionnaire/rag/faq-collection/items#
Resumé: Hent liste over FAQ‑poster.
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Kode for samlingen. |
| q | query | string | No | Filtrer på indhold i FAQ‑post. |
| state | query | array | No | Filtrer på tilstande. |
| s | query | string | No | Sorteringsfelt. |
| asc | query | boolean | No | Stigende sortering. |
| ps | query | integer (int32) | No | Sidestørrelse. |
| p | query | integer (int32) | No | 1‑baseret sidenummer. |
Svar (200):
{
"paging": {
"pageNumber": 1,
"pageSize": 10,
"total": 5,
"totalPages": 1
},
"items": [
{
"index": 0,
"question": "What is this product?",
"answer": "This is a great product.",
"comment": "Product FAQ",
"state": "Active"
}
]
}
POST /questionnaire/rag/faq-collection/item/create#
Resumé: Opret ny FAQ‑post.
Anmodnings‑krop:
{
"code": "FAQ-001",
"index": 0,
"question": "What is this product?",
"answer": "This is a great product.",
"comment": "Product FAQ",
"state": "Active"
}
Svar (200):
{
"index": 0,
"question": "What is this product?",
"answer": "This is a great product.",
"comment": "Product FAQ",
"state": "Active"
}
GET /questionnaire/rag/faq-collection/item#
Resumé: Hent FAQ‑post.
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Kode for samlingen. |
| index | query | integer (int32) | Yes | Nul‑baseret indeks for FAQ‑posten i samlingen. |
Svar (200):
{
"index": 0,
"question": "What is this product?",
"answer": "This is a great product.",
"comment": "Product FAQ",
"state": "Active"
}
POST /questionnaire/rag/faq-collection/item#
Resumé: Opdater FAQ‑post.
Anmodnings‑krop:
{
"code": "FAQ-001",
"index": 0,
"newIndex": 1,
"question": "Updated question?",
"answer": "Updated answer.",
"comment": "Updated comment",
"state": "Active"
}
DELETE /questionnaire/rag/faq-collection/item#
Resumé: Slet FAQ‑post.
Parametre:
| Navn | Placering | Type | Påkrævet | Beskrivelse |
|---|---|---|---|---|
| code | query | string | Yes | Kode for samlingen. |
| index | query | integer (int32) | Yes | Nul‑baseret indeks for FAQ‑posten i samlingen. |
RagQuery#
POST /questionnaire/rag/query#
Resumé: Udfør forespørgsel i RAG‑vidensbase
Anmodnings‑krop:
{
"project": "00000000-0000-0000-0000-000000000000",
"excludeCollections": [
"00000000-0000-0000-0000-000000000000"
],
"question": "What is this product?",
"yourCompanyName": "Acme Corp",
"yourCompanyAlias": "Acme",
"customerName": "John Doe",
"options": [
"option1",
"option2"
],
"multiselect": false,
"nArticles": 5,
"nFaqs": 3,
"threshold": 0.5,
"debug": false,
"withJustification": true,
"withConfidenceLevel": true,
"withFragments": true,
"nAttempts": 3
}
Svar (200):
{
"attempt": 1,
"preparedQuery": {
"original": "What is this product?",
"enhanced": "What is this product and its features?"
},
"ragItems": [
{
"id": "00000000-0000-0000-0000-000000000000",
"distance": 0.25
}
],
"question": "What is this product?",
"generalInstructions": "Based on the knowledge base, here is the answer:",
"text": "This product is a great solution for your needs.",
"explanation": "The answer was found in multiple sources with high confidence."
}
POST /questionnaire/rag/query-stream#
Resumé: Udfør forespørgsel i RAG‑vidensbase (stream)
Anmodnings‑krop: (samme som ovenfor)
Svar (200):
[
{
"text": "This product is a great solution",
"fragments": [
{
"id": "00000000-0000-0000-0000-000000000000",
"part": 1,
"distance": 0.25,
"type": "Article",
"code": "ART-001",
"title": "Product Title",
"fragment": "Product content fragment"
}
]
},
{
"text": " for your needs.",
"fragments": []
}
]
POST /questionnaire/rag/query-fragments#
Resumé: Udfør forespørgsel i RAG‑vidensbase (fragmenter)
Anmodnings‑krop:
{
"project": "00000000-0000-0000-0000-000000000000",
"exclude_documents": [
"00000000-0000-0000-0000-000000000000"
],
"query": "What is this product?",
"top_k": 5,
"similarity_threshold": 0.5,
"prepare_query": true
}
Svar (200):
{
"results": [
{
"document_id": "00000000-0000-0000-0000-000000000000",
"document_code": "ART-001",
"document_title": "Product Title",
"revision": 3,
"chunk_index": 0,
"content": "Product content fragment",
"metadata": {
"author": "John Doe",
"created_at": "2025-01-15T10:30:00Z",
"last_updated_at": "2025-01-15T10:35:00Z",
"doc_categories": [
"Product",
"Information"
]
},
"similarity_score": 0.85
}
]
}
Relaterede artikler#
- API‑tokens – Generering & Administration – hvordan du opretter og administrerer tokens
- Spørg AI med din vidensbase – brug af RAG‑forespørgsler
