Hop til hovedindhold

API-brug

Lær at bruge API-nøgler til at køre apps programmatisk.

Adgang

  • Udvikler, Anmelder, Administrator: Kan oprette og bruge API-nøgler

Forudsætninger

  • En aktiv API-nøgle (se API-nøgler)
  • En publiceret app du har adgang til

Kør app via API

Endpoint

POST /api/v1/apps/{app_id}/run

Headers

Authorization: Bearer sk_din_api_nøgle
Content-Type: application/json

Request body

{
"inputs": {
"input_felt_1": "værdi",
"input_felt_2": 123
}
}

Fil-inputs

Inputs af typen file sendes som et JSON-objekt med tre felter:

{
"inputs": {
"document": {
"filename": "rapport.pdf",
"mime_type": "application/pdf",
"data": "<base64-kodet indhold>"
}
}
}
FeltBeskrivelse
filenameDet originale filnavn (f.eks. "rapport.pdf")
mime_typeFilens MIME-type (f.eks. "application/pdf")
dataFilens indhold, base64-kodet (uden data: prefix)

Response

{
"results": {
"output_felt": "resultat"
}
}

Fil-outputs returneres i samme format:

{
"outputs": {
"dokument": {
"filename": "resultat.pdf",
"mime_type": "application/pdf",
"data": "<base64-kodet indhold>"
}
}
}

Streaming-kørsel

For at modtage real-time opdateringer under kørsel:

Endpoint

POST /api/v1/apps/{app_id}/run-stream

Headers

Authorization: Bearer sk_din_api_nøgle
Accept: text/event-stream
Content-Type: application/json

SSE Events

Du modtager følgende event-typer:

EventBeskrivelse
node_startEn byggeklods starter
node_completeEn byggeklods er færdig
node_errorEn byggeklods fejlede
agent_completeHele agenten er færdig
agent_errorAgenten fejlede

Begrænsninger

API-nøgler kan kun bruges til at køre apps. De kan ikke:

  • Liste agenter
  • Oprette agenter
  • Liste apps
  • Oprette apps
  • Ændre brugerdata

Fejlhåndtering

HTTP StatusBetydning
401Ugyldig eller tilbagekaldt API-nøgle
403Ingen adgang til appen
404App ikke fundet
422Ugyldig input
500Serverfejl

Eksempel med cURL

curl -X POST "https://din-server.dk/api/v1/apps/{app_id}/run" \
-H "Authorization: Bearer sk_din_api_nøgle" \
-H "Content-Type: application/json" \
-d '{"inputs": {"tekst": "Hej verden"}}'

Eksempel med Python

import requests

response = requests.post(
"https://din-server.dk/api/v1/apps/{app_id}/run",
headers={
"Authorization": "Bearer sk_din_api_nøgle",
"Content-Type": "application/json"
},
json={"inputs": {"tekst": "Hej verden"}}
)

result = response.json()
print(result["results"])

Eksempel med fil-upload (Python)

import base64
import requests

# Indlæs fil og konvertér til base64
with open("dokument.pdf", "rb") as f:
file_data = base64.b64encode(f.read()).decode("utf-8")

response = requests.post(
"https://din-server.dk/api/v1/apps/{app_id}/run",
headers={
"Authorization": "Bearer sk_din_api_nøgle",
"Content-Type": "application/json"
},
json={
"inputs": {
"document": {
"filename": "dokument.pdf",
"mime_type": "application/pdf",
"data": file_data
}
}
}
)

result = response.json()
print(result["outputs"])

Relaterede sider