# TelefonAI > API-dokumentation for TelefonAI. Grundadresse: https://api.telefonai.dk. Kilde: https://0.0.0.0:3000 --- # Kom i gang Fra nøgle til første svar på under et minut. :::hero ![TelefonAI's API kaldt fra en terminal, med et AI-opkald i gang på en telefon](/docs/telefonai-hero.png) ::: ## 1 · Opret en nøgle I oversigten under **Indstillinger → API**. Sæt kun flueben ved de scopes, integrationen skal bruge — en ny nøgle starter med det mindste og intet andet. ## 2 · Kopiér den én gang Nøglen vises en enkelt gang. Vi gemmer en hash af den, så vi kan ikke vise den igen — er den væk, tilbagekald den og lav en ny. ## 3 · Kald det Det her er den billigste måde at se, at alt hænger sammen: ```bash curl "https://api.telefonai.dk/v1/me" \ -H "Authorization: Bearer tak_din_noegle_her" ``` En `200` med din organisation betyder, at nøglen virker. En `401` betyder, at nøglen er forkert; en `403` betyder, at nøglen er rigtig, men at scopet mangler. ## Videre herfra - [Godkendelse](?fane=api&v=v1&side=godkendelse) — scopes, og hvad en nøgle må - [Grænser og sider](?fane=api&v=v1&side=graenser-og-sider) — hvor mange kald du har - [Fejl](?fane=api&v=v1&side=fejl) — den faste form, og hvad hver kode betyder --- # Godkendelse Ét bearer-token, ét scope pr. endepunkt — og læsning altid adskilt fra skrivning. Send nøglen som et bearer-token på hvert kald. Nøgler begynder med `tak_`, så de kan genkendes, hvis en af dem en dag ender i en log eller en commit. ```http Authorization: Bearer tak_din_noegle_her ``` ## Scopes Hvert endepunkt kræver ét scope, og læsning og skrivning er altid adskilt — en nøgle, der slår et telefonnummer op, skal ikke kunne overskrive hele kartoteket. :::danger **Optagelser står for sig selv.** `recordings:read` er adskilt fra `calls:read` med vilje: et referat er jeres noter om en samtale, mens optagelsen **er** samtalen — kundens stemme, med alt hvad hun sagde undervejs. ::: :::warning **Samtalen kan ikke rettes gennem API'et.** Transskript, resumé og optagelse er et referat af, hvad der blev sagt — og et referat, et andet system kan skrive om, er ikke et. `calls:write` sætter etiketter og markerer et opkald ordnet, intet andet. ::: ## Livstid Scopes kan ændres på en nøgle, der allerede findes, og en nøgle kan tilbagekaldes når som helst — den holder op med at virke med det samme. Nøgler udløber ikke af sig selv. --- # Grænser og sider Grænsen tælles pr. organisation, ikke pr. nøgle. Flere nøgler giver ikke flere kald. Grænsen tælles **pr. organisation, pr. minut** — ikke pr. nøgle. Flere nøgler giver ikke flere kald. | Plan | Kald / minut | |---|---| | Basis | 60 | | Plus | 300 | | Skala | 1200 | ## Headerne Tre headere kommer tilbage på **hvert eneste** svar — ikke kun på dem, der bliver afvist — så du kan sænke farten, før du rammer loftet: ```http X-RateLimit-Limit: 300 X-RateLimit-Remaining: 287 X-RateLimit-Reset: 41 ``` `X-RateLimit-Reset` er sekunder, til vinduet nulstilles. Det er et fast minut, ikke en glidende måling. ## Sideopdeling Hver liste tager `?limit=` og `?offset=`. Loftet er 100 rækker; standarden er 25. En ubrugelig værdi — `abc`, `-5` — falder tilbage på standarden i stedet for at give en fejl. Lister svarer med et `pagination`-objekt, der bærer totalen. --- # Fejl Samme form hver gang. Skriv dit if på error.code — den er stabil. Fejl har altid den samme form. Skriv dit `if` på `error.code` — den er stabil. Teksten i `message` er til den, der fejlsøger, og kan blive omformuleret. ```json { "error": { "code": "insufficient_scope", "message": "This key is missing the \"services:write\" scope." } } ``` ## Koderne | Kode | Status | Hvad det betyder | Det du gør | |---|---|---|---| | `invalid_request` | 400 | Et felt mangler, er for langt eller har den forkerte type. | Læs `error.message` — den nævner feltet ved navn. | | `unauthorized` | 401 | Ingen nøgle, en ukendt nøgle, eller en der er tilbagekaldt. | Tjek Authorization-headeren. En kopieret nøgle slæber ofte et mellemrum med — det trimmer vi, men en afkortet nøgle kan vi ikke redde. | | `insufficient_scope` | 403 | Nøglen er gyldig, men mangler det scope, endepunktet kræver. | Beskeden nævner det manglende scope. Sæt fluebenet på nøglen, eller opret en ny. | | `account_suspended` | 403 | Nøglen er gyldig — kontoen er lukket. Enten suspenderet eller opsagt. | En ny nøgle hjælper ikke; det er ikke nøglen, der fejler. Skriv til os, så siger vi hvorfor og hvad der skal til. | | `not_found` | 404 | Der er ingen række med det id — i din organisation. | Vi siger aldrig, om id'et findes et andet sted. Hold id'et op mod et listekald. | | `conflict` | 409 | Forespørgslen var rigtig, men virkeligheden sagde nej — tidspunktet er optaget, eller behandleren er der ikke. | Hent tilstanden igen og vis kunden, hvad der faktisk er ledigt. | | `rate_limited` | 429 | For mange kald i det her minut. | Vent til `X-RateLimit-Reset`. Se [Grænser og sider](?fane=api&v=v1&side=graenser-og-sider). | | `route_not_configured` | 500 | Vores fejl: et endepunkt uden en scope-kortlægning. | Skriv til os — den skal rettes hos os, ikke hos dig. | | `server_error` | 500 | Noget gik i stykker hos os. | Prøv igen med en voksende pause. Bliver den ved, så skriv. | :::warning **Tre forskellige 403'ere.** `insufficient_scope` og `account_suspended` ser ens ud i statuskoden, men kræver hver sin handling — den ene retter du selv på nøglen, den anden kan kun vi løse. ::: --- # Webhooks Lad os ringe til dig i stedet for at du spørger hvert minut. I stedet for at spørge hvert minut kan du lade os ringe til dig. Tilføj en modtager under **Indstillinger → API** eller med `POST /v1/webhooks`, og vælg de hændelser, du vil have. Prøv den med `POST /v1/webhooks/:id/test`, før du venter på et rigtigt opkald. ## Levering Leveringer lægges i kø og forsøges igen med en voksende pause. Den samme hændelse sendes aldrig to gange — heller ikke når teleudbyderen melder et opkald slut flere gange. Blev en levering opgivet, mens din server var nede, finder du den i `GET /v1/webhooks/:id/deliveries` og sender den igen med `POST /v1/webhooks/:id/redeliver` — med samme id, så din egen deduplikering genkender den. ## Konvolutten Hver levering har samme ydre form. `id` er leveringens id og er det samme ved et genforsøg og en gensendelse — brug det til at afvise dubletter. `created` er sekunder siden 1970, sat da hændelsen skete, ikke da den blev sendt. Indholdet står i `data` og afhænger af hændelsen. ```json { "id": "7d2c4f1a-…", "event": "booking.created", "created": 1758096131, "data": { } } ``` ## Hændelserne Alle hændelser, en modtager kan abonnere på. Nye felter kan komme til; eksisterende omdøbes ikke. | Opkald | Booking | Kontakt | Andet | |---|---|---|---| | `call.completed` | `booking.created` | `contact.created` | `task.created` | | `call.missed` | `booking.rescheduled` | `contact.updated` | `sms.received` | | | `booking.cancelled` | `contact.deleted` | `sms.failed` | | | `booking.completed` | `contact.recall_due` | `sms.opted_out` | | | `booking.no_show` | | | | | `booking.reminder_due` | | | Den fulde beskrivelse af hver hændelse — og hvad der står i `data` — finder du under webhook-endepunkterne i referencen. --- # GET /v1/me — Organisationen bag nøglen, dens plan og dens scopes. Organisationen bag nøglen, dens plan og dens scopes. ```http GET https://api.telefonai.dk/v1/me ``` ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/me" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/usage — Forbruget i den igangværende periode — de SAMME tal som på abonnementssiden Forbruget i den igangværende periode — de SAMME tal som på abonnementssiden. `may_take_calls` er det vigtigste felt: det er svaret på «tager assistenten telefonen lige nu», så du ikke selv skal regne det ud af plan, status og forbrug. Penge er i ører, og sekunder er de tal, beregningen faktisk kørte på, så du kan runde af, som du vil. `sms` er SMS-puljen i SEGMENTER, regnet præcis som afsendelsen håndhæver den: pakken plus tilkøbte beskeder. Tjek `remaining_segments`, før du sender en stor udsendelse, frem for at opdage en tom pulje ved en 402. Med jeres egen SMS-udbyder er `remaining_segments` `null` — puljen gælder ikke. `two_way_number` er nummeret, patienterne svarer til, når tovejs er slået til. ```http GET https://api.telefonai.dk/v1/usage ``` ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/usage" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/invoices — Fakturaerne, nyeste først — et bogholderi arbejder bagfra Fakturaerne, nyeste først — et bogholderi arbejder bagfra. Kun læsning: en faktura er et bilag, og et beløb, der ændrer sig efter udstedelsen, er ikke et bilag længere. Beløb er i ører, og momsen står for sig, så det kan afstemmes. PDF'en er ikke her; den hentes med en session. ```http GET https://api.telefonai.dk/v1/invoices ``` ## Parametre - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. - `status` (string, query) — open, paid, void eller uncollectible. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/invoices" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/campaigns — Kampagnerne og hvor langt de er nået Kampagnerne og hvor langt de er nået. KUN læsning, og det er en compliance-beslutning: hvert nummer på en kampagneliste har en bruger, der har stået inde for samtykket, og kunne en kampagne startes eller fodres herfra, ville den underskrift blive til et felt, en maskine udfyldte. Numrene er ikke med — `progress` tæller pr. status og svarer på spørgsmålet uden at udlevere mennesker, der ikke er kunder hos os. Klokkeslæt er minutter fra midnat i klinikkens egen tid, og ugedage tælles fra MANDAG = 0. ```http GET https://api.telefonai.dk/v1/campaigns ``` ## Parametre - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. - `status` (string, query) — kladde, aktiv, pause eller faerdig. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/campaigns" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/calls — Vis opkald, nyeste først Vis opkald, nyeste først. Hvert opkald bærer `handled_at` (`null` = ikke ordnet) og `tags` — de samme etiketter som i appen. Filtrene kan kombineres; et ugyldigt id eller en ukendt værdi giver 400, så en stavefejl ikke ligner en tom liste. ```http GET https://api.telefonai.dk/v1/calls ``` ## Parametre - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. - `from` (string, query) — Kun opkald startet på eller efter dette tidspunkt (ISO 8601). - `to` (string, query) — Kun opkald startet før dette tidspunkt (ISO 8601). - `outcome` (string, query) — booked · message · transferred · answered · missed - `phone` (string, query) — Kun opkald fra dette nummer, i hvilken som helst form. Et ugyldigt nummer giver en tom liste. - `contact_id` (string, query) — Kun opkald koblet til denne kontakt. - `assistant_id` (string, query) — Kun opkald taget af denne assistent. - `direction` (string, query) — inbound eller outbound. - `handled` (boolean, query) — false giver de opkald, ingen har ordnet endnu — receptionens arbejdsliste. - `tag` (string, query) — Kun opkald med denne etiket: urgent, new_customer, callback, invoice eller complaint. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/calls" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/calls/{id} — Ét opkald med transskriptet, `handled_at` og `tags` Ét opkald med transskriptet, `handled_at` og `tags`. `actions` er det, assistenten FAKTISK gjorde under samtalen — book, transfer, take_message, lookup — med `succeeded` og det `booking_id`, en booking fik, så «kunne ikke booke» og «forsøgte aldrig» kan skelnes. `tasks` er de beskeder om at ringe tilbage, opkaldet efterlod. Hvert opslag noteres i adgangsloggen. ```http GET https://api.telefonai.dk/v1/calls/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/calls/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/calls/{id} — Markér opkaldet som ordnet — eller uordnet igen — og sæt dets etiketter Markér opkaldet som ordnet — eller uordnet igen — og sæt dets etiketter. Brug den, når JERES system har ringet patienten tilbage, så receptionen ikke gør det samme. `tags` erstatter HELE sættet: send listen, som den skal være bagefter; en tom liste fjerner alle. Samtalen selv — transskript, resumé, optagelse — kan ikke rettes. ```http PATCH https://api.telefonai.dk/v1/calls/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/calls/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/calls/{id}/recording — Selve lyden som WAV Selve lyden som WAV. Kræver `recordings:read` og ikke `calls:read`: et referat er klinikkens noter om en samtale, mens optagelsen ER samtalen. Lyden streames gennem os — der udleveres ingen adresse, der kan deles videre. Findes der ingen optagelse, eller er den ryddet op, er svaret 404. Hver afhentning noteres i adgangsloggen. ```http GET https://api.telefonai.dk/v1/calls/{id}/recording ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/calls//recording" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/tasks — Vis opgaver, nyeste først Vis opgaver, nyeste først. Som standard kun de ÅBNE — det er receptionens spørgsmål. Hastesager står ikke øverst; `urgent` står på hver række, så du selv kan sortere. Beskeden er maskeret for personnumre, før den bliver gemt. ```http GET https://api.telefonai.dk/v1/tasks ``` ## Parametre - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. - `status` (string, query) — open (standard), resolved eller all. - `contact_id` (string, query) — Kun opgaver om denne kontakt. - `call_id` (string, query) — Kun opgaver fra dette opkald. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/tasks" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/tasks/{id} — Hent én opgave i samme form som listen. Hent én opgave i samme form som listen. ```http GET https://api.telefonai.dk/v1/tasks/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/tasks/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/tasks/{id} — Løs en opgave — eller åbn den igen Løs en opgave — eller åbn den igen. Kollegerne med appen åben ser ændringen med det samme, så ingen ringer patienten op to gange. Kun `resolved` kan ændres: beskeden er det, patienten sagde. ```http PATCH https://api.telefonai.dk/v1/tasks/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/tasks/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/blocked-numbers — Vis de spærrede numre, nyeste først, med den grund, der blev skrevet. Vis de spærrede numre, nyeste først, med den grund, der blev skrevet. ```http GET https://api.telefonai.dk/v1/blocked-numbers ``` ## Parametre - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/blocked-numbers" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/blocked-numbers — Spær et nummer Spær et nummer. Er det allerede spærret, opdateres grunden, og svaret er stadig 200 — du kan sende hele din liste igen uden først at spørge, hvad der findes. ```http POST https://api.telefonai.dk/v1/blocked-numbers ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/blocked-numbers" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/blocked-numbers — Frigiv et nummer igen Frigiv et nummer igen. Nummeret står i adressen, fordi det er selve nøglen — der er intet id. Et nummer, der ikke er spærret, giver 404. ```http DELETE https://api.telefonai.dk/v1/blocked-numbers ``` ## Parametre - `phone` (string, query, påkrævet) — Nummeret, der skal frigives. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/blocked-numbers" \ --url-query "phone=" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/contacts — Vis kontakter, senest rettede først, eller slå én op på telefonnummer Vis kontakter, senest rettede først, eller slå én op på telefonnummer. Hver kontakt har de samme felter som enkeltopslaget plus `tags` og `updated_at`. SYNKRONISERING: gem tidspunktet for dit sidste kald, og hent næste gang kun det, der er rettet siden, med `updated_since` — suppler med webhooks `contact.created`, `contact.updated` og `contact.deleted`, så du ved, hvornår det er værd at spørge. Slettede kontakter står ikke i listen; dem får du kun som `contact.deleted`. ```http GET https://api.telefonai.dk/v1/contacts ``` ## Parametre - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. - `phone` (string, query) — Dansk nummer, i hvilken som helst form. Et ukendt nummer giver en tom liste — aldrig en 404. - `updated_since` (string, query) — ISO 8601. Kun kontakter oprettet eller rettet på eller efter dette tidspunkt. En ugyldig dato giver 400. - `tag_id` (string, query) — Kun kontakter med denne mærkat. Se `GET /v1/contact-tags`. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/contacts" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/contacts — Opret en kontakt — eller opdatér hende, hvis nummeret findes i forvejen Opret en kontakt — eller opdatér hende, hvis nummeret findes i forvejen. TELEFONNUMMERET er nøglen, ikke id'et: det er også dét, der afgør, om det er den samme person, når hun ringer. Felter, du ikke sender, bliver ikke rørt, så en synkronisering, der kun kender nummeret, ikke tømmer navnet. Svarer 201 ved oprettelse og 200 ved opdatering. ```http POST https://api.telefonai.dk/v1/contacts ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/contacts" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/contacts/{id} — Én kontakt med kartotekets felter og hendes `tags` Én kontakt med kartotekets felter og hendes `tags`. Assistentens hukommelse er ikke med — den får du kun i eksporten. ```http GET https://api.telefonai.dk/v1/contacts/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/contacts/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/contacts/{id} — Ret en kontakt Ret en kontakt. Kun de felter, du sender, bliver ændret; en tom streng rydder et frivilligt felt. Det er den dør, du leder efter — `contact.upserted` gennem `POST /v1/events` gør det samme, men er tænkt til den, der spejler et helt kartotek ind. Et nummer, en anden kontakt allerede har, giver 409 `conflict`. Svaret er kontakten med `tags`, og en rettelse udløser `contact.updated`. ```http PATCH https://api.telefonai.dk/v1/contacts/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/contacts/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/contacts/{id} — Sletter personen — retten til at blive glemt Sletter personen — retten til at blive glemt. Bookinger, opkald og udgående beskeder BLIVER, men mister navn og nummer: klinikkens statistik og fakturagrundlag må ikke forsvinde, fordi en person beder om at blive slettet. Genindkaldelser, opgaver, ventelistelinjer og hendes INDGÅENDE SMS'er forsvinder helt — de er hendes egne ord, ikke klinikkens. Svaret tæller begge dele hver for sig: `anonymised` for det, der blev stående uden person, `removed` for det, der er væk. Jeres webhook-modtagere får `contact.deleted`, så personen også kan fjernes fra jeres egne systemer. ```http DELETE https://api.telefonai.dk/v1/contacts/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/contacts/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/contacts/{id}/export — ALT, I har om én person, i ét svar — til en indsigtsanmodning (GDPR art ALT, I har om én person, i ét svar — til en indsigtsanmodning (GDPR art. 15). Kontakten med mærkater, assistentens hukommelse, framelding og spærring; aftalerne; opkaldene med transskript; beskeder begge veje; opgaver og venteliste. Opkald og beskeder findes både på kontakten og på nummeret, så også dem fra før kontakten blev oprettet kommer med. Kræver sit eget scope, `contacts:export`, fordi svaret rummer samtalerne. Hver eksport skrives i adgangsloggen. Højst 1.000 pr. samling — `truncated` siger, hvis der var flere. ```http GET https://api.telefonai.dk/v1/contacts/{id}/export ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/contacts//export" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/contact-tags — Vis mærkaterne — «VIP», «Erhverv», «Forsikring» — med hvor mange kontakter, der bærer hver Vis mærkaterne — «VIP», «Erhverv», «Forsikring» — med hvor mange kontakter, der bærer hver. Højst 40 pr. konto, så listen har ingen sider. ```http GET https://api.telefonai.dk/v1/contact-tags ``` ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/contact-tags" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/contact-tags — Opret en mærkat Opret en mærkat. Findes navnet allerede (store og små bogstaver er ens), svares der med den eksisterende og 200 i stedet for 201 — så en natlig synkronisering kan sende sine grupper uden at spørge først. Den 41. giver 409. ```http POST https://api.telefonai.dk/v1/contact-tags ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/contact-tags" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # PATCH /v1/contact-tags/{id} — Omdøb en mærkat eller skift farve Omdøb en mærkat eller skift farve. Et navn, en anden mærkat bærer, giver 409. ```http PATCH https://api.telefonai.dk/v1/contact-tags/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/contact-tags/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/contact-tags/{id} — Slet en mærkat Slet en mærkat. Den forsvinder fra alle kontakter, der bar den; kontakterne selv røres ikke. ```http DELETE https://api.telefonai.dk/v1/contact-tags/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/contact-tags/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/contact-tags/{id}/contacts — Sæt en mærkat på mange kontakter på én gang — eller tag den af Sæt en mærkat på mange kontakter på én gang — eller tag den af. Til CRM'et, der har en gruppe; for én kontakts samlede mærkater, brug `tags` på `PATCH /v1/contacts/:id`. Id'er, der ikke er jeres kontakter, springes over, og `affected` siger, hvor mange der faktisk blev rørt. ```http POST https://api.telefonai.dk/v1/contact-tags/{id}/contacts ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/contact-tags//contacts" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/availability — Find ledige tider Find ledige tider. Samme beregning, som telefonassistenten selv bruger — så en chat, en hjemmeside eller et journalsystem tilbyder præcis de tider, telefonen ville tilbyde, og aldrig en, der lige er givet væk. ```http GET https://api.telefonai.dk/v1/availability ``` ## Parametre - `service_id` (string, query) — Ydelsen, der skal bookes. KRÆVET — den afgør, hvor lang tid der skal være fri. - `from` (string, query) — Første dato der kigges på, ÅÅÅÅ-MM-DD. Udeladt = i dag. - `earliest` (string, query) — Tidligste klokkeslæt på dagen, TT:MM. Brug den, når kunden selv har et ønske — ellers svarer vi med dagens første ledige tider. - `resource_id` (string, query) — Ønsket behandler. Udeladt = alle, der kan udføre ydelsen. - `limit` (integer, query) — Hvor mange forslag, 1–50. Standard 10. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/availability" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/bookings — Vis aftaler, først dem der ligger nærmest, med ydelsen, tidspunktet og den kontakt, de er lavet til Vis aftaler, først dem der ligger nærmest, med ydelsen, tidspunktet og den kontakt, de er lavet til. Aflyste aftaler er MED, med `status: "cancelled"` — ellers kan du ikke se forskel på «aflyst» og «har aldrig fandtes». Filtrene kan kombineres; et ugyldigt id eller en ukendt status giver 400. ```http GET https://api.telefonai.dk/v1/bookings ``` ## Parametre - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. - `from` (string, query) — Kun aftaler, der starter på eller efter dette tidspunkt (ISO 8601). - `to` (string, query) — Kun aftaler, der starter før dette tidspunkt (ISO 8601). - `contact_id` (string, query) — Kun denne kontakts aftaler. - `resource_id` (string, query) — Kun denne behandlers aftaler — fx til én behandlers dag. - `service_id` (string, query) — Kun aftaler om denne ydelse. - `status` (string, query) — pending, confirmed, arrived, no_show eller cancelled. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/bookings" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/bookings — Opret en aftale Opret en aftale. Klinikkens egne regler gælder: åbningstider, lukkedage, behandlerens arbejdstid og fravær — og en optaget tid afvises med 409. ```http POST https://api.telefonai.dk/v1/bookings ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/bookings" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/bookings/{id} — Hent én aftale med alt, vi har på den. Hent én aftale med alt, vi har på den. ```http GET https://api.telefonai.dk/v1/bookings/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/bookings/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/bookings/{id} — Flyt aftalen Flyt aftalen. Samme regler som ved oprettelsen — en flytning må ikke kunne lande et sted, en ny tid ikke måtte. ```http PATCH https://api.telefonai.dk/v1/bookings/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/bookings/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/bookings/{id} — Aflys aftalen Aflys aftalen. Ventelisten får pladsen tilbudt med det samme, og patienten og klinikken får besked — præcis som når assistenten aflyser i telefonen. ```http DELETE https://api.telefonai.dk/v1/bookings/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/bookings/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/services — Vis ydelser Vis ydelser. De inaktive er med, medmindre du filtrerer. ```http GET https://api.telefonai.dk/v1/services ``` ## Parametre - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. - `active` (boolean, query) — true eller false. Udelad for at få alle. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/services" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/services — Opret en ydelse — eller ret en, hvis du sender et id med. Opret en ydelse — eller ret en, hvis du sender et id med. ```http POST https://api.telefonai.dk/v1/services ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/services" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/services/{id} — Hent én ydelse Hent én ydelse. Samme felter som i listen. ```http GET https://api.telefonai.dk/v1/services/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/services/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/services/{id} — Ret ydelsen Ret ydelsen. Kun de felter, du sender, bliver ændret — resten står, som de stod. Vil du sætte hele rækken på én gang, så brug POST med et id. ```http PATCH https://api.telefonai.dk/v1/services/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/services/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/services/{id} — Slå ydelsen fra Slå ydelsen fra. Den bliver ikke slettet: aftaler peger på den, og de skal beholde deres behandling. ```http DELETE https://api.telefonai.dk/v1/services/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/services/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/knowledge — Vis poster med spørgsmål, svar og status Vis poster med spørgsmål, svar og status. Kladder er med — filtrér, hvis du kun vil have det, der er i luften. ```http GET https://api.telefonai.dk/v1/knowledge ``` ## Parametre - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. - `status` (string, query) — active · draft · archived ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/knowledge" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/knowledge — Opret eller ret en post. Opret eller ret en post. ```http POST https://api.telefonai.dk/v1/knowledge ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/knowledge" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/knowledge/{id} — Hent én post Hent én post. Samme felter som i listen. ```http GET https://api.telefonai.dk/v1/knowledge/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/knowledge/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/knowledge/{id} — Ret posten Ret posten. Kun de felter, du sender, bliver ændret. `status` skal være «active», «draft» eller «archived». ```http PATCH https://api.telefonai.dk/v1/knowledge/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/knowledge/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/knowledge/{id} — Arkivér posten Arkivér posten. Den bliver gemt, så et gammelt svar stadig kan slås op. ```http DELETE https://api.telefonai.dk/v1/knowledge/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/knowledge/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/pronunciations — Vis ordene, alfabetisk. Vis ordene, alfabetisk. ```http GET https://api.telefonai.dk/v1/pronunciations ``` ## Parametre - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/pronunciations" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/pronunciations — Opret eller ret et ord. Opret eller ret et ord. ```http POST https://api.telefonai.dk/v1/pronunciations ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/pronunciations" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/pronunciations/{id} — Hent ét ord Hent ét ord. Samme felter som i listen. ```http GET https://api.telefonai.dk/v1/pronunciations/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/pronunciations/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/pronunciations/{id} — Ret ordet Ret ordet. Kun de felter, du sender, bliver ændret. ```http PATCH https://api.telefonai.dk/v1/pronunciations/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/pronunciations/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/pronunciations/{id} — Slet ordet Slet ordet. Der er ikke noget, der peger på det, så det bliver rent faktisk fjernet. ```http DELETE https://api.telefonai.dk/v1/pronunciations/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/pronunciations/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/extraction-fields — Vis felterne med nøgle, type og valgmuligheder — de nøgler, du finder igen under `extracted` på et opkald. Vis felterne med nøgle, type og valgmuligheder — de nøgler, du finder igen under `extracted` på et opkald. ```http GET https://api.telefonai.dk/v1/extraction-fields ``` ## Parametre - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/extraction-fields" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/extraction-fields — Opret eller ret et felt Opret eller ret et felt. Planen sætter loftet for, hvor mange du må have; opretter du ud over det, får du 400. ```http POST https://api.telefonai.dk/v1/extraction-fields ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/extraction-fields" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/extraction-fields/{id} — Hent ét felt Hent ét felt. Samme felter som i listen. ```http GET https://api.telefonai.dk/v1/extraction-fields/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/extraction-fields/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/extraction-fields/{id} — Ret feltet Ret feltet. `key` kan IKKE ændres: den er dét, dine gamle udtræk er gemt under, og en ny nøgle ville skille historikken fra det, der kommer fremover. Skal nøglen være en anden, så opret et nyt felt. ```http PATCH https://api.telefonai.dk/v1/extraction-fields/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/extraction-fields/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/extraction-fields/{id} — Slet et felt Slet et felt. Gamle opkald beholder de værdier, de fangede — referatet af en samtale ændrer sig ikke, fordi opsætningen gør. ```http DELETE https://api.telefonai.dk/v1/extraction-fields/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/extraction-fields/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/sms — Beskederne — dine egne og dem, kunden har svaret Beskederne — dine egne og dem, kunden har svaret. `?direction=` er `all` som standard, fordi det, du vil se, er en samtale; `in` og `out` skærer den over. `?phone=` normaliseres som alle andre numre. Nyeste først. Indgående svar findes kun på klinikkens EGET nummer: beskeder sendt herfra har et navn som afsender, og et navn kan man ikke svare på. ```http GET https://api.telefonai.dk/v1/sms ``` ## Parametre - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. - `direction` (string, query) — all (standard), in eller out. - `phone` (string, query) — Kun beskeder til eller fra dette nummer. - `handled` (boolean, query) — Kun indgående svar, der er (true) eller ikke er (false) taget hånd om. Kræver `direction=in`. `handled=false` er de ubesvarede. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/sms" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/sms — Send én besked Send én besked. Svaret siger, hvor mange dele den kostede. ```http POST https://api.telefonai.dk/v1/sms ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/sms" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/sms/{id} — Én besked — udgående eller indgående — i samme form som listen Én besked — udgående eller indgående — i samme form som listen. Brug id'et fra `POST /v1/sms` til at følge, om netop den besked kom frem: `status` går fra `queued` over `sending` og `sent` til `delivered` eller `failed`, og `failure_reason` siger hvorfor. ```http GET https://api.telefonai.dk/v1/sms/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/sms/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/sms/{id} — Markér et INDGÅENDE svar som håndteret — eller ubesvaret igen Markér et INDGÅENDE svar som håndteret — eller ubesvaret igen. Brug den, når jeres system har taget sig af svaret, så det ikke står som ubesvaret i receptionens indbakke. Kollegerne med appen åben ser det med det samme. En udgående besked giver 400. ```http PATCH https://api.telefonai.dk/v1/sms/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/sms/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/sms/{id} — Aflys en besked, der endnu ikke er sendt — typisk en planlagt påmindelse (`send_at`) til en tid, der er aflyst i jeres eget system Aflys en besked, der endnu ikke er sendt — typisk en planlagt påmindelse (`send_at`) til en tid, der er aflyst i jeres eget system. Beskeden står bagefter med `status: "cancelled"` og trækker ikke i puljen. Er den allerede taget af køen, svares der 409 med den status, den nåede at få. ```http DELETE https://api.telefonai.dk/v1/sms/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/sms/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/sms/verify — Send en verifikationskode til et nummer. Send en verifikationskode til et nummer. ```http POST https://api.telefonai.dk/v1/sms/verify ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/sms/verify" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # POST /v1/sms/verify/check — Tjek en kode Tjek en kode. Fem forsøg, så er koden brændt. ```http POST https://api.telefonai.dk/v1/sms/verify/check ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/sms/verify/check" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/sms/optout — Vis de numre, der er frameldt. Vis de numre, der er frameldt. ```http GET https://api.telefonai.dk/v1/sms/optout ``` ## Parametre - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/sms/optout" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/sms/optout — Læg et nummer på frameldingslisten Læg et nummer på frameldingslisten. Det samme nummer to gange er ikke en fejl. ```http POST https://api.telefonai.dk/v1/sms/optout ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/sms/optout" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/sms/optout — Tag et nummer af listen igen Tag et nummer af listen igen. Det er dit ansvar at have et samtykke bag — vi kan ikke se forskel. ```http DELETE https://api.telefonai.dk/v1/sms/optout ``` ## Parametre - `phone` (string, query, påkrævet) — Nummeret, der skal af listen. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/sms/optout" \ --url-query "phone=" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/events — Aflevér en hændelse. Aflevér en hændelse. ```http POST https://api.telefonai.dk/v1/events ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/events" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/resources — Vis behandlerne Vis behandlerne. Deres id er det, POST /v1/bookings skal bruge. ```http GET https://api.telefonai.dk/v1/resources ``` ## Parametre - `active` (boolean, query) — Udelad for at få alle. false giver kun de inaktive. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/resources" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/resources — Opret en behandler, eller ret en Opret en behandler, eller ret en. Udelad id for at oprette, send det med for at rette. ```http POST https://api.telefonai.dk/v1/resources ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/resources" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/resources/{id} — Hent én behandler Hent én behandler. Samme felter som i listen. ```http GET https://api.telefonai.dk/v1/resources/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/resources/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/resources/{id} — Ret behandleren Ret behandleren. Kun de felter, du sender, bliver ændret. En tom `title` rydder titlen. ```http PATCH https://api.telefonai.dk/v1/resources/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/resources/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/resources/{id} — Sætter behandleren INAKTIV — hun slettes ikke Sætter behandleren INAKTIV — hun slettes ikke. Hendes navn står på hver booking, hun har haft, og den historik skal blive. ```http DELETE https://api.telefonai.dk/v1/resources/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/resources/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/resource-hours — Behandlernes arbejdstider Behandlernes arbejdstider. Flere rækker samme dag er en DELT dag: 08–12 og 13–17. ```http GET https://api.telefonai.dk/v1/resource-hours ``` ## Parametre - `resource_id` (string, query) — Kun én behandlers tider. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/resource-hours" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/resource-hours — Sætter HELE ugen for én behandler — den erstatter det, der stod Sætter HELE ugen for én behandler — den erstatter det, der stod. En tom liste giver hende helt fri. Uden rækker kan hun ikke bookes: tomt betyder FRI, ikke altid. ```http POST https://api.telefonai.dk/v1/resource-hours ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/resource-hours" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/resource-absences — Fravær — ferie, sygdom, kursus Fravær — ferie, sygdom, kursus. Kun det, der ikke er overstået, medmindre du beder om alt. ```http GET https://api.telefonai.dk/v1/resource-absences ``` ## Parametre - `resource_id` (string, query) — Kun én behandler. - `all` (boolean, query) — true tager også det overståede med. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/resource-absences" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/resource-absences — Registrér fravær Registrér fravær. Tidspunkter, ikke datoer — en halv fridag er det almindelige. ```http POST https://api.telefonai.dk/v1/resource-absences ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/resource-absences" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/resource-absences/{id} — Hent ét fravær Hent ét fravær. Samme felter som i listen. ```http GET https://api.telefonai.dk/v1/resource-absences/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/resource-absences/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/resource-absences/{id} — Ret fraværet Ret fraværet. `resource_id` kan ikke ændres — hører fraværet til en anden behandler, så slet det og opret det på den rigtige. ```http PATCH https://api.telefonai.dk/v1/resource-absences/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/resource-absences/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/resource-absences/{id} — Fjerner fraværet Fjerner fraværet. Behandleren kan bookes i tidsrummet igen. ```http DELETE https://api.telefonai.dk/v1/resource-absences/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/resource-absences/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/booking-rules — De fire regler om, hvornår der må bookes: mindste varsel, hvor langt frem, pause efter hver tid og aflysningsfrist De fire regler om, hvornår der må bookes: mindste varsel, hvor langt frem, pause efter hver tid og aflysningsfrist. `null` betyder INGEN regel — ikke nul: nul minutters varsel er en holdning, et manglende varsel er fraværet af en. `window_days` svarer altid med det tal, der faktisk gælder; `window_days_set` siger, om klinikken selv har valgt det. ```http GET https://api.telefonai.dk/v1/booking-rules ``` ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/booking-rules" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/booking-rules — Ret reglerne Ret reglerne. Udelader du et felt, står det urørt; sender du `null`, fjernes reglen. De to er ikke det samme, og uden forskellen kunne en regel sættes, men aldrig fjernes igen. ```http PATCH https://api.telefonai.dk/v1/booking-rules ``` ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/booking-rules" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/opening-hours — Klinikkens åbningstider, én række pr Klinikkens åbningstider, én række pr. ugedag. ```http GET https://api.telefonai.dk/v1/opening-hours ``` ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/opening-hours" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/opening-hours — Sætter ÉN ugedag Sætter ÉN ugedag. Kaldet er en opdatering — den samme dag to gange giver ikke to rækker. ```http POST https://api.telefonai.dk/v1/opening-hours ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/opening-hours" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/closures — Lukkedage og ferier Lukkedage og ferier. Kun dem, der ikke er overstået, medmindre du beder om alt. ```http GET https://api.telefonai.dk/v1/closures ``` ## Parametre - `all` (boolean, query) — true tager også de overståede med. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/closures" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/closures — Opret en lukkedag eller en ferie Opret en lukkedag eller en ferie. Slutdagen er MED — 24-12 til 26-12 er tre lukkede dage. ```http POST https://api.telefonai.dk/v1/closures ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/closures" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/closures/{id} — Hent én lukkedag Hent én lukkedag. Samme felter som i listen. ```http GET https://api.telefonai.dk/v1/closures/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/closures/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/closures/{id} — Ret lukkedagen Ret lukkedagen. Sender du kun den ene dato, prøves den mod den, der allerede står — en periode, der slutter før den begynder, lukker ingenting. ```http PATCH https://api.telefonai.dk/v1/closures/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/closures/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/closures/{id} — Fjerner lukkedagen helt Fjerner lukkedagen helt. Her SLETTES der rigtigt — en lukkedag har ingen historik hængende på sig. ```http DELETE https://api.telefonai.dk/v1/closures/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/closures/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/assistants — Vis assistenterne med hilsen, instruktion, sprog og evner. Vis assistenterne med hilsen, instruktion, sprog og evner. ```http GET https://api.telefonai.dk/v1/assistants ``` ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/assistants" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/assistants — Ret en assistent Ret en assistent. id er påkrævet. Kun de felter, du sender med, ændres — resten står urørt. Den findes for dem, der allerede har skrevet imod den; nye integrationer bør bruge PATCH ovenfor. ```http POST https://api.telefonai.dk/v1/assistants ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/assistants" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/event-log — Hvorfor et opkald blev afvist, eller en besked ikke sendt Hvorfor et opkald blev afvist, eller en besked ikke sendt. Vi besvarer ikke længere et opkald for at sige, at linjen ikke kan tage imod — et svar koster taletid — så grunden står her i stedet. «reason» er en fast kode, du kan sammenligne på; teksten, der forklarer den for et menneske, står i fladen. Filtrér med «channel» (opkald, sms) og «reason», og bladr med «before» (ISO-tidsstempel) frem for et sidetal, fordi loggen får nye rækker hele tiden. ```http GET https://api.telefonai.dk/v1/event-log ``` ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/event-log" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/phone-numbers — Klinikkens numre, og hvilken assistent der tager hvert af dem Klinikkens numre, og hvilken assistent der tager hvert af dem. Kun læsning: et nummer koster penge hver måned og kan ikke rulles tilbage, når det først er tildelt en anden — det skal købes af et menneske, der ser prisen. Frigivne numre er ikke med; rækken bliver stående som historik, men den er ikke længere klinikkens. ```http GET https://api.telefonai.dk/v1/phone-numbers ``` ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/phone-numbers" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/assistants/{id} — Hent én assistent Hent én assistent. Samme felter som i listen. ```http GET https://api.telefonai.dk/v1/assistants/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/assistants/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/assistants/{id} — Ret en assistent Ret en assistent. Den samme handling som POST'en nedenfor, men på den adresse, du forventer. `voice_id` og `language` kan ikke sættes herfra: de skal kunne prøvelyttes, før de gemmes, og det sker i dashboardet. Der er ingen DELETE — et telefonnummer peger på assistenten, og forsvandt hun, ville nummeret ringe uden nogen til at tage den. Sluk hende med `active: false`. ```http PATCH https://api.telefonai.dk/v1/assistants/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/assistants/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/waitlist — Vis ventelisten i den rækkefølge, tilbuddene sendes: først til mølle. Vis ventelisten i den rækkefølge, tilbuddene sendes: først til mølle. ```http GET https://api.telefonai.dk/v1/waitlist ``` ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/waitlist" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/waitlist — Sæt en kontakt på listen Sæt en kontakt på listen. Hun skal FINDES og have et telefonnummer — ventelisten ringer ud. ```http POST https://api.telefonai.dk/v1/waitlist ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/waitlist" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/waitlist/{id} — Hent én linje Hent én linje. Kontaktens navn og nummer er med, som i listen. ```http GET https://api.telefonai.dk/v1/waitlist/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/waitlist/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/waitlist/{id} — Ret linjen Ret linjen. `contact_id` kan ikke ændres: pladsen i køen hører til den, der stillede sig i den, og «først til mølle» skal blive ved med at være sandt. ```http PATCH https://api.telefonai.dk/v1/waitlist/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/waitlist/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/waitlist/{id} — Tag personen af listen Tag personen af listen. Hun får ikke flere tilbud. ```http DELETE https://api.telefonai.dk/v1/waitlist/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/waitlist/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/webhooks — Vis modtagerne Vis modtagerne. Signeringshemmeligheden er IKKE med — den vises kun ved oprettelsen. ```http GET https://api.telefonai.dk/v1/webhooks ``` ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/webhooks" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/webhooks — Opret en modtager Opret en modtager. Svaret indeholder signing_secret — det er ENESTE gang, den udleveres. Gem den; er den tabt, laver du en ny med `POST /v1/webhooks/:id/rotate-secret`. ```http POST https://api.telefonai.dk/v1/webhooks ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/webhooks" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/webhooks/{id} — Hent én modtager Hent én modtager. `signing_secret` er ikke med — den forlader os kun i svaret på oprettelsen. ```http GET https://api.telefonai.dk/v1/webhooks/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/webhooks/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # PATCH /v1/webhooks/{id} — Ret adressen, hændelserne eller slå modtageren fra Ret adressen, hændelserne eller slå modtageren fra. Brug den frem for at slette og oprette igen: en ny modtager får en NY `signing_secret`, og din server vil afvise hver eneste leverance, indtil du har skiftet hemmeligheden med. Hemmeligheden skiftes ikke her, men med `POST /v1/webhooks/:id/rotate-secret`. ```http PATCH https://api.telefonai.dk/v1/webhooks/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request PATCH \ --url "https://api.telefonai.dk/v1/webhooks/" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/webhooks/{id} — Fjern modtageren Fjern modtageren. Der sendes ikke mere til den. ```http DELETE https://api.telefonai.dk/v1/webhooks/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/webhooks/" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/webhooks/{id}/test — Send et prøvekald til modtageren med det samme — den samme krop, de samme hoveder og den samme signatur som en rigtig levering, men med hændelsen `webhook.test`, som ingen rigtig hændelse hedder Send et prøvekald til modtageren med det samme — den samme krop, de samme hoveder og den samme signatur som en rigtig levering, men med hændelsen `webhook.test`, som ingen rigtig hændelse hedder. Brug den i din egen opsætning eller CI. Svaret er 200, også når DIN server fejler: `ok` siger, om den svarede med 2xx, og `error` siger, hvad der gik galt («HTTP 500: …», «timeout», «private_address»). Tæller ikke som en fejlet levering. ```http POST https://api.telefonai.dk/v1/webhooks/{id}/test ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/webhooks//test" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # POST /v1/webhooks/{id}/rotate-secret — Lav en ny signeringshemmelighed Lav en ny signeringshemmelighed. Den nye står i svaret — ENESTE gang, den udleveres — og den gamle holder op med at virke i samme sekund. Leveringer, der ligger i kø, signeres med den nye, når de sendes. Modtageren beholder sit id, sin leveringslog og sin kø, så du ikke skal slette og oprette igen. ```http POST https://api.telefonai.dk/v1/webhooks/{id}/rotate-secret ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/webhooks//rotate-secret" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/webhooks/{id}/deliveries — Leveringsloggen for modtageren, nyeste først: hændelse, status, antal forsøg, den kode din server svarede med, og fejlteksten Leveringsloggen for modtageren, nyeste først: hændelse, status, antal forsøg, den kode din server svarede med, og fejlteksten. Kroppen er IKKE med — den rummer navne og resuméer, og loggen skal kunne læses til fejlsøgning uden at blive en vej til patientdata. Hændelsens indhold slås op i den ressource, den handler om. ```http GET https://api.telefonai.dk/v1/webhooks/{id}/deliveries ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. - `limit` (integer, query) — Rækker pr. side. 1–100, standard 25. - `offset` (integer, query) — Rækker, der springes over. Standard 0. - `status` (string, query) — pending, delivered eller failed. ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/webhooks//deliveries" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/webhooks/{id}/redeliver — Send én levering igen — typisk en, der blev opgivet, mens din server var nede Send én levering igen — typisk en, der blev opgivet, mens din server var nede. Den lægges tilbage i køen med nulstillede forsøg og sendes med PRÆCIS samme krop, også samme `id` og `created`, så din egen deduplikering genkender den. En levering, der allerede ligger i kø, giver 409. `endpoint_disabled` i svaret fortæller, hvis modtageren er slået fra: slå den til med `PATCH`, ellers får den ikke nye hændelser. ```http POST https://api.telefonai.dk/v1/webhooks/{id}/redeliver ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/webhooks//redeliver" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # GET /v1/members — Vis holdet med rolle Vis holdet med rolle. user_id er koblingen til jeres egne brugere. ```http GET https://api.telefonai.dk/v1/members ``` ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/members" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # GET /v1/checkins — Hvem der er meldt ankommet lige nu Hvem der er meldt ankommet lige nu. Kræver bookings:read og IKKE checkin:write: en ankomstskærm skal kunne markere og ikke kunne læse en liste med navne. called_at er sat, når receptionen har trykket «Kaldt ind» — så sidder hun ikke længere derude. ```http GET https://api.telefonai.dk/v1/checkins ``` ## Eksempel ```bash curl --request GET \ --url "https://api.telefonai.dk/v1/checkins" \ --header "Authorization: Bearer $API_NOEGLE" ``` --- # POST /v1/checkins — Markér en aftale som ankommet Markér en aftale som ankommet. Peg på den med præcis ét af de fire felter. Svaret er ALTID 200 — også når der ikke blev fundet en tid; kroppen siger ok true eller false med en grund. Kunne de to skelnes, ville endepunktet kunne bruges til at spørge, om et menneske er patient hos klinikken. Undtagelsen er 429 rate_limited: opslag på person (cpr_hmac, birth_date, phone) er begrænset til 60 forsøg i timen pr. klinik; booking_id tæller ikke med. ```http POST https://api.telefonai.dk/v1/checkins ``` ## Parametre - `Idempotency-Key` (string, header) — Repeat a request safely: the same key returns the first response instead of creating a second row. Kept for 24 hours. ## Eksempel ```bash curl --request POST \ --url "https://api.telefonai.dk/v1/checkins" \ --header "Authorization: Bearer $API_NOEGLE" \ --header "Content-Type: application/json" \ --data '{}' ``` --- # DELETE /v1/checkins/{id} — Fortryd en markering Fortryd en markering. Bookingen bliver stående — kun ankomsten fjernes. ```http DELETE https://api.telefonai.dk/v1/checkins/{id} ``` ## Parametre - `id` (string, path, påkrævet) — The id of the resource. ## Eksempel ```bash curl --request DELETE \ --url "https://api.telefonai.dk/v1/checkins/" \ --header "Authorization: Bearer $API_NOEGLE" ``` ---