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 via X-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):

Godkendelse#

Alle godkendte endpoints kræver en API‑token sendt i anmodnings‑headeren.

HeaderVæ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.

KodeBetydning
200 OKAnmodning lykkedes
201 CreatedRessource oprettet succesfuldt
204 No ContentAnmodning lykkedes, ingen svar‑krop
400 Bad RequestUgyldige parametre eller forkert anmodning
401 UnauthorizedManglende eller ugyldig API‑token
403 ForbiddenToken har ikke tilladelse til denne handling
404 Not FoundRessource findes ikke
500 Internal Server ErrorUventet 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:

NavnPlaceringTypePåkrævetBeskrivelse
projquerystring (uuid)NoProjekt‑ID.

Svar (200):

{
  "active": 5
}

GET /questionnaire/rag/articles/total#

Resumé: Antal artikler

Parametre:

NavnPlaceringTypePåkrævetBeskrivelse
qquerystringNoFiltrer på artikelnavn eller -kode.
statequeryarrayNoFiltrer på tilstande.
projectqueryarrayNoFiltrer på projekter.
typequeryarrayNoFiltrer på dokumenttyper.

Svar (200):

42

GET /questionnaire/rag/articles/list#

Resumé: Hent liste over artikler

Parametre:

NavnPlaceringTypePåkrævetBeskrivelse
qquerystringNoFiltrer på artikelnavn eller -kode.
statequeryarrayNoFiltrer på tilstande.
projectqueryarrayNoFiltrer på projekter.
typequeryarrayNoFiltrer på dokumenttyper.
squerystringNoSorteringsfelt.
ascquerybooleanNoStigende sortering.
psqueryinteger (int32)NoSidestørrelse.
pqueryinteger (int32)No1‑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:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesArtikelkode.

Svar (200):

true

GET /questionnaire/rag/article-info#

Resumé: Hent artikelinfo efter kode.

Parametre:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesArtikelkode.

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:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesArtikelkode.
formatquerystringNoHvis true, returnerer HTML‑indhold i svar‑kroppen. Ellers returneres indhold i Markdown‑format.
splitquerybooleanNoHvis true, returnerer indhold opdelt efter RAG‑elementer.
cssquerybooleanNoHvis 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:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesArtikelkode.

GET /questionnaire/rag/article/pdf#

Resumé: Hent artikel som PDF efter kode

Parametre:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesArtikelkode.

Svar (200):

(pdf binary)

GET /questionnaire/rag/article/content#

Resumé: Hent artikelindhold

Parametre:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesArtikelkode.

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:

NavnPlaceringTypePåkrævetBeskrivelse
nounquerystringNoSubstantiv 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:

NavnPlaceringTypePåkrævetBeskrivelse
idqueryarrayYesListe 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:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesArtikelkode.

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:

NavnPlaceringTypePåkrævetBeskrivelse
idpathstring (uuid)YesRevisions‑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:

NavnPlaceringTypePåkrævetBeskrivelse
idpathstring (uuid)YesRevisions‑ID.

Svar (200):

"# Article Revision Content\n\nPrevious version."

GET /questionnaire/rag/article/analyze#

Resumé: Analyser artikelindhold med AI

Parametre:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesArtikelkode.
revqueryinteger (int32)NoRevisionsnummer.
forcequerybooleanNoTving 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:

NavnPlaceringTypePåkrævetBeskrivelse
idpathstring (uuid)YesAnalyse‑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:

NavnPlaceringTypePåkrævetBeskrivelse
idquerystring (uuid)YesRAG‑samling‑ID.
itemquerystring (uuid)NoRAG‑element‑ID.
messagequerystring (uuid)NoBesked‑ID.
ascquerybooleanNoStigende sortering.
psqueryinteger (int32)NoSidestørrelse.
pqueryinteger (int32)No1‑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:

NavnPlaceringTypePåkrævetBeskrivelse
idquerystring (uuid)YesRAG‑samling‑ID.
itemquerystring (uuid)NoRAG‑element‑ID.
messagequerystring (uuid)NoBesked‑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:

NavnPlaceringTypePåkrævetBeskrivelse
cquerystring (uuid)YesRAG‑samling‑ID.
idquerystring (uuid)YesBesked‑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:

NavnPlaceringTypePåkrævetBeskrivelse
idquerystring (uuid)YesBesked‑ID.

Svar (200):

{}

RagFaq#

GET /questionnaire/rag/faq-collections/summary#

Resumé: Resumé for startsiden

Parametre:

NavnPlaceringTypePåkrævetBeskrivelse
projquerystring (uuid)NoProjekt‑ID.

Svar (200):

{
  "active": 3
}

GET /questionnaire/rag/faq-collections/total#

Resumé: Antal FAQ‑samlinger.

Parametre:

NavnPlaceringTypePåkrævetBeskrivelse
qquerystringNoFiltrer på samlingsnavn eller -kode.
statequeryarrayNoFiltrer på tilstande.
projectqueryarrayNoFiltrer på projekter.

Svar (200):

3

GET /questionnaire/rag/faq-collections/list#

Resumé: Hent liste over FAQ‑samlinger.

Parametre:

NavnPlaceringTypePåkrævetBeskrivelse
qquerystringNoFiltrer på samlingsnavn eller -kode.
statequeryarrayNoFiltrer på tilstande.
projectqueryarrayNoFiltrer på projekter.
squerystringNoSorteringsfelt.
ascquerybooleanNoStigende sortering.
psqueryinteger (int32)NoSidestørrelse.
pqueryinteger (int32)No1‑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:

NavnPlaceringTypePåkrævetBeskrivelse
qquerystringYesFiltrer på spørgsmål.
projectquerystring (uuid)NoFiltrer på projekt.
psqueryinteger (int32)NoSidestørrelse.
pqueryinteger (int32)No1‑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:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesKode for samlingen.

GET /questionnaire/rag/faq-collection#

Resumé: Hent FAQ‑samling.

Parametre:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesKode 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:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesKode for samlingen.

Svar (200):

true

GET /questionnaire/rag/faq-collection/items-total#

Resumé: Antal FAQ‑poster.

Parametre:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesKode for samlingen.
qquerystringNoFiltrer 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:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesKode for samlingen.
qquerystringNoFiltrer på indhold i FAQ‑post.
statequeryarrayNoFiltrer på tilstande.
squerystringNoSorteringsfelt.
ascquerybooleanNoStigende sortering.
psqueryinteger (int32)NoSidestørrelse.
pqueryinteger (int32)No1‑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:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesKode for samlingen.
indexqueryinteger (int32)YesNul‑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:

NavnPlaceringTypePåkrævetBeskrivelse
codequerystringYesKode for samlingen.
indexqueryinteger (int32)YesNul‑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#

til toppen
Vælg sprog