Kanorio

API 레퍼런스

Forms

Management API: GET /sites/{id}/forms, GET /sites/{id}/forms/{formId}

이 페이지는 영어로만 제공됩니다. API 레퍼런스, Webhook 이벤트, 변경 내역은 코드의 필드 이름·오류 코드와 맞추기 위해 영어로 제공합니다.
Base URL https://app.kanorio.com/api/v1ErrorsPagination

List forms

GET/sites/{id}/forms
betamarketing:viewdefault (120/minute per token)

List this website's online forms with status, availability and submission counts. Errors: FORBIDDEN, INVALID_CURSOR.

Parameters

  • idstring · pathrequired

    Website id. Get it from sites.list or from sites.create.

  • limitinteger · query

    Maximum number of items to return, 1–100. Defaults to 20.

  • cursorstring · query

    Opaque cursor from the previous page's nextCursor. Omit for the first page.

Response 200

  • dataobject[]required
  • data[].idstringrequired
  • data[].namestringrequired
  • data[].statusstringrequired
  • data[].availabilitystringrequired

    open, paused, closed_by_schedule, full, ... (see FormAvailability).

  • data[].hasIdentitybooleanrequired

    false = anonymous form (no email/phone field); submissions do not create contacts.

  • data[].fieldCountintegerrequired
  • data[].submissionCountintegerrequired

    Non-spam submissions.

  • data[].unreadCountintegerrequired
  • data[].updatedAtstringrequired
  • hasMorebooleanrequired

    True when another page exists; pass nextCursor to fetch it.

  • nextCursorstring | nullrequired

    Cursor for the next page, or null on the last page.

Errors

  • FORBIDDEN 403
  • INVALID_CURSOR 400

MCP tool forms_list

curl -X GET "https://app.kanorio.com/api/v1/sites/{id}/forms" \
  -H "Authorization: Bearer $KANORIO_TOKEN"
Response
{
  "data": [
    {
      "id": "form_example01",
      "name": "Pre-order form",
      "status": "PUBLISHED",
      "availability": "OPEN",
      "hasIdentity": true,
      "fieldCount": 4,
      "submissionCount": 12,
      "unreadCount": 2,
      "updatedAt": "2026-10-01T02:30:00.000Z"
    }
  ],
  "hasMore": false,
  "nextCursor": null
}

Retrieve a form

GET/sites/{id}/forms/{formId}
betamarketing:viewdefault (120/minute per token)

Get one form including its field definitions and settings (read-only; forms are edited in the console). Errors: FORBIDDEN, FORM_NOT_FOUND.

Parameters

  • idstring · pathrequired

    Website id. Get it from sites.list or from sites.create.

  • formIdstring · pathrequired

    Form id. Get it from forms.list.

Response 200

  • idstringrequired
  • namestringrequired
  • descriptionstring | nullrequired
  • statusstringrequired
  • availabilitystringrequired

    open, paused, closed_by_schedule, full, ... (see FormAvailability).

  • fieldsobject[]required

    Form field definitions (id, type, label, required, options, contactMapping...).

  • settingsobjectrequired
  • replyEmailEnabledbooleanrequired
  • submissionCountintegerrequired
  • createdAtstringrequired
  • updatedAtstringrequired

Errors

  • FORBIDDEN 403
  • FORM_NOT_FOUND 404

MCP tool forms_get

curl -X GET "https://app.kanorio.com/api/v1/sites/{id}/forms/{formId}" \
  -H "Authorization: Bearer $KANORIO_TOKEN"
Response
{
  "id": "form_example01",
  "name": "Pre-order form",
  "description": "Leave your details and we'll confirm your order by email.",
  "status": "PUBLISHED",
  "availability": "OPEN",
  "fields": [
    {
      "id": "name",
      "type": "text",
      "label": "Name",
      "required": true
    },
    {
      "id": "email",
      "type": "email",
      "label": "Email",
      "required": true
    },
    {
      "id": "message",
      "type": "textarea",
      "label": "Message",
      "required": false
    }
  ],
  "settings": {
    "successMessage": "Thanks! We'll get back to you shortly."
  },
  "replyEmailEnabled": true,
  "submissionCount": 12,
  "createdAt": "2026-08-12T03:20:00.000Z",
  "updatedAt": "2026-10-01T02:30:00.000Z"
}