Create a custom profile field
This endpoint is only available to organization administrators.
Create a custom profile field in the user's organization.
POST https://z.labs.greyorange.com/api/v1/realm/profile_fields
Usage examples
#!/usr/bin/env python
import zulip
# The user for this zuliprc file must be an organization administrator
client = zulip.Client(config_file="~/zuliprc-admin")
# Create a custom profile field in the user's organization.
request = {"name": "Phone", "hint": "Contact no.", "field_type": 1}
result = client.call_endpoint(url="/realm/profile_fields", method="POST", request=request)
print(result)
curl -sSX POST https://z.labs.greyorange.com/api/v1/realm/profile_fields \
-u BOT_EMAIL_ADDRESS:BOT_API_KEY \
--data-urlencode 'name=Favorite programming language' \
--data-urlencode 'hint=Your favorite programming language.' \
--data-urlencode field_type=3 \
--data-urlencode 'field_data={"java": {"order": "2", "text": "Java"}, "python": {"order": "1", "text": "Python"}}'
Parameters
name string optional
Example: "Favorite programming language"
The name of the custom profile field, which will appear both in
user-facing settings UI for configuring custom profile fields and
in UI displaying a user's profile.
hint string optional
Example: "Your favorite programming language."
The help text to be displayed for the custom profile field in user-facing
settings UI for configuring custom profile fields.
field_type integer required
Example: 3
The field type can be any of the supported custom profile field types. See the
custom profile fields documentation
more details on what each type means.
- 1: Short text
- 2: Long text
- 3: List of options
- 4: Date picker
- 5: Link
- 6: Person picker
- 7: External account
field_data object optional
Example: {"python": {"text": "Python", "order": "1"}, "java": {"text": "Java", "order": "2"}}
Field types 3 (List of options) and 7 (External account) support storing
additional configuration for the field type in the field_data
attribute.
For field type 3 (List of options), this attribute is a JSON dictionary
defining the choices and the order they will be displayed in the
dropdown UI for individual users to select an option.
The interface for field type 7 is not yet stabilized.
Response
Return values
Example response
A typical successful JSON response may look like:
{
"id": 9,
"msg": "",
"result": "success"
}