---
title: "Changes to Update a source"
method: PUT
path: "/v1/projects/{projectID}/sources/{sourceID}"
---

# Changes to Update a source

`PUT /v1/projects/{projectID}/sources/{sourceID}`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 19 of 106 revisions.

- **2026-10-16** (v3) `8197502c21c8`: 1 info
- **2026-07-20** (v3) `bae289777c91`: 15 breaking, 13 warning, 10 info
- **2026-07-19** (v3) `e171f744d209`: 2 breaking
- **2026-06-18** (v3) `274ed78eabfc`: 2 info
- **2026-04-21** (v3) `743b89d7f7d3`: 2 info
- **2026-01-23** (v3) `623f857d89a5`: 1 info
- **2024-10-23** (v3) `de665d0e2fc3`: 9 breaking
- **2024-07-15** (v3) `f48524f80fda`: 1 breaking, 1 info
- **2024-04-04** (v3) `317ec51848e3`: 6 info
- **2024-03-26** (v3) `28d285e4302c`: 12 breaking, 16 warning, 1 info
- **2024-02-08** (v3) `8aa5161aec4c`: 1 warning, 3 info
- **2023-11-27** (v3) `47c7286b8cee`: 1 warning
- **2023-11-17** (v3) `41d4fca4cab8`: 1 warning, 3 info
- **2023-07-28** (v3) `2fc887538896`: 1 warning
- **2023-06-22** (v3) `5c862889f0b4`: 4 info
- **2023-06-01** (v3) `546f4792c61c`: 1 warning, 10 info
- **2023-05-28** (v3) `36284be114fe`: 2 info
- **2023-05-10** (v3) `297818aad550`: 8 warning
- **2023-04-21** (v3) `196c93bf2075`: 1 info

## Changes

- **2026-10-16** (v3) `8197502c21c8`: 1 info
  - added the new optional request property `provider`
- **2026-07-20** (v3) `bae289777c91`: 15 breaking, 13 warning, 10 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/body_function` became nullable for the status `202`
  - the response property `allOf[subschema #2]/data/deleted_at` became nullable for the status `202`
  - the response property `allOf[subschema #2]/data/header_function` became nullable for the status `202`
  - the response property `allOf[subschema #2]/data/provider_config` became nullable for the status `202`
  - the response property `allOf[subschema #2]/data/pub_sub` became nullable for the status `202`
  - the response property `allOf[subschema #2]/data/verifier` 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/provider_config` response's property type changed from `object` to no type for status `202`
  - the `allOf[subschema #2]/data/pub_sub` response's property type changed from `object` to no type for status `202`
  - the `allOf[subschema #2]/data/verifier` response's property type changed from `object` to no type for status `202`
  - removed the optional property `allOf[subschema #2]/data/provider_config/twitter` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/pub_sub/amqp` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/pub_sub/google` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/pub_sub/kafka` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/pub_sub/sqs` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/pub_sub/type` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/pub_sub/workers` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/verifier/api_key` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/verifier/basic_auth` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/verifier/hmac` from the response with the `202` status
  - removed the optional property `allOf[subschema #2]/data/verifier/type` from the response with the `202` status
  - added the new `` enum value to the `allOf[subschema #2]/data/provider` response property for the response status `202`
  - added the new `` enum value to the `allOf[subschema #2]/data/type` response property for the response status `202`
  - added the new `` enum value to the request property `pub_sub/allOf[#/components/schemas/models.PubSubConfig]/type`
  - added the new `` enum value to the request property `type/allOf[#/components/schemas/datastore.SourceType]/`
  - added the new `` enum value to the request property `verifier/allOf[#/components/schemas/models.VerifierConfig]/hmac/encoding`
  - added the new `` enum value to the request property `verifier/allOf[#/components/schemas/models.VerifierConfig]/type`
  - added `#/components/schemas/datastore.ProviderConfig` to the `allOf[subschema #2]/data/provider_config` response property `allOf` list for the response status `202`
  - added `#/components/schemas/datastore.PubSubConfig` to the `allOf[subschema #2]/data/pub_sub` response property `allOf` list for the response status `202`
  - added `#/components/schemas/datastore.VerifierConfig` to the `allOf[subschema #2]/data/verifier` 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`
  - added `#/components/schemas/handlers.Stub` to the `allOf[subschema #2]/data` response property `allOf` list for the response status `404`
- **2026-07-19** (v3) `e171f744d209`: 2 breaking
  - the `pub_sub/allOf[#/components/schemas/models.PubSubConfig]/google/service_account` request property type changed from `array` to `string`, and format from no format to `byte`
  - the `allOf[subschema #2]/data/pub_sub/google/service_account` response's property type changed from `array` to `string`, and format from no format to `byte` for status `202`
- **2026-06-18** (v3) `274ed78eabfc`: 2 info
  - added the new optional request property `event_type_location`
  - added the optional property `allOf[subschema #2]/data/event_type_location` to the response with the `202` status
- **2026-04-21** (v3) `743b89d7f7d3`: 2 info
  - the request property `custom_response/allOf[#/components/schemas/models.UpdateCustomResponse]/body` became nullable
  - the request property `custom_response/allOf[#/components/schemas/models.UpdateCustomResponse]/content_type` became nullable
- **2026-01-23** (v3) `623f857d89a5`: 1 info
  - added the optional property `allOf[subschema #2]/data/pub_sub/sqs/endpoint` to the response with the `202` status
- **2024-10-23** (v3) `de665d0e2fc3`: 9 breaking
  - the request property `verifier/allOf[#/components/schemas/models.VerifierConfig]/api_key/header_name` became required
  - the request property `verifier/allOf[#/components/schemas/models.VerifierConfig]/api_key/header_value` became required
  - the request property `verifier/allOf[#/components/schemas/models.VerifierConfig]/basic_auth/password` became required
  - the request property `verifier/allOf[#/components/schemas/models.VerifierConfig]/basic_auth/username` became required
  - the request property `verifier/allOf[#/components/schemas/models.VerifierConfig]/hmac/encoding` became required
  - the request property `verifier/allOf[#/components/schemas/models.VerifierConfig]/hmac/hash` became required
  - the request property `verifier/allOf[#/components/schemas/models.VerifierConfig]/hmac/header` became required
  - the request property `verifier/allOf[#/components/schemas/models.VerifierConfig]/hmac/secret` became required
  - the request property `verifier/allOf[#/components/schemas/models.VerifierConfig]/type` became required
- **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-04-04** (v3) `317ec51848e3`: 6 info
  - added the new optional request property `body_function`
  - added the new optional request property `header_function`
  - added the new optional request property `pub_sub/allOf[#/components/schemas/models.PubSubConfig]/amqp/vhost`
  - added the optional property `allOf[subschema #2]/data/body_function` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/header_function` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/pub_sub/amqp/vhost` to the response with the `200` status
- **2024-03-26** (v3) `28d285e4302c`: 12 breaking, 16 warning, 1 info
  - added `#/components/schemas/datastore.SourceType` to the `type` request property `allOf` list
  - added `#/components/schemas/models.PubSubConfig` to the `pub_sub` request property `allOf` list
  - added `#/components/schemas/models.UpdateCustomResponse` to the `custom_response` request property `allOf` list
  - added `#/components/schemas/models.VerifierConfig` to the `verifier` request property `allOf` list
  - removed the enum value `db_change_stream` of the request property `type`
  - removed the enum value `http` of the request property `type`
  - removed the enum value `pub_sub` of the request property `type`
  - removed the enum value `rest_api` of the request property `type`
  - the `custom_response` request property type changed from `object` to no type
  - the `pub_sub` request property type changed from `object` to no type
  - the `type` request property type changed from `string` to no type
  - the `verifier` request property type changed from `object` to no type
  - removed the request property `custom_response/body`
  - removed the request property `custom_response/content_type`
  - removed the request property `pub_sub/amqp`
  - removed the request property `pub_sub/google`
  - removed the request property `pub_sub/kafka`
  - removed the request property `pub_sub/sqs`
  - removed the request property `pub_sub/type`
  - removed the request property `pub_sub/workers`
  - removed the request property `verifier/api_key`
  - removed the request property `verifier/basic_auth`
  - removed the request property `verifier/hmac`
  - removed the request property `verifier/type`
  - 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
  - api operation id `UpdateSource` was added
- **2024-02-08** (v3) `8aa5161aec4c`: 1 warning, 3 info
  - added the new `amqp` enum value to the `allOf[subschema #2]/data/pub_sub/type` response property for the response status `200`
  - added the new optional request property `pub_sub/amqp`
  - added the new `amqp` enum value to the request property `pub_sub/type`
  - added the optional property `allOf[subschema #2]/data/pub_sub/amqp` to the response with the `200` status
- **2023-11-27** (v3) `47c7286b8cee`: 1 warning
  - removed the request property `idempotency_ttl`
- **2023-11-17** (v3) `41d4fca4cab8`: 1 warning, 3 info
  - added the new `kafka` enum value to the `allOf[subschema #2]/data/pub_sub/type` response property for the response status `200`
  - added the new optional request property `pub_sub/kafka`
  - added the new `kafka` enum value to the request property `pub_sub/type`
  - added the optional property `allOf[subschema #2]/data/pub_sub/kafka` to the response with the `200` status
- **2023-07-28** (v3) `2fc887538896`: 1 warning
  - removed the optional property `allOf[subschema #2]/data/idempotency_ttl` from the response with the `200` status
- **2023-06-22** (v3) `5c862889f0b4`: 4 info
  - added the new optional request property `idempotency_keys`
  - added the new optional request property `idempotency_ttl`
  - added the optional property `allOf[subschema #2]/data/idempotency_keys` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/idempotency_ttl` to the response with the `200` status
- **2023-06-01** (v3) `546f4792c61c`: 1 warning, 10 info
  - removed the request property `provider`
  - added the new optional request property `forward_headers`
  - added the optional property `allOf[subschema #2]/data/created_at` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/deleted_at` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/forward_headers` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/mask_id` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/project_id` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/provider_config` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/uid` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/updated_at` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/data/url` to the response with the `200` status
- **2023-05-28** (v3) `36284be114fe`: 2 info
  - added the new optional request property `custom_response`
  - added the optional property `allOf[subschema #2]/data/custom_response` to the response with the `200` status
- **2023-05-10** (v3) `297818aad550`: 8 warning
  - removed the optional property `allOf[subschema #2]/data/created_at` from the response with the `200` status
  - removed the optional property `allOf[subschema #2]/data/deleted_at` from the response with the `200` status
  - removed the optional property `allOf[subschema #2]/data/mask_id` from the response with the `200` status
  - removed the optional property `allOf[subschema #2]/data/project_id` from the response with the `200` status
  - removed the optional property `allOf[subschema #2]/data/provider_config` from the response with the `200` status
  - removed the optional property `allOf[subschema #2]/data/uid` from the response with the `200` status
  - removed the optional property `allOf[subschema #2]/data/updated_at` from the response with the `200` status
  - removed the optional property `allOf[subschema #2]/data/url` from 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/sources/:sourceID/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/sources/:sourceID/put)
