Create Radio-buttons Userfield

Last modified on September 8, 2023 at 5:25 pm

Overview

Create a new custom radios-type userfield by sending an HTTP POST request with JSON representing the userfield to create. On success, the request will return HTTP 201 Created with a Location header pointing to the URL of the newly created userfield resource; otherwise, an appropriate error will be returned. See the failure cases section for more details.

JSON Object Definition

The following is the subset of the JSON object representing userfields applicable to the radios userfield type.

{
  "type": "radios",
  "name": "",
  "categoryName": "",
  "orderIndex": 0,
  "required": false,
  "options": [
  	// { "name": "" },
	// ...
  ]
}

Userfield Property Details

PropertyNotes
type
required
To create a radios userfield, this property must be present and have the value radios.
name
required
This property will be the default label on the user information form presented to the end-user.
categoryName
required
Sets the category the userfield is located within. To the end user, categories will appear as sections or groupings of userfields on the user information form. To create a category or retrieve a list of your existing categories, see the userfield category documentation.
orderIndexSpecifies what position the userfield appears in within its category. This should be an integer value greater than or equal to 0. If not provided, the userfield will be placed at the end of the category.
requiredSets whether the user must provide a value for this userfield. This should be a boolean true or false value.
options
required
Set the list of options in the radios list. This is represented as an array of objects, each of which must have a name property.

Examples

Create Custom Radio Button Userfield

This example shows the creation of a custom user-visible radios userfield with two options.

Request
POST /dc/api/v5/userfields HTTP/1.1
Host: api.digitalchalk.com
Content-type: application/json
Accept: application/json

{
	"type": "radios",
	"name": "Example Radio Button Field",
	"categoryName": "Example Category Name", 
	"required": true,
	"options": [
	        { "name": "Option 1" },
		{ "name": "Option 2" }
	]
}
Response
HTTP/1.1 201 Created 
Location: https://org.digitalchalk.com/dc/api/v5/userfields/877f00ced040feaedcbc12878679305
Content-length: 0

Failure Cases

Below is a list of the most common failure scenarios your code should be prepared to handle. This list is not exhaustive.

Validation error

If there is no userfield resource located at the given URL, the server will issue a 400 Bad Request response with a JSON object in the response body. The object contains a message attribute describing the eror.

Request
POST /dc/api/v5/userfields HTTP/1.1
Host: api.digitalchalk.com
Content-type: application/json
Accept: application/json

{
	"type": "radios",
	"name": "Example Radio Button Field",
	"required": true,
	"options": [
		{ "name": "Option 1" },
		{ "name": "Option 2" }
	]
}
Response
HTTP/1.1 400 Bad Request
Content-type: application/json
Content-length: 210

{
    "fieldErrors": {
        "categoryName": "required"
    }
}

References