---
title: "Update External Demand"
method: PUT
path: "/api/v2/resource_management/ext-systems/resourcing/ext-demands/{extDemandId}"
tags: ["Ext Demand"]
---

# Update External Demand

`PUT /api/v2/resource_management/ext-systems/resourcing/ext-demands/{extDemandId}`

Updates external demand given its id

## Path parameters

- `extDemandId` string, required

## Headers

- `Authorization` string, required

## Request body

- ExtDemandDataSchema
  - `createdAt` integer, nullable, required — creation timestamp in epoch format
  - `locationCountry` string, nullable — location country
  - `workLocationOption` string, nullable — Indicates the option for working location e.g. onsite, remote_global, remote_local, hybrid
  - `skillDetails` ATSSkillDetail[], nullable — skill details of the demand
    - `skillGroups` ATSSkillGroup[], nullable — Skill groups
      - `proficiency` string, nullable — Proficiency
      - `skillGroup` string, nullable — Skill Group
    - `proficiency` string, nullable — Proficiency. Note: proficiency must be specified only for each skill group when skill groups are present
    - `evaluationTimestamp` integer, nullable — Evaluation timestamp
    - `dataSource` string, nullable — Data source of the skill
    - `skill` string, nullable — Skill
  - `demandManager` PersonSchema
    - `email` string, nullable — email
    - `name` string, nullable, required — Name
  - `skills` string[], nullable — skills
  - `locationCity` string, nullable — location city
  - `lastUpdated` integer, nullable, required — last modified date time in epoch format
  - `demandBand` string, nullable — Demand Band
  - `rmUserGroups` RmUserGroup[], nullable — User groups associated with the demand
    - `userGroupId` string, nullable — Unique identifier for the user group
  - `openings` ExtDemandOpeningsData
    - `numOpenings` integer, nullable, required — Number of openings
    - `numOpeningsFilled` integer, nullable — Number of openings filled
  - `publishSettings` DemandPublishSettingsSchema
    - `publishMode` string, nullable — Publish mode (local, custom, local_and_custom)
    - `publishedToUserGroups` RmUserGroup[], nullable — User groups the demand is published to
      - `userGroupId` string, nullable — Unique identifier for the user group
  - `followers` PersonSchema[], nullable — all the followers of the demand such as resource manager etc.
    - `email` string, nullable — email
    - `name` string, nullable, required — Name
  - `restrictAccess` boolean, nullable — restrict access
  - `tags` ExtEntityTag[] — Tags associated with the demand
    - `type` 'user' | 'system', required — Type of the tag (user/system)
    - `name` string, required — Name of the tag
  - `title` string, nullable, required — demand title
  - `demandOrgUnits` ExtDemandOrgUnitsData
    - `programId` string, nullable — Program id
    - `projectId` string, nullable, required — Project id
  - `demandId` integer, nullable — Internal demand ID
  - `locationFlexibility` string, nullable — Indicates the flexibility on location e.g. not_flexible, flexible_within_country, flexible_global
  - `extDemandId` string, nullable, required — demand id in the external system
  - `maxExperience` integer, nullable — Maximum experience in years
  - `customFields` object, nullable — custom fields
  - `resourceManager` PersonSchema
    - `email` string, nullable — email
    - `name` string, nullable, required — Name
  - `workflowTemplateId` string, nullable — Indicates which workflow this demand belongs to
  - `displayDemandId` string, nullable — display demand id
  - `open` boolean, nullable, required — status of the demand: open or not
  - `minExperience` integer, nullable — Minimum experience in years
  - `requiredSkills` string[], nullable — required skills
  - `locationState` string, nullable — location state
  - `demandCode` string, nullable — Demand Code
  - `locations` string[], nullable — locations
  - `description` string, nullable — demand description

## Response `200`

OK

- ExtDemandDataSchema
  - `createdAt` integer, nullable, required — creation timestamp in epoch format
  - `locationCountry` string, nullable — location country
  - `workLocationOption` string, nullable — Indicates the option for working location e.g. onsite, remote_global, remote_local, hybrid
  - `skillDetails` ATSSkillDetail[], nullable — skill details of the demand
    - `skillGroups` ATSSkillGroup[], nullable — Skill groups
      - `proficiency` string, nullable — Proficiency
      - `skillGroup` string, nullable — Skill Group
    - `proficiency` string, nullable — Proficiency. Note: proficiency must be specified only for each skill group when skill groups are present
    - `evaluationTimestamp` integer, nullable — Evaluation timestamp
    - `dataSource` string, nullable — Data source of the skill
    - `skill` string, nullable — Skill
  - `demandManager` PersonSchema
    - `email` string, nullable — email
    - `name` string, nullable, required — Name
  - `skills` string[], nullable — skills
  - `locationCity` string, nullable — location city
  - `lastUpdated` integer, nullable, required — last modified date time in epoch format
  - `demandBand` string, nullable — Demand Band
  - `rmUserGroups` RmUserGroup[], nullable — User groups associated with the demand
    - `userGroupId` string, nullable — Unique identifier for the user group
  - `openings` ExtDemandOpeningsData
    - `numOpenings` integer, nullable, required — Number of openings
    - `numOpeningsFilled` integer, nullable — Number of openings filled
  - `publishSettings` DemandPublishSettingsSchema
    - `publishMode` string, nullable — Publish mode (local, custom, local_and_custom)
    - `publishedToUserGroups` RmUserGroup[], nullable — User groups the demand is published to
      - `userGroupId` string, nullable — Unique identifier for the user group
  - `followers` PersonSchema[], nullable — all the followers of the demand such as resource manager etc.
    - `email` string, nullable — email
    - `name` string, nullable, required — Name
  - `restrictAccess` boolean, nullable — restrict access
  - `tags` ExtEntityTag[] — Tags associated with the demand
    - `type` 'user' | 'system', required — Type of the tag (user/system)
    - `name` string, required — Name of the tag
  - `title` string, nullable, required — demand title
  - `demandOrgUnits` ExtDemandOrgUnitsData
    - `programId` string, nullable — Program id
    - `projectId` string, nullable, required — Project id
  - `demandId` integer, nullable — Internal demand ID
  - `locationFlexibility` string, nullable — Indicates the flexibility on location e.g. not_flexible, flexible_within_country, flexible_global
  - `extDemandId` string, nullable, required — demand id in the external system
  - `maxExperience` integer, nullable — Maximum experience in years
  - `customFields` object, nullable — custom fields
  - `resourceManager` PersonSchema
    - `email` string, nullable — email
    - `name` string, nullable, required — Name
  - `workflowTemplateId` string, nullable — Indicates which workflow this demand belongs to
  - `displayDemandId` string, nullable — display demand id
  - `open` boolean, nullable, required — status of the demand: open or not
  - `minExperience` integer, nullable — Minimum experience in years
  - `requiredSkills` string[], nullable — required skills
  - `locationState` string, nullable — location state
  - `demandCode` string, nullable — Demand Code
  - `locations` string[], nullable — locations
  - `description` string, nullable — demand description

---

[API](https://skmtc.net/eightfold/apis/api-server-v2-service-service.md) · [All operations](https://skmtc.net/eightfold/apis/api-server-v2-service-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/eightfold/api-server-v2-service-service/versions/0fb26f4e41bf/schema)
