---
title: "Update a draft registration"
method: PATCH
path: "/nodes/{node_id}/draft_registrations/{draft_id}/"
tags: ["Nodes"]
---

# Update a draft registration

`PATCH /nodes/{node_id}/draft_registrations/{draft_id}/`

Updates a draft registration by setting the values of the attributes specified in the request body. Any unspecified attributes will be left unchanged.

Draft Registrations contain Registration questions that will become part of the Registration. Answer the questions in the draft registration supplement by sending update requests until you are ready to submit the draft.

The registration supplement of a draft registration cannot be updated after the draft has been created.

When updating a draft registration, `registration_metadata` is required. It must be a dictionary with keys as question ids in the registration form, and values as nested dictionaries matching the specific format in the [registration schema](TODO: link me pls).

If a question is multiple-choice, the question response must exactly match one of the possible choices.
#### Permissions
Only project administrators may update draft registrations.
#### Returns
Returns a JSON object with a `data` key containing the new representation of the updated draft registration, if the request is successful.

If the request is unsuccessful, an `errors` key containing information about the failure will be returned. Refer to the [list of error codes](#tag/Errors-and-Error-Codes) to understand why this request may have failed.

## Path parameters

- `node_id` string, required
- `draft_id` string, required

## Request body

- object
  - `id` string, required — The unique identifier of the draft registration entity.
  - `type` string, required — The type identifier of the draft registration entity (`draft_registrations`).
  - `attributes` object, required — The properties of the Draft Registration entity.
    - `title` string — The title of the Draft Registration.
    - `description` string — The description of the Draft Registration.
    - `category` string — The category of the Draft Registration.
    - `tags` string[] — The searchable tags of the Draft Registration.
    - `node_license` object
      - `copyright_holders` string[] — A list of names of copyright holders for the license.
      - `year` integer — The year the copyright was made.
    - `current_user_permissions` string[] — The current users permission level for the Draft Registration.
    - `has_project` boolean — This indicates whether a Draft Registration was branched from a project.
    - `datetime_initiated` string, date-time — The time at which the draft registration was first initiated, as an iso8601 formatted timestamp.
    - `datetime_updated` string, date-time — The time at which the draft registration was last updated, as an iso8601 formatted timestamp.
    - `registration_metadata` object — This is a legacy format for `registration_responses`.
    - `registration_responses` object — A dictionary of question IDs and responses from the registration schema.
  - `relationships` object, required — URLs to other entities or entity collections that have a relationship to the draft registration entity.
    - `branched_from` string — A link to the node that this draft registration was created from.
    - `initiator` string — A link to the user who initiated the draft registration.
    - `registration_schema` string — A link to the detailed registration schema that this draft conforms to.
  - `links` object, required — URLs to alternative representations of the draft registration entity.
    - `html` string, URL, required — A link to the draft registration's page on the OSF.

## Response `200`

OK

---

[API](https://skmtc.net/osf/apis/osf-apiv2-documentation.md) · [All operations](https://skmtc.net/osf/apis/osf-apiv2-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/osf/osf-apiv2-documentation/versions/ca701048eb0d/schema)
