formTemplates

Update Form Template

Update an existing form template. All fields are optional — only provided fields are updated. formLayouts is optional — omit it to leave the existing layout untouched.

formLayouts replacement: When provided, the formLayouts array fully replaces all layout groups and their fields on the template. Position is determined by array order.

IDs are not stable across updates. Every update internally deletes all existing layout rows and inserts new ones, so every group and field receives a new auto-generated ID after each PATCH. The IDs returned in a GET response are only valid until the next PATCH. Do not store or rely on layout IDs across updates.

Using id in the request: You can pass { "id": <id from a recent GET> } for a group or field to reference its current data without repeating all attributes — the API will look up the existing name, type, isRequired, etc. and carry them forward. This is a convenience shortcut for the current request only; the ID will be different in the response.

Assignee (mutually exclusive — use at most one):

  • assigneeId — assign a specific user by ID.
  • assigneeProperty — assign by project property key: OWNER, SALES_REP, PROJECT_MANAGER, CREATED_BY, or a custom PERSON property keyName.
  • assigneeTeamId — assign a team: the team lead becomes the assignee and all other team members are added as collaborators.

Collaborators:

  • collaborators — replaces the list of direct user collaborator IDs.
  • collaboratorProperties — replaces the list of property-based collaborators. Each value is a standard key (OWNER, SALES_REP, PROJECT_MANAGER, CREATED_BY) or a custom PERSON property keyName.
  • collaboratorTeamIds — team IDs whose members are resolved to user IDs and merged (deduplicated) into collaborators alongside any direct collaborators and members from assigneeTeamId.
patch/form-templates/{form_template_id}

Request

  • Base URL: https://api.coperniq.io/v1
  • URL: https://api.coperniq.io/v1/form-templates/{form_template_id}
  • Auth: API key in header x-api-key

Path parameters

form_template_idstring required

Request body

namestring

Template name. Optional — omit to leave the existing name untouched.

assigneeIdinteger nullable

Direct user ID to assign. Mutually exclusive with assigneeProperty and assigneeTeamId.

assigneePropertystring nullable

Property-based assignee. Use a standard key (OWNER, SALES_REP, PROJECT_MANAGER, CREATED_BY) or a custom PERSON property keyName. Mutually exclusive with assigneeId and assigneeTeamId.

assigneeTeamIdinteger nullable

Assign a team: the team lead becomes the assignee and all other team members are added as collaborators. Mutually exclusive with assigneeId and assigneeProperty.

collaboratorsinteger[]

Replaces the list of direct user collaborator IDs.

collaboratorPropertiesstring[]

Property-based collaborators. Each value is a standard key (OWNER, SALES_REP, PROJECT_MANAGER, CREATED_BY) or a custom PERSON property keyName.

collaboratorTeamIdsinteger[]

Team IDs whose members are added as collaborators. Resolved to individual user IDs and merged (deduplicated) with any direct collaborators and members from assigneeTeamId.

labelsinteger[]

Replaces the list of label IDs applied to the template.

dueDateXDaysAfterinteger nullable

Number of days after creation that the form is due.

Response

Form template updated successfully

idinteger

Form template identifier

namestring

Template name

createdAtstring date-time
updatedAtstring date-time
assigneePropertystring nullable

Property-based assignee key. Returns a standard key (OWNER, SALES_REP, PROJECT_MANAGER, CREATED_BY) or the keyName of a custom PERSON property. Null if a direct user assignee is set.

collaboratorPropertiesstring[]

Property-based collaborator keys. Each value is a standard key (OWNER, SALES_REP, PROJECT_MANAGER, CREATED_BY) or the keyName of a custom PERSON property.

dueDateXDaysAfterinteger nullable

Number of days after creation that the form is due

Changes

No recorded changes to this operation across all 1 revision of this API.