Skip to content
Start here

CORS

Get Bucket CORS Policy
r2.buckets.cors.get(strbucket_name, CORSGetParams**kwargs) -> CORSGetResponse
GET/accounts/{account_id}/r2/buckets/{bucket_name}/cors
Put Bucket CORS Policy
r2.buckets.cors.update(strbucket_name, CORSUpdateParams**kwargs) -> object
PUT/accounts/{account_id}/r2/buckets/{bucket_name}/cors
Delete Bucket CORS Policy
r2.buckets.cors.delete(strbucket_name, CORSDeleteParams**kwargs) -> object
DELETE/accounts/{account_id}/r2/buckets/{bucket_name}/cors
ModelsExpand Collapse
class CORSGetResponse:
rules: Optional[List[Rule]]
allowed: RuleAllowed

Object specifying allowed origins, methods and headers for this CORS rule.

methods: List[Literal["GET", "PUT", "POST", 2 more]]

Specifies the value for the Access-Control-Allow-Methods header R2 sets when requesting objects in a bucket from a browser.

One of the following:
"GET"
"PUT"
"POST"
"DELETE"
"HEAD"
origins: List[str]

Specifies the value for the Access-Control-Allow-Origin header R2 sets when requesting objects in a bucket from a browser.

headers: Optional[List[str]]

Specifies the value for the Access-Control-Allow-Headers header R2 sets when requesting objects in this bucket from a browser. Cross-origin requests that include custom headers (e.g. x-user-id) should specify these headers as AllowedHeaders.

id: Optional[str]

Identifier for this rule.

expose_headers: Optional[List[str]]

Specifies the headers that can be exposed back, and accessed by, the JavaScript making the cross-origin request. If you need to access headers beyond the safelisted response headers, such as Content-Encoding or cf-cache-status, you must specify it here.

max_age_seconds: Optional[float]

Specifies the amount of time (in seconds) browsers are allowed to cache CORS preflight responses. Browsers may limit this to 2 hours or less, even if the maximum value (86400) is specified.