List Profile Fields
List the custom profile fields the authenticated customer can fill in
Lists the custom profile fields ("Additional information") the authenticated customer can fill in, with each field's label, help text, type, choices, and the customer's saved answer. Use it to build a profile form without hard-coding the questions, and save the answers with Update Profile.
The list has every active custom field whose Editable by setting includes the customer, in the order set in Tiquo, whether or not the customer has answered it yet. Staff-only, inactive, automatically filled and system fields are left out. It doesn't depend on any customer portal: every field it returns can be saved without portalSlug.
Endpoint
GET /profile/fieldsAuthentication
Requires a valid JWT access token.
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9...Example request
curl "https://edge.tiquo.app/api/client/v1/profile/fields" \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9..."Response
{
"success": true,
"data": {
"fields": [
{
"id": "k57abc123",
"name": "About you",
"description": "Tell us a little about yourself",
"type": "text",
"required": true
},
{
"id": "k57def456",
"name": "Dietary requirements",
"description": "Allergies or preferences",
"type": "multiselect",
"required": false,
"options": ["Vegan", "Vegetarian", "Gluten free"],
"value": "[\"Vegan\"]"
}
]
}
}fields is empty when the customer has no profile yet or the organization has no customer-editable fields.
Field object
| Field | Type | Description |
|---|---|---|
id | string | The field's ID: its key in profileParameters when updating the profile |
name | string | The label, such as Dietary requirements |
description | string | Help text to show with the field; may be empty |
type | string | text, number, date, datetime, select, multiselect, boolean, or compound |
required | boolean | Whether the field is marked as required |
defaultValue | string or omitted | The answer to start from when the customer hasn't answered |
options | array or omitted | Choices for select and multiselect fields. Each is a string, or { "value", "archived": true } for a choice that can't be picked again but stays valid when it is the saved answer |
subFields | array or omitted | The parts of a compound field, each with name, type, and optional options |
validation | object or omitted | min and max for numbers, or a pattern for text, when set |
value | string or omitted | The customer's saved answer. Omitted when unanswered |
value is always a string: the text itself, "true" or "false" for boolean, a JSON array such as ["Vegan"] for multiselect, and a JSON object keyed by sub-field name for compound.
Errors
| Status | Description |
|---|---|
401 | Invalid or expired access token |
500 | Internal server error |
DOM Package
The DOM Package exposes this endpoint as getProfileFields(), and the Hosted Package as window.Tiquo.getProfileFields(). See Listing the fields a customer can fill in.
const { fields } = await auth.getProfileFields();