# List 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 Endpoint: GET /v2/custom_fields Version: 2026-01-01.nova Security: bearerAuth ## Header parameters: - `Featurebase-Version` (string) API version for this request. Defaults to your organization's configured API version if not specified. Example: "2026-01-01.nova" ## Response 200 fields (application/json): - `object` (string, required) Object type identifier Enum: "list" - `data` (array, required) Array of custom fields Example: [] - `data.id` (string, required) Unique identifier Example: "65d26304b2e65b1e1278170c" - `data.label` (string, required) Field label displayed to users Example: "Your @username" - `data.type` (string, required) Field type Enum: "text", "number", "select", "multi-select", "checkbox", "date" - `data.required` (boolean) Whether the field is required Example: true - `data.placeholder` (string) Placeholder text Example: "Enter your username" - `data.public` (boolean) Whether the field value is publicly visible - `data.internal` (boolean) Whether the field is for internal use only - `data.options` (array) Options for select/multi-select fields Example: [{"id":"65d26304b2e65b1e1278170d","label":"High Priority"}] - `data.options.id` (string, required) Option unique identifier Example: "65d26304b2e65b1e1278170d" - `data.options.label` (string, required) Option display label Example: "High Priority" - `data.createdAt` (string) ISO timestamp when created Example: "2025-04-06T14:11:58.141Z" - `data.updatedAt` (string) ISO timestamp when last updated Example: "2025-04-06T14:11:58.141Z" - `nextCursor` (string,null, required) Cursor for fetching the next page (cursor-based pagination) - `pagination` (object) Pagination metadata for page-based requests - `pagination.page` (number, required) Current page number Example: 1 - `pagination.limit` (number, required) Items per page Example: 10 - `pagination.total` (number, required) Total number of items Example: 42 - `pagination.totalPages` (number, required) Total number of pages Example: 5 ## Response 400 fields (application/json): - `error` (object, required) - `error.type` (string, required) The type of error returned Enum: "invalid_request_error" - `error.code` (string, required) Machine-readable error code Enum: "invalid_id", "invalid_parameter", "missing_parameter", "invalid_cursor", "invalid_content", "invalid_request", "contact_not_customer", "contact_not_attached", "parameter_not_supported" - `error.message` (string, required) Example: "Invalid post ID format" - `error.param` (string) Example: "id" - `error.status` (number, required) HTTP status code Enum: 400 - `error.details` (array) Additional validation error details - `error.details.path` (string, required) Example: "body.name" ## Response 404 fields (application/json): - `error` (object, required) - `error.type` (string, required) The type of error returned Enum: "invalid_request_error" - `error.code` (string, required) Machine-readable error code Enum: "resource_not_found", "post_not_found", "comment_not_found", "changelog_not_found", "admin_not_found", "contact_not_found", "conversation_not_found", "conversation_part_not_found", "team_not_found", "survey_not_found", "company_not_found", "help_center_not_found", "collection_not_found", "article_not_found", "custom_field_not_found", "board_not_found", "voter_not_found", "participant_not_found", "webhook_not_found", "version_not_supported" - `error.message` (string, required) Example: "Post not found" - `error.status` (number, required) HTTP status code Enum: 404 ## Response 500 fields (application/json): - `error` (object, required) - `error.type` (string, required) The type of error returned Enum: "api_error" - `error.code` (string, required) Machine-readable error code Enum: "database_error", "internal_error", "fetch_error", "create_error", "update_error", "delete_error" - `error.message` (string, required) Example: "An internal error occurred" - `error.status` (number, required) HTTP status code Enum: 500