# Cookies ## List Page Shield Cookies `client.PageShield.Cookies.List(ctx, params) (*SinglePage[CookieListResponse], error)` **get** `/zones/{zone_id}/page_shield/cookies` Lists all cookies collected by Page Shield. ### Parameters - `params CookieListParams` - `ZoneID param.Field[string]` Path param: Identifier - `Direction param.Field[CookieListParamsDirection]` Query param: The direction used to sort returned cookies.' - `const CookieListParamsDirectionAsc CookieListParamsDirection = "asc"` - `const CookieListParamsDirectionDesc CookieListParamsDirection = "desc"` - `Domain param.Field[string]` Query param: Filters the returned cookies that match the specified domain attribute - `Export param.Field[CookieListParamsExport]` Query param: Export the list of cookies as a file, limited to 50000 entries. - `const CookieListParamsExportCsv CookieListParamsExport = "csv"` - `Hosts param.Field[string]` Query param: Includes cookies that match one or more URL-encoded hostnames separated by commas. Wildcards are supported at the start and end of each hostname to support starts with, ends with and contains. If no wildcards are used, results will be filtered by exact match - `HTTPOnly param.Field[bool]` Query param: Filters the returned cookies that are set with HttpOnly - `Name param.Field[string]` Query param: Filters the returned cookies that match the specified name. Wildcards are supported at the start and end to support starts with, ends with and contains. e.g. session* - `OrderBy param.Field[CookieListParamsOrderBy]` Query param: The field used to sort returned cookies. - `const CookieListParamsOrderByFirstSeenAt CookieListParamsOrderBy = "first_seen_at"` - `const CookieListParamsOrderByLastSeenAt CookieListParamsOrderBy = "last_seen_at"` - `Page param.Field[string]` Query param: The current page number of the paginated results. We additionally support a special value "all". When "all" is used, the API will return all the cookies with the applied filters in a single page. This feature is best-effort and it may only work for zones with a low number of cookies - `PageURL param.Field[string]` Query param: Includes connections that match one or more page URLs (separated by commas) where they were last seen Wildcards are supported at the start and end of each page URL to support starts with, ends with and contains. If no wildcards are used, results will be filtered by exact match - `Path param.Field[string]` Query param: Filters the returned cookies that match the specified path attribute - `PerPage param.Field[float64]` Query param: The number of results per page. - `SameSite param.Field[CookieListParamsSameSite]` Query param: Filters the returned cookies that match the specified same_site attribute - `const CookieListParamsSameSiteLax CookieListParamsSameSite = "lax"` - `const CookieListParamsSameSiteStrict CookieListParamsSameSite = "strict"` - `const CookieListParamsSameSiteNone CookieListParamsSameSite = "none"` - `Secure param.Field[bool]` Query param: Filters the returned cookies that are set with Secure - `Type param.Field[CookieListParamsType]` Query param: Filters the returned cookies that match the specified type attribute - `const CookieListParamsTypeFirstParty CookieListParamsType = "first_party"` - `const CookieListParamsTypeUnknown CookieListParamsType = "unknown"` ### Returns - `type CookieListResponse struct{…}` - `ID string` Identifier - `FirstSeenAt Time` - `Host string` - `LastSeenAt Time` - `Name string` - `Type CookieListResponseType` - `const CookieListResponseTypeFirstParty CookieListResponseType = "first_party"` - `const CookieListResponseTypeUnknown CookieListResponseType = "unknown"` - `DomainAttribute string` - `ExpiresAttribute Time` - `HTTPOnlyAttribute bool` - `MaxAgeAttribute int64` - `PageURLs []string` - `PathAttribute string` - `SameSiteAttribute CookieListResponseSameSiteAttribute` - `const CookieListResponseSameSiteAttributeLax CookieListResponseSameSiteAttribute = "lax"` - `const CookieListResponseSameSiteAttributeStrict CookieListResponseSameSiteAttribute = "strict"` - `const CookieListResponseSameSiteAttributeNone CookieListResponseSameSiteAttribute = "none"` - `SecureAttribute bool` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/page_shield" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) page, err := client.PageShield.Cookies.List(context.TODO(), page_shield.CookieListParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "result": [ { "id": "023e105f4ecef8ad9ca31a8372d0c353", "first_seen_at": "2021-08-18T10:51:08Z", "host": "blog.cloudflare.com", "last_seen_at": "2021-09-02T09:57:54Z", "name": "session_id", "type": "first_party", "domain_attribute": "cloudflare.com", "expires_attribute": "2021-10-02T09:57:54Z", "http_only_attribute": true, "max_age_attribute": 3600, "page_urls": [ "blog.cloudflare.com/page1", "blog.cloudflare.com/page2" ], "path_attribute": "/", "same_site_attribute": "strict", "secure_attribute": true } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 }, "success": true, "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ] } ``` ## Get a Page Shield cookie `client.PageShield.Cookies.Get(ctx, cookieID, query) (*CookieGetResponse, error)` **get** `/zones/{zone_id}/page_shield/cookies/{cookie_id}` Fetches a cookie collected by Page Shield by cookie ID. ### Parameters - `cookieID string` Identifier - `query CookieGetParams` - `ZoneID param.Field[string]` Identifier ### Returns - `type CookieGetResponse struct{…}` - `ID string` Identifier - `FirstSeenAt Time` - `Host string` - `LastSeenAt Time` - `Name string` - `Type CookieGetResponseType` - `const CookieGetResponseTypeFirstParty CookieGetResponseType = "first_party"` - `const CookieGetResponseTypeUnknown CookieGetResponseType = "unknown"` - `DomainAttribute string` - `ExpiresAttribute Time` - `HTTPOnlyAttribute bool` - `MaxAgeAttribute int64` - `PageURLs []string` - `PathAttribute string` - `SameSiteAttribute CookieGetResponseSameSiteAttribute` - `const CookieGetResponseSameSiteAttributeLax CookieGetResponseSameSiteAttribute = "lax"` - `const CookieGetResponseSameSiteAttributeStrict CookieGetResponseSameSiteAttribute = "strict"` - `const CookieGetResponseSameSiteAttributeNone CookieGetResponseSameSiteAttribute = "none"` - `SecureAttribute bool` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/page_shield" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) cookie, err := client.PageShield.Cookies.Get( context.TODO(), "023e105f4ecef8ad9ca31a8372d0c353", page_shield.CookieGetParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", cookie.ID) } ``` #### Response ```json { "result": { "id": "023e105f4ecef8ad9ca31a8372d0c353", "first_seen_at": "2021-08-18T10:51:08Z", "host": "blog.cloudflare.com", "last_seen_at": "2021-09-02T09:57:54Z", "name": "session_id", "type": "first_party", "domain_attribute": "cloudflare.com", "expires_attribute": "2021-10-02T09:57:54Z", "http_only_attribute": true, "max_age_attribute": 3600, "page_urls": [ "blog.cloudflare.com/page1", "blog.cloudflare.com/page2" ], "path_attribute": "/", "same_site_attribute": "strict", "secure_attribute": true }, "success": true, "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ] } ```