---
title: "Update a Specific Opportunity"
method: PATCH
path: "/api/v2/opportunities/{id}"
tags: ["Opportunity"]
---

# Update a Specific Opportunity

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

This endpoint updates supplied fields for a specific opportunity. Any attribute, including `matched-skills`, that is included in the request body will completely replace and override existing data. For example, if you patch the `matched-skills` array attribute, the skills included in the PATCH will completely replace all previous skills associated with the opportunity. <h3>Required Scope</h3>`opportunity:write`

## Path parameters

- `id` string, required

## Request body

- OpportunityDataBodyId
  - `data` OpportunityDataBodyIdData
    - `type` string, nullable
    - `id` string, nullable
    - `attributes` OpportunityAttributesPatchBody
      - `title` string — The title of the opportunity.
      - `description` string — The description of the opportunity.
      - `category` string — The category for the opportunity. For example, `Full time`, `Temp`, etc.
      - `department` string, nullable — The department of the opportunity.
      - `job-role` string, nullable — Must correspond to the name of a plan in order to be valid. The `name` attribute of the GET /skill-plans endpoint resource with `plan-type: Role` can be used.
      - `start-date` string, date-time — The start date of the opportunity.
      - `end-date` string, date-time — The end date of the opportunity.
      - `duration` number, double, nullable — The duration of the opportunity.
      - `status` string — The status of the opportunity. Can only be `open` or `closed`.
      - `duration-units` string — Must be one of the following: `EndDate`, `Years`, `Months`, `Weeks`, `Days`, `Hours`, `Seconds`, or `Unknown`.
      - `location` string, nullable — The location of the opportunity.
      - `visibility` string — Can only be `Private` or `Organization`.
      - `url` string, nullable — URL location where more information can be found.
      - `image-url` string, nullable — Cover image of the opportunity.
      - `matched-skills` OpportunityAttributesPostBodyMatchedskills[] — The skills that match this opportunity.
        - `skill-name` string, nullable — Skill name of the matched skill for the opportunity.
        - `skill-id` string — The ID of the skill.
        - `minimum-rating` string, nullable — The minimum skill rating appropriate for the opportunity.

## Response `200`

Success

- DetailedOpportunity
  - `data` DetailedOpportunityData
    - `type` string, nullable
    - `id` string, nullable
    - `attributes` OpportunityAttributesDetailed
      - `degreed-url` string, nullable — URL location of the opportunity within Degreed UI.
      - `provider` string, nullable — Unique provider code.
      - `matched-skills` OpportunityAttributesPostBodyMatchedskills[] — The skills that match this opportunity.
        - `skill-name` string, nullable — Skill name of the matched skill for the opportunity.
        - `skill-id` string — The ID of the skill.
        - `minimum-rating` string, nullable — The minimum skill rating appropriate for the opportunity.
      - `title` string, nullable — The title of the opportunity.
      - `description` string, nullable — The description of the opportunity.
      - `category` string, nullable, required — The category for the opportunity. For example, `Full time`, `Temp`, etc.
      - `department` string, nullable — The department of the opportunity.
      - `job-role` string, nullable, required — Must correspond to the name of a plan in order to be valid. The `name` attribute of the GET /skill-plans endpoint resource with `plan-type&#58; Role` can be used.
      - `start-date` string, date-time, nullable — The start date of the opportunity. (UTC)
      - `end-date` string, date-time, nullable — The end date of the opportunity. (UTC)
      - `duration` number, double, nullable — The duration of the opportunity.
      - `status` string, nullable, required — The status of the opportunity. Can only be `open` or `closed`.
      - `duration-units` string, nullable, required — Must be one of the following: `EndDate`, `Years`, `Months`, `Weeks`, `Days`, `Hours`, `Seconds`, or `Unknown`.
      - `location` string, nullable — The location of the opportunity.
      - `visibility` string, nullable, required — Can only be `Private` or `Organization`.
      - `external-id` string, nullable — The external identifier of the opportunity.
      - `url` string, nullable — URL location where more information can be found.
      - `image-url` string, nullable — Cover image of the opportunity.
      - `is-obsolete` boolean
      - `created-at` string, date-time — The date the opportunity was created. (UTC)
      - `modified-at` string, date-time — The date the opportunity was last modified. (UTC)
    - `links` SelfLink
      - `self` string
    - `relationships` DetailedOpportunityDataRelationships[]
      - `collaborators` CollaboratorRelationships
        - `data` CollaboratorRelationshipsData[]
          - `id` string, nullable
          - `type` string, nullable
      - `suggested-pathways` PathwayRelationships
        - `data` PathwayRelationshipsData[]
          - `id` string, nullable — Unique identifier of the pathway.
          - `type` string, nullable — Type of object for the relationship. Can only be `pathways`.
      - `suggested-plans` PlanRelationships
        - `data` PlanRelationshipsData[]
          - `id` string, nullable — Unique identifier of the plan.
          - `type` string, nullable — Type of object for the relationship. Can only be `plans`.

---

[API](https://skmtc.net/degreed/apis/degreed-api-web.md) · [All operations](https://skmtc.net/degreed/apis/degreed-api-web/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/degreed/degreed-api-web/revisions/4a22b709515c/schema)
