---
title: "Changes to Update a portal link"
method: PUT
path: "/v1/projects/{projectID}/portal-links/{portalLinkID}"
---

# Changes to Update a portal link

`PUT /v1/projects/{projectID}/portal-links/{portalLinkID}`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 16 of 106 revisions.

- **2026-08-20** (v3) `c6c04abdfb6f`: 1 info
- **2026-07-20** (v3) `bae289777c91`: 9 breaking, 28 warning, 4 info
- **2026-07-06** (v3) `2e8ab34176ea`: 2 info
- **2026-06-30** (v3) `21fa7ff1d01a`: 3 info
- **2026-03-19** (v3) `990a51cff1cc`: 1 warning, 1 info
- **2025-12-04** (v3) `af9526d13dc8`: 1 info
- **2025-11-27** (v3) `88eaa000293b`: 1 warning, 1 info
- **2025-11-12** (v3) `801a0bbf87fd`: 2 info
- **2025-08-28** (v3) `00864c7aced0`: 2 info
- **2025-08-05** (v3) `180e3a788b5b`: 1 info
- **2024-10-23** (v3) `de665d0e2fc3`: 1 info
- **2024-07-15** (v3) `f48524f80fda`: 1 breaking, 1 info
- **2024-03-26** (v3) `28d285e4302c`: 6 warning, 3 info
- **2024-01-30** (v3) `a138f74e9d23`: 2 breaking
- **2023-06-05** (v3) `92f13aa36de8`: 4 info
- **2023-04-21** (v3) `196c93bf2075`: 1 info

## Changes

- **2026-08-20** (v3) `c6c04abdfb6f`: 1 info
  - added the optional property `allOf[subschema #2]/data/endpoints_metadata/items/allOf[#/components/schemas/datastore.Endpoint]/teams_webhook_url` to the response with the `202` status
- **2026-07-20** (v3) `bae289777c91`: 9 breaking, 28 warning, 4 info
  - the response property `allOf[subschema #2]/data` became nullable for the status `400`
  - the response property `allOf[subschema #2]/data` became nullable for the status `401`
  - the response property `allOf[subschema #2]/data` became nullable for the status `404`
  - the response property `allOf[subschema #2]/data/deleted_at` became nullable for the status `202`
  - the response property `allOf[subschema #2]/data/endpoints_metadata/items/` became nullable for the status `202`
  - the `allOf[subschema #2]/data` response's property type changed from `object` to no type for status `400`
  - the `allOf[subschema #2]/data` response's property type changed from `object` to no type for status `401`
  - the `allOf[subschema #2]/data` response's property type changed from `object` to no type for status `404`
  - the `allOf[subschema #2]/data/endpoints_metadata/items/` response's property type changed from `object` to no type for status `202`
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/advanced_signatures` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/authentication` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/cb_state` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/content_type` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/created_at` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/deleted_at` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/description` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/events` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/failure_count` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/failure_rate` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/http_timeout` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/mtls_client_cert` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/name` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/owner_id` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/period_failure_rate` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/project_id` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/rate_limit` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/rate_limit_duration` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/retry_count` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/secrets` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/slack_webhook_url` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/status` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/success_count` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/support_email` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/uid` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/updated_at` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/url` from the response with the `202` status
  - added the new `` enum value to the `allOf[subschema #2]/data/auth_type` response property for the response status `202`
  - added `#/components/schemas/datastore.Endpoint` to the `allOf[subschema #2]/data/endpoints_metadata/items/` response property `allOf` list for the response status `202`
  - added `#/components/schemas/handlers.Stub` to the `allOf[subschema #2]/data` response property `allOf` list for the response status `400`
  - added `#/components/schemas/handlers.Stub` to the `allOf[subschema #2]/data` response property `allOf` list for the response status `401`
  - …1 more
- **2026-07-06** (v3) `2e8ab34176ea`: 2 info
  - added the optional property `allOf[subschema #2]/data/endpoints_metadata/items/cb_state` to the response with the `202` status
  - added the optional property `allOf[subschema #2]/data/endpoints_metadata/items/retry_count` to the response with the `202` status
- **2026-06-30** (v3) `21fa7ff1d01a`: 3 info
  - added the optional property `allOf[subschema #2]/data/endpoints_metadata/items/failure_count` to the response with the `202` status
  - added the optional property `allOf[subschema #2]/data/endpoints_metadata/items/period_failure_rate` to the response with the `202` status
  - added the optional property `allOf[subschema #2]/data/endpoints_metadata/items/success_count` to the response with the `202` status
- **2026-03-19** (v3) `990a51cff1cc`: 1 warning, 1 info
  - added the new `basic_auth` enum value to the `allOf[subschema #2]/data/endpoints_metadata/items/authentication/type` response property for the response status `202`
  - added the optional property `allOf[subschema #2]/data/endpoints_metadata/items/authentication/basic_auth` to the response with the `202` status
- **2025-12-04** (v3) `af9526d13dc8`: 1 info
  - removed the `pending` enum value from the `allOf[subschema #2]/data/endpoints_metadata/items/status` response property for the response status `202`
- **2025-11-27** (v3) `88eaa000293b`: 1 warning, 1 info
  - added the new `oauth2` enum value to the `allOf[subschema #2]/data/endpoints_metadata/items/authentication/type` response property for the response status `202`
  - added the optional property `allOf[subschema #2]/data/endpoints_metadata/items/authentication/oauth2` to the response with the `202` status
- **2025-11-12** (v3) `801a0bbf87fd`: 2 info
  - added the optional property `allOf[subschema #2]/data/endpoints_metadata/items/content_type` to the response with the `202` status
  - added the optional property `allOf[subschema #2]/data/endpoints_metadata/items/mtls_client_cert` to the response with the `202` status
- **2025-08-28** (v3) `00864c7aced0`: 2 info
  - added the new optional request property `auth_type`
  - added the optional property `allOf[subschema #2]/data/auth_type` to the response with the `202` status
- **2025-08-05** (v3) `180e3a788b5b`: 1 info
  - added the optional property `allOf[subschema #2]/data/auth_key` to the response with the `202` status
- **2024-10-23** (v3) `de665d0e2fc3`: 1 info
  - added the optional property `allOf[subschema #2]/data/endpoints_metadata/items/failure_rate` to the response with the `202` status
- **2024-07-15** (v3) `f48524f80fda`: 1 breaking, 1 info
  - removed the success response with the status `200`
  - added the success response with the status `202`
- **2024-03-26** (v3) `28d285e4302c`: 6 warning, 3 info
  - removed the optional property `allOf[#/components/schemas/util.ServerResponse]/data` from the response with the `200` status
  - removed the optional property `allOf[#/components/schemas/util.ServerResponse]/data` from the response with the `400` status
  - removed the optional property `allOf[#/components/schemas/util.ServerResponse]/data` from the response with the `401` status
  - removed the optional property `allOf[#/components/schemas/util.ServerResponse]/data` from the response with the `404` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/target_url` from the response with the `200` status
  - removed the optional property `allOf[subschema #2]/data/endpoints_metadata/items/title` from the response with the `200` status
  - api operation id `UpdatePortalLink` was added
  - added the optional property `allOf[subschema #2]/data/endpoints_metadata/items/name` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/endpoints_metadata/items/url` to the response with the `200` status
- **2024-01-30** (v3) `a138f74e9d23`: 2 breaking
  - the `allOf[subschema #2]/data/endpoints_metadata/items/http_timeout` response's property type changed from `string` to `integer` for status `200`
  - the `allOf[subschema #2]/data/endpoints_metadata/items/rate_limit_duration` response's property type changed from `string` to `integer` for status `200`
- **2023-06-05** (v3) `92f13aa36de8`: 4 info
  - added the new optional request property `can_manage_endpoint`
  - added the new optional request property `owner_id`
  - added the optional property `allOf[subschema #2]/data/can_manage_endpoint` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/owner_id` to the response with the `200` status
- **2023-04-21** (v3) `196c93bf2075`: 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/getconvoy/apis/convoy-api-reference/docs/v1/projects/:projectID/portal-links/:portalLinkID/put.md) - [API](https://skmtc.dev/getconvoy/apis/convoy-api-reference.md) - [Page](https://skmtc.dev/getconvoy/apis/convoy-api-reference/changes/v1/projects/:projectID/portal-links/:portalLinkID/put)
