## List custom fields **get** `/v2/custom_fields` Returns all custom fields configured in your organization. This endpoint returns all custom fields at once (typically a small list). No pagination is supported. ### Response Format Returns a list object with: - `object` - Always "list" - `data` - Array of custom field objects - `nextCursor` - Always null ### Custom Field Object Each custom field includes: - `id` - Unique field identifier - `label` - Field label displayed to users - `type` - Field type (text, number, select, multi-select, checkbox, date) - `required` - Whether the field is required - `placeholder` - Placeholder text (for text/number fields) - `public` - Whether the field value is publicly visible - `internal` - Whether the field is for internal use only - `options` - Array of options (for select/multi-select fields) ### Field Types - `text` - Single line text input - `number` - Numeric input - `select` - Single-choice dropdown - `multi-select` - Multiple-choice dropdown - `checkbox` - Boolean checkbox - `date` - Date picker ### Header Parameters - `"Featurebase-Version": optional "2026-01-01.nova" or "2025-12-12.clover"` - `"2026-01-01.nova"` - `"2025-12-12.clover"` ### Returns - `CustomFieldList object { data, nextCursor, object, pagination }` - `data: array of CustomField` Array of custom fields - `id: string` Unique identifier - `label: string` Field label displayed to users - `object: "custom_field"` Object type identifier - `"custom_field"` - `type: "text" or "number" or "select" or 4 more` Field type - `"text"` - `"number"` - `"select"` - `"multi-select"` - `"checkbox"` - `"date"` - `"file"` - `allowMultiple: optional boolean` Whether multiple files can be uploaded (file fields only) - `createdAt: optional string` ISO timestamp when created - `internal: optional boolean` Whether the field is for internal use only - `options: optional array of object { id, label }` Options for select/multi-select fields - `id: string` Option unique identifier - `label: string` Option display label - `placeholder: optional string` Placeholder text - `public: optional boolean` Whether the field value is publicly visible - `required: optional boolean` Whether the field is required - `updatedAt: optional string` ISO timestamp when last updated - `nextCursor: string` Cursor for fetching the next page (cursor-based pagination) - `object: "list"` Object type identifier - `"list"` - `pagination: optional object { limit, page, total, totalPages }` Pagination metadata for page-based requests - `limit: number` Items per page - `page: number` Current page number - `total: number` Total number of items - `totalPages: number` Total number of pages ### Example ```http curl https://do.featurebase.app/v2/custom_fields \ -H "Authorization: Bearer $FEATUREBASE_API_KEY" ``` #### Response ```json { "data": [ { "id": "65d26304b2e65b1e1278170c", "label": "Your @username", "object": "custom_field", "type": "text", "allowMultiple": false, "createdAt": "2025-04-06T14:11:58.141Z", "internal": false, "options": [ { "id": "65d26304b2e65b1e1278170d", "label": "High Priority" } ], "placeholder": "Enter your username", "public": false, "required": true, "updatedAt": "2025-04-06T14:11:58.141Z" } ], "nextCursor": null, "object": "list", "pagination": { "limit": 10, "page": 1, "total": 42, "totalPages": 5 } } ```