Archive a custom field
const url = 'https://beta-api.plune.ai/v1/custom-fields/example/archive';const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://beta-api.plune.ai/v1/custom-fields/example/archive \ --header 'Authorization: Bearer <token>'The project owner’s. The field leaves the forms and takes no new value; the values on the cases stay, and a restore brings the field back with them. The live fields close the gap in the order. Archiving an archived field changes nothing.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Responses
Section titled “ Responses ”The archived field
object
What the field is on: a case, a suite, a run, a plan or a step. Its values ride on that entity as custom (for a step, on the Steps Database row, not on the case that carries it). A step field cannot be required.
Unique among the fields of the entity in the project, case-insensitively, archived fields included.
Fixed after creation.
A list field that takes several options. Fixed after creation; only a list can be.
In the order a person set; null for a string or number field. An option taken off the list stays on the cases that hold it, shown as stale, and is refused only as a NEW value.
object
Never changes and is never reused: this is what a case stores. A rename changes label only.
Present while the option is archived (#1251), set by the server on archived: true: it is not taken as a new value, and an entity that holds it keeps it.
Checked when a case is created. On an existing case the server only refuses to clear the value; it does not demand one.
Independent of showInList (#1250 AC-07). A toggle for the screen, not for access.
Dense 0..n-1 among the live fields of the entity with the same role: the configuration groups have an order of their own (#1251).
Where the field came from (#1930): testrail - the TestRail import made it or carries values into it (the settings page shows “From TestRail”); null - a person made it. Set by the server only: a create or a patch that sends it does not set it, and it never changes once set.
configuration — a configuration group (#1251, ADR 0070): a run list of several values, which a launch multiplies into the run’s combinations. Fixed at creation. Its values are archived, never removed; it is neither required nor has a default; position, the limit of 50 and the name are counted among the groups apart from the fields. null — a field.
Set while the field is archived: it takes no new value and its old values stay.
Example
{ "id": "6f1c2b3a-0000-4000-8000-0000000000f4", "projectId": "u-shop::default", "entity": "case", "name": "Browser", "type": "list", "multiple": true, "options": [ { "id": "opt_chrome0001", "label": "Chrome" }, { "id": "opt_firefox001", "label": "Firefox" } ], "required": false, "defaultValue": null, "showInList": true, "showInFilter": false, "position": 0, "role": null, "archivedAt": "2026-09-16T09:12:04.151Z", "createdAt": "2026-09-16T09:12:04.151Z", "updatedAt": "2026-09-16T09:12:04.151Z"}No / invalid token or session
You are in the project, but not as its owner
object
Example
{ "error": "project owner only"}No such field in your projects
object
Example generated
{ "error": "example"}Rate-limited: the per-route throttle, or the per-minute request limit of the plan an API token counts by (#1442; the body names the plan, #2092). Retry-After carries the seconds until the window rolls over.
object
Example generated
{ "error": "example"}Headers
Section titled “Headers ”Seconds until the window rolls over