# Custom Forms ## Create a Custom Form Type - [POST /add/CFOT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-add-cfot.md): Creates a new standalone or embedded Custom Form Type. ## List Custom Form Types - [POST /fetch/CFOT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-fetch-cfot.md): Retrieves a list of Custom Form Types. ## Update a Custom Form Type - [POST /update/CFOT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-update-cfot.md): Updates a Custom Form Type. ## Delete a Custom Form Type - [POST /delete/CFOT](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-delete-cfot.md): Deletes a Custom Form Type by typedId. ## Create a Custom Form - [POST /customform.add](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.add.md): Creates a new Custom Form. ## Get a Custom Form - [POST /customform.fetch/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.fetch-typedid.md): Retrieves the Custom Form (specified by typedId), including all details. ## List Custom Forms - [POST /customform.search](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.search.md): Retrieves a list of Custom Forms of the specified Custom Form Type. ## Change a Custom Form Status - [POST /customform.changestatus/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.changestatus-typedid.md): Allows you to submit, revoke, or withrdraw the Custom Form. ## Update a Custom Form - [POST /customform.update](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.update.md): Allows you to update Label, User Group (Edit), and User Group (View Details) fields of the specified Custom Form. ## Delete a Custom Form - [POST /customform.delete](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.delete.md): Deletes specified Custom Forms. ## Duplicate a Custom Form - [POST /customform.duplicate/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.duplicate-typedid.md): Creates a copy of the specified Custom Form. The copy includes inputs, outputs, and embedded objects. Returns the duplicated Custom Form. Duplicated Custom Form fields: The Custom Form has an origin and it is not deleted originCustomFormId, originDeleted, originLabel, originUniqueName fields in the duplicated CFO object contain a copy of corresponding fields from the original Custom Form. The Custom Form origin has been deleted originCustomFormId is the id of the original Custom Form, originDeleted set to true. originLabel and originUniqueName fields are null. The Custom Form does not have an origin (the CFO is not duplicated) originCustomFormId, originDeleted, originLabel, originUniqueName fields have a null value. ## Create a Custom Form Revision - [POST /customform.createnewrevision/{typedId}](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.createnewrevision-typedid.md): Creates a new revision of the specified existing Custom Form. The returned object contains attributes, inputs or outputs, and duplicated embedded objects, but does not contain attached documents, actions, notes, and messages. Note: The revision can only be created from a standalone Custom Form. The status of the form (formStatus) must be APPROVED and the workflow status (workflowStatus) must be either APPROVED or NO_APPROVAL_REQUIRED. ## Preview a Custom Form Workflow - [POST /customform.preview](https://api.pricefx.com/openapi/reference/pricefx-server_openapi/custom-forms/post-customform.preview.md): Retrieves workflow details for the Custom Form where workflowStatus=DRAFT. Avaialble for the following roles: - SUPPORT (Investigate for Support) - CUSTOM_FORM_RO (View Custom Form)