---
title: "Update an existing signup"
method: PATCH
path: "/api/v2/signups/{id}"
tags: ["Signups"]
---

# Update an existing signup

`PATCH /api/v2/signups/{id}`

## Request

- Base URL: `https://yournation.nationbuilder.com`
- URL: `https://yournation.nationbuilder.com/api/v2/signups/{id}`
- Auth: HTTP bearer

Updates an existing signup

## Request body

- SignupUpdateRequest: The JSON:API top-level document shape for update requests, whose data member identifies the resource by type and id and carries the changed attributes.
  - `data` object, required
    - `id` string, required: The ID of the resource being updated.
    - `type` 'signups', required: The JSON:API resource type of the resource being updated.
    - `attributes` object: The write-only attributes of a signup.
      - `author_id` string, nullable: ID of the person interacting with the signup in the control panel.
      - `availability` string, nullable: When can this signup be contacted?
      - `banned_at` string, date-time, nullable: When the signup was banned.
      - `born_at` string, date, nullable: The date the signup was born.
      - `capital_amount_in_cents` integer, nullable: The amount of political capital this signup has accrued
      - `church` string, nullable: The name of the church the signup belongs to.
      - `city_district` string, nullable: The city district code the signup belongs to.
      - `city_sub_district` string, nullable: Political district.
      - `civicrm_id` string, nullable: The ID of the CiviCRM account the signup is associated with.
      - `contact_status` 'other' | 'answered' | 'bad_info' | 'left_message' | 'meaningful_interaction' | 'send_information' | 'not_interested' | 'no_answer' | 'refused' | 'inaccessible' | 'null', nullable: Name of the associated contact status.
      - `could_vote_status` integer, nullable: Integer representing if the signup can vote. 1=can vote, -1=can't vote.
      - `county_district` string, nullable: The county district the signup belongs to.
      - `county_file_id` string, nullable: The ID of the county voter file belonging to the signup.
      - `custom_values` object, nullable: Values for nation-defined fields on signup
      - `datatrust_id` string, nullable: The ID of the associated Datatrust account.
      - `demo` string, nullable: Single letter representation of demographic.
      - `do_not_call` boolean, nullable: Signup has asked not to be contacted via phone call.
      - `do_not_contact` boolean, nullable: Signup has asked not to be contacted.
      - `donations_amount_in_cents` integer, nullable: Sum of donations made by the signup.
      - `donations_amount_this_cycle_in_cents` integer, nullable: Sum of donations made by the signup in the current cycle.
      - `donations_count` integer, nullable: Number of donations made by the signup.
      - `donations_count_this_cycle` integer, nullable: Number of donations made by the signup in the current cycle.
      - `donations_pledged_amount_in_cents` integer, nullable: Sum of pledges made by the signup.
      - `donations_raised_amount_in_cents` integer, nullable: Sum of donations raised by the signup.
      - `donations_raised_amount_this_cycle_in_cents` integer, nullable: Sum of donations raised by the signup in the current cycle.
      - `donations_raised_count` integer, nullable: Number of donations raised by this signup.
      - `donations_raised_count_this_cycle` integer, nullable: Number of donations raised by this signup in the current cycle.
      - `donations_to_raise_amount_in_cents` integer, nullable: Sum of donations that need to be raised.
      - `dw_id` string, nullable: The Catalist ID associated with the signup.
      - `email` string, nullable: The signup's email address.
      - `email1` string, nullable: Email address 1 for the signup.
      - `email1_is_bad` boolean, nullable: Email address 1 is not emailable.
      - `email2` string, nullable: Email address 2 for the signup.
      - `email2_is_bad` boolean, nullable: Email address 2 is not emailable.
      - `email3` string, nullable: Email address 3 for the signup.
      - `email3_is_bad` boolean, nullable: Email address 3 is not emailable.
      - `email4` string, nullable: Email address 4 for the signup.
      - `email4_is_bad` boolean, nullable: Email address 4 is not emailable.
      - `email_opt_in` boolean, nullable: The signup has opted in to receive emails.
      - `employer` string, nullable: The signup's employer.
      - `ethnicity` string, nullable: Signup's ethnicity.
      - `external_id` string, nullable: A unique identifier from a third party.
      - `fax_number` string, nullable: Signup's fax number.
      - `federal_district` string, nullable: Federal voting district the signup belongs to.
      - `federal_donotcall` boolean, nullable: Is the signup on the federal do not call list?
      - `fire_district` string, nullable: Fire district, only available in a voter file import.
      - `first_donated_at` string, date-time, nullable: The first time the signup made a donation.
      - `first_fundraised_at` string, date-time, nullable: The first time the signup fundraised.
      - `first_name` string, nullable: Signup's first name.
      - `first_prospect_at` string, date-time, nullable: The first time the signup was marked as a prospect.
      - `first_recruited_at` string, date-time, nullable: The first time the signup recruited another signup.
      - `first_supporter_at` string, date-time, nullable: The first time the signup was marked as a supporter.
      - `first_volunteer_at` string, date-time, nullable: The first time the signup volunteered.
      - `import_id` string, nullable: The id of the import that added the signup.
      - `inferred_party` string, nullable: Single letter representation of the signup's inferred political party.
      - `inferred_support_level` integer, nullable: The signup's inferred support level. 1=very strong support and 5=very strong opposition.
      - `is_deceased` boolean, nullable: The signup is deceased.
      - `is_fundraiser` boolean, nullable: The signup is a fundraiser.
      - `is_ignore_donation_limits` boolean, nullable: Ignore donation limits for this signup.
      - `is_leaderboardable` boolean, nullable: The signup can appear on leaderboards.
      - `is_mobile_bad` boolean, nullable: The signup's mobile number is bad.
      - `is_possible_duplicate` boolean, nullable: The signup could be a duplicate.
      - `is_profile_private` boolean, nullable: The signup's profile is private.
      - `is_profile_searchable` boolean, nullable: The profile is searchable.
      - `is_prospect` boolean, nullable: The signup is a prospect.
      - `is_supporter` boolean, nullable: The signup is a supporter.
      - `is_survey_question_private` boolean, nullable: Survey questions are private for this signup.
      - `is_volunteer` boolean, nullable: The signup is a volunteer in your nation.
      - `judicial_district` string, nullable: Judicial district, only available in a voter file import.
      - `labour_region` string, nullable: British voting district.
      - `language` string, nullable: The primary language of the signup.
      - `last_call_id` string, nullable: ID of the last call made to the signup.
      - `last_contacted_at` string, date-time, nullable: The last time the signup was contacted.
      - `last_contacted_by_id` string, nullable: The ID of the user that last contacted the signup.
      - `last_donated_at` string, date-time, nullable: The last time the signup donated.
      - `last_fundraised_at` string, date-time, nullable: The last time the signup fundraised.
      - `last_name` string, nullable: The signup's last name.
      - `last_rule_violation_at` string, date-time, nullable: The last time the signup violated a rule.
      - `legal_name` string, nullable: The signup's legal name.
      - `locale` string, nullable: Letter code representing the signup\s language.
      - `marital_status` string, nullable: Single letter representation of the signup's marital status.
      - `middle_name` string, nullable: Signup's middle name.
      - `mobile_number` string, nullable: The signup's cell phone number.
      - `mobile_opt_in` boolean, nullable: The signup has opted in to mobile phone contact.
      - `ngp_id` string, nullable: ID from associated NGP account.
      - `note` string, nullable: Important information to remember about the signup.
      - `occupation` string, nullable: The signup's occupation.
      - `parent_id` string, nullable: Signup's parent ID.
      - `party` string, nullable: Single letter abbreviation for political party.
      - `party_member` boolean, nullable: Political party membership.
      - `pf_strat_id` string, nullable: PoliticalFORCE ID.
      - `phone_number` string, nullable: Signup's phone number.
      - `phone_time` string, nullable: Best time to contact the signup.
      - `precinct_id` string, nullable: Voting precinct the signup belongs to.
      - `prefix` string, nullable: Signup's prefix.
      - `previous_party` string, nullable: Single letter representing the signup's previous political party affiliation.
      - `primary_email_id` null | 1 | 2 | 3 | 4, nullable: The email column containing the primary email of the signup.
      - `priority_level` integer, nullable: Priority level of the signup.
      - `profile_content` string, nullable: The contents of the signup's profile.
      - `profile_headline` string, nullable: Headline of the signup's profile.
      - `received_capital_amount_in_cents` integer, nullable: Amount of social capital received.
      - `recruiter_id` string, nullable: ID of the signup's recruiter (also a signup).
      - `registered_at` string, date, nullable: When was the signup registered.
      - `religion` string, nullable: Signup's religion.
      - `rnc_id` string, nullable: RNC ID.
      - `rnc_regid` string, nullable: RNC registration ID.
      - `rule_violations_count` integer, nullable: Number of rules the signup has violated.
      - `salesforce_id` string, nullable: ID of the associated Salesforce account.
      - `school_district` string, nullable: School district the signup belongs to.
      - `school_sub_district` string, nullable: School sub-district the signup belongs to.
      - `sex` string, nullable: Must be a single letter: M, F, or O (male, female, or other).
      - `signup_type` integer: Indicates whether the record represents a person or an organization. Must be a single digit: 0 or 1 (0=person, 1=organization).
      - `spent_capital_amount_in_cents` integer, nullable: Amount of social capital spent.
      - `state_file_id` string, nullable: Unique identifier if mapped with the registered state field. May be zero filled to number of digits defined by state.
      - `state_lower_district` string, nullable: The state lower voting district.
      - `state_upper_district` string, nullable: The state upper voting district.
      - `submitted_address` string, nullable: The address submitted by the signup.
      - `suffix` string, nullable: Signup's suffix.
      - `support_level` integer, nullable: A number from 1-5. 1=very strong support and 5=very strong opposition.
      - `supranational_district` string, nullable: The supranational voting district.
      - `township` string, nullable: Township, only available in a voter file import.
      - `unsubscribed_at` string, date-time, nullable: When the signup unsubscribed.
      - `username` string, nullable: Signup's username.
      - `van_id` string, nullable: ID of the associated VAN account.
      - `village_district` string, nullable: Village district, only available in a voter file import.
      - `ward` string, nullable: Ward, only available in a voter file import.
      - `warnings_count` integer, nullable: Number of warnings given to the signup.
      - `work_phone_number` string, nullable: Signup's work phone number.
      - `billing_address_attributes` object, nullable: Attribute used to write data to the given signup's Billing address. When an address already exists, provided values will be used to patch the existing address data, only overwriting values provided in the payload. When no address exists, the existing data will be used to persist a new address.
      - `home_address_attributes` object, nullable: Attribute used to write data to the given signup's Home address. When an address already exists, provided values will be used to patch the existing address data, only overwriting values provided in the payload. When no address exists, the existing data will be used to persist a new address.
      - `mailing_address_attributes` object, nullable: Attribute used to write data to the given signup's Mailing address. When an address already exists, provided values will be used to patch the existing address data, only overwriting values provided in the payload. When no address exists, the existing data will be used to persist a new address.
      - `registered_address_attributes` object, nullable: Attribute used to write data to the given signup's Registered address. When an address already exists, provided values will be used to patch the existing address data, only overwriting values provided in the payload. When no address exists, the existing data will be used to persist a new address.
      - `user_submitted_address_attributes` object, nullable: Attribute used to write data to the given signup's User submitted address. When an address already exists, provided values will be used to patch the existing address data, only overwriting values provided in the payload. When no address exists, the existing data will be used to persist a new address.
      - `work_address_attributes` object, nullable: Attribute used to write data to the given signup's Work address. When an address already exists, provided values will be used to patch the existing address data, only overwriting values provided in the payload. When no address exists, the existing data will be used to persist a new address.

## Response `200`

The updated signup.

- SignupShowResponse: The JSON:API top-level document shape for responses returning a single resource under the data member.
  - `data` object, required: A JSON:API resource identifier object, the type/id pair that uniquely identifies a single resource.
    - `id` string, required: Unique identifier of the resource.
    - `type` 'signups', required: The JSON:API resource type.
    - `attributes` object: The read-only attributes of a signup.
      - `author_id` string, nullable: ID of the person interacting with the signup in the control panel.
      - `availability` string, nullable: When can this signup be contacted?
      - `banned_at` string, date-time, nullable: When the signup was banned.
      - `born_at` string, date, nullable: The date the signup was born.
      - `capital_amount_in_cents` integer, nullable: The amount of political capital this signup has accrued
      - `church` string, nullable: The name of the church the signup belongs to.
      - `city_district` string, nullable: The city district code the signup belongs to.
      - `city_sub_district` string, nullable: Political district.
      - `civicrm_id` string, nullable: The ID of the CiviCRM account the signup is associated with.
      - `contact_status` 'other' | 'answered' | 'bad_info' | 'left_message' | 'meaningful_interaction' | 'send_information' | 'not_interested' | 'no_answer' | 'refused' | 'inaccessible' | 'null', nullable: Name of the associated contact status.
      - `could_vote_status` integer, nullable: Integer representing if the signup can vote. 1=can vote, -1=can't vote.
      - `county_district` string, nullable: The county district the signup belongs to.
      - `county_file_id` string, nullable: The ID of the county voter file belonging to the signup.
      - `custom_values` object, nullable: Values for nation-defined fields on signup
      - `datatrust_id` string, nullable: The ID of the associated Datatrust account.
      - `demo` string, nullable: Single letter representation of demographic.
      - `do_not_call` boolean, nullable: Signup has asked not to be contacted via phone call.
      - `do_not_contact` boolean, nullable: Signup has asked not to be contacted.
      - `donations_amount_in_cents` integer, nullable: Sum of donations made by the signup.
      - `donations_amount_this_cycle_in_cents` integer, nullable: Sum of donations made by the signup in the current cycle.
      - `donations_count` integer, nullable: Number of donations made by the signup.
      - `donations_count_this_cycle` integer, nullable: Number of donations made by the signup in the current cycle.
      - `donations_pledged_amount_in_cents` integer, nullable: Sum of pledges made by the signup.
      - `donations_raised_amount_in_cents` integer, nullable: Sum of donations raised by the signup.
      - `donations_raised_amount_this_cycle_in_cents` integer, nullable: Sum of donations raised by the signup in the current cycle.
      - `donations_raised_count` integer, nullable: Number of donations raised by this signup.
      - `donations_raised_count_this_cycle` integer, nullable: Number of donations raised by this signup in the current cycle.
      - `donations_to_raise_amount_in_cents` integer, nullable: Sum of donations that need to be raised.
      - `dw_id` string, nullable: The Catalist ID associated with the signup.
      - `email` string, nullable: The signup's email address.
      - `email1` string, nullable: Email address 1 for the signup.
      - `email1_is_bad` boolean, nullable: Email address 1 is not emailable.
      - `email2` string, nullable: Email address 2 for the signup.
      - `email2_is_bad` boolean, nullable: Email address 2 is not emailable.
      - `email3` string, nullable: Email address 3 for the signup.
      - `email3_is_bad` boolean, nullable: Email address 3 is not emailable.
      - `email4` string, nullable: Email address 4 for the signup.
      - `email4_is_bad` boolean, nullable: Email address 4 is not emailable.
      - `email_opt_in` boolean, nullable: The signup has opted in to receive emails.
      - `employer` string, nullable: The signup's employer.
      - `ethnicity` string, nullable: Signup's ethnicity.
      - `external_id` string, nullable: A unique identifier from a third party.
      - `fax_number` string, nullable: Signup's fax number.
      - `federal_district` string, nullable: Federal voting district the signup belongs to.
      - `federal_donotcall` boolean, nullable: Is the signup on the federal do not call list?
      - `fire_district` string, nullable: Fire district, only available in a voter file import.
      - `first_donated_at` string, date-time, nullable: The first time the signup made a donation.
      - `first_fundraised_at` string, date-time, nullable: The first time the signup fundraised.
      - `first_name` string, nullable: Signup's first name.
      - `first_prospect_at` string, date-time, nullable: The first time the signup was marked as a prospect.
      - `first_recruited_at` string, date-time, nullable: The first time the signup recruited another signup.
      - `first_supporter_at` string, date-time, nullable: The first time the signup was marked as a supporter.
      - `first_volunteer_at` string, date-time, nullable: The first time the signup volunteered.
      - `import_id` string, nullable: The id of the import that added the signup.
      - `inferred_party` string, nullable: Single letter representation of the signup's inferred political party.
      - `inferred_support_level` integer, nullable: The signup's inferred support level. 1=very strong support and 5=very strong opposition.
      - `is_deceased` boolean, nullable: The signup is deceased.
      - `is_fundraiser` boolean, nullable: The signup is a fundraiser.
      - `is_ignore_donation_limits` boolean, nullable: Ignore donation limits for this signup.
      - `is_leaderboardable` boolean, nullable: The signup can appear on leaderboards.
      - `is_mobile_bad` boolean, nullable: The signup's mobile number is bad.
      - `is_possible_duplicate` boolean, nullable: The signup could be a duplicate.
      - `is_profile_private` boolean, nullable: The signup's profile is private.
      - `is_profile_searchable` boolean, nullable: The profile is searchable.
      - `is_prospect` boolean, nullable: The signup is a prospect.
      - `is_supporter` boolean, nullable: The signup is a supporter.
      - `is_survey_question_private` boolean, nullable: Survey questions are private for this signup.
      - `is_volunteer` boolean, nullable: The signup is a volunteer in your nation.
      - `judicial_district` string, nullable: Judicial district, only available in a voter file import.
      - `labour_region` string, nullable: British voting district.
      - `language` string, nullable: The primary language of the signup.
      - `last_call_id` string, nullable: ID of the last call made to the signup.
      - `last_contacted_at` string, date-time, nullable: The last time the signup was contacted.
      - `last_contacted_by_id` string, nullable: The ID of the user that last contacted the signup.
      - `last_donated_at` string, date-time, nullable: The last time the signup donated.
      - `last_fundraised_at` string, date-time, nullable: The last time the signup fundraised.
      - `last_name` string, nullable: The signup's last name.
      - `last_rule_violation_at` string, date-time, nullable: The last time the signup violated a rule.
      - `legal_name` string, nullable: The signup's legal name.
      - `locale` string, nullable: Letter code representing the signup\s language.
      - `marital_status` string, nullable: Single letter representation of the signup's marital status.
      - `middle_name` string, nullable: Signup's middle name.
      - `mobile_number` string, nullable: The signup's cell phone number.
      - `mobile_opt_in` boolean, nullable: The signup has opted in to mobile phone contact.
      - `ngp_id` string, nullable: ID from associated NGP account.
      - `note` string, nullable: Important information to remember about the signup.
      - `occupation` string, nullable: The signup's occupation.
      - `parent_id` string, nullable: Signup's parent ID.
      - `party` string, nullable: Single letter abbreviation for political party.
      - `party_member` boolean, nullable: Political party membership.
      - `pf_strat_id` string, nullable: PoliticalFORCE ID.
      - `phone_number` string, nullable: Signup's phone number.
      - `phone_time` string, nullable: Best time to contact the signup.
      - `precinct_id` string, nullable: Voting precinct the signup belongs to.
      - `prefix` string, nullable: Signup's prefix.
      - `previous_party` string, nullable: Single letter representing the signup's previous political party affiliation.
      - `primary_email_id` null | 1 | 2 | 3 | 4, nullable: The email column containing the primary email of the signup.
      - `priority_level` integer, nullable: Priority level of the signup.
      - `profile_content` string, nullable: The contents of the signup's profile.
      - `profile_headline` string, nullable: Headline of the signup's profile.
      - `received_capital_amount_in_cents` integer, nullable: Amount of social capital received.
      - `recruiter_id` string, nullable: ID of the signup's recruiter (also a signup).
      - `registered_at` string, date, nullable: When was the signup registered.
      - `religion` string, nullable: Signup's religion.
      - `rnc_id` string, nullable: RNC ID.
      - `rnc_regid` string, nullable: RNC registration ID.
      - `rule_violations_count` integer, nullable: Number of rules the signup has violated.
      - `salesforce_id` string, nullable: ID of the associated Salesforce account.
      - `school_district` string, nullable: School district the signup belongs to.
      - `school_sub_district` string, nullable: School sub-district the signup belongs to.
      - `sex` string, nullable: Must be a single letter: M, F, or O (male, female, or other).
      - `signup_type` integer: Indicates whether the record represents a person or an organization. Must be a single digit: 0 or 1 (0=person, 1=organization).
      - `spent_capital_amount_in_cents` integer, nullable: Amount of social capital spent.
      - `state_file_id` string, nullable: Unique identifier if mapped with the registered state field. May be zero filled to number of digits defined by state.
      - `state_lower_district` string, nullable: The state lower voting district.
      - `state_upper_district` string, nullable: The state upper voting district.
      - `submitted_address` string, nullable: The address submitted by the signup.
      - `suffix` string, nullable: Signup's suffix.
      - `support_level` integer, nullable: A number from 1-5. 1=very strong support and 5=very strong opposition.
      - `supranational_district` string, nullable: The supranational voting district.
      - `township` string, nullable: Township, only available in a voter file import.
      - `unsubscribed_at` string, date-time, nullable: When the signup unsubscribed.
      - `username` string, nullable: Signup's username.
      - `van_id` string, nullable: ID of the associated VAN account.
      - `village_district` string, nullable: Village district, only available in a voter file import.
      - `ward` string, nullable: Ward, only available in a voter file import.
      - `warnings_count` integer, nullable: Number of warnings given to the signup.
      - `work_phone_number` string, nullable: Signup's work phone number.
      - `created_at` string, date-time, nullable
      - `email1_is_bouncing` boolean, nullable: Whether email address 1 is marked as bounced.
      - `email2_is_bouncing` boolean, nullable: Whether email address 2 is marked as bounced.
      - `email3_is_bouncing` boolean, nullable: Whether email address 3 is marked as bounced.
      - `email4_is_bouncing` boolean, nullable: Whether email address 4 is marked as bounced.
      - `full_name` string, nullable: Signup's full name.
      - `is_cpu` boolean, nullable: Is the signup a control panel user
      - `is_donor` boolean, nullable: The signup is a donor.
      - `note_updated_at` string, date-time, nullable: Last time the note was updated.
      - `priority_level_changed_at` string, date-time, nullable: The last time the priority level changed.
      - `profile_content_html` string, nullable: HTML formatted version of the signup's profile contents.
      - `support_level_changed_at` string, date-time, nullable: When the signups support level changed.
      - `updated_at` string, date-time, nullable
  - `included` Resource[]: Sideloaded resources requested via the include query parameter. Each entry is a full resource object whose shape is documented under its own resource type.
    - `id` string, required: Unique identifier of the resource.
    - `type` string, required: The JSON:API resource type.
    - `attributes` object: The attributes of the resource, as documented for its resource type.
    - `relationships` object: References from this resource to other resources in the document.
  - `meta` object: Non-standard information about the document. Empty unless the endpoint has metadata to convey.

## Other responses

- `400`: The request body or query parameters are invalid, such as an unknown attribute, filter, filter operator, sort field, or sideload.
- `401`: The access token is missing, expired, or not authorized to access this resource.
- `404`: No resource exists with the provided ID.
- `422`: Model validations failed for the resource being created or updated. Unlike this API's other errors, validation failures are returned as a JSON:API errors document locating each invalid field.
- `429`: The access token has exceeded its request quota for the current rate-limit window.

## Changes

- **2026-11-05** `d5c88ca497ac`: 4 breaking, 3 warning, 9 info
  - added `#/components/schemas/update_request_document, subschema #2` to the request body `allOf` list
  - the request's body type changed from `object` to no type
  - the response's body type changed from `object` to no type for status `200`
  - removed the required property `data` from the response with the `200` status
  - …12 more

[Operation history](https://skmtc.dev/nationbuilder/apis/nationbuilder-v2-api/changes/api/v2/signups/:id/patch.md)

---

[API](https://skmtc.dev/nationbuilder/apis/nationbuilder-v2-api.md) - [All operations](https://skmtc.dev/nationbuilder/apis/nationbuilder-v2-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nationbuilder/apis/nationbuilder-v2-api/revisions/d5c88ca497ac?raw)
