## List account shares `client.ResourceSharing.List(ctx, params) (*V4PagePaginationArray[ResourceSharingListResponse], error)` **get** `/accounts/{account_id}/shares` Lists all account shares. ### Parameters - `params ResourceSharingListParams` - `AccountID param.Field[string]` Path param: Account identifier. - `Direction param.Field[ResourceSharingListParamsDirection]` Query param: Direction to sort objects. - `const ResourceSharingListParamsDirectionAsc ResourceSharingListParamsDirection = "asc"` - `const ResourceSharingListParamsDirectionDesc ResourceSharingListParamsDirection = "desc"` - `IncludeRecipientCounts param.Field[bool]` Query param: Include recipient counts in the response. - `IncludeResources param.Field[bool]` Query param: Include resources in the response. - `Kind param.Field[ResourceSharingListParamsKind]` Query param: Filter shares by kind. - `const ResourceSharingListParamsKindSent ResourceSharingListParamsKind = "sent"` - `const ResourceSharingListParamsKindReceived ResourceSharingListParamsKind = "received"` - `Order param.Field[ResourceSharingListParamsOrder]` Query param: Order shares by values in the given field. - `const ResourceSharingListParamsOrderName ResourceSharingListParamsOrder = "name"` - `const ResourceSharingListParamsOrderCreated ResourceSharingListParamsOrder = "created"` - `Page param.Field[int64]` Query param: Page number. - `PerPage param.Field[int64]` Query param: Number of objects to return per page. - `ResourceTypes param.Field[[]ResourceSharingListParamsResourceType]` Query param: Filter share resources by resource_types. - `const ResourceSharingListParamsResourceTypeCustomRuleset ResourceSharingListParamsResourceType = "custom-ruleset"` - `const ResourceSharingListParamsResourceTypeGatewayPolicy ResourceSharingListParamsResourceType = "gateway-policy"` - `const ResourceSharingListParamsResourceTypeGatewayDestinationIP ResourceSharingListParamsResourceType = "gateway-destination-ip"` - `const ResourceSharingListParamsResourceTypeGatewayBlockPageSettings ResourceSharingListParamsResourceType = "gateway-block-page-settings"` - `const ResourceSharingListParamsResourceTypeGatewayExtendedEmailMatching ResourceSharingListParamsResourceType = "gateway-extended-email-matching"` - `Status param.Field[ResourceSharingListParamsStatus]` Query param: Filter shares by status. - `const ResourceSharingListParamsStatusActive ResourceSharingListParamsStatus = "active"` - `const ResourceSharingListParamsStatusDeleting ResourceSharingListParamsStatus = "deleting"` - `const ResourceSharingListParamsStatusDeleted ResourceSharingListParamsStatus = "deleted"` - `TargetType param.Field[ResourceSharingListParamsTargetType]` Query param: Filter shares by target_type. - `const ResourceSharingListParamsTargetTypeAccount ResourceSharingListParamsTargetType = "account"` - `const ResourceSharingListParamsTargetTypeOrganization ResourceSharingListParamsTargetType = "organization"` ### Returns - `type ResourceSharingListResponse struct{…}` - `ID string` Share identifier tag. - `AccountID string` Account identifier. - `AccountName string` The display name of an account. - `Created Time` When the share was created. - `Modified Time` When the share was modified. - `Name string` The name of the share. - `OrganizationID string` Organization identifier. - `Status ResourceSharingListResponseStatus` - `const ResourceSharingListResponseStatusActive ResourceSharingListResponseStatus = "active"` - `const ResourceSharingListResponseStatusDeleting ResourceSharingListResponseStatus = "deleting"` - `const ResourceSharingListResponseStatusDeleted ResourceSharingListResponseStatus = "deleted"` - `TargetType ResourceSharingListResponseTargetType` - `const ResourceSharingListResponseTargetTypeAccount ResourceSharingListResponseTargetType = "account"` - `const ResourceSharingListResponseTargetTypeOrganization ResourceSharingListResponseTargetType = "organization"` - `AssociatedRecipientCount int64` The number of recipients in the 'associated' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `AssociatingRecipientCount int64` The number of recipients in the 'associating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `DisassociatedRecipientCount int64` The number of recipients in the 'disassociated' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `DisassociatingRecipientCount int64` The number of recipients in the 'disassociating' state. This field is only included when requested via the 'include_recipient_counts' parameter. - `Kind ResourceSharingListResponseKind` - `const ResourceSharingListResponseKindSent ResourceSharingListResponseKind = "sent"` - `const ResourceSharingListResponseKindReceived ResourceSharingListResponseKind = "received"` - `Resources []ResourceSharingListResponseResource` 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 Time` When the share was created. - `Meta unknown` Resource Metadata. - `Modified Time` When the share was modified. - `ResourceAccountID string` Account identifier. - `ResourceID string` Share Resource identifier. - `ResourceType ResourceSharingListResponseResourcesResourceType` Resource Type. - `const ResourceSharingListResponseResourcesResourceTypeCustomRuleset ResourceSharingListResponseResourcesResourceType = "custom-ruleset"` - `const ResourceSharingListResponseResourcesResourceTypeGatewayPolicy ResourceSharingListResponseResourcesResourceType = "gateway-policy"` - `const ResourceSharingListResponseResourcesResourceTypeGatewayDestinationIP ResourceSharingListResponseResourcesResourceType = "gateway-destination-ip"` - `const ResourceSharingListResponseResourcesResourceTypeGatewayBlockPageSettings ResourceSharingListResponseResourcesResourceType = "gateway-block-page-settings"` - `const ResourceSharingListResponseResourcesResourceTypeGatewayExtendedEmailMatching ResourceSharingListResponseResourcesResourceType = "gateway-extended-email-matching"` - `ResourceVersion int64` Resource Version. - `Status ResourceSharingListResponseResourcesStatus` Resource Status. - `const ResourceSharingListResponseResourcesStatusActive ResourceSharingListResponseResourcesStatus = "active"` - `const ResourceSharingListResponseResourcesStatusDeleting ResourceSharingListResponseResourcesStatus = "deleting"` - `const ResourceSharingListResponseResourcesStatusDeleted ResourceSharingListResponseResourcesStatus = "deleted"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/resource_sharing" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) page, err := client.ResourceSharing.List(context.TODO(), resource_sharing.ResourceSharingListParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### 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 } } ```