> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paraform.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Replace a candidate's work preferences

<Info>
  **Required scopes:** `talent_network:write`<br />
  **Rate limit:** `write` tier, 60 requests per minute per key
</Info>

Full replace of the candidate's recruiter-entered preferences, validated against the same required floor as submit: `locations`, `workplaceTypes`, and `idealFundingRounds` non-empty, `salaryMin` a positive integer, and `visaAuthorization` one of its three values. Omitted optional fields (`salaryMax`, `ote`, `roleType`, `excludedIndustries`, `companySizePreferences`) are cleared — numbers to `null`, arrays to empty — and the write overwrites the values a recruiter set in-app, so read-modify-write to keep them. `salaryMax` and `ote` also accept an explicit `null`, which means exactly what omitting them means, so a GET body can be sent back verbatim.

`visaAuthorization` is the only work-authorization field. The response echoes the persisted state and matches a subsequent GET.

Retries converge on the same state, so no `Idempotency-Key` is needed.

## Path parameters

<ParamField path="candidateUserId" type="string" required>
  Constraints: min length 1.
</ParamField>

## Body

<ParamField body="locations" type="string[]" required>
  Constraints: min items 1.

  <Expandable title="21 allowed values">
    `new_york`, `san_francisco`, `south_bay_area`, `los_angeles`, `boston`, `seattle`, `texas`, `chicago`, `europe`, `latam`, `korea`, `canada`, `australia`, `india`, `uk`, `washington_dc`, `asia`, `denver`, `florida`, `minnesota`, `sacramento`
  </Expandable>
</ParamField>

<ParamField body="workplaceTypes" type="string[]" required>
  Constraints: min items 1.
  Allowed values: `REMOTE`, `ON_SITE`, `HYBRID`.
</ParamField>

<ParamField body="salaryMin" type="integer" required>
  Constraints: greater than 0.
</ParamField>

<ParamField body="salaryMax" type="integer | null">
  Constraints: greater than 0.
</ParamField>

<ParamField body="ote" type="integer | null">
  Constraints: greater than 0.
</ParamField>

<ParamField body="idealFundingRounds" type="string[]" required>
  Constraints: min items 1.
  Allowed values: `PRE_SEED`, `SEED`, `SERIES_A`, `SERIES_B`, `SERIES_C`, `SERIES_D_PLUS`, `UNKNOWN`.
</ParamField>

<ParamField body="visaAuthorization" type="string" required>
  Allowed values: `NO_VISA_AUTHORIZATION_NEEDED`, `HAS_VISA_AUTHORIZATION`, `NEEDS_NEW_VISA_AUTHORIZATION`.
</ParamField>

<ParamField body="roleType" type="string[]">
  <Expandable title="83 allowed values">
    `backend_engineer`, `frontend_engineer`, `full_stack_engineer`, `mobile_engineer`, `infrastructure_devops_sre`, `security_engineer`, `forward_deployed_engineer_solutions_support`, `robotics_software_engineer`, `robotics_platform_engineer`, `sales_solutions_engineer`, `qa_test_engineering`, `blockchain_protocol_engineer`, `developer_relations_advocacy`, `founding_engineer`, `product_engineer`, `embedded_firmware_engineer`, `mechanical_engineer`, `electrical_engineer`, `robotics_hardware_engineer`, `aerospace_flight_engineer`, `machine_learning_engineer`, `robotics_ml_engineer`, `data_engineer`, `data_science_analytics`, `computer_vision_engineer`, `research_scientist_applied_research`, `ai_ml_researcher`, `research_engineer_applied_research`, `data_scientist_applied_scientist`, `machine_learning_infrastructure`, `machine_learning_ops_platform`, `research_scientist`, `research_engineer`, `ai_engineer`, `product_management`, `product_design_ux_ui`, `brand_visual_design`, `marketing_growth`, `growth_engineer`, `growth_marketing`, `demand_generation`, `performance_paid_media`, `lifecycle_crm_email`, `seo_organic_growth`, `marketing_ops_analytics`, `product_marketing`, `customer_marketing`, `content_marketing`, `brand_marketing`, `social_media_influencer`, `communications_pr`, `events_field_marketing`, `marketing_leadership`, `founding_marketer_generalist`, `account_executives_sales`, `account_management_customer_success`, `business_development`, `sales_development_rep`, `customer_technical_support`, `content_copywriting`, `sales_gtm_leadership`, `partnerships`, `operations_strategy`, `robotics_operations_engineer`, `revenue_operations`, `finance_accounting`, `people_talent`, `chief_of_staff`, `program_project_management`, `executive_assistant`, `data_analyst`, `engineering_leadership`, `executive_leadership`, `clinical_healthcare`, `legal_compliance_officer`, `legal_operations`, `legal_compliance`, `legal_partner`, `legal_counsel`, `legal_associate`, `legal_in_house_counsel`, `legal_paralegal`, `legal_admin`
  </Expandable>
</ParamField>

<ParamField body="excludedIndustries" type="string[]">
  <Expandable title="39 allowed values">
    `venture_capital`, `logistics`, `real_estate`, `marketplace`, `healthcare`, `life_sciences`, `hardware`, `ai`, `gaming`, `fintech`, `finance`, `education`, `ecommerce`, `devtools`, `defense`, `cybersecurity`, `crypto`, `data`, `enterprise`, `financial_services`, `government`, `insurance`, `law`, `marketing`, `media`, `transportation`, `environment`, `robotics`, `security`, `construction`, `manufacturing`, `consumer`, `ad_tech`, `b2b`, `api_sdk`, `software_development`, `creator_economy`, `edtech`, `autonomous_vehicles`
  </Expandable>
</ParamField>

<ParamField body="companySizePreferences" type="string[]">
  Allowed values: `< 10 employees`, `10 - 50 employees`, `50 - 200 employees`, `200 - 1000 employees`, `> 1000 employees`.
</ParamField>

## Response

<ResponseField name="candidateUserId" type="string" required />

<ResponseField name="preferences" type="object | null" required>
  <Expandable title="preferences properties">
    <ResponseField name="locations" type="string[]" required>
      <Expandable title="21 allowed values">
        `new_york`, `san_francisco`, `south_bay_area`, `los_angeles`, `boston`, `seattle`, `texas`, `chicago`, `europe`, `latam`, `korea`, `canada`, `australia`, `india`, `uk`, `washington_dc`, `asia`, `denver`, `florida`, `minnesota`, `sacramento`
      </Expandable>
    </ResponseField>

    <ResponseField name="workplaceTypes" type="string[]" required>
      Allowed values: `REMOTE`, `ON_SITE`, `HYBRID`.
    </ResponseField>

    <ResponseField name="salaryMin" type="integer | null" required />

    <ResponseField name="salaryMax" type="integer | null" required />

    <ResponseField name="ote" type="integer | null" required />

    <ResponseField name="idealFundingRounds" type="string[]" required>
      Allowed values: `PRE_SEED`, `SEED`, `SERIES_A`, `SERIES_B`, `SERIES_C`, `SERIES_D_PLUS`, `UNKNOWN`.
    </ResponseField>

    <ResponseField name="visaAuthorization" type="string | null" required>
      Allowed values: `NO_VISA_AUTHORIZATION_NEEDED`, `HAS_VISA_AUTHORIZATION`, `NEEDS_NEW_VISA_AUTHORIZATION`.
    </ResponseField>

    <ResponseField name="roleType" type="string[]" required>
      <Expandable title="83 allowed values">
        `backend_engineer`, `frontend_engineer`, `full_stack_engineer`, `mobile_engineer`, `infrastructure_devops_sre`, `security_engineer`, `forward_deployed_engineer_solutions_support`, `robotics_software_engineer`, `robotics_platform_engineer`, `sales_solutions_engineer`, `qa_test_engineering`, `blockchain_protocol_engineer`, `developer_relations_advocacy`, `founding_engineer`, `product_engineer`, `embedded_firmware_engineer`, `mechanical_engineer`, `electrical_engineer`, `robotics_hardware_engineer`, `aerospace_flight_engineer`, `machine_learning_engineer`, `robotics_ml_engineer`, `data_engineer`, `data_science_analytics`, `computer_vision_engineer`, `research_scientist_applied_research`, `ai_ml_researcher`, `research_engineer_applied_research`, `data_scientist_applied_scientist`, `machine_learning_infrastructure`, `machine_learning_ops_platform`, `research_scientist`, `research_engineer`, `ai_engineer`, `product_management`, `product_design_ux_ui`, `brand_visual_design`, `marketing_growth`, `growth_engineer`, `growth_marketing`, `demand_generation`, `performance_paid_media`, `lifecycle_crm_email`, `seo_organic_growth`, `marketing_ops_analytics`, `product_marketing`, `customer_marketing`, `content_marketing`, `brand_marketing`, `social_media_influencer`, `communications_pr`, `events_field_marketing`, `marketing_leadership`, `founding_marketer_generalist`, `account_executives_sales`, `account_management_customer_success`, `business_development`, `sales_development_rep`, `customer_technical_support`, `content_copywriting`, `sales_gtm_leadership`, `partnerships`, `operations_strategy`, `robotics_operations_engineer`, `revenue_operations`, `finance_accounting`, `people_talent`, `chief_of_staff`, `program_project_management`, `executive_assistant`, `data_analyst`, `engineering_leadership`, `executive_leadership`, `clinical_healthcare`, `legal_compliance_officer`, `legal_operations`, `legal_compliance`, `legal_partner`, `legal_counsel`, `legal_associate`, `legal_in_house_counsel`, `legal_paralegal`, `legal_admin`
      </Expandable>
    </ResponseField>

    <ResponseField name="excludedIndustries" type="string[]" required>
      <Expandable title="39 allowed values">
        `venture_capital`, `logistics`, `real_estate`, `marketplace`, `healthcare`, `life_sciences`, `hardware`, `ai`, `gaming`, `fintech`, `finance`, `education`, `ecommerce`, `devtools`, `defense`, `cybersecurity`, `crypto`, `data`, `enterprise`, `financial_services`, `government`, `insurance`, `law`, `marketing`, `media`, `transportation`, `environment`, `robotics`, `security`, `construction`, `manufacturing`, `consumer`, `ad_tech`, `b2b`, `api_sdk`, `software_development`, `creator_economy`, `edtech`, `autonomous_vehicles`
      </Expandable>
    </ResponseField>

    <ResponseField name="companySizePreferences" type="string[]" required>
      Allowed values: `< 10 employees`, `10 - 50 employees`, `50 - 200 employees`, `200 - 1000 employees`, `> 1000 employees`.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X PUT "https://external-api.paraform.com/api/external/v1/talent-network/candidates/$CANDIDATE_USER_ID/preferences" \
    -H "Authorization: Bearer $PARAFORM_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
    "locations": [
      "new_york"
    ],
    "workplaceTypes": [
      "REMOTE"
    ],
    "salaryMin": 0,
    "idealFundingRounds": [
      "PRE_SEED"
    ],
    "visaAuthorization": "NO_VISA_AUTHORIZATION_NEEDED"
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "candidateUserId": "string",
    "preferences": {
      "locations": [
        "new_york"
      ],
      "workplaceTypes": [
        "REMOTE"
      ],
      "salaryMin": 0,
      "salaryMax": 0,
      "ote": 0,
      "idealFundingRounds": [
        "PRE_SEED"
      ],
      "visaAuthorization": "NO_VISA_AUTHORIZATION_NEEDED",
      "roleType": [
        "backend_engineer"
      ],
      "excludedIndustries": [
        "venture_capital"
      ],
      "companySizePreferences": [
        "< 10 employees"
      ]
    }
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.