{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Updating options for a custom field arm","meta":[{"name":"robots","content":"noindex"}],"llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"updating-options-for-a-custom-field-arm","__idx":0},"children":["Updating options for a custom field arm"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The steps below explain how to update the options (i.e., the responses) available for a custom field arm."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Step"},"children":["Step"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Name"},"children":["Name"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Endpoint"},"children":["Endpoint"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Details"},"children":["Details"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/openapi/customfieldapi/custom-field-v3/listarms"},"children":["List arms"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v3/companies/{companyId}/custom-fields/{customFieldId}/arms/list"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List all the arms created for a custom field.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["URL path requires:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["companyId"]}," retrieved from the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/openapi/companyapi/companies/readcompany"},"children":["get company"]}," API, and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customFieldId"]}," from Step 1 of the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/spotnana/custom_field_create_workflow"},"children":["creating a custom field"]}," workflow.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request body:"]}," Use the optional ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["searchText"]}," field to filter and find a specific arm.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response will contain:"]}," the list of arms along with information such as the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["audiences"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["action"]},", and option group of each arm.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," Inside an arm object the identifier property is called ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]},", not ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["armId"]},". To find the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["optionGroupId"]},", navigate to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["arms"]}," > ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["action"]}," > ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["userOptionSource"]},". It is only present when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["userOptionSource"]}," > ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MANUAL"]},". Arms with an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AUTO"]}," action, and arms that source their options from a profile attribute, have no option group. You can also get the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["optionGroupId"]}," from Step 2 of the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/spotnana/custom_field_create_workflow"},"children":["creating a custom field"]}," workflow.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Other APIs will use:"]}," the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," of the arm for which you need to update the options, and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["optionGroupId"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"ol","attributes":{"start":2},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/openapi/customfieldapi/custom-field-v3/getcustomfieldv3optionlist"},"children":["Get options for a custom field arm"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v3/companies/{companyId}/custom-fields/{customFieldId}/arms/{armId}/option-list"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Get all the options for a custom field arm.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["URL path requires:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["companyId"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customFieldId"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["armId"]}," from Step 1.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request body requires:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paginationParams"]}," to define the number of options displayed per API response, and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fetchEffectiveAdditionalInfos"]},". Both fields are mandatory. Within ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paginationParams"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offset"]}," defaults to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["0"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["limit"]}," defaults to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["100"]},". You can also pass the optional ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["nameSearchText"]}," field to return only the options whose name contains the text you supply.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Response will contain:"]}," the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]}," of each option added for the custom field arm, plus its ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["additionalInfos"]},". If the company has translations configured, each option additionally returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["translatedName"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["translatedDescription"]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," Options that define their own ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["additionalInfos"]}," always return them. Setting ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fetchEffectiveAdditionalInfos"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," makes options that define none inherit the arm level ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["additionalInfos"]}," instead, and setting it to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," leaves those options with no ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["additionalInfos"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"ol","attributes":{"start":3},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/openapi/customfieldapi/custom-field-v3/updatecustomfieldoptiongroupv3"},"children":["Update options for a specific options group"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PATCH /v3/companies/{companyId}/custom-fields/{customFieldId}/option-groups/{optionGroupId}"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Update the options for an arm.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["URL path requires:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["companyId"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customFieldId"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["optionGroupId"]}," from Step 1.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request body:"]}," Use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["toUpdate"]}," field to update the name and description of the available options. If the name passed doesn't match with an existing option name, then a new option will be created. To delete existing options, use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["toDelete"]}," field.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," When one request contains both fields, the options named in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["toDelete"]}," are removed before the entries in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["toUpdate"]}," are applied. Options that appear in neither field are left unchanged."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"ol","attributes":{"start":4},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/openapi/customfieldapi/custom-field-v3/bulkuploadoptions"},"children":["Upload file of options"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v3/companies/{companyId}/custom-fields/{customFieldId}/option-groups/{optionGroupId}"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Upload a CSV file of options instead of listing them in the request body. This is useful when an option group holds a large number of options.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["URL path requires:"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["companyId"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customFieldId"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["optionGroupId"]}," from Step 1.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Request body requires:"]}," the CSV file sent as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["multipart/form-data"]}," in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["file"]}," field.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," The CSV file uses three columns. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Action*"]}," is required and accepts ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Create"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Update"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Delete"]},". ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Response Option*"]}," is required and holds the option name used to match an existing option. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Description"]}," is optional."]}]}]}]}]}]},"headings":[{"value":"Updating options for a custom field arm","id":"updating-options-for-a-custom-field-arm","depth":1}],"frontmatter":{"seo":{"title":"Updating options for a custom field arm"}},"lastModified":"2026-09-16T16:41:37.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/spotnana/custom_field_options_workflow","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}