Custom Fields Schema
Overview
The ATS Anywhere API allows you to both create and update custom field schemas for the jobs listed on your site as well as return a list of all the fields you have created.
First let’s take a look at where you can find the additional custom fields you create, found under the default fields of a job listing (https://yourcompanyname.com//admin/jobs/edit/###):

In the above example we created 3 new custom fields cleverly titled “My New Field #” which will be added for all of your job listings. Before using the API let’s take a look at the fields that you will be configuring for creating the field via the ATS Anywhere API:
| Key | Value | Description |
| update_existing_data | boolean | Setting to true will update any previous custom field information |
| custom_fields_schema | ||
| field_name | string | Required field. The name in the system |
| field_type | string, integer, decimal, boolean | Required field. Defaults to “string” if not specified. |
| display_name | string | Required field. The form name that is displayed to the user. |
| default_value | string | Sets the text in the field. |
| required | boolean | Makes the question required when true and optional when false, with accompanying text in the field name. |
| whitelist_values | array of strings | Provides values for select list, and useful for setting up rules for validation. |
| blacklist_values | array of strings | Provides values for select list, and useful for setting up rules for validation. |
| ui_priority | integer | Determines the display order of the custom field in your job listing |
| ui_readonly | boolean | Makes the field unselectable when set to true |
| ui_input_type | text_field, text_area,select | The type of form input that will be used for the field |
| ui_hints | string | Provides the list of available items and order for a select dropdown field |
Updating the Fields in Postman
Let’s go back to Postman and recreate the fields in our example above:
- We’ll use the PUT method with the request URL: https://YOURCOMPANY.applicant-tracking.com/api/v1/jobs/custom_fields_schema
- Under Headers area put in the following column values:
- Key: Content-type
- Value: application/json
- Under Body, select the “raw” and see if you can recreate the format as in the example
- Hit “Send”
Here’s how it will look in Postman:

cURL Commands
curl -u YOUR_KEY https://YOURCOMPANY.applicant-tracking.com/api/v1/jobs/custom_fields_schema -H "Content-Type: application/json" \
-d '{
"update_existing_data": true,
"custom_fields_schema": [
{
"field_name": "Custom Field 1",
"field_type": "string",
"display_name": "My Custom Field 1",
"default_value": "This is your default value in a text field",
"required": true,
"whitelist_values": [],
"blacklist_values": [],
"ui_priority": 0,
"ui_readonly": true,
"ui_input_type": "text_field",
"ui_hints": []
},
{
"field_name": "Custom Field 2",
"field_type": "string",
"display_name": "My Custom Field 2",
"default_value": "This is your default value in a text area",
"required": true,
"whitelist_values": [],
"blacklist_values": [],
"ui_priority": 2,
"ui_readonly": false,
"ui_input_type": "text_area",
"ui_hints": []
},
{
"field_name": "Custom Field 3",
"field_type": "string",
"display_name": "My Custom Field 3",
"default_value": "This is your default value",
"required": true,
"whitelist_values": [],
"blacklist_values": [],
"ui_priority": 1,
"ui_readonly": false,
"ui_input_type": "select",
"ui_hints": "red"
}
]
}
And here is the corresponding payload:
{
"company_id": "15664",
"custom_fields_schema": [
{
"display_name": "My Custom Field 1",
"field_type": "string",
"default_value": "This is your default value in a text field",
"required": true,
"whitelist_values": [],
"blacklist_values": [],
"ui_priority": 0,
"ui_readonly": true,
"ui_input_type": "text_field",
"ui_hints": [],
"field_name": "Custom Field 1"
},
{
"display_name": "My Custom Field 2",
"field_type": "string",
"default_value": "This is your default value in a text area",
"required": true,
"whitelist_values": [],
"blacklist_values": [],
"ui_priority": 2,
"ui_readonly": false,
"ui_input_type": "text_area",
"ui_hints": [],
"field_name": "Custom Field 2"
},
{
"display_name": "My Custom Field 3",
"field_type": "string",
"default_value": "This is your default value",
"required": true,
"whitelist_values": [],
"blacklist_values": [],
"ui_priority": 1,
"ui_readonly": false,
"ui_input_type": "select",
"ui_hints": [
"red"
],
"field_name": "Custom Field 3"
}
],
"created_at": "2018-03-22T20:33:47-07:00",
"updated_at": "2018-04-01T18:39:12-07:00"
}
Note that a timestamp will be generated at the end.
And once again here’s how it will appear on your site:

Of course, you will likely have more creative field names than our example above (as well as more than one option in a select list) but this just shows what is possible from the the custom field endpoint.
Getting a List of Your Custom Fields
Once you have added a few fields retrieving a list of custom fields is simple.
- Use the GET method with the request URL: https://YOURCOMPANY.applicant-tracking.com/api/v1/jobs/custom_fields_schema
- Under Headers area put in the following column values:
- Key: Content-type
- Value: application/json
- Hit Send, and within the Body frame you will see a full payload of the three jobs in our example:

