formbasedocs
Gå til appenAppen

Utviklere

API-metoder

Komplett referanse for alle metoder i formbase REST API. Hver metode viser parametere, eksempelforespørsler og responsformat.


Ett endepunkt, mange metoder

Alle metoder er POST https://api.formbase.so/api/v1 med en JSON-kropp {"method": "...", "params": {...}} og en Authorization: Bearer fb_…-header. Se API-oversikt for autentisering og feilhåndtering, og API-tokens for selve tokenet.

Konvensjoner

  • params kan utelates; den er som standard {}. En ukjent metode gir 404 METHOD_NOT_FOUND.

  • Et token er bundet til én arbeidsområde. Å navngi en annen arbeidsområde, eller et skjema i én, gir 403 FORBIDDEN, selv om du tilhører begge.

  • Paginering. Listemetoder returnerer { items, nextCursor, hasMore }; de fleste returnerer også canPaginate, som er false når hasMore er sann, men ingen markør kan fortsette (uskarpt søk). Send nextCursor tilbake som cursor. limit er 1–100, standard 20 — bortsett fra requests.list, hvis standard er 25.

  • Hastighetsbegrensninger. 120 kall per minutt per token, delt med MCP-serveren; requests.create har sin egen grense på 60 per minutt. Mislykket autentisering begrenses separat, 30 per 15 minutter per IP, hvoretter ugyldige tokens ser RATE_LIMITED i stedet for UNAUTHORIZED.

  • Kroppsstørrelse. 1 MiB. Større kropper avvises med VALIDATION_ERROR.

  • Versjonering. Stien bærer versjonen. Brytende endringer sendes som /api/v2; nye metoder og nye responsfelt gjør det ikke.

Skjemaer

forms.list

List opp skjemaer i en arbeidsområde. Støtter markørpaginering og valgfritt uskarpt navnesøk.

POSThttps://api.formbase.so/api/v1
Parametere5
workspaceIdstringrequired

Arbeidsområdeens ID.

folderIdstring | nulloptional

Filtrer etter mappe. Send null for kun skjemaer på rotnivå. Utelat for å liste alle.

querystringoptional

Uskarpt navnesøk. Resultater begrenses til limit; støtter ikke markørpaginering.

limitnumberoptionaldefault: 20

Sidestørrelse (1–100).

cursorstringoptional

Pagineringsmarkør fra et tidligere svar.

bash
curl -X POST https://api.formbase.so/api/v1 \
  -H "Authorization: Bearer fb_..." \
  -H "Content-Type: application/json" \
  -d '{
    "method": "forms.list",
    "params": { "workspaceId": "ws_abc123" }
  }'
200Vellykket
json
{
  "ok": true,
  "data": {
    "items": [
      {
        "id": "frm_abc123",
        "name": "Contact Form",
        "folderId": null,
        "workspaceId": "ws_abc123",
        "isPublished": true,
        "publishedAt": 1714041851000,
        "unpublishedAt": null,
        "createdAt": 1714041800000,
        "lastEditedAt": 1714042000000,
        "emoji": null
      }
    ],
    "nextCursor": null,
    "hasMore": false,
    "canPaginate": false
  }
}
400Manglende workspaceId
401Ugyldig eller manglende API-token
429Hastighetsbegrensning overskredet

forms.get

Hent fullstendige detaljer for et enkelt skjema, inkludert spørsmål, forsidebilde, logo og en forhåndsvisnings-URL.

POSThttps://api.formbase.so/api/v1
Parametere1
formIdstringrequired

Skjemaets ID.

bash
curl -X POST https://api.formbase.so/api/v1 \
  -H "Authorization: Bearer fb_..." \
  -H "Content-Type: application/json" \
  -d '{
    "method": "forms.get",
    "params": { "formId": "frm_abc123" }
  }'
200Vellykket
json
{
  "ok": true,
  "data": {
    "id": "frm_abc123",
    "name": "Event Feedback",
    "folderId": null,
    "workspaceId": "ws_abc123",
    "isPublished": true,
    "publishedAt": 1714041851000,
    "unpublishedAt": null,
    "createdAt": 1714041800000,
    "lastEditedAt": 1714042000000,
    "emoji": null,
    "questions": [
      {
        "id": "q_1",
        "type": "email-input",
        "inputType": "email",
        "title": "Your email",
        "metadata": null
      },
      {
        "id": "q_2",
        "type": "rating-input",
        "inputType": "rating",
        "title": "Overall experience",
        "metadata": { "kind": "rating", "maxStars": 5 }
      }
    ],
    "hasContent": true,
    "cover": null,
    "logo": null,
    "isDeleted": false,
    "trashedAt": null,
    "previewUrl": "https://formbase.so/preview/abc..."
  }
}
400Manglende formId
404Skjema ikke funnet

forms.create

Opprett et nytt tomt skjema. Returnerer skjemaet og en forhåndsvisnings-URL.

POSThttps://api.formbase.so/api/v1
Parametere3
namestringrequired

Skjemaets navn (1–255 tegn).

workspaceIdstringrequired

Arbeidsområdeens ID.

folderIdstringoptional

Plasser skjemaet i en mappe. Utelat for å opprette på arbeidsområdeens rotnivå.

200Skjema opprettet
json
{
  "ok": true,
  "data": {
    "id": "frm_new123",
    "name": "Contact",
    "workspaceId": "ws_abc123",
    "folderId": null,
    "isPublished": false,
    "createdAt": 1714041851000,
    "previewUrl": "https://formbase.so/preview/abc..."
  }
}
400Manglende name eller workspaceId
401Ugyldig eller manglende API-token

forms.update

Oppdater skjemametadata: navn, mappe, emoji, forsidebilde eller logo. Oppdaterer ikke skjemainnholdet (bruk redigeringsverktøyene for det).

POSThttps://api.formbase.so/api/v1
Parametere6
formIdstringrequired

Skjemaets ID.

namestringoptional

Nytt skjemanavn (1–255 tegn).

folderIdstring | nulloptional

Flytt skjemaet til en mappe. Send null for å flytte til arbeidsområdeens rotnivå.

emojistring | nulloptional

Skjemaets emoji (maks 10 tegn). Send null for å fjerne.

coverobjectoptional

Forsidebilde. {"type": "color", "color": "#ffffff"}, {"type": "image", "url": "https://...", "offsetY": 50} (offsetY 0–100, standard 50), eller {"type": "none"} for å fjerne. Bilde-URL-er må være http(s) eller en data:image-URI.

logoobjectoptional

Logo. {"type": "icon", "name": "HeartIcon"}, {"type": "image", "url": "https://..."}, eller {"type": "none"} for å fjerne. Ikonnavnene er faste: QuestionMarkIcon, ListBulletsIcon, ChartBarIcon, ClockCountdownIcon, HeartIcon, LightbulbIcon, CheckCircleIcon, MagnifyingGlassIcon, TrendUpIcon, EnvelopeIcon, PhoneIcon, CalendarIcon, LinkIcon, UsersIcon.

Send minst ett av de fem oppdaterbare feltene. Det endrer ikke skjemainnholdet — bruk MCP-redigeringsverktøyene for det.

bash
curl -X POST https://api.formbase.so/api/v1 \
  -H "Authorization: Bearer fb_..." \
  -H "Content-Type: application/json" \
  -d '{
    "method": "forms.update",
    "params": {
      "formId": "frm_abc123",
      "name": "Updated Name",
      "emoji": "📋"
    }
  }'
200Skjema oppdatert
json
{
  "ok": true,
  "data": {
    "id": "frm_abc123",
    "name": "Updated Name",
    "folderId": null,
    "emoji": "📋"
  }
}

cover og logo kommer bare tilbake når du sendte dem. En nyttelast som matchet gjeldende tilstand på hvert skalarfelt legger til noChange: true.

forms.publish

Publiser et skjema slik at det kan motta svar, og fryser feltnøklene i et nytt øyeblikksbilde. Idempotent: et allerede publisert skjema returnerer suksess med alreadyPublished: true, og et upublisert skjema publiseres på nytt fra sitt siste øyeblikksbilde.

POSThttps://api.formbase.so/api/v1
Parametere1
formIdstringrequired

Skjemaets ID.

Et skjema med innholdsblokker, men ingen spørsmål, publiseres med en advarsel. Et skjema uten noe innhold i det hele tatt kan ikke publiseres. Publisering oppretter ikke en offentlig URL — kall shareLinks.create for det.

forms.unpublish

Ta et skjema offline. Respondenter kan ikke lenger åpne det. Idempotent — et skjema som ikke er publisert returnerer alreadyUnpublished: true. Reversibelt med forms.publish.

POSThttps://api.formbase.so/api/v1
Parametere1
formIdstringrequired

Skjemaets ID.

forms.delete

Flytt et skjema til papirkurven. De aktive delingslenkene tilbakekalles, slik at de offentlige URL-ene slutter å fungere.

POSThttps://api.formbase.so/api/v1
Parametere1
formIdstringrequired

Skjemaets ID.

forms.restore

Gjenopprett et skjema fra papirkurven.

POSThttps://api.formbase.so/api/v1
Parametere2
formIdstringrequired

Skjemaets ID.

folderIdstring | nulloptional

Hvor det skal gjenopprettes. Utelat for den opprinnelige mappen, null for arbeidsområdeens rotnivå, eller en mappe-ID.

Et skjema som ikke er i papirkurven returnerer alreadyRestored: true.

formSettings.get

Les et skjemas atferdsinnstillinger.

POSThttps://api.formbase.so/api/v1
Parametere1
formIdstringrequired

Skjemaets ID.

Returnerer { settings, isDefault, availableEmailDomains, defaultFromAddress, payment }. isDefault er sann når skjemaet ennå ikke har en lagret innstillingsrad, og du ser standardverdiene. availableEmailDomains inneholder ID-ene til de verifiserte domenene du kan sende som emailDomainId, og payment forteller om Stripe er tilkoblet (å koble det til er et steg i dashbordet).

formSettings.update

Oppdater et skjemas atferdsinnstillinger. En delvis oppdatering: bare feltene du sender, skrives.

POSThttps://api.formbase.so/api/v1
Parametere8
formIdstringrequired

Skjemaets ID.

Tilganggroupoptional

language (BCP-47, standard “en”), requireAuthentication, showBranding, captchaEnabled, passwordEnabled, password (4 tegn eller mer; en streng innebærer passwordEnabled: true, null fjerner sperren).

Eiervarslergroupoptional

notifyOnSubmission, notificationEmails (array), selfNotificationSubject, selfNotificationEmailBody, pdfGenerationEnabled, showViewSubmissionButton. E-poster til eieren er ikke oversettbare — skriv dem på språket du vil ha.

Respondentvarslergroupoptional

respondentNotificationEnabled, respondentNotificationTo (felt-IDen til et e-postspørsmål, eller null), respondentNotificationSubject, respondentNotificationBody, respondentNotificationPdfEnabled.

Påminnelsergroupoptional

respondentReminderEnabled, respondentReminderTo, respondentReminderSubject, respondentReminderBody, respondentReminderRequiredFieldIds, og reminderSteps — inaktivitets- intervaller som [“1d”,“3d”,“1w”], maks 5, sortert og deduplisert ved lagring, [] for ingen. Planen gjelder både for forlatte offentlig-lenke-svar og for forespørsler. Pro.

Etter innsendinggroupoptional

redirectUrl (http(s); null eller “” fjerner), redirectQueryParams ( [{ paramName, fieldId }]), allowAnotherResponse (gjensidig utelukkende med en omdirigering), maxSubmissionsPerRespondent (0 = ubegrenset, maks 1000), editAfterSubmit, maxEdits (maks 3; 0 betyr ubegrenset på Pro og Business, 3 på Free).

Oppbevaringgroupoptional

draftRetentionDays og submissionRetentionDays (0–36500, null går tilbake til standard). Innsendingsoppbevaring er Business, og å sette den fjerner enhver fast slettedato konfigurert i skjemaverktøyet.

emailDomainIdstring | nulloptional

En verifisert e-postdomene-ID fra formSettings.get, for en egendefinert Fra-adresse. null tilbakestiller til standardavsenderen.

Emner og meldingstekster er ren tekst og godtar {{variable}}-plassholdere; linjeskift blir avsnitt. Å tilpasse et respondent-emne eller en respondent-melding gjør den oversettbar, så nøklene dukker opp i translations.listEntries med én gang.

Innsendinger

submissions.list

List opp et skjemas innsendinger, nyeste side først, med markørpaginering.

POSThttps://api.formbase.so/api/v1
Parametere5
formIdstringrequired

Skjemaets ID.

includeDraftsbooleanoptionaldefault: true

Inkluder svar som ble påbegynt, men aldri sendt inn. Kladder er en Pro-funksjon: på Gratis listes bare fullførte innsendinger.

translationLanguagestringoptional

Legg ved lagrede AI-oversettelser av svarene under items[].translation.display, nøkkelsatt som display. items[].answers og items[].display forblir alltid originalen.

limitnumberoptionaldefault: 20

Sidestørrelse (1–100).

cursorstringoptional

Pagineringsmarkør fra et tidligere svar.

200Vellykket
json
{
  "ok": true,
  "data": {
    "formId": "frm_abc123",
    "formName": "Event Feedback",
    "items": [
      {
        "id": "sub_xyz789",
        "submittedAt": "2026-05-18 18:02:28",
        "isCompleted": true,
        "createdAt": "2026-05-18 18:02:19",
        "answers": {
          "email": "user@example.com",
          "plan": "pro",
          "contacts": [{ "name": "Ada" }, { "name": "Grace" }]
        },
        "display": {
          "email": "user@example.com",
          "plan": "Pro",
          "contacts": "Ada, Grace"
        }
      }
    ],
    "nextCursor": null,
    "hasMore": false,
    "canPaginate": false
  }
}

Samme svar som webhooks og callbacks

Hvert element bærer answers nøkkelsatt etter feltnøkkel og display med de samme nøklene som lesbar tekst — samme form som en webhook-nyttelast, en forespørsel-callback og requests.get bærer. Et valgsvar er sin valgnøkkel, en gjentakende gruppe et array av instanser. Kall fields.list for tittelen og valgetikettene til hver nøkkel. Denne metoden returnerer ingen totaler.

submissions.pdf

Hent en lenke til én innsendings PDF. Bygget for Zapier-kobleren: den returnerer et resultat bare når skjemaet har en aktiv Zapier-integrasjon konfigurert til å inkludere PDF-en, og PDF-en ble beholdt.

POSThttps://api.formbase.so/api/v1
Parametere2
formIdstringrequired

Skjemaets ID.

submissionIdstringrequired

Innsendingens ID. Må tilhøre det skjemaet og være fullført.

200Vellykket
json
{
  "ok": true,
  "data": {
    "url": "https://api.formbase.so/api/storage/...",
    "filename": "formbase-submission-sub_xyz789.pdf",
    "contentType": "application/pdf",
    "byteLength": 148213
  }
}
404Ingen beholdt PDF for en Zapier-integrasjon på denne innsendingen

submissions.sample

Bygg en syntetisk eksempel-nyttelast for et skjema, uten ekte data. Det er nøyaktig samme form som en webhook-leveranse for en delelenke-innsending bærer, så koblere bruker den til feltoppdagelse; en innsending som stammer fra en forespørsel når i stedet et abonnement som request.completed, samplet av

requests.sample. data.form.snapshotId er skjemaets gjeldende publiserte versjon, samme id som live-hendelser bærer, eller null mens skjemaet er upublisert.

POSThttps://api.formbase.so/api/v1
Parametere1
formIdstringrequired

Skjemaets ID.

200Eksempel generert
json
{
  "ok": true,
  "data": {
    "id": "evt_example000000000000",
    "type": "submission.completed",
    "createdAt": "2026-05-18T19:00:00.000Z",
    "apiVersion": "2026-09-24",
    "test": true,
    "data": {
      "form": { "id": "frm_abc123", "name": "Event Feedback", "snapshotId": "js7abc123" },
      "submission": {
        "id": "sub_example000000000000",
        "respondentEmail": "respondent@example.com",
        "submittedAt": "2026-05-18T19:00:00.000Z",
        "updatedAt": null,
        "editCount": 0,
        "pdfUrl": null,
        "language": "en"
      },
      "answers": { "your_email": "john@example.com" },
      "display": { "your_email": "john@example.com" }
    }
  }
}

Felt- og nyttelastsemantikk er dokumentert ett sted, i webhooks-referansen.

Felt

fields.list

List opp hvert felt i et skjemas nåværende publiserte versjon, med nøkkelen du adresserer det med. Kall denne før requests.create i stedet for å hardkode nøkler. Se Feltnøkler.

POSThttps://api.formbase.so/api/v1
Parametere1
formIdstringrequired

Skjema-ID. Et skjema som aldri har blitt publisert, har ingen feltnøkler ennå og svarer med published: false uten elementer.

bash
curl -X POST https://api.formbase.so/api/v1 \
  -H "Authorization: Bearer fb_..." \
  -H "Content-Type: application/json" \
  -d '{
    "method": "fields.list",
    "params": { "formId": "j57..." }
  }'
200Vellykket
json
{
  "ok": true,
  "data": {
    "published": true,
    "items": [
      { "key": "company_name", "type": "text", "title": "Company", "required": true, "prefillable": true },
      {
        "key": "company_size", "type": "select", "title": "Company size", "required": false, "prefillable": true,
        "options": [
          { "key": "1_50", "label": "1–50" },
          { "key": "51_200", "label": "51–200" }
        ]
      },
      {
        "key": "satisfaction", "type": "matrix", "title": "How did we do?", "required": false, "prefillable": true,
        "rows": [{ "key": "delivery_speed", "label": "Delivery speed" }],
        "columns": [{ "key": "very_good", "label": "Very good" }, { "key": "poor", "label": "Poor" }]
      },
      { "key": "case_id", "type": "hidden", "title": "Case", "required": false, "prefillable": false, "context": true },
      { "key": "total", "type": "number", "title": "Total", "required": false, "prefillable": false, "calculated": true }
    ],
    "hasMore": false
  }
}

Å lese flaggene

context: true merker et skjult felt — verdien hører hjemme i context, aldri i prefill. prefillable: false merker et felt ingen kan oppgi en verdi for (fil, signatur, betaling, avtalebooking, dokumenter). For et valgspørsmål, send alternativets nøkkel, ikke etiketten; en matrise lister rows og columns på samme måte, og tar { "row_key": "column_key" }. calculated: true merker et beregnet felt: skjemaet regner ut verdien, du leser den tilbake i answers, og ingenting kan sende den.

En gjentakende gruppe er type: “group” med repeating: true og en members-array. En dokumentblokk er type: “documents” og bærer documents: [{ name }], de faste filene enhver respondent allerede ser.

400Manglende formId
404Skjema ikke funnet

Forespørsler

En forespørsel tildeler ett publisert skjema til én person og kaller deg tilbake når den avsluttes. Den begrepsmessige guiden finnes i Opprette en forespørsel; dette er parameterlisten.

requests.create

Opprett en forespørsel. Bruker én enhet av arbeidsområdens månedlige kvote, uansett om mottakeren svarer eller ikke.

POSThttps://api.formbase.so/api/v1
Parametere16
formIdstringrequired

Det publiserte skjemaet som skal tildeles.

recipientobjectoptional

{ email?, name? }. En e-post kreves når delivery er “email”; ellers identifiserer den bare personen på Forespørsler-siden og på svarene deres.

prefillobjectoptional

Startsvar etter feltnøkkel. Mottakeren ser dem og kan endre dem.

readonlystring[]optional

Forhåndsutfylte nøkler mottakeren ikke kan endre. Hver nøkkel her må også finnes i prefill, og et låst, obligatorisk felt må forhåndsutfylles med en verdi som ikke er tom.

contextobjectoptional

Verdier for skjemaets skjulte felt, etter feltnøkkel. Tiltrodd, uendelig, og gjentatt tilbake i callbacken. En ukjent nøkkel avvises med UNKNOWN_FIELD_KEY.

metadataobjectoptional

Din egen bokføring. Når aldri skjemaet; kommer tilbake i callbacks og avlesninger.

languagestringoptional

Ett av skjemaets publiserte språk. Standard er skjemaets eget standardspråk.

deliverystringoptionaldefault: none

“email” for å la formbase sende invitasjonen (krever en mottaker-e-post, og Pro eller Business eller en av de 10 gratis invitasjonene til en Gratis-konto), eller “none” for å levere lenken selv.

remindersstring[]optional

Overstyrer skjemaets påminnelsesplan for denne forespørselen. En tom array slår av påminnelser.

expiresAtnumberoptional

Epoke-millisekunder. Standard er 30 dager frem; 365 dager er maksimum.

callbackUrlstringoptional

Hvor formbase POST-er callbacken når forespørselen avsluttes. Kun HTTPS, og verten må løses til en offentlig adresse.

externalIdstringoptional

Din egen ID for denne forespørselen. Kan filtreres på i requests.list.

idempotencyKeystringoptional

Gjentar du den med samme body, får du den opprinnelige forespørselen tilbake med deduplicated: true. En annen body avvises. Nøkler lever i 30 dager.

domainIdstringoptional

Utsted lenken på ett av dine egendefinerte domener. Kun REST API.

documentsobject[]optional

[{ documentId, field?, name? }] — filer gitt til denne ene mottakeren, lastet opp først med documents.create.

testbooleanoptionaldefault: false

En tørrkjøring: ingenting sendes på e-post, callbacken bærer “test”: true, og innsendingen teller ingen steder. Lenken lukkes innen 24 timer, og på Free kan et workspace opprette 10 testforespørsler per dag.

bash
curl -X POST https://api.formbase.so/api/v1 \
  -H "Authorization: Bearer fb_..." \
  -H "Content-Type: application/json" \
  -d '{
    "method": "requests.create",
    "params": {
      "formId": "j57...",
      "recipient": { "email": "ada@acme.com", "name": "Ada" },
      "prefill": { "company_name": "Acme" },
      "readonly": ["company_name"],
      "context": { "case_id": "CASE-9" },
      "delivery": "email",
      "externalId": "run-42",
      "callbackUrl": "https://automation.example/webhook/resume-abc",
      "idempotencyKey": "run-42"
    }
  }'
200Vellykket
json
{
  "ok": true,
  "data": {
    "id": "kd7...",
    "status": "pending",
    "url": "https://form.formbase.so/r/rq_...",
    "deliveryStatus": "queued",
    "expiresAt": 1794787200000,
    "createdAt": 1789379200000,
    "externalId": "run-42",
    "deduplicated": false
  }
}

deliveryStatus er not_requested til en invitasjon er satt i kø, deretter queued → sent eller failed, og bounced når e-postleverandøren rapporterer en hard retur eller en klage.

400Ukjent feltnøkkel, feil verdiform, eller en låst nøkkel som ikke er forhåndsutfylt
400Skjemaet er ikke publisert (FORM_NOT_PUBLISHED), eller callbackUrl er ikke tillatt (CALLBACK_URL_NOT_ALLOWED)
402Månedlig kvote brukt opp (MONTHLY_ALLOWANCE_REACHED), gratis invitasjoner brukt opp (FREE_INVITATIONS_USED), eller påminnelser på Gratis
404Skjema ikke funnet
409Idempotensnøkkel gjenbrukt med en annen body (IDEMPOTENCY_CONFLICT)
429Mer enn 60 requests.create-kall på ett minutt på dette tokenet, eller den 11. testforespørselen på en dag i et Free-workspace (TEST_REQUEST_LIMIT_REACHED)

requests.get

Hent én forespørsel i sin helhet: status, utfall, hva som ble forhåndsutfylt, tidslinjen, og — når fullført — answers og display etter feltnøkkel, de samme to kartene callbacken bærer.

POSThttps://api.formbase.so/api/v1
Parametere1
requestIdstringrequired

Forespørsels-ID.

200Vellykket
json
{
  "ok": true,
  "data": {
    "id": "kd7...",
    "formId": "j57...",
    "status": "completed",
    "outcome": "approve",
    "isTest": false,
    "recipient": { "email": "ada@acme.com", "name": "Ada" },
    "language": "en",
    "externalId": "run-42",
    "metadata": null,
    "context": { "case_id": "CASE-9" },
    "prefill": { "company_name": "Acme" },
    "readonlyKeys": ["company_name"],
    "delivery": "email",
    "deliveryStatus": "sent",
    "hasCallback": true,
    "callbackFailedAt": null,
    "submissionId": "kp2...",
    "url": "https://form.formbase.so/r/rq_...",
    "answers": { "company_name": "Acme", "decision": "approve" },
    "display": { "company_name": "Acme", "decision": "Approve" },
    "timeline": [
      { "id": "kd7...:created", "type": "created", "at": 1789379200000 },
      { "id": "kd7...:completed", "type": "completed", "at": 1789465600000 }
    ],
    "expiresAt": 1794787200000,
    "completedAt": 1789465600000
  }
}

outcome vs status

status sier om forespørselen ble fullført; outcome sier hva mottakeren bestemte — approve, decline, changes, eller null på alt annet enn en fullført forespørsel der mottakeren valgte én av de tre — inkludert et skjema uten beslutningsspørsmål. Selve callback-URL-en returneres aldri; hasCallback sier bare om én er satt.

Eksempelet ovenfor er forkortet. Et fullstendig svar bærer også workspaceId, formSnapshotId, createdVia, documents, reminderStep, remindersSent, reminderDueAt, dataPurgedAt, og resten av tidsstemplene (updatedAt, openedAt, startedAt, lastActivityAt, expiredAt, canceledAt, canceledBy, cancelReason).

To felt forteller deg når kopien foran deg er den eneste kopien. callbackFailedAt er satt mens denne forespørselens callback har gått tom for forsøk, og fjernes så snart ett kommer gjennom eller du spiller det av på nytt. dataPurgedAt settes når oppbevaringspolicyen har fjernet forespørselen: context, prefill og metadata kommer tilbake tomme, readonlyKeys og documents er [], og submissionId, answers og display er null.

timeline er utledet, eldste først. Hver oppføring har en id, en at, og en type — created, invitation, reminder, opened, started, completed, expired, canceled, callback. Leveringsoppføringer legger til deliveryStatus og attemptCount, og callbacks legger til eventType. Leveringsrader beholdes i 30 dager, så eldre tidslinjer tynnes tilbake til tidsstemplene.

404Forespørsel ikke funnet (REQUEST_NOT_FOUND)

requests.list

List forespørsler i en arbeidsområde eller på ett skjema, nyeste først. Testforespørsler utelates med mindre du ber om dem.

POSThttps://api.formbase.so/api/v1
Parametere8
workspaceIdstringoptional

Avgrens til en arbeidsområde. Oppgi denne eller formId.

formIdstringoptional

Avgrens til ett skjema.

statusstringoptional

pending, completed, expired, eller canceled.

outcomestringoptional

approve, decline, eller changes. Antyder fullførte forespørsler kun.

externalIdstringoptional

Din egen ID, for å finne forespørselen en kjøring opprettet.

includeTestbooleanoptionaldefault: false

Inkluder forespørsler opprettet med test: true.

limitnumberoptionaldefault: 25

Sidestørrelse (1–100).

cursorstringoptional

Pagineringsmarkør fra et tidligere svar.

200Vellykket
json
{
  "ok": true,
  "data": {
    "items": [
      {
        "id": "kd7...",
        "formId": "j57...",
        "status": "pending",
        "outcome": null,
        "recipient": { "email": "ada@acme.com", "name": "Ada" },
        "externalId": "run-42",
        "deliveryStatus": "sent",
        "expiresAt": 1794787200000,
        "createdAt": 1789379200000
      }
    ],
    "nextCursor": null,
    "hasMore": false
  }
}

Elementer i listen har de samme feltene som requests.get minus url, answers, display, og timeline, og hver har isTest. Oppgi workspaceId eller formId — ingen av dem gir 400 VALIDATION_ERROR med årsak SCOPE_REQUIRED. outcome overstyrer status, siden bare en fullført forespørsel har en avgjørelse.

requests.cancel

Trekk tilbake en ventende forespørsel. Lenken slutter å fungere, mottakeren ser en melding om at den er trukket tilbake, og en request.canceled-callback utløses.

POSThttps://api.formbase.so/api/v1
Parametere2
requestIdstringrequired

Forespørsels-ID.

reasonstringoptional

Ditt notat om hvorfor, beholdt på forespørselen og sendt i callbacken.

200Den kansellerte forespørselen
409Allerede fullført, utløpt, eller kansellert (REQUEST_NOT_PENDING)

requests.remind

Send e-post til mottakeren nå, uten å røre påminnelsesplanen. Krever en mottaker-e-post og en Pro- eller Business-plan.

POSThttps://api.formbase.so/api/v1
Parametere1
requestIdstringrequired

Forespørsels-ID. Må fortsatt være ventende, og ikke en testforespørsel.

To grenser gjelder: minst 10 minutter mellom manuelle påminnelser, og maks 8 påminnelser per forespørsel totalt, manuelle og planlagte til sammen. Den automatiske planen røres ikke — reminderStep og reminderDueAt forblir der de var.

200Forespørselen, med remindersSent økt
400Ingen mottaker-e-post på forespørselen (RECIPIENT_EMAIL_REQUIRED)
402Forespørselspåminnelser krever Pro eller Business (UPGRADE_REQUIRED)
409Ikke ventende (REQUEST_NOT_PENDING), for tidlig (REMINDER_TOO_SOON, med details.retryAfterMs), tak nådd (REMINDER_CAP_REACHED), eller en testforespørsel (TEST_REQUEST)

requests.replayCallback

Send på nytt callbacken en forespørsel utløste da den avsluttet — samme nyttelast, samme hendelses-ID, slik at en mottaker som allerede håndterte den kan avduplisere. Bruk den etter å ha fikset et ødelagt endepunkt.

POSThttps://api.formbase.so/api/v1
Parametere1
requestIdstringrequired

Forespørsels-ID. Må være fullført, utløpt, eller kansellert.

200Vellykket
json
{
  "ok": true,
  "data": { "dispatchId": "kf9...", "eventId": "evt_kf9..." }
}
409Fortsatt ventende, så det finnes ingen endelig callback å spille av (REQUEST_NOT_TERMINAL)
409Forespørselen ble opprettet uten en callbackUrl (NO_CALLBACK_TO_REPLAY)

requests.sample

Bygg en syntetisk eksempel-forespørselshendelse for et skjema, uten noen ekte forespørsel. Det er nøyaktig samme konvolutt et request_*-abonnement opprettet med webhooks.create mottar, så koblere bruker den til feltoppdagelse. En fullført eksempelhendelse bærer de samme eksempelsvarene submissions.sample viser; en utløpt eller kansellert eksempelhendelse bærer bare request-blokken.

POSThttps://api.formbase.so/api/v1
Parametere2
formIdstringrequired

Skjemaets ID.

eventTypestringrequired

Hvilken avslutning som skal vises som eksempel, i webhooks.create-stavemåten. Konvoluttens type er den punktum-delte formen.

request_completedrequest_expiredrequest_canceled
200Eksempel generert
json
{
  "ok": true,
  "data": {
    "id": "evt_example000000000000",
    "type": "request.completed",
    "createdAt": "2026-05-18T19:00:00.000Z",
    "apiVersion": "2026-09-24",
    "test": true,
    "data": {
      "request": {
        "id": "req_example000000000000",
        "externalId": "order-1234",
        "status": "completed",
        "language": "en",
        "recipient": { "email": "recipient@example.com", "name": "Sample Recipient" },
        "metadata": { "source": "sample" },
        "context": {},
        "createdAt": "2026-05-18T18:00:00.000Z",
        "completedAt": "2026-05-18T19:00:00.000Z"
      },
      "form": { "id": "frm_abc123", "name": "Event Feedback", "snapshotId": "js7abc123" },
      "submission": {
        "id": "sub_example000000000000",
        "respondentEmail": "respondent@example.com",
        "submittedAt": "2026-05-18T19:00:00.000Z",
        "updatedAt": null,
        "editCount": 0,
        "pdfUrl": null,
        "language": "en"
      },
      "answers": { "your_email": "john@example.com" },
      "display": { "your_email": "john@example.com" }
    }
  }
}

Request-blokken og utfallet er dokumentert på callbacks-siden; innsendings-halvparten på webhooks-referansen. Eksempel-IDene er de faste plassholderne vist ovenfor, og test er true, slik at en mottaker kan skille et eksempel fra en ekte hendelse.

documents.create

Reserver en opplasting for en fil du skal gi til én mottaker gjennom skjemaets dokumentblokk. Bytene reiser aldri gjennom dette API-et: du får en forhåndssignert PUT, du laster opp, og requests.create verifiserer objektet før forespørselen finnes.

POSThttps://api.formbase.so/api/v1
Parametere5
formIdstringrequired

Skjemaet hvis dokumentblokk skal vise filen. Avgrenser opplastingen til den arbeidsområden.

namestringrequired

Visningsnavnet mottakeren ser (1–200 tegn). Kan overstyres per forespørsel.

contentTypestringrequired

application/pdf eller en bildetype: image/png, image/jpeg, image/webp, image/gif, image/svg+xml, image/avif, image/bmp, image/tiff. Office-dokumenter godtas ikke.

sizenumberrequired

Eksakt byte-lengde. Maksimalt 25 MB (26 214 400).

sha256stringoptional

Hex-sammendrag av bytene. Verifiseres etter opplasting når det er oppgitt.

200Opplasting reservert
json
{
  "ok": true,
  "data": {
    "id": "kn7...",
    "name": "Lease contract draft",
    "contentType": "application/pdf",
    "size": 412000,
    "uploadUrl": "https://...",
    "expiresAt": 1792198800000
  }
}

PUT de rå bytene til uploadUrl innen timen, med Content-Type satt til typen du oppga, og referer deretter ID-en fra requests.create:

json
{
  "method": "requests.create",
  "params": {
    "formId": "j57...",
    "documents": [
      { "documentId": "kn7...", "name": "Your lease contract" },
      { "documentId": "kn8...", "field": "attachments" }
    ]
  }
}
  • field er dokumentblokkens feltnøkkel. Valgfri når skjemaet har nøyaktig én blokk; påkrevd med to eller flere.

  • Blokkens faste dokumenter blir stående; dine dukker opp under dem, for denne ene mottakeren.
  • Grenser: 25 MB per dokument, 100 MB dokumenter per forespørsel, 20 dokumenter vist per blokk inkludert de faste.
  • Én opplasting kan refereres av et hvilket som helst antall forespørsler. En opplasting ingen refererer, går ut på dato. Bytene teller mot arbeidsområdeeierens lagring til den siste forespørselen som refererer dem, fjernes av oppbevaringspolicyen.

Enhver feil her er 400 VALIDATION_ERROR med en details.reason: DOCUMENT_TYPE_NOT_ALLOWED, DOCUMENT_TOO_LARGE, INVALID_DOCUMENT_NAME eller INVALID_DOCUMENT_SHA256 fra denne metoden, og DOCUMENT_NOT_FOUND, DOCUMENT_NOT_UPLOADED (du hoppet over PUT), DOCUMENT_INVALID, INVALID_DOCUMENT_TARGET, DOCUMENTS_TOO_LARGE eller DOCUMENTS_TOO_MANY fra requests.create.

Webhooks

webhooks.list

List opp webhook-abonnementer for et skjema.

POSThttps://api.formbase.so/api/v1
Parametere1
formIdstringrequired

Skjemaets ID.

200Vellykket
json
{
  "ok": true,
  "data": {
    "items": [
      {
        "subscriptionId": "int_abc123",
        "formId": "frm_abc123",
        "provider": "zapier",
        "targetUrl": "https://hooks.zapier.com/...",
        "eventType": "submission_created",
        "status": "active",
        "createdAt": 1714041851000
      }
    ],
    "hasMore": false
  }
}

webhooks.create

Abonner en URL på skjemahendelser: nye eller forlatte innsendinger, eller at en forespørsel på skjemaet avsluttes. URL-en må bruke HTTPS.

POSThttps://api.formbase.so/api/v1
Parametere6
formIdstringrequired

Skjemaets ID.

targetUrlstringrequired

HTTPS-URL som mottar webhook-nyttelast.

providerstringrequired

Hvilket verktøy abonnementet hører til. Det er en etikett for din egen bokføring — det finnes ingen markedsplass-app å installere, og alle leverandører oppfører seg likt.

zapiermaken8n
eventTypestringoptionaldefault: submission_created

Hendelsestype å abonnere på. De tre submission_-typene leverer innsendings-nyttelasten: submission_created en første innsending, submission_updated en respondents redigering, og submission_abandoned et forlatt utkast. De tre request_ -typene leverer den tilhørende forespørselshendelsen når en forespørsel på skjemaet avsluttes på den måten, signert med dette abonnementets hemmelighet; testforespørsler når ikke noe abonnement.

submission_createdsubmission_updatedsubmission_abandonedrequest_completedrequest_expiredrequest_canceled
idleWindowstringoptional

Påkrevd når eventType er submission_abandoned; avvist for alle andre typer.

12h1d3d1w
signingSecretstringoptional

Valgfri HMAC-signeringsnøkkel, 32–255 tegn. Når den er oppgitt, inkluderer leveranser X-formbase-Signature. Nøkkelen lagres, men returneres aldri av API-et.

bash
curl -X POST https://api.formbase.so/api/v1 \
  -H "Authorization: Bearer fb_..." \
  -H "Content-Type: application/json" \
  -d '{
    "method": "webhooks.create",
    "params": {
      "formId": "frm_abc123",
      "targetUrl": "https://hooks.zapier.com/hooks/catch/...",
      "provider": "zapier",
      "eventType": "submission_created",
      "signingSecret": "whsec_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
    }
  }'
200Webhook opprettet
json
{
  "ok": true,
  "data": {
    "subscriptionId": "int_new123",
    "formId": "frm_abc123",
    "provider": "zapier",
    "targetUrl": "https://hooks.zapier.com/hooks/catch/...",
    "eventType": "submission_created"
  }
}

Abonnementer på forlatte innsendinger returnerer det valgte idleWindow fra både webhooks.create og webhooks.list. Alle andre abonnementer utelater det.

Et forespørsel-abonnement hører de samme hendelsene som en callback gjør, men som sin egen leveranse: sin egen hendelses-ID, sin egen signatur, og sitt eget forsøksbudsjett på fem forsøk, hvoretter abonnementet pauses. En forespørsel opprettet med en callbackUrl på et skjema med et request_completed-abonnement utløses derfor to ganger, én gang til hver mottaker. requests.replayCallback sender bare callbacken på nytt. Bruk requests.sample for å se nyttelasten før noen forespørsel har avsluttet.

webhooks.delete

Fjern et webhook-abonnement.

POSThttps://api.formbase.so/api/v1
Parametere1
subscriptionIdstringrequired

Abonnements-ID fra webhooks.list eller webhooks.create.

200Webhook slettet
json
{
  "ok": true,
  "data": {
    "subscriptionId": "int_abc123",
    "deleted": true
  }
}

Analyse

analytics.get

Hent aggregerte analysemålinger for et skjema. Støtter filtrering på datoperiode, enhet, trafikkilde og land.

Analyser er en Pro-funksjon, og regelen følger planen til eieren av arbeidsområdet, på samme måte som Analyse-fanen i dashbordet. Er ikke eieren på Pro, svarer kallet UPGRADE_REQUIRED — også for historikk som ble registrert mens eieren var det. Et Free-medlem i arbeidsområdet til en Pro-eier får dataene.

POSThttps://api.formbase.so/api/v1
Parametere7
formIdstringrequired

Skjemaets ID.

fromnumberoptional

Start på datoperiode som Unix-tidsstempel i millisekunder. Må være mindre enn eller lik to når begge er satt.

tonumberoptional

Slutt på datoperiode som Unix-tidsstempel i millisekunder. Utelat begge for hele historikken — period kommer da tilbake som { "from": null, "to": null }.

devicestringoptionaldefault: all

Filtrer etter enhetstype.

alldesktopmobiletablet
trafficSourcestringoptional

Filtrer etter trafikkilde (f.eks. “Direct”, “Google”).

countrystringoptional

Filtrer etter tobokstavs landkode (f.eks. “US”, “DE”).

includeEventsbooleanoptionaldefault: false

Returner også de sanerte analysehendelsene bak målingene, for din egen analyse. Ingen besøkende-IDer.

Rater er tall fra 0 til 100, antall er heltall, og totalEvents er det rå antallet hendelsesrader før deduplisering til unike besøkende.

200Vellykket
json
{
  "ok": true,
  "data": {
    "formId": "frm_abc123",
    "period": { "from": null, "to": null },
    "totalEvents": 17,
    "metrics": {
      "views": 7,
      "uniqueVisitors": 7,
      "engaged": 6,
      "submissions": 4,
      "engagementRate": 86,
      "completionRate": 57,
      "bounceRate": 14
    },
    "breakdown": {
      "byBrowser": { "Chrome": 17 },
      "byCountry": { "US": 10, "DE": 7 },
      "byDevice": { "desktop": 14, "mobile": 3 },
      "bySource": { "Direct": 12, "Google": 5 }
    }
  }
}

Arbeidsområdeer

workspaces.list

List opp arbeidsområdeene tokenet ditt kan nå. Ingen parametere.

Et API-token er bundet til én arbeidsområde, så dette returnerer nøyaktig den ene — selv når kontoen din tilhører flere.

POSThttps://api.formbase.so/api/v1
Parametere0
200Vellykket
json
{
  "ok": true,
  "data": {
    "items": [
      {
        "id": "ws_abc123",
        "name": "Acme Inc",
        "createdAt": 1714041800000,
        "role": "owner"
      }
    ],
    "nextCursor": null,
    "hasMore": false,
    "canPaginate": false
  }
}

workspaces.createInvite

Opprett en invitasjonslenke til en arbeidsområde.

POSThttps://api.formbase.so/api/v1
Parametere3
workspaceIdstringrequired

Arbeidsområdeens ID.

expiresAtnumberoptional

Utløpstidspunkt som et fremtidig Unix-tidsstempel i millisekunder.

maxUsesnumberoptional

Maksimalt antall ganger invitasjonen kan brukes.

200Invitasjon opprettet
json
{
  "ok": true,
  "data": {
    "id": "inv_abc123",
    "workspaceId": "ws_abc123",
    "code": "aBcDeFgH",
    "expiresAt": null,
    "maxUses": null,
    "uses": 0,
    "createdAt": 1714041851000
  }
}

workspaces.getInvite

Hent én arbeidsområdeinvitasjon. Returnerer samme form som workspaces.createInvite.

POSThttps://api.formbase.so/api/v1
Parametere1
inviteIdstringrequired

Invitasjons-ID.

404Invitasjon ikke funnet

workspaces.updateInvite

Oppdater en eksisterende arbeidsområdeinvitasjon. Oppgi minst ett av expiresAt eller maxUses, ellers avvises kallet. Returnerer den oppdaterte invitasjonen.

POSThttps://api.formbase.so/api/v1
Parametere3
inviteIdstringrequired

Invitasjons-ID.

expiresAtnumberoptional

Nytt utløpstidsstempel i millisekunder.

maxUsesnumberoptional

Ny grense for maks bruk.

workspaces.revokeInvite

Trekk tilbake en arbeidsområdeinvitasjon permanent.

POSThttps://api.formbase.so/api/v1
Parametere1
inviteIdstringrequired

Invitasjons-ID.

200Invitasjon tilbakekalt
json
{
  "ok": true,
  "data": {
    "inviteId": "inv_abc123",
    "revoked": true
  }
}

Mapper

folders.list

List opp mapper i en arbeidsområde.

POSThttps://api.formbase.so/api/v1
Parametere3
workspaceIdstringrequired

Arbeidsområdeens ID.

limitnumberoptionaldefault: 20

Sidestørrelse (1–100).

cursorstringoptional

Pagineringsmarkør.

200Vellykket
json
{
  "ok": true,
  "data": {
    "items": [
      {
        "id": "fld_abc123",
        "name": "Customer Feedback",
        "workspaceId": "ws_abc123",
        "parentId": null,
        "createdAt": 1714041800000
      }
    ],
    "nextCursor": null,
    "hasMore": false,
    "canPaginate": false
  }
}

folders.create

Opprett en mappe i en arbeidsområde. Idempotent — returnerer den eksisterende mappen hvis en mappe med samme navn allerede finnes.

POSThttps://api.formbase.so/api/v1
Parametere3
workspaceIdstringrequired

Arbeidsområdeens ID.

namestringrequired

Mappenavn (1–255 tegn).

parentIdstring | nulloptional

Overordnet mappe-ID for nesting. Utelat for rotnivå.

200Mappe opprettet
json
{
  "ok": true,
  "data": {
    "id": "fld_new123",
    "name": "Customer Feedback",
    "workspaceId": "ws_abc123",
    "parentId": null,
    "createdAt": 1714041851000,
    "alreadyExisted": false
  }
}

folders.update

Gi en mappe nytt navn eller flytt den til en annen overordnet mappe.

POSThttps://api.formbase.so/api/v1
Parametere3
folderIdstringrequired

Mappe-ID.

namestringoptional

Nytt mappenavn (1–255 tegn).

parentIdstring | nulloptional

Ny overordnet mappe. Send null for å flytte til rotnivå.

folders.delete

Slett en mappe og alt innholdet permanent (undermapper og skjemaer).

POSThttps://api.formbase.so/api/v1
Parametere1
folderIdstringrequired

Mappe-ID.

200Mappe slettet
json
{
  "ok": true,
  "data": {
    "folderId": "fld_abc123",
    "deletedFolderIds": ["fld_abc123"],
    "deletedFormIds": ["frm_in_folder"],
    "message": "Folder and 1 form deleted."
  }
}

Oversettelser

translations.listLanguages

List opp alle språk konfigurert på et skjema.

POSThttps://api.formbase.so/api/v1
Parametere1
formIdstringrequired

Skjemaets ID.

200Vellykket
json
{
  "ok": true,
  "data": {
    "formId": "frm_abc123",
    "items": [
      {
        "language": "es",
        "completion": { "total": 15, "current": 12, "outdated": 2, "missing": 1, "suggested": 0 },
        "lastUpdatedAt": 1714041851000
      }
    ],
    "nextCursor": null,
    "hasMore": false,
    "canPaginate": false
  }
}

translations.addLanguage

Registrer et språk på et skjema. Enhver annen oversettelsesmetode feiler med 404 NOT_FOUND inntil du gjør det.

POSThttps://api.formbase.so/api/v1
Parametere2
formIdstringrequired

Skjemaets ID.

languagestringrequired

BCP-47-språkkode (f.eks. “es”, “pt-BR”).

200Språk lagt til
json
{
  "ok": true,
  "data": {
    "formId": "frm_abc123",
    "language": "es",
    "rowId": "tl_new123"
  }
}

translations.removeLanguage

Fjern et språk og alle dets oversettelser fra et skjema.

POSThttps://api.formbase.so/api/v1
Parametere2
formIdstringrequired

Skjemaets ID.

languagestringrequired

BCP-47-språkkode.

translations.listEntries

List opp hver kildenøkkel for ett språk på et skjema, med gjeldende tilstand. Dette er hvordan du finner key-verdiene translations.setEntry tar.

POSThttps://api.formbase.so/api/v1
Parametere2
formIdstringrequired

Skjemaets ID.

languagestringrequired

BCP-47-språkkode. Må allerede være på skjemaet.

200Vellykket
json
{
  "ok": true,
  "data": {
    "formId": "frm_abc123",
    "language": "es",
    "completion": { "total": 15, "current": 12, "outdated": 2, "missing": 1, "suggested": 0 },
    "items": [
      {
        "key": "block_q_1.title",
        "status": "current",
        "value": "[{\"text\":\"Tu correo electrónico\"}]",
        "sourceFragment": "[{\"text\":\"Your email\"}]",
        "updatedAt": 1714041851000,
        "block": { "id": "q_1", "type": "email-input", "label": "Your email" }
      }
    ],
    "hasMore": false
  }
}

status er missing (ingenting lagret), outdated (kilden endret seg siden), current, eller suggested (et AI-forslag klargjort, men ikke godtatt). Nøkler dekker skjemainnhold (block_<id>.) og, når en forfatter har tilpasset dem, respondentens bekreftelses- og påminnelses-e-poster (email.confirmation., email.reminder.*).

translations.setEntry

Angi en enkelt oversettelsespost. Språket må ha blitt lagt til via translations.addLanguage først.

POSThttps://api.formbase.so/api/v1
Parametere4
formIdstringrequired

Skjemaets ID.

languagestringrequired

BCP-47-språkkode.

keystringrequired

En nøkkel fra translations.listEntries. Ikke konstruer en for hånd.

valuestringrequired

Det oversatte fragmentet, JSON-stringifisert. Merkestrukturen må matche kildefragmentet.

bash
curl -X POST https://api.formbase.so/api/v1 \
  -H "Authorization: Bearer fb_..." \
  -H "Content-Type: application/json" \
  -d '{
    "method": "translations.setEntry",
    "params": {
      "formId": "frm_abc123",
      "language": "es",
      "key": "block_q_1.title",
      "value": "[{\"text\":\"Tu correo electrónico\"}]"
    }
  }'

Returnerer { formId, language, key }.

translations.deleteEntry

Slett en enkelt oversettelsespost, som tilbakestiller den nøkkelen til skjemaets standardspråk. Idempotent. Når den siste posten for et språk forsvinner, faller språket ut av skjemaets publiserte språk.

POSThttps://api.formbase.so/api/v1
Parametere3
formIdstringrequired

Skjemaets ID.

languagestringrequired

BCP-47-språkkode.

keystringrequired

Oversettelsenøkkel som skal slettes.

Konto

me.get

Hent informasjon om den autentiserte brukeren.

POSThttps://api.formbase.so/api/v1
Parametere0
200Vellykket
json
{
  "ok": true,
  "data": {
    "id": "usr_abc123",
    "email": "you@example.com",
    "name": "Jane Doe"
  }
}

Meta

methods.list

List opp alle metodenavn dette driftsmiljøet betjener, sortert. Det autoritative svaret når denne siden og serveren er uenige.

POSThttps://api.formbase.so/api/v1
Parametere0
200Vellykket
json
{
  "ok": true,
  "data": {
    "methods": [
      "methods.list",
      "analytics.get",
      "folders.create",
      "folders.delete",
      "folders.list",
      "folders.update",
      "formSettings.get",
      "formSettings.update",
      "forms.create",
      "forms.delete",
      "forms.get",
      "forms.list",
      "..."
    ]
  }
}

Feilreferanse

Hvert feilsvar har samme form. Det øverste settet av code-verdier er bevisst lukket: en ny feiltilstand legger aldri til en ny kode, den legger til en reason. Forgren på code for HTTP-nivåutfallet og på details.reason for fiksen.

error response
json
{
  "ok": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "No field with key \"company\" on this form.",
    "details": { "reason": "UNKNOWN_FIELD_KEY", "field": "prefill.company", "validKeys": ["company_name", "contacts"] }
  }
}

details finnes når serveren kan navngi årsaken. Ved siden av reason kan den bære field (den problematiske parameteren, punktnotasjon for nesting), validKeys, validValues (valgets verdier et valgspørsmål godtar), expectedType, feature (på UPGRADE_REQUIRED), og retryAfterMs (på et kall som er strupet). Årsaker for forespørseloverflaten er listet ved hver metode ovenfor.

Dette er alle kodene:

Feilkoder
VALIDATION_ERROR400optional

Ugyldige eller manglende parametere i forespørselen.

UNAUTHORIZED401optional

Manglende eller ugyldig API-token.

FORBIDDEN403optional

Token mangler tilgang til den forespurte ressursen.

NOT_FOUND404optional

Ressursen finnes ikke.

METHOD_NOT_FOUND404optional

Ukjent metodenavn. Bruk methods.list for å se tilgjengelige metoder.

CONFLICT409optional

Ressursen er ikke i en tilstand som tillater dette kallet — en forespørsel som ikke lenger er ventende, en idempotensnøkkel gjenbrukt med en annen body.

RATE_LIMITED429optional

Over 120 kall i minuttet på dette tokenet, over 60 requests.create-kall i minuttet, eller for mange mislykkede autentiseringer fra denne IP-en.

UPGRADE_REQUIRED402optional

Funksjonen krever et høyere abonnementsnivå, arbeidsområdet har brukt opp sin månedlige kvote (årsak MONTHLY_ALLOWANCE_REACHED), eller en Gratis-konto har brukt opp sine 10 gratis invitasjoner (årsak FREE_INVITATIONS_USED).

INTERNAL_ERROR500optional

Uventet serverfeil. Prøv igjen senere.

Neste steg