Update Custom Software Asset fields via API

We plan do migrate our software list into Freshservice and we have to create some custom fields which also should be updated via Rest API but i can’t find something related custom fields in the documentation.

Is this possible? If no - is there a plan to implement this?

Thanks for your help!
Benjamin

Hi @Benjamin_Sasse

Good day and welcome to the community.
Looks like the API docs are missing this however you can send custom fields as following.

{
    "application": {
        "name": "Freshservice Test Asset",
        "description": "Cloud based ITSM software for service desk",
        "application_type": "saas",
        "category": "service desk application",
        "status": "managed",
        "source": "API",
        "custom_field": {
            "cf_test_software_fd": "Test Software CF"
        },
        "notes": "monthly renewal"
    }
}
1 Like

Hi @Sachin_Kumar,

thanks for the quick reply.

I’m still trying to find out the name of the created custom field i created. Via API View a Software this information is also missing.

Is there any other hidden secrect? :slight_smile:

Hi @Benjamin_Sasse

You are correct the View API is not returning this information. Please raise a request with support

Here’s response I received from the Freshservice team

There is no API for creating and updating Software Custom fields at the moment.

But the same could be read from this endpoint https://abc.freshservice.com/api/v2/application_fields, if the custom fields are already configured through the Freshservice Application UI.
And regarding creating and updating Software with custom fields,
Payload:

{
	"application": {
		"name": "Clue",
		"description": "A",
		"application_type": "saas",
		"category": "Case Management",
		"status": "managed",
		"notes": "Test Notes",
		"managed_by_id":100011,
		"custom_field": {
			"cf_business_service": 4,
			"cf_business_owner": "test@test.com"
		}
	}
}

:point_up_2: the payload something like above can be formed by reading the name field from application_fields endpoint.

This is not documented, but hidden at the moment for some reason. But can be used this way.