# Resource Sharing ## List account shares **get** `/accounts/{account_id}/shares` Lists all account shares. ### Path Parameters - `account_id: string` Account identifier. ### Query Parameters - `direction: optional "asc" or "desc"` Direction to sort objects. - `"asc"` - `"desc"` - `include_recipient_counts: optional boolean` Include recipient counts in the response. - `include_resources: optional boolean` Include resources in the response. - `kind: optional "sent" or "received"` Filter shares by kind. - `"sent"` - `"received"` - `order: optional "name" or "created"` Order shares by values in the given field. - `"name"` - `"created"` - `page: optional number` Page number. - `per_page: optional number` Number of objects to return per page. - `resource_types: optional array of "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Filter share resources by resource_types. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `status: optional "active" or "deleting" or "deleted"` Filter shares by status. - `"active"` - `"deleting"` - `"deleted"` - `target_type: optional "account" or "organization"` Filter shares by target_type. - `"account"` - `"organization"` ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional array of { id, account_id, account_name, 12 more }` - `id: string` Share identifier tag. - `account_id: string` Account identifier. - `account_name: string` The display name of an account. - `created: string` When the share was created. - `modified: string` When the share was modified. - `name: string` The name of the share. - `organization_id: string` Organization identifier. - `status: "active" or "deleting" or "deleted"` - `"active"` - `"deleting"` - `"deleted"` - `target_type: "account" or "organization"` - `"account"` - `"organization"` - `associated_recipient_count: optional number` 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 number` 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 number` 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 number` The number of recipients in the 'disassociating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `kind: optional "sent" or "received"` - `"sent"` - `"received"` - `resources: optional array of { id, created, meta, 6 more }` A list of resources that are part of the share. This field is only included when requested via the 'include_resources' parameter. - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` - `result_info: optional { count, page, per_page, 2 more }` - `count: optional number` Total number of results for the requested service. - `page: optional number` Current page within paginated list of results. - `per_page: optional number` Number of results per page of results. - `total_count: optional number` Total results available without any search parameters. - `total_pages: optional number` Total number of pages using the given per page. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" ``` #### 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" } ] } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 50 } } ``` ## Get account share by ID **get** `/accounts/{account_id}/shares/{share_id}` Fetches share by ID. ### Path Parameters - `account_id: string` Account identifier. - `share_id: string` Share identifier tag. ### Query Parameters - `include_recipient_counts: optional boolean` Include recipient counts in the response. - `include_resources: optional boolean` Include resources in the response. ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional { id, account_id, account_name, 12 more }` - `id: string` Share identifier tag. - `account_id: string` Account identifier. - `account_name: string` The display name of an account. - `created: string` When the share was created. - `modified: string` When the share was modified. - `name: string` The name of the share. - `organization_id: string` Organization identifier. - `status: "active" or "deleting" or "deleted"` - `"active"` - `"deleting"` - `"deleted"` - `target_type: "account" or "organization"` - `"account"` - `"organization"` - `associated_recipient_count: optional number` 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 number` 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 number` 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 number` The number of recipients in the 'disassociating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `kind: optional "sent" or "received"` - `"sent"` - `"received"` - `resources: optional array of { id, created, meta, 6 more }` A list of resources that are part of the share. This field is only included when requested via the 'include_resources' parameter. - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares/$SHARE_ID \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" ``` #### 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" } ] } } ``` ## Create a new share **post** `/accounts/{account_id}/shares` Creates a new resource share for sharing Cloudflare resources with other accounts or organizations. ### Path Parameters - `account_id: string` Account identifier. ### Body Parameters - `name: string` The name of the share. - `recipients: array of { account_id, organization_id }` - `account_id: optional string` Account identifier. - `organization_id: optional string` Organization identifier. - `resources: array of { meta, resource_account_id, resource_id, resource_type }` - `meta: unknown` Resource Metadata. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional { id, account_id, account_name, 12 more }` - `id: string` Share identifier tag. - `account_id: string` Account identifier. - `account_name: string` The display name of an account. - `created: string` When the share was created. - `modified: string` When the share was modified. - `name: string` The name of the share. - `organization_id: string` Organization identifier. - `status: "active" or "deleting" or "deleted"` - `"active"` - `"deleting"` - `"deleted"` - `target_type: "account" or "organization"` - `"account"` - `"organization"` - `associated_recipient_count: optional number` 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 number` 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 number` 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 number` The number of recipients in the 'disassociating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `kind: optional "sent" or "received"` - `"sent"` - `"received"` - `resources: optional array of { id, created, meta, 6 more }` A list of resources that are part of the share. This field is only included when requested via the 'include_resources' parameter. - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares \ -H 'Content-Type: application/json' \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" \ -d '{ "name": "My Shared WAF Managed Rule", "recipients": [ {} ], "resources": [ { "meta": {}, "resource_account_id": "023e105f4ecef8ad9ca31a8372d0c353", "resource_id": "023e105f4ecef8ad9ca31a8372d0c353", "resource_type": "custom-ruleset" } ] }' ``` #### 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" } ] } } ``` ## Update a share **put** `/accounts/{account_id}/shares/{share_id}` Updating is not immediate, an updated share object with a new status will be returned. ### Path Parameters - `account_id: string` Account identifier. - `share_id: string` Share identifier tag. ### Body Parameters - `name: string` The name of the share. ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional { id, account_id, account_name, 12 more }` - `id: string` Share identifier tag. - `account_id: string` Account identifier. - `account_name: string` The display name of an account. - `created: string` When the share was created. - `modified: string` When the share was modified. - `name: string` The name of the share. - `organization_id: string` Organization identifier. - `status: "active" or "deleting" or "deleted"` - `"active"` - `"deleting"` - `"deleted"` - `target_type: "account" or "organization"` - `"account"` - `"organization"` - `associated_recipient_count: optional number` 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 number` 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 number` 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 number` The number of recipients in the 'disassociating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `kind: optional "sent" or "received"` - `"sent"` - `"received"` - `resources: optional array of { id, created, meta, 6 more }` A list of resources that are part of the share. This field is only included when requested via the 'include_resources' parameter. - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares/$SHARE_ID \ -X PUT \ -H 'Content-Type: application/json' \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" \ -d '{ "name": "My Shared WAF Managed Rule" }' ``` #### 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" } ] } } ``` ## Delete a share **delete** `/accounts/{account_id}/shares/{share_id}` Deletion is not immediate, an updated share object with a new status will be returned. ### Path Parameters - `account_id: string` Account identifier. - `share_id: string` Share identifier tag. ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional { id, account_id, account_name, 12 more }` - `id: string` Share identifier tag. - `account_id: string` Account identifier. - `account_name: string` The display name of an account. - `created: string` When the share was created. - `modified: string` When the share was modified. - `name: string` The name of the share. - `organization_id: string` Organization identifier. - `status: "active" or "deleting" or "deleted"` - `"active"` - `"deleting"` - `"deleted"` - `target_type: "account" or "organization"` - `"account"` - `"organization"` - `associated_recipient_count: optional number` 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 number` 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 number` 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 number` The number of recipients in the 'disassociating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `kind: optional "sent" or "received"` - `"sent"` - `"received"` - `resources: optional array of { id, created, meta, 6 more }` A list of resources that are part of the share. This field is only included when requested via the 'include_resources' parameter. - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares/$SHARE_ID \ -X DELETE \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" ``` #### 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" } ] } } ``` ## Domain Types ### Resource Sharing List Response - `ResourceSharingListResponse { id, account_id, account_name, 12 more }` - `id: string` Share identifier tag. - `account_id: string` Account identifier. - `account_name: string` The display name of an account. - `created: string` When the share was created. - `modified: string` When the share was modified. - `name: string` The name of the share. - `organization_id: string` Organization identifier. - `status: "active" or "deleting" or "deleted"` - `"active"` - `"deleting"` - `"deleted"` - `target_type: "account" or "organization"` - `"account"` - `"organization"` - `associated_recipient_count: optional number` 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 number` 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 number` 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 number` The number of recipients in the 'disassociating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `kind: optional "sent" or "received"` - `"sent"` - `"received"` - `resources: optional array of { id, created, meta, 6 more }` A list of resources that are part of the share. This field is only included when requested via the 'include_resources' parameter. - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Resource Sharing Get Response - `ResourceSharingGetResponse { id, account_id, account_name, 12 more }` - `id: string` Share identifier tag. - `account_id: string` Account identifier. - `account_name: string` The display name of an account. - `created: string` When the share was created. - `modified: string` When the share was modified. - `name: string` The name of the share. - `organization_id: string` Organization identifier. - `status: "active" or "deleting" or "deleted"` - `"active"` - `"deleting"` - `"deleted"` - `target_type: "account" or "organization"` - `"account"` - `"organization"` - `associated_recipient_count: optional number` 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 number` 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 number` 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 number` The number of recipients in the 'disassociating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `kind: optional "sent" or "received"` - `"sent"` - `"received"` - `resources: optional array of { id, created, meta, 6 more }` A list of resources that are part of the share. This field is only included when requested via the 'include_resources' parameter. - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Resource Sharing Create Response - `ResourceSharingCreateResponse { id, account_id, account_name, 12 more }` - `id: string` Share identifier tag. - `account_id: string` Account identifier. - `account_name: string` The display name of an account. - `created: string` When the share was created. - `modified: string` When the share was modified. - `name: string` The name of the share. - `organization_id: string` Organization identifier. - `status: "active" or "deleting" or "deleted"` - `"active"` - `"deleting"` - `"deleted"` - `target_type: "account" or "organization"` - `"account"` - `"organization"` - `associated_recipient_count: optional number` 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 number` 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 number` 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 number` The number of recipients in the 'disassociating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `kind: optional "sent" or "received"` - `"sent"` - `"received"` - `resources: optional array of { id, created, meta, 6 more }` A list of resources that are part of the share. This field is only included when requested via the 'include_resources' parameter. - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Resource Sharing Update Response - `ResourceSharingUpdateResponse { id, account_id, account_name, 12 more }` - `id: string` Share identifier tag. - `account_id: string` Account identifier. - `account_name: string` The display name of an account. - `created: string` When the share was created. - `modified: string` When the share was modified. - `name: string` The name of the share. - `organization_id: string` Organization identifier. - `status: "active" or "deleting" or "deleted"` - `"active"` - `"deleting"` - `"deleted"` - `target_type: "account" or "organization"` - `"account"` - `"organization"` - `associated_recipient_count: optional number` 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 number` 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 number` 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 number` The number of recipients in the 'disassociating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `kind: optional "sent" or "received"` - `"sent"` - `"received"` - `resources: optional array of { id, created, meta, 6 more }` A list of resources that are part of the share. This field is only included when requested via the 'include_resources' parameter. - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Resource Sharing Delete Response - `ResourceSharingDeleteResponse { id, account_id, account_name, 12 more }` - `id: string` Share identifier tag. - `account_id: string` Account identifier. - `account_name: string` The display name of an account. - `created: string` When the share was created. - `modified: string` When the share was modified. - `name: string` The name of the share. - `organization_id: string` Organization identifier. - `status: "active" or "deleting" or "deleted"` - `"active"` - `"deleting"` - `"deleted"` - `target_type: "account" or "organization"` - `"account"` - `"organization"` - `associated_recipient_count: optional number` 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 number` 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 number` 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 number` The number of recipients in the 'disassociating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `kind: optional "sent" or "received"` - `"sent"` - `"received"` - `resources: optional array of { id, created, meta, 6 more }` A list of resources that are part of the share. This field is only included when requested via the 'include_resources' parameter. - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` # Recipients ## List share recipients by share ID **get** `/accounts/{account_id}/shares/{share_id}/recipients` List share recipients by share ID. ### Path Parameters - `account_id: string` Account identifier. - `share_id: string` Share identifier tag. ### Query Parameters - `include_resources: optional boolean` Include resources in the response. - `page: optional number` Page number. - `per_page: optional number` Number of objects to return per page. ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional array of { id, account_id, association_status, 3 more }` - `id: string` Share Recipient identifier tag. - `account_id: string` Account identifier. - `association_status: "associating" or "associated" or "disassociating" or "disassociated"` Share Recipient association status. - `"associating"` - `"associated"` - `"disassociating"` - `"disassociated"` - `created: string` When the share was created. - `modified: string` When the share was modified. - `resources: optional array of { error, resource_id, resource_version, terminal }` - `error: string` Share Recipient error message. - `resource_id: string` Share Resource identifier. - `resource_version: number` Resource Version. - `terminal: boolean` Whether the error is terminal or will be continually retried. - `result_info: optional { count, page, per_page, 2 more }` - `count: optional number` Total number of results for the requested service. - `page: optional number` Current page within paginated list of results. - `per_page: optional number` Number of results per page of results. - `total_count: optional number` Total results available without any search parameters. - `total_pages: optional number` Total number of pages using the given per page. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares/$SHARE_ID/recipients \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "3fd85f74b32742f1bff64a85009dda07", "account_id": "023e105f4ecef8ad9ca31a8372d0c353", "association_status": "associating", "created": "2023-09-21T18:56:32.624632Z", "modified": "2023-09-21T18:56:32.624632Z", "resources": [ { "error": "Recipient is missing necessary entitlement", "resource_id": "023e105f4ecef8ad9ca31a8372d0c353", "resource_version": 0, "terminal": true } ] } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 50 } } ``` ## Get share recipient by ID **get** `/accounts/{account_id}/shares/{share_id}/recipients/{recipient_id}` Get share recipient by ID. ### Path Parameters - `account_id: string` Account identifier. - `share_id: string` Share identifier tag. - `recipient_id: string` Share Recipient identifier tag. ### Query Parameters - `include_resources: optional boolean` Include resources in the response. ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional { id, account_id, association_status, 3 more }` - `id: string` Share Recipient identifier tag. - `account_id: string` Account identifier. - `association_status: "associating" or "associated" or "disassociating" or "disassociated"` Share Recipient association status. - `"associating"` - `"associated"` - `"disassociating"` - `"disassociated"` - `created: string` When the share was created. - `modified: string` When the share was modified. - `resources: optional array of { error, resource_id, resource_version, terminal }` - `error: string` Share Recipient error message. - `resource_id: string` Share Resource identifier. - `resource_version: number` Resource Version. - `terminal: boolean` Whether the error is terminal or will be continually retried. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares/$SHARE_ID/recipients/$RECIPIENT_ID \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "3fd85f74b32742f1bff64a85009dda07", "account_id": "023e105f4ecef8ad9ca31a8372d0c353", "association_status": "associating", "created": "2023-09-21T18:56:32.624632Z", "modified": "2023-09-21T18:56:32.624632Z", "resources": [ { "error": "Recipient is missing necessary entitlement", "resource_id": "023e105f4ecef8ad9ca31a8372d0c353", "resource_version": 0, "terminal": true } ] } } ``` ## Create a new share recipient **post** `/accounts/{account_id}/shares/{share_id}/recipients` Adds a recipient to a resource share, granting them access to the shared resources. ### Path Parameters - `account_id: string` Account identifier. - `share_id: string` Share identifier tag. ### Body Parameters - `account_id: optional string` Account identifier. - `organization_id: optional string` Organization identifier. ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional { id, account_id, association_status, 3 more }` - `id: string` Share Recipient identifier tag. - `account_id: string` Account identifier. - `association_status: "associating" or "associated" or "disassociating" or "disassociated"` Share Recipient association status. - `"associating"` - `"associated"` - `"disassociating"` - `"disassociated"` - `created: string` When the share was created. - `modified: string` When the share was modified. - `resources: optional array of { error, resource_id, resource_version, terminal }` - `error: string` Share Recipient error message. - `resource_id: string` Share Resource identifier. - `resource_version: number` Resource Version. - `terminal: boolean` Whether the error is terminal or will be continually retried. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares/$SHARE_ID/recipients \ -H 'Content-Type: application/json' \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" \ -d '{ "account_id": "023e105f4ecef8ad9ca31a8372d0c353", "organization_id": "023e105f4ecef8ad9ca31a8372d0c353" }' ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "3fd85f74b32742f1bff64a85009dda07", "account_id": "023e105f4ecef8ad9ca31a8372d0c353", "association_status": "associating", "created": "2023-09-21T18:56:32.624632Z", "modified": "2023-09-21T18:56:32.624632Z", "resources": [ { "error": "Recipient is missing necessary entitlement", "resource_id": "023e105f4ecef8ad9ca31a8372d0c353", "resource_version": 0, "terminal": true } ] } } ``` ## Delete a share recipient **delete** `/accounts/{account_id}/shares/{share_id}/recipients/{recipient_id}` Deletion is not immediate, an updated share recipient object with a new status will be returned. ### Path Parameters - `account_id: string` Account identifier. - `share_id: string` Share identifier tag. - `recipient_id: string` Share Recipient identifier tag. ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional { id, account_id, association_status, 3 more }` - `id: string` Share Recipient identifier tag. - `account_id: string` Account identifier. - `association_status: "associating" or "associated" or "disassociating" or "disassociated"` Share Recipient association status. - `"associating"` - `"associated"` - `"disassociating"` - `"disassociated"` - `created: string` When the share was created. - `modified: string` When the share was modified. - `resources: optional array of { error, resource_id, resource_version, terminal }` - `error: string` Share Recipient error message. - `resource_id: string` Share Resource identifier. - `resource_version: number` Resource Version. - `terminal: boolean` Whether the error is terminal or will be continually retried. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares/$SHARE_ID/recipients/$RECIPIENT_ID \ -X DELETE \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "3fd85f74b32742f1bff64a85009dda07", "account_id": "023e105f4ecef8ad9ca31a8372d0c353", "association_status": "associating", "created": "2023-09-21T18:56:32.624632Z", "modified": "2023-09-21T18:56:32.624632Z", "resources": [ { "error": "Recipient is missing necessary entitlement", "resource_id": "023e105f4ecef8ad9ca31a8372d0c353", "resource_version": 0, "terminal": true } ] } } ``` ## Domain Types ### Recipient List Response - `RecipientListResponse { id, account_id, association_status, 3 more }` - `id: string` Share Recipient identifier tag. - `account_id: string` Account identifier. - `association_status: "associating" or "associated" or "disassociating" or "disassociated"` Share Recipient association status. - `"associating"` - `"associated"` - `"disassociating"` - `"disassociated"` - `created: string` When the share was created. - `modified: string` When the share was modified. - `resources: optional array of { error, resource_id, resource_version, terminal }` - `error: string` Share Recipient error message. - `resource_id: string` Share Resource identifier. - `resource_version: number` Resource Version. - `terminal: boolean` Whether the error is terminal or will be continually retried. ### Recipient Get Response - `RecipientGetResponse { id, account_id, association_status, 3 more }` - `id: string` Share Recipient identifier tag. - `account_id: string` Account identifier. - `association_status: "associating" or "associated" or "disassociating" or "disassociated"` Share Recipient association status. - `"associating"` - `"associated"` - `"disassociating"` - `"disassociated"` - `created: string` When the share was created. - `modified: string` When the share was modified. - `resources: optional array of { error, resource_id, resource_version, terminal }` - `error: string` Share Recipient error message. - `resource_id: string` Share Resource identifier. - `resource_version: number` Resource Version. - `terminal: boolean` Whether the error is terminal or will be continually retried. ### Recipient Create Response - `RecipientCreateResponse { id, account_id, association_status, 3 more }` - `id: string` Share Recipient identifier tag. - `account_id: string` Account identifier. - `association_status: "associating" or "associated" or "disassociating" or "disassociated"` Share Recipient association status. - `"associating"` - `"associated"` - `"disassociating"` - `"disassociated"` - `created: string` When the share was created. - `modified: string` When the share was modified. - `resources: optional array of { error, resource_id, resource_version, terminal }` - `error: string` Share Recipient error message. - `resource_id: string` Share Resource identifier. - `resource_version: number` Resource Version. - `terminal: boolean` Whether the error is terminal or will be continually retried. ### Recipient Delete Response - `RecipientDeleteResponse { id, account_id, association_status, 3 more }` - `id: string` Share Recipient identifier tag. - `account_id: string` Account identifier. - `association_status: "associating" or "associated" or "disassociating" or "disassociated"` Share Recipient association status. - `"associating"` - `"associated"` - `"disassociating"` - `"disassociated"` - `created: string` When the share was created. - `modified: string` When the share was modified. - `resources: optional array of { error, resource_id, resource_version, terminal }` - `error: string` Share Recipient error message. - `resource_id: string` Share Resource identifier. - `resource_version: number` Resource Version. - `terminal: boolean` Whether the error is terminal or will be continually retried. # Resources ## List share resources by share ID **get** `/accounts/{account_id}/shares/{share_id}/resources` List share resources by share ID. ### Path Parameters - `account_id: string` Account identifier. - `share_id: string` Share identifier tag. ### Query Parameters - `page: optional number` Page number. - `per_page: optional number` Number of objects to return per page. - `resource_type: optional "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Filter share resources by resource_type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `status: optional "active" or "deleting" or "deleted"` Filter share resources by status. - `"active"` - `"deleting"` - `"deleted"` ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional array of { id, created, meta, 6 more }` - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` - `result_info: optional { count, page, per_page, 2 more }` - `count: optional number` Total number of results for the requested service. - `page: optional number` Current page within paginated list of results. - `per_page: optional number` Number of results per page of results. - `total_count: optional number` Total results available without any search parameters. - `total_pages: optional number` Total number of pages using the given per page. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares/$SHARE_ID/resources \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "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" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 50 } } ``` ## Get share resource by ID **get** `/accounts/{account_id}/shares/{share_id}/resources/{resource_id}` Get share resource by ID. ### Path Parameters - `account_id: string` Account identifier. - `share_id: string` Share identifier tag. - `resource_id: string` Share Resource identifier. ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional { id, created, meta, 6 more }` - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares/$SHARE_ID/resources/$RESOURCE_ID \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "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" } } ``` ## Create a new share resource **post** `/accounts/{account_id}/shares/{share_id}/resources` Adds a resource to an existing share, making it available to share recipients. ### Path Parameters - `account_id: string` Account identifier. - `share_id: string` Share identifier tag. ### Body Parameters - `meta: unknown` Resource Metadata. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional { id, created, meta, 6 more }` - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares/$SHARE_ID/resources \ -H 'Content-Type: application/json' \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" \ -d '{ "meta": {}, "resource_account_id": "023e105f4ecef8ad9ca31a8372d0c353", "resource_id": "023e105f4ecef8ad9ca31a8372d0c353", "resource_type": "custom-ruleset" }' ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "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" } } ``` ## Update a share resource **put** `/accounts/{account_id}/shares/{share_id}/resources/{resource_id}` Update is not immediate, an updated share resource object with a new status will be returned. ### Path Parameters - `account_id: string` Account identifier. - `share_id: string` Share identifier tag. - `resource_id: string` Share Resource identifier. ### Body Parameters - `meta: unknown` Resource Metadata. ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional { id, created, meta, 6 more }` - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares/$SHARE_ID/resources/$RESOURCE_ID \ -X PUT \ -H 'Content-Type: application/json' \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" \ -d '{ "meta": {} }' ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "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" } } ``` ## Delete a share resource **delete** `/accounts/{account_id}/shares/{share_id}/resources/{resource_id}` Deletion is not immediate, an updated share resource object with a new status will be returned. ### Path Parameters - `account_id: string` Account identifier. - `share_id: string` Share identifier tag. - `resource_id: string` Share Resource identifier. ### Returns - `errors: array of ResponseInfo` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: boolean` Whether the API call was successful. - `result: optional { id, created, meta, 6 more }` - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/shares/$SHARE_ID/resources/$RESOURCE_ID \ -X DELETE \ -H "X-Auth-Email: $CLOUDFLARE_EMAIL" \ -H "X-Auth-Key: $CLOUDFLARE_API_KEY" ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "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" } } ``` ## Domain Types ### Resource List Response - `ResourceListResponse { id, created, meta, 6 more }` - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Resource Get Response - `ResourceGetResponse { id, created, meta, 6 more }` - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Resource Create Response - `ResourceCreateResponse { id, created, meta, 6 more }` - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Resource Update Response - `ResourceUpdateResponse { id, created, meta, 6 more }` - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"` ### Resource Delete Response - `ResourceDeleteResponse { id, created, meta, 6 more }` - `id: string` Share Resource identifier. - `created: string` When the share was created. - `meta: unknown` Resource Metadata. - `modified: string` When the share was modified. - `resource_account_id: string` Account identifier. - `resource_id: string` Share Resource identifier. - `resource_type: "custom-ruleset" or "gateway-policy" or "gateway-destination-ip" or 2 more` Resource Type. - `"custom-ruleset"` - `"gateway-policy"` - `"gateway-destination-ip"` - `"gateway-block-page-settings"` - `"gateway-extended-email-matching"` - `resource_version: number` Resource Version. - `status: "active" or "deleting" or "deleted"` Resource Status. - `"active"` - `"deleting"` - `"deleted"`