Search code examples
formsrestcustom-fieldsworkfront-api

How do we POST custom fields from multiple categories in Workfront


I have two custom forms A1,A2,A3 and fields a1,a2,a3 in the forms respectively. I want to create a new project with custom fields from the forms A1, A2. How should we include multiple categoryID in the POST URL

/attask/api/v10.0/PROJ?fields=parameterValues&name=XXX&DE:a1=hello&DE:a2=hello1&categoryID=<A1/A2 category ID - How should i fill it.>

I tried adding this paramter but no luck categoryIDs=5d10971f0022b132ec67f6fb6c60b3a4,5d07244000060f86c04b49527f1

I got the following error "message": "APIModel V10_0 does not support field categoryIDs (Project)"


Solution

  • If you attempt to set a custom field value on an object that does not yet have that field associated to it (no form on the object that contains the field), Workfront will automatically attach an appropriate form. If those forms are the only ones that utilize your fields, you should be able to simply set the field values and be done with it.

    However, if you wish to attach specific custom forms without filling out the fields, or if you have a field associated with multiple forms and you want to ensure a specific form is attached, you must first attach the form(s) in one call and then update the fields in another.

    To attach a custom form,

    PUT <Workfront URL.../<objectID?updates={objectCategories:[{categoryID:`"<custom form ID>`",categoryOrder:<order of form, starting with 0>,objCode:`"CTGY`"}]}
    

    Please note that this will remove any forms not explicitly specified in this call (it does not append) so you'll need to capture any existing forms and re-apply them.