## Create a new share `resource_sharing.create(ResourceSharingCreateParams**kwargs) -> ResourceSharingCreateResponse` **post** `/accounts/{account_id}/shares` Creates a new resource share for sharing Cloudflare resources with other accounts or organizations. ### Parameters - `account_id: str` Account identifier. - `name: str` The name of the share. - `recipients: Iterable[Recipient]` - `account_id: Optional[str]` Deprecated alias for `recipient_account_id`. Use `recipient_account_id` instead. The body field collided with the URL path parameter of the same name, which prevented SDK generators from distinguishing the source account (in the URL) from the recipient account (in the body). Both names will continue to be accepted until 2027-05-26 (see `x-sunset`). - `organization_id: Optional[str]` Organization identifier. - `recipient_account_id: Optional[str]` The account that will receive the share. - `resources: Iterable[Resource]` - `meta: object` Resource Metadata. - `resource_account_id: str` Account identifier. - `resource_id: str` Share Resource identifier. - `resource_type: Literal["custom-ruleset", "gateway-policy", "gateway-destination-ip", 3 more]` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `"idp-federation-grant"` ### Returns - `class ResourceSharingCreateResponse: …` - `id: str` Share identifier tag. - `account_id: str` Account identifier. - `account_name: str` The display name of an account. - `created: datetime` When the share was created. - `modified: datetime` When the share was modified. - `name: str` The name of the share. - `organization_id: str` Organization identifier. - `status: Literal["active", "deleting", "deleted"]` - `"active"` - `"deleting"` - `"deleted"` - `target_type: Literal["account", "organization"]` - `"account"` - `"organization"` - `associated_recipient_count: Optional[int]` The number of recipients in the 'associated' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `associating_recipient_count: Optional[int]` The number of recipients in the 'associating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `disassociated_recipient_count: Optional[int]` The number of recipients in the 'disassociated' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `disassociating_recipient_count: Optional[int]` The number of recipients in the 'disassociating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `kind: Optional[Literal["sent", "received"]]` - `"sent"` - `"received"` - `resources: Optional[List[Resource]]` A list of resources that are part of the share. This field is only included when requested via the 'include_resources' parameter. - `id: str` Share Resource identifier. - `created: datetime` When the share was created. - `meta: object` Resource Metadata. - `modified: datetime` When the share was modified. - `resource_account_id: str` Account identifier. - `resource_id: str` Share Resource identifier. - `resource_type: Literal["custom-ruleset", "gateway-policy", "gateway-destination-ip", 3 more]` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `"idp-federation-grant"` - `resource_version: int` Resource Version. - `status: Literal["active", "deleting", "deleted"]` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_email=os.environ.get("CLOUDFLARE_EMAIL"), # This is the default and can be omitted api_key=os.environ.get("CLOUDFLARE_API_KEY"), # This is the default and can be omitted ) resource_sharing = client.resource_sharing.create( account_id="023e105f4ecef8ad9ca31a8372d0c353", name="My Shared WAF Managed Rule", recipients=[{}], resources=[{ "meta": {}, "resource_account_id": "023e105f4ecef8ad9ca31a8372d0c353", "resource_id": "023e105f4ecef8ad9ca31a8372d0c353", "resource_type": "custom-ruleset", }], ) print(resource_sharing.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "3fd85f74b32742f1bff64a85009dda07", "account_id": "023e105f4ecef8ad9ca31a8372d0c353", "account_name": "Account A", "created": "2023-09-21T18:56:32.624632Z", "modified": "2023-09-21T18:56:32.624632Z", "name": "My Shared WAF Managed Rule", "organization_id": "023e105f4ecef8ad9ca31a8372d0c353", "status": "active", "target_type": "account", "associated_recipient_count": 10, "associating_recipient_count": 1, "disassociated_recipient_count": 0, "disassociating_recipient_count": 0, "kind": "sent", "resources": [ { "id": "023e105f4ecef8ad9ca31a8372d0c353", "created": "2023-09-21T18:56:32.624632Z", "meta": {}, "modified": "2023-09-21T18:56:32.624632Z", "resource_account_id": "023e105f4ecef8ad9ca31a8372d0c353", "resource_id": "023e105f4ecef8ad9ca31a8372d0c353", "resource_type": "custom-ruleset", "resource_version": 0, "status": "active" } ] } } ```