Asset Fields
Asset fields are the schema for each asset type. There are standard asset fields, which are predefined by Zendesk and custom that are defined by users. These fields represent properties of the asset type that you want to capture and maintain when agents create and manage assets.
An asset record consists of the standard asset fields, asset type custom fields, and asset type custom fields that are inherited from parent asset types.
JSON format
ITAM Asset Fields are represented as JSON objects with the following properties:
| Name | Type | Read-only | Mandatory | Description |
|---|
List Asset Fields
GET /api/v2/it_asset_management/asset_types/{asset_type_id}/fields
Lists all standard and custom fields for an asset type.
Allowed For
- Agents
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
| asset_type_id | string | Path | true | The id of the asset type |
Code Samples
Curl
curl --request GET https://example.zendesk.com/api/v2/it_asset_management/asset_types/01K9AMAY0ST7VTVSG7SDAMR4P1/fields \--header "Content-Type: application/json" \-u {email_address}/token:{api_token}
Go
import ("fmt""io""net/http")func main() {url := "https://example.zendesk.com/api/v2/it_asset_management/asset_types/01K9AMAY0ST7VTVSG7SDAMR4P1/fields"method := "GET"req, err := http.NewRequest(method, url, nil)if err != nil {fmt.Println(err)return}req.Header.Add("Content-Type", "application/json")req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "{email_address}/token:{api_token}"client := &http.Client {}res, err := client.Do(req)if err != nil {fmt.Println(err)return}defer res.Body.Close()body, err := io.ReadAll(res.Body)if err != nil {fmt.Println(err)return}fmt.Println(string(body))}
Java
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("https://example.zendesk.com/api/v2/it_asset_management/asset_types/01K9AMAY0ST7VTVSG7SDAMR4P1/fields").newBuilder();String userCredentials = "your_email_address" + "/token:" + "your_api_token";String basicAuth = "Basic " + java.util.Base64.getEncoder().encodeToString(userCredentials.getBytes());Request request = new Request.Builder().url(urlBuilder.build()).method("GET", null).addHeader("Content-Type", "application/json").addHeader("Authorization", basicAuth).build();Response response = client.newCall(request).execute();
Nodejs
var axios = require('axios');var config = {method: 'GET',url: 'https://example.zendesk.com/api/v2/it_asset_management/asset_types/01K9AMAY0ST7VTVSG7SDAMR4P1/fields',headers: {'Content-Type': 'application/json','Authorization': 'Basic <auth-value>', // Base64 encoded "{email_address}/token:{api_token}"},};axios(config).then(function (response) {console.log(JSON.stringify(response.data));}).catch(function (error) {console.log(error);});
Python
import requestsfrom requests.auth import HTTPBasicAuthurl = "https://example.zendesk.com/api/v2/it_asset_management/asset_types/01K9AMAY0ST7VTVSG7SDAMR4P1/fields"headers = {"Content-Type": "application/json",}email_address = 'your_email_address'api_token = 'your_api_token'# Use basic authenticationauth = HTTPBasicAuth(f'{email_address}/token', api_token)response = requests.request("GET",url,auth=auth,headers=headers)print(response.text)
Ruby
require "net/http"require "base64"uri = URI("https://example.zendesk.com/api/v2/it_asset_management/asset_types/01K9AMAY0ST7VTVSG7SDAMR4P1/fields")request = Net::HTTP::Get.new(uri, "Content-Type": "application/json")email = "your_email_address"api_token = "your_api_token"credentials = "#{email}/token:#{api_token}"encoded_credentials = Base64.strict_encode64(credentials)request["Authorization"] = "Basic #{encoded_credentials}"response = Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|http.request(request)end
curl - Get asset fields
curl https://{subdomain}.zendesk.com/api/v2/it_asset_management/asset_types/{asset_type_id}/fields \-H "Authorization: Bearer {access_token}"
Example response(s)
200 OK
// Status 200 OK{"fields": [{"active": true,"created_at": "2025-10-22T21:08:45Z","description": "IMEI","id": 9230426027902,"key": "imei","position": 9999,"raw_description": "{{zd.itam_mobile_field_imei}}","raw_title": "{{zd.itam_mobile_field_imei}}","regexp_for_validation": null,"system": false,"title": "IMEI","type": "text","updated_at": "2025-10-22T21:08:45Z","url": "https://{subdomain}.zendesk.com/api/v2/it_asset_management/asset_types/01K86W1EC23VPWFVR2XJVK7HED/fields/9230426027902"},{"active": true,"created_at": "2025-10-22T21:08:45Z","description": "Phone number","id": 9230441335166,"key": "phone_number","position": 9999,"raw_description": "{{zd.itam_mobile_field_phone_number}}","raw_title": "{{zd.itam_mobile_field_phone_number}}","regexp_for_validation": null,"system": false,"title": "Phone number","type": "text","updated_at": "2025-10-22T21:08:45Z","url": "https://{subdomain}.zendesk.com/api/v2/it_asset_management/asset_types/01K86W1EC23VPWFVR2XJVK7HED/fields/9230441335166"}]}
Show Asset Field
GET /api/v2/it_asset_management/asset_types/{asset_type_id}/fields/{asset_type_field_id}
Returns an asset field with the specified id.
Allowed For
- Agents
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
| asset_type_field_id | integer | Path | true | The id of the asset field |
| asset_type_id | string | Path | true | The id of the asset type |
Code Samples
Curl
curl --request GET https://example.zendesk.com/api/v2/it_asset_management/asset_types/01K9AMAY0ST7VTVSG7SDAMR4P1/fields/9230426027902 \--header "Content-Type: application/json" \-u {email_address}/token:{api_token}
Go
import ("fmt""io""net/http")func main() {url := "https://example.zendesk.com/api/v2/it_asset_management/asset_types/01K9AMAY0ST7VTVSG7SDAMR4P1/fields/9230426027902"method := "GET"req, err := http.NewRequest(method, url, nil)if err != nil {fmt.Println(err)return}req.Header.Add("Content-Type", "application/json")req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "{email_address}/token:{api_token}"client := &http.Client {}res, err := client.Do(req)if err != nil {fmt.Println(err)return}defer res.Body.Close()body, err := io.ReadAll(res.Body)if err != nil {fmt.Println(err)return}fmt.Println(string(body))}
Java
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("https://example.zendesk.com/api/v2/it_asset_management/asset_types/01K9AMAY0ST7VTVSG7SDAMR4P1/fields/9230426027902").newBuilder();String userCredentials = "your_email_address" + "/token:" + "your_api_token";String basicAuth = "Basic " + java.util.Base64.getEncoder().encodeToString(userCredentials.getBytes());Request request = new Request.Builder().url(urlBuilder.build()).method("GET", null).addHeader("Content-Type", "application/json").addHeader("Authorization", basicAuth).build();Response response = client.newCall(request).execute();
Nodejs
var axios = require('axios');var config = {method: 'GET',url: 'https://example.zendesk.com/api/v2/it_asset_management/asset_types/01K9AMAY0ST7VTVSG7SDAMR4P1/fields/9230426027902',headers: {'Content-Type': 'application/json','Authorization': 'Basic <auth-value>', // Base64 encoded "{email_address}/token:{api_token}"},};axios(config).then(function (response) {console.log(JSON.stringify(response.data));}).catch(function (error) {console.log(error);});
Python
import requestsfrom requests.auth import HTTPBasicAuthurl = "https://example.zendesk.com/api/v2/it_asset_management/asset_types/01K9AMAY0ST7VTVSG7SDAMR4P1/fields/9230426027902"headers = {"Content-Type": "application/json",}email_address = 'your_email_address'api_token = 'your_api_token'# Use basic authenticationauth = HTTPBasicAuth(f'{email_address}/token', api_token)response = requests.request("GET",url,auth=auth,headers=headers)print(response.text)
Ruby
require "net/http"require "base64"uri = URI("https://example.zendesk.com/api/v2/it_asset_management/asset_types/01K9AMAY0ST7VTVSG7SDAMR4P1/fields/9230426027902")request = Net::HTTP::Get.new(uri, "Content-Type": "application/json")email = "your_email_address"api_token = "your_api_token"credentials = "#{email}/token:#{api_token}"encoded_credentials = Base64.strict_encode64(credentials)request["Authorization"] = "Basic #{encoded_credentials}"response = Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|http.request(request)end
curl - Get asset field by id
curl https://{subdomain}.zendesk.com/api/v2/it_asset_management/asset_types/{asset_type_id}/fields/{asset_type_field_id} \-H "Authorization: Bearer {access_token}"
Example response(s)
200 OK
// Status 200 OK{"field": {"active": true,"created_at": "2025-10-22T21:08:45Z","description": "IMEI","id": 9230426027902,"key": "imei","position": 9999,"raw_description": "{{zd.itam_mobile_field_imei}}","raw_title": "{{zd.itam_mobile_field_imei}}","regexp_for_validation": null,"system": false,"title": "IMEI","type": "text","updated_at": "2025-10-22T21:08:45Z","url": "https://{subdomain}.zendesk.com/api/v2/it_asset_management/fields/9230426027902"}}
List Fields
GET /api/v2/it_asset_management/fields
Lists all asset fields.
Pagination
- Cursor pagination only.
Allowed For
- Agents
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
| page | object | Query | false | Cursor-based pagination parameters (JSON:API style). Supports nested parameters: - page[size] - Number of records per page (default varies by endpoint, typically 100) - page[after] - Cursor token to fetch records after this position - page[before] - Cursor token to fetch records before this position Example: ?page[size]=50&page[after]=eyJvIjoiaWQiLCJ2IjoiYVFFPSJ9 |
Code Samples
Curl
curl --request GET https://example.zendesk.com/api/v2/it_asset_management/fields?page= \--header "Content-Type: application/json" \-u {email_address}/token:{api_token}
Go
import ("fmt""io""net/http")func main() {url := "https://example.zendesk.com/api/v2/it_asset_management/fields?page="method := "GET"req, err := http.NewRequest(method, url, nil)if err != nil {fmt.Println(err)return}req.Header.Add("Content-Type", "application/json")req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "{email_address}/token:{api_token}"client := &http.Client {}res, err := client.Do(req)if err != nil {fmt.Println(err)return}defer res.Body.Close()body, err := io.ReadAll(res.Body)if err != nil {fmt.Println(err)return}fmt.Println(string(body))}
Java
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("https://example.zendesk.com/api/v2/it_asset_management/fields").newBuilder().addQueryParameter("page", "");String userCredentials = "your_email_address" + "/token:" + "your_api_token";String basicAuth = "Basic " + java.util.Base64.getEncoder().encodeToString(userCredentials.getBytes());Request request = new Request.Builder().url(urlBuilder.build()).method("GET", null).addHeader("Content-Type", "application/json").addHeader("Authorization", basicAuth).build();Response response = client.newCall(request).execute();
Nodejs
var axios = require('axios');var config = {method: 'GET',url: 'https://example.zendesk.com/api/v2/it_asset_management/fields',headers: {'Content-Type': 'application/json','Authorization': 'Basic <auth-value>', // Base64 encoded "{email_address}/token:{api_token}"},params: {'page': '',},};axios(config).then(function (response) {console.log(JSON.stringify(response.data));}).catch(function (error) {console.log(error);});
Python
import requestsfrom requests.auth import HTTPBasicAuthurl = "https://example.zendesk.com/api/v2/it_asset_management/fields?page="headers = {"Content-Type": "application/json",}email_address = 'your_email_address'api_token = 'your_api_token'# Use basic authenticationauth = HTTPBasicAuth(f'{email_address}/token', api_token)response = requests.request("GET",url,auth=auth,headers=headers)print(response.text)
Ruby
require "net/http"require "base64"uri = URI("https://example.zendesk.com/api/v2/it_asset_management/fields")uri.query = URI.encode_www_form("page": "")request = Net::HTTP::Get.new(uri, "Content-Type": "application/json")email = "your_email_address"api_token = "your_api_token"credentials = "#{email}/token:#{api_token}"encoded_credentials = Base64.strict_encode64(credentials)request["Authorization"] = "Basic #{encoded_credentials}"response = Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|http.request(request)end
curl - Get fields
curl https://{subdomain}.zendesk.com/api/v2/it_asset_management/fields \-H "Authorization: Bearer {access_token}"
Example response(s)
200 OK
// Status 200 OK{"fields": [{"active": true,"created_at": "2025-10-22T21:08:45Z","description": "IMEI","id": 9230426027902,"key": "imei","position": 9999,"raw_description": "{{zd.itam_mobile_field_imei}}","raw_title": "{{zd.itam_mobile_field_imei}}","regexp_for_validation": null,"system": false,"title": "IMEI","type": "text","updated_at": "2025-10-22T21:08:45Z","url": "https://{subdomain}.zendesk.com/api/v2/it_asset_management/fields/9230426027902"},{"active": true,"created_at": "2025-10-22T21:08:45Z","description": "Serial Number","id": 9230426027903,"key": "serial_number","position": 9999,"raw_description": "{{zd.itam_hardware_field_serial_number}}","raw_title": "{{zd.itam_hardware_field_serial_number}}","regexp_for_validation": null,"system": false,"title": "Serial Number","type": "text","updated_at": "2025-10-22T21:08:45Z","url": "https://{subdomain}.zendesk.com/api/v2/it_asset_management/fields/9230426027903"}],"links": {"next": "https://{subdomain}.zendesk.com/api/v2/it_asset_management/fields?page[after]=eyJvIjoiaWQiLCJ2IjoiYVlFQkFQVXFvQlFBIn0=","prev": "https://{subdomain}.zendesk.com/api/v2/it_asset_management/fields?page[before]=eyJvIjoiaWQiLCJ2IjoiYVFFQkFQVXFvQlFBIn0="},"meta": {"after_cursor": "eyJvIjoiaWQiLCJ2IjoiYVlFQkFQVXFvQlFBIn0=","before_cursor": "eyJvIjoiaWQiLCJ2IjoiYVFFQkFQVXFvQlFBIn0=","has_more": true}}
Create Field
POST /api/v2/it_asset_management/fields
Creates an asset field.
Allowed For
- Admins
Example body
{"asset_type_ids": "all","field": {"key": "partner","position": 3,"title": "Asset Partner","type": "text"}}
Code Samples
Curl
curl --request POST https://example.zendesk.com/api/v2/it_asset_management/fields \--header "Content-Type: application/json" \-u {email_address}/token:{api_token} \--data-raw '{"asset_type_ids": "all","field": {"key": "partner","position": 3,"title": "Asset Partner","type": "text"}}'
Go
import ("fmt""io""net/http""strings")func main() {url := "https://example.zendesk.com/api/v2/it_asset_management/fields"method := "POST"payload := strings.NewReader(`{"asset_type_ids": "all","field": {"key": "partner","position": 3,"title": "Asset Partner","type": "text"}}`)req, err := http.NewRequest(method, url, payload)if err != nil {fmt.Println(err)return}req.Header.Add("Content-Type", "application/json")req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "{email_address}/token:{api_token}"client := &http.Client {}res, err := client.Do(req)if err != nil {fmt.Println(err)return}defer res.Body.Close()body, err := io.ReadAll(res.Body)if err != nil {fmt.Println(err)return}fmt.Println(string(body))}
Java
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("https://example.zendesk.com/api/v2/it_asset_management/fields").newBuilder();RequestBody body = RequestBody.create(MediaType.parse("application/json"),"""{\"asset_type_ids\": \"all\",\"field\": {\"key\": \"partner\",\"position\": 3,\"title\": \"Asset Partner\",\"type\": \"text\"}}""");String userCredentials = "your_email_address" + "/token:" + "your_api_token";String basicAuth = "Basic " + java.util.Base64.getEncoder().encodeToString(userCredentials.getBytes());Request request = new Request.Builder().url(urlBuilder.build()).method("POST", body).addHeader("Content-Type", "application/json").addHeader("Authorization", basicAuth).build();Response response = client.newCall(request).execute();
Nodejs
var axios = require('axios');var data = JSON.stringify({"asset_type_ids": "all","field": {"key": "partner","position": 3,"title": "Asset Partner","type": "text"}});var config = {method: 'POST',url: 'https://example.zendesk.com/api/v2/it_asset_management/fields',headers: {'Content-Type': 'application/json','Authorization': 'Basic <auth-value>', // Base64 encoded "{email_address}/token:{api_token}"},data : data,};axios(config).then(function (response) {console.log(JSON.stringify(response.data));}).catch(function (error) {console.log(error);});
Python
import requestsimport jsonfrom requests.auth import HTTPBasicAuthurl = "https://example.zendesk.com/api/v2/it_asset_management/fields"payload = json.loads("""{"asset_type_ids": "all","field": {"key": "partner","position": 3,"title": "Asset Partner","type": "text"}}""")headers = {"Content-Type": "application/json",}email_address = 'your_email_address'api_token = 'your_api_token'# Use basic authenticationauth = HTTPBasicAuth(f'{email_address}/token', api_token)response = requests.request("POST",url,auth=auth,headers=headers,json=payload)print(response.text)
Ruby
require "net/http"require "base64"uri = URI("https://example.zendesk.com/api/v2/it_asset_management/fields")request = Net::HTTP::Post.new(uri, "Content-Type": "application/json")request.body = %q({"asset_type_ids": "all","field": {"key": "partner","position": 3,"title": "Asset Partner","type": "text"}})email = "your_email_address"api_token = "your_api_token"credentials = "#{email}/token:#{api_token}"encoded_credentials = Base64.strict_encode64(credentials)request["Authorization"] = "Basic #{encoded_credentials}"response = Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|http.request(request)end
curl - Create field
For clarity, the example places the JSON in a separate file and imports it into the cURL statement. This example applies the field to every asset type by passing "all" for asset_type_ids.
my_field.json
{"field": {"type": "text","key": "partner","title": "Asset Partner","position": 3},"asset_type_ids": "all"}
curl - Create field snippet
curl https://{subdomain}.zendesk.com/api/v2/it_asset_management/fields \-d @my_field.json \-H "Content-Type: application/json" -H "Authorization: Bearer {access_token}" -X POST
Example response(s)
201 Created
// Status 201 Created{"field": {"active": true,"created_at": "2025-10-22T21:08:45Z","description": "IMEI","id": 9230426027902,"key": "imei","position": 9999,"raw_description": "{{zd.itam_mobile_field_imei}}","raw_title": "{{zd.itam_mobile_field_imei}}","regexp_for_validation": null,"system": false,"title": "IMEI","type": "text","updated_at": "2025-10-22T21:08:45Z","url": "https://{subdomain}.zendesk.com/api/v2/it_asset_management/fields/9230426027902"}}
Show Field
GET /api/v2/it_asset_management/fields/{id}
Shows an asset field.
Allowed For
- Agents
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
| id | integer | Path | true | The ID of the asset field |
Code Samples
Curl
curl --request GET https://example.zendesk.com/api/v2/it_asset_management/fields/123 \--header "Content-Type: application/json" \-u {email_address}/token:{api_token}
Go
import ("fmt""io""net/http")func main() {url := "https://example.zendesk.com/api/v2/it_asset_management/fields/123"method := "GET"req, err := http.NewRequest(method, url, nil)if err != nil {fmt.Println(err)return}req.Header.Add("Content-Type", "application/json")req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "{email_address}/token:{api_token}"client := &http.Client {}res, err := client.Do(req)if err != nil {fmt.Println(err)return}defer res.Body.Close()body, err := io.ReadAll(res.Body)if err != nil {fmt.Println(err)return}fmt.Println(string(body))}
Java
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("https://example.zendesk.com/api/v2/it_asset_management/fields/123").newBuilder();String userCredentials = "your_email_address" + "/token:" + "your_api_token";String basicAuth = "Basic " + java.util.Base64.getEncoder().encodeToString(userCredentials.getBytes());Request request = new Request.Builder().url(urlBuilder.build()).method("GET", null).addHeader("Content-Type", "application/json").addHeader("Authorization", basicAuth).build();Response response = client.newCall(request).execute();
Nodejs
var axios = require('axios');var config = {method: 'GET',url: 'https://example.zendesk.com/api/v2/it_asset_management/fields/123',headers: {'Content-Type': 'application/json','Authorization': 'Basic <auth-value>', // Base64 encoded "{email_address}/token:{api_token}"},};axios(config).then(function (response) {console.log(JSON.stringify(response.data));}).catch(function (error) {console.log(error);});
Python
import requestsfrom requests.auth import HTTPBasicAuthurl = "https://example.zendesk.com/api/v2/it_asset_management/fields/123"headers = {"Content-Type": "application/json",}email_address = 'your_email_address'api_token = 'your_api_token'# Use basic authenticationauth = HTTPBasicAuth(f'{email_address}/token', api_token)response = requests.request("GET",url,auth=auth,headers=headers)print(response.text)
Ruby
require "net/http"require "base64"uri = URI("https://example.zendesk.com/api/v2/it_asset_management/fields/123")request = Net::HTTP::Get.new(uri, "Content-Type": "application/json")email = "your_email_address"api_token = "your_api_token"credentials = "#{email}/token:#{api_token}"encoded_credentials = Base64.strict_encode64(credentials)request["Authorization"] = "Basic #{encoded_credentials}"response = Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|http.request(request)end
curl - Show field
curl https://{subdomain}.zendesk.com/api/v2/it_asset_management/fields/{id} \-H "Authorization: Bearer {access_token}"
Example response(s)
200 OK
// Status 200 OK{"field": {"active": true,"created_at": "2025-10-22T21:08:45Z","description": "IMEI","id": 9230426027902,"key": "imei","position": 9999,"raw_description": "{{zd.itam_mobile_field_imei}}","raw_title": "{{zd.itam_mobile_field_imei}}","regexp_for_validation": null,"system": false,"title": "IMEI","type": "text","updated_at": "2025-10-22T21:08:45Z","url": "https://{subdomain}.zendesk.com/api/v2/it_asset_management/fields/9230426027902"}}
Update Field
PATCH /api/v2/it_asset_management/fields/{id}
Updates an asset field.
Allowed For
- Admins
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
| id | integer | Path | true | The ID of the asset field |
Example body
{"asset_type_ids": "none","field": {"key": "partner","title": "Asset Partner","type": "text"}}
Code Samples
Curl
curl --request PATCH https://example.zendesk.com/api/v2/it_asset_management/fields/123 \--header "Content-Type: application/json" \-u {email_address}/token:{api_token} \--data-raw '{"asset_type_ids": "none","field": {"key": "partner","title": "Asset Partner","type": "text"}}'
Go
import ("fmt""io""net/http""strings")func main() {url := "https://example.zendesk.com/api/v2/it_asset_management/fields/123"method := "PATCH"payload := strings.NewReader(`{"asset_type_ids": "none","field": {"key": "partner","title": "Asset Partner","type": "text"}}`)req, err := http.NewRequest(method, url, payload)if err != nil {fmt.Println(err)return}req.Header.Add("Content-Type", "application/json")req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "{email_address}/token:{api_token}"client := &http.Client {}res, err := client.Do(req)if err != nil {fmt.Println(err)return}defer res.Body.Close()body, err := io.ReadAll(res.Body)if err != nil {fmt.Println(err)return}fmt.Println(string(body))}
Java
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("https://example.zendesk.com/api/v2/it_asset_management/fields/123").newBuilder();RequestBody body = RequestBody.create(MediaType.parse("application/json"),"""{\"asset_type_ids\": \"none\",\"field\": {\"key\": \"partner\",\"title\": \"Asset Partner\",\"type\": \"text\"}}""");String userCredentials = "your_email_address" + "/token:" + "your_api_token";String basicAuth = "Basic " + java.util.Base64.getEncoder().encodeToString(userCredentials.getBytes());Request request = new Request.Builder().url(urlBuilder.build()).method("PATCH", body).addHeader("Content-Type", "application/json").addHeader("Authorization", basicAuth).build();Response response = client.newCall(request).execute();
Nodejs
var axios = require('axios');var data = JSON.stringify({"asset_type_ids": "none","field": {"key": "partner","title": "Asset Partner","type": "text"}});var config = {method: 'PATCH',url: 'https://example.zendesk.com/api/v2/it_asset_management/fields/123',headers: {'Content-Type': 'application/json','Authorization': 'Basic <auth-value>', // Base64 encoded "{email_address}/token:{api_token}"},data : data,};axios(config).then(function (response) {console.log(JSON.stringify(response.data));}).catch(function (error) {console.log(error);});
Python
import requestsimport jsonfrom requests.auth import HTTPBasicAuthurl = "https://example.zendesk.com/api/v2/it_asset_management/fields/123"payload = json.loads("""{"asset_type_ids": "none","field": {"key": "partner","title": "Asset Partner","type": "text"}}""")headers = {"Content-Type": "application/json",}email_address = 'your_email_address'api_token = 'your_api_token'# Use basic authenticationauth = HTTPBasicAuth(f'{email_address}/token', api_token)response = requests.request("PATCH",url,auth=auth,headers=headers,json=payload)print(response.text)
Ruby
require "net/http"require "base64"uri = URI("https://example.zendesk.com/api/v2/it_asset_management/fields/123")request = Net::HTTP::Patch.new(uri, "Content-Type": "application/json")request.body = %q({"asset_type_ids": "none","field": {"key": "partner","title": "Asset Partner","type": "text"}})email = "your_email_address"api_token = "your_api_token"credentials = "#{email}/token:#{api_token}"encoded_credentials = Base64.strict_encode64(credentials)request["Authorization"] = "Basic #{encoded_credentials}"response = Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|http.request(request)end
curl - Update field
For clarity, the example places the JSON in a separate file and imports it into the cURL statement
updated_field.json
{"field": {"title": "Asset Partner"},"asset_type_ids": "none"}
curl - Update field snippet
curl https://{subdomain}.zendesk.com/api/v2/it_asset_management/fields/{id} \-d @updated_field.json \-H "Content-Type: application/json" -X PATCH \-H "Authorization: Bearer {access_token}"
Example response(s)
200 OK
// Status 200 OK{"field": {"active": true,"created_at": "2025-10-22T21:08:45Z","description": "IMEI","id": 9230426027902,"key": "imei","position": 9999,"raw_description": "{{zd.itam_mobile_field_imei}}","raw_title": "{{zd.itam_mobile_field_imei}}","regexp_for_validation": null,"system": false,"title": "IMEI","type": "text","updated_at": "2025-10-22T21:08:45Z","url": "https://{subdomain}.zendesk.com/api/v2/it_asset_management/fields/9230426027902"}}
422 Unprocessable Entity
// Status 422 Unprocessable Entity{"error": "Cannot set required to false on field 'standard::name' because it is always required"}
Delete Field
DELETE /api/v2/it_asset_management/fields/{id}
Deletes an asset field.
Allowed For
- Admins
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
| id | integer | Path | true | The ID of the asset field |
Code Samples
Curl
curl --request DELETE https://example.zendesk.com/api/v2/it_asset_management/fields/123 \--header "Content-Type: application/json" \-u {email_address}/token:{api_token}
Go
import ("fmt""io""net/http")func main() {url := "https://example.zendesk.com/api/v2/it_asset_management/fields/123"method := "DELETE"req, err := http.NewRequest(method, url, nil)if err != nil {fmt.Println(err)return}req.Header.Add("Content-Type", "application/json")req.Header.Add("Authorization", "Basic <auth-value>") // Base64 encoded "{email_address}/token:{api_token}"client := &http.Client {}res, err := client.Do(req)if err != nil {fmt.Println(err)return}defer res.Body.Close()body, err := io.ReadAll(res.Body)if err != nil {fmt.Println(err)return}fmt.Println(string(body))}
Java
import com.squareup.okhttp.*;OkHttpClient client = new OkHttpClient();HttpUrl.Builder urlBuilder = HttpUrl.parse("https://example.zendesk.com/api/v2/it_asset_management/fields/123").newBuilder();String userCredentials = "your_email_address" + "/token:" + "your_api_token";String basicAuth = "Basic " + java.util.Base64.getEncoder().encodeToString(userCredentials.getBytes());Request request = new Request.Builder().url(urlBuilder.build()).method("DELETE", null).addHeader("Content-Type", "application/json").addHeader("Authorization", basicAuth).build();Response response = client.newCall(request).execute();
Nodejs
var axios = require('axios');var config = {method: 'DELETE',url: 'https://example.zendesk.com/api/v2/it_asset_management/fields/123',headers: {'Content-Type': 'application/json','Authorization': 'Basic <auth-value>', // Base64 encoded "{email_address}/token:{api_token}"},};axios(config).then(function (response) {console.log(JSON.stringify(response.data));}).catch(function (error) {console.log(error);});
Python
import requestsfrom requests.auth import HTTPBasicAuthurl = "https://example.zendesk.com/api/v2/it_asset_management/fields/123"headers = {"Content-Type": "application/json",}email_address = 'your_email_address'api_token = 'your_api_token'# Use basic authenticationauth = HTTPBasicAuth(f'{email_address}/token', api_token)response = requests.request("DELETE",url,auth=auth,headers=headers)print(response.text)
Ruby
require "net/http"require "base64"uri = URI("https://example.zendesk.com/api/v2/it_asset_management/fields/123")request = Net::HTTP::Delete.new(uri, "Content-Type": "application/json")email = "your_email_address"api_token = "your_api_token"credentials = "#{email}/token:#{api_token}"encoded_credentials = Base64.strict_encode64(credentials)request["Authorization"] = "Basic #{encoded_credentials}"response = Net::HTTP.start uri.hostname, uri.port, use_ssl: true do |http|http.request(request)end
curl - Delete field
curl https://{subdomain}.zendesk.com/api/v2/it_asset_management/fields/{id} \-X DELETE \-H "Authorization: Bearer {access_token}"
Example response(s)
204 No Content
// Status 204 No Contentnull
422 Unprocessable Entity
// Status 422 Unprocessable Entity{"error": "Cannot delete field 'partner' because it is still associated with asset types: 01K9BT5X0115ZVH1X6T37WYMTE"}