---
title: "Changes to Create origin group"
method: POST
path: "/cdn/origin_groups"
---

# Changes to Create origin group

`POST /cdn/origin_groups`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 4 of 76 revisions.

- **2026-10-21** `d034c0d6d6ff`: 3 breaking, 14 warning, 20 info
- **2026-09-08** `290afc8ffdbb`: 1 breaking, 1 warning
- **2026-09-04** `796429501557`: 6 warning
- **2026-05-11** `ebfd7c38e8c0`: 1 warning, 3 info

## Changes

- **2026-10-21** `d034c0d6d6ff`: 3 breaking, 14 warning, 20 info
  - added the pattern `^[A-Za-z0-9_.:-]+$` to the request property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/config/s3_bucket_name`
  - the response property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/config/s3_access_key_id` became optional for the status `201`
  - the response property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/config/s3_secret_access_key` became optional for the status `201`
  - removed the optional property `anyOf[subschema #10: Origin source is equal to resource's CNAME]/errors/sources/yourwebsite.com` from the response with the `400` status
  - removed the optional property `anyOf[subschema #11: Origin source cannot have port]/errors/sources/yourwebsite.com:8000` from the response with the `400` status
  - removed the optional property `anyOf[subschema #12: The single origin cannot be backup]/errors/sources/yourwebsite.com` from the response with the `400` status
  - removed the optional property `anyOf[subschema #13: Enable at least one origin source]/errors/sources/yourwebsite.com` from the response with the `400` status
  - removed the optional property `anyOf[subschema #14: Origin source must be registered domain]/errors/sources/your website.com` from the response with the `400` status
  - removed the optional property `anyOf[subschema #15: Port value is incorrect]/errors/sources/1.2.3.4:99999` from the response with the `400` status
  - removed the optional property `anyOf[subschema #17: Origin source belongs to forbidden network]/errors/sources/forbiddenwebsite.com` from the response with the `400` status
  - removed the optional property `anyOf[subschema #19: Port origin source value is incorrect]/errors/sources/:yourwebsite.com:` from the response with the `400` status
  - removed the optional property `anyOf[subschema #20: Origin domain IP is not IPv4]/errors/sources/ipv6domain.com` from the response with the `400` status
  - removed the optional property `anyOf[subschema #6: Origin source contains schema]/errors/sources/https://yourwebsite.com` from the response with the `400` status
  - removed the optional property `anyOf[subschema #7: Origin source contains slash]/errors/sources/yourwebsite.com/path` from the response with the `400` status
  - removed the optional property `anyOf[subschema #8: Origin source must be unique]/errors/sources/yourwebsite.com` from the response with the `400` status
  - removed the optional property `anyOf[subschema #9: Origin source is forbidden]/errors/sources/forbiddenwebsite.com` from the response with the `400` status
  - added the new `gcore` enum value to the `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/config/s3_type` response property for the response status `201`
  - added the new optional request property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/config/storage_id`
  - the request property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/config/s3_access_key_id` became optional
  - the request property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/config/s3_secret_access_key` became optional
  - added the new `gcore` enum value to the request property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/config/s3_type`
  - added `#/components/schemas/S3StorageIdInvalidError, #/components/schemas/S3StorageOwnedFieldError, #/components/schemas/S3StorageHostHeaderOverrideError, #/components/schemas/S3StorageBucketNameInvalidError, #/components/schemas/S3StorageBindingError, #/components/schemas/S3StorageBindingRetryError` to the response body `anyOf` list for the response status `400`
  - added the optional property `anyOf[subschema #10: Origin source is equal to resource's CNAME]/errors/sources/cdn.example.com` to the response with the `400` status
  - added the optional property `anyOf[subschema #11: Origin source cannot have port]/errors/sources/origin.example.com:8000` to the response with the `400` status
  - added the optional property `anyOf[subschema #12: The single origin cannot be backup]/errors/sources/origin.example.com` to the response with the `400` status
  - added the optional property `anyOf[subschema #13: Enable at least one origin source]/errors/sources/origin.example.com` to the response with the `400` status
  - added the optional property `anyOf[subschema #14: Origin source must be registered domain]/errors/sources/origin.example.com` to the response with the `400` status
  - added the optional property `anyOf[subschema #15: Port value is incorrect]/errors/sources/192.0.2.10:99999` to the response with the `400` status
  - added the optional property `anyOf[subschema #17: Origin source belongs to forbidden network]/errors/sources/origin.example.org` to the response with the `400` status
  - added the optional property `anyOf[subschema #19: Port origin source value is incorrect]/errors/sources/:origin.example.com:` to the response with the `400` status
  - added the optional property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/config/storage_id` to the response with the `201` status
  - added the optional property `anyOf[subschema #20: Origin domain IP is not IPv4]/errors/sources/origin.example.org` to the response with the `400` status
  - added the optional property `anyOf[subschema #6: Origin source contains schema]/errors/sources/https://origin.example.com` to the response with the `400` status
  - added the optional property `anyOf[subschema #7: Origin source contains slash]/errors/sources/origin.example.com/path` to the response with the `400` status
  - added the optional property `anyOf[subschema #8: Origin source must be unique]/errors/sources/origin.example.com` to the response with the `400` status
  - added the optional property `anyOf[subschema #9: Origin source is forbidden]/errors/sources/origin.example.org` to the response with the `400` status
  - the `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/config/s3_bucket_name` response's property pattern `^[A-Za-z0-9_.:-]+$` was added for the status `201`
- **2026-09-08** `290afc8ffdbb`: 1 breaking, 1 warning
  - the `anyOf[subschema #36: S3 config is required when origin_type is s3]/errors/sources` response's property type changed from `object` to `array` for status `400`
  - removed the optional property `anyOf[subschema #36: S3 config is required when origin_type is s3]/errors/sources/s3_entry_0` from the response with the `400` status
- **2026-09-04** `796429501557`: 6 warning
  - removed the request property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #1: Host Source]/tag`
  - removed the request property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/tag`
  - removed the request property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #3: FastEdge Source]/tag`
  - removed the optional property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #1: Host Source]/tag` from the response with the `201` status
  - removed the optional property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/tag` from the response with the `201` status
  - removed the optional property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #3: FastEdge Source]/tag` from the response with the `201` status
- **2026-05-11** `ebfd7c38e8c0`: 1 warning, 3 info
  - added the new `fastedge` enum value to the `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/origin_type` response property for the response status `201`
  - added `#/components/schemas/ChangeFastedgeSource` to the `anyOf[subschema #1: None Auth]/sources/items/` request property `anyOf` list
  - added the new `fastedge` enum value to the request property `anyOf[subschema #1: None Auth]/sources/items/anyOf[subschema #2: S3 Source]/origin_type`
  - added `#/components/schemas/FastedgeSourceResponse` to the `anyOf[subschema #1: None Auth]/sources/items/` response property `anyOf` list for the response status `201`

---

[Operation](https://skmtc.dev/g-core/apis/gcore-openapi/docs/cdn/origin_groups/post.md) - [API](https://skmtc.dev/g-core/apis/gcore-openapi.md) - [Page](https://skmtc.dev/g-core/apis/gcore-openapi/changes/cdn/origin_groups/post)
