Docs

List visit types

Preview· P9
GET/visit-types

Returns your organisation's visit types: the six built-in types, renamed or not, and the types your admins have added, such as "Parent pickup" or "Vendor". Built-in types come first, then the others by name.

Use a type's key as type when you create a visit, and its form_id to read the questions that type asks. Types that are turned off (enabled: false) are included so you can still read older visits; leave them out with enabled=true.

Types open for pre-registration (pre_registration: true) carry a public_form: the questions a visitor answers when they pre-register, without the fields your staff fill in.

Scope: forms:read · Plan: Pro and Enterprise in live mode; every plan in test mode. Publishable keys: allowed. They see only the types that are turned on and open for pre-registration, so a pre-registration form can offer exactly those.

Authorization

AuthorizationBearer <token>

Send Authorization: Bearer <token> on every request. The token is one of:

PrefixWhat it isWhere it may be used
agoo_sk_live_Secret key, live modeYour servers only
agoo_sk_test_Secret key, test modeYour servers only
agoo_pk_live_Publishable key, live modeBrowsers and apps: create pre-registrations and bookings, read public booking types (with their intake questions) and their free slots, read the visit types open for pre-registration with their public forms. Never lists people.
agoo_pk_test_Publishable key, test modeAs above, in test mode

Admins create keys in Console → Developers → API keys and choose each key's scopes. A key is shown once. Never put a secret key in a URL, a browser or a mobile app.

In: header

Scope: forms:read

Query Parameters

limit?integer

How many items to return, from 1 to 100.

Range1 <= value <= 100
Default25
cursor?string

The next_cursor from the previous page. Leave it out for the first page.

Lengthlength <= 512
enabled?boolean

true for only the types new visits can use; false for only the types that are turned off.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X GET "https://example.com/visit-types?limit=25&enabled=true"

{  "data": [    {      "key": "meeting",      "name": "Meeting",      "built_in": true,      "enabled": true,      "pre_registration": true,      "form_id": "form_01kk16jcj0fapr5z3qmqxgvpvv",      "public_form": {        "version": 2,        "schema": {          "$schema": "https://json-schema.org/draft/2020-12/schema",          "type": "object",          "properties": {            "vehicle_plate": {              "type": "string",              "title": "Vehicle number plate",              "maxLength": 12            },            "bringing_laptop": {              "type": "boolean",              "title": "Bringing a laptop?"            }          },          "additionalProperties": false        }      },      "created_at": "2026-03-02T08:14:00Z",      "updated_at": "2026-07-21T15:40:00Z"    },    {      "key": "interview",      "name": "Interview",      "built_in": true,      "enabled": true,      "pre_registration": false,      "form_id": "form_01kk174pg0eak8k0ypct9rw8r3",      "public_form": null,      "created_at": "2026-03-02T08:14:00Z",      "updated_at": "2026-03-02T08:14:00Z"    },    {      "key": "delivery",      "name": "Delivery",      "built_in": true,      "enabled": true,      "pre_registration": false,      "form_id": "form_01kk17q0e0ewfrt47wvwzp8e1z",      "public_form": null,      "created_at": "2026-03-02T08:14:00Z",      "updated_at": "2026-03-02T08:14:00Z"    },    {      "key": "contractor",      "name": "Contractor",      "built_in": true,      "enabled": true,      "pre_registration": true,      "form_id": "form_01kk1602m0errvasw8gkt8f90b",      "public_form": {        "version": 3,        "schema": {          "$schema": "https://json-schema.org/draft/2020-12/schema",          "type": "object",          "properties": {            "contractor_company": {              "type": "string",              "title": "Contracting company",              "maxLength": 120            },            "work_order": {              "type": "string",              "title": "Work order number",              "pattern": "^WO-[0-9]{5}$"            },            "areas": {              "type": "array",              "title": "Areas needed",              "items": {                "enum": [                  "server_room",                  "generator_house",                  "roof",                  "banking_hall"                ]              },              "uniqueItems": true            }          },          "required": [            "contractor_company",            "work_order"          ],          "additionalProperties": false        }      },      "created_at": "2026-03-02T08:14:00Z",      "updated_at": "2026-09-02T10:15:00Z"    },    {      "key": "event",      "name": "Event",      "built_in": true,      "enabled": false,      "pre_registration": false,      "form_id": "form_01kk189ac0edzvfq6yzsbzrk1z",      "public_form": null,      "created_at": "2026-03-02T08:14:00Z",      "updated_at": "2026-06-18T10:30:00Z"    },    {      "key": "other",      "name": "Other",      "built_in": true,      "enabled": true,      "pre_registration": false,      "form_id": "form_01kk18vma0fe0tf2q2mbq32tzf",      "public_form": null,      "created_at": "2026-03-02T08:14:00Z",      "updated_at": "2026-03-02T08:14:00Z"    },    {      "key": "vendor",      "name": "Vendor",      "built_in": false,      "enabled": true,      "pre_registration": false,      "form_id": "form_01kztpxc70fy3v3c0st276bbvj",      "public_form": null,      "created_at": "2026-08-12T10:05:00Z",      "updated_at": "2026-08-12T10:05:00Z"    }  ],  "next_cursor": null,  "has_more": false}