# Resource Library # Applications ## List applications `client.ZeroTrust.ResourceLibrary.Applications.List(ctx, params) (*SinglePage[ResourceLibraryApplicationListResponse], error)` **get** `/accounts/{account_id}/resource-library/applications` List applications with different filters. ### Parameters - `params ResourceLibraryApplicationListParams` - `AccountID param.Field[string]` Path param: Account ID. - `Filter param.Field[string]` Query param: Filter applications using key:value format. Supported filter keys: - name: Filter by application name (e.g., name:HR) - id: Filter by application ID (e.g., id:0b63249c-95bf-4cc0-a7cc-d7faaaf1dac0) - human_id: Filter by human-readable ID (e.g., human_id:HR) - hostname: Filter by hostname or support domain (e.g., hostname:portal.example.com) - source: Filter by application source name (e.g., source:cloudflare) - ip_subnet: Filter by IP subnet using CIDR containment — returns applications where any stored subnet contains the search value (e.g., ip_subnet:10.0.1.5/32 matches apps with 10.0.0.0/16) - intel_id: Filter by Intel API ID (e.g., intel_id:498). also supports multiple values (e.g., intel_id:498,1001) - category_id: Filter by category ID (e.g., category_id:37f8ec03-8766-49d4-9a15-369b044c842c). - category_name: Filter by category name (e.g., category_name:HR). - supported: Filter by supported Cloudflare product (e.g., supported:ACCESS). Values: GATEWAY, ACCESS, CASB. . - `Limit param.Field[int64]` Query param: Limit of number of results to return (max 250). - `Offset param.Field[int64]` Query param: Offset of results to return. - `OrderBy param.Field[string]` Query param: Order results by field name and direction (e.g., name:asc). Ignored when search is provided; results are ranked by relevance instead. - `Search param.Field[string]` Query param: Fuzzy search across application name and hostnames. Results are ranked by relevance. Must be between 2 and 200 characters. Can be combined with filter parameters. ### Returns - `type ResourceLibraryApplicationListResponse struct{…}` - `ID string` Returns the application ID. - `ApplicationConfidenceScore float64` Confidence score for the application. Returns -1 when no score is available. - `ApplicationSource string` Returns the application source. - `ApplicationType string` Returns the application type. - `ApplicationTypeDescription string` Returns the application type description. - `CreatedAt string` Returns the application creation time. - `GenAIScore float64` GenAI score for the application. Returns -1 when no score is available. - `Hostnames []string` Returns the list of hostnames for the application. - `HumanID string` Returns the human readable ID. - `IPSubnets []string` Returns the list of IP subnets for the application. - `Name string` Returns the application name. - `PortProtocols []string` Returns the list of port protocols for the application. - `SupportDomains []string` Returns the list of support domains for the application. - `Supported []ResourceLibraryApplicationListResponseSupported` Cloudflare products that support this application. - `const ResourceLibraryApplicationListResponseSupportedGateway ResourceLibraryApplicationListResponseSupported = "GATEWAY"` - `const ResourceLibraryApplicationListResponseSupportedAccess ResourceLibraryApplicationListResponseSupported = "ACCESS"` - `const ResourceLibraryApplicationListResponseSupportedCasb ResourceLibraryApplicationListResponseSupported = "CASB"` - `UpdatedAt string` Returns the application update time. - `Version string` Returns the application version. - `ApplicationScoreComposition unknown` Returns the score composition breakdown for the application. - `IntelID int64` Returns the Intel API ID for the application. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/zero_trust" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.ZeroTrust.ResourceLibrary.Applications.List(context.TODO(), zero_trust.ResourceLibraryApplicationListParams{ 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" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "12345678-1234-1234-1234-123456789012", "application_confidence_score": 0.92, "application_source": "cloudflare", "application_type": "Human Resources", "application_type_description": "Applications used to manage employees and workforce tools.", "created_at": "2025-01-01T00:00:00Z", "gen_ai_score": 1.5, "hostnames": [ "example.com", "foo.com" ], "human_id": "HR", "ip_subnets": [ "192.168.1.0/24", "10.0.0.0/8" ], "name": "HR", "port_protocols": [ "tcp/80", "tcp/443" ], "support_domains": [ "example.com", "foo.com" ], "supported": [ "GATEWAY", "ACCESS" ], "updated_at": "2025-01-01T00:00:00Z", "version": "2025-01-01T00:00:00Z", "application_score_composition": { "categories": [ { "confidence": 0.95, "name": "Security" } ], "plan": "free" }, "intel_id": 498 } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000 } } ``` ## Get application `client.ZeroTrust.ResourceLibrary.Applications.Get(ctx, id, query) (*ResourceLibraryApplicationGetResponse, error)` **get** `/accounts/{account_id}/resource-library/applications/{id}` Get application by ID. ### Parameters - `id string` - `query ResourceLibraryApplicationGetParams` - `AccountID param.Field[string]` Account ID. ### Returns - `type ResourceLibraryApplicationGetResponse struct{…}` - `ID string` Returns the application ID. - `ApplicationConfidenceScore float64` Confidence score for the application. Returns -1 when no score is available. - `ApplicationSource string` Returns the application source. - `ApplicationType string` Returns the application type. - `ApplicationTypeDescription string` Returns the application type description. - `CreatedAt string` Returns the application creation time. - `GenAIScore float64` GenAI score for the application. Returns -1 when no score is available. - `Hostnames []string` Returns the list of hostnames for the application. - `HumanID string` Returns the human readable ID. - `IPSubnets []string` Returns the list of IP subnets for the application. - `Name string` Returns the application name. - `PortProtocols []string` Returns the list of port protocols for the application. - `SupportDomains []string` Returns the list of support domains for the application. - `Supported []ResourceLibraryApplicationGetResponseSupported` Cloudflare products that support this application. - `const ResourceLibraryApplicationGetResponseSupportedGateway ResourceLibraryApplicationGetResponseSupported = "GATEWAY"` - `const ResourceLibraryApplicationGetResponseSupportedAccess ResourceLibraryApplicationGetResponseSupported = "ACCESS"` - `const ResourceLibraryApplicationGetResponseSupportedCasb ResourceLibraryApplicationGetResponseSupported = "CASB"` - `UpdatedAt string` Returns the application update time. - `Version string` Returns the application version. - `ApplicationScoreComposition unknown` Returns the score composition breakdown for the application. - `IntelID int64` Returns the Intel API ID for the application. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/zero_trust" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) application, err := client.ZeroTrust.ResourceLibrary.Applications.Get( context.TODO(), "0b63249c-95bf-4cc0-a7cc-d7faaaf1dac0", zero_trust.ResourceLibraryApplicationGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", application.ID) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "12345678-1234-1234-1234-123456789012", "application_confidence_score": 0.92, "application_source": "cloudflare", "application_type": "Human Resources", "application_type_description": "Applications used to manage employees and workforce tools.", "created_at": "2025-01-01T00:00:00Z", "gen_ai_score": 1.5, "hostnames": [ "example.com", "foo.com" ], "human_id": "HR", "ip_subnets": [ "192.168.1.0/24", "10.0.0.0/8" ], "name": "HR", "port_protocols": [ "tcp/80", "tcp/443" ], "support_domains": [ "example.com", "foo.com" ], "supported": [ "GATEWAY", "ACCESS" ], "updated_at": "2025-01-01T00:00:00Z", "version": "2025-01-01T00:00:00Z", "application_score_composition": { "categories": [ { "confidence": 0.95, "name": "Security" } ], "plan": "free" }, "intel_id": 498 } } ``` # Categories ## List application categories `client.ZeroTrust.ResourceLibrary.Categories.List(ctx, params) (*SinglePage[ResourceLibraryCategoryListResponse], error)` **get** `/accounts/{account_id}/resource-library/categories` List application categories. ### Parameters - `params ResourceLibraryCategoryListParams` - `AccountID param.Field[string]` Path param: Account ID. - `Limit param.Field[int64]` Query param: Limit of number of results to return. - `Offset param.Field[int64]` Query param: Offset of results to return. ### Returns - `type ResourceLibraryCategoryListResponse struct{…}` - `ID string` Returns the category ID. - `CreatedAt string` Returns the category creation time. - `Description string` Returns the category description. - `Name string` Returns the category name. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/zero_trust" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.ZeroTrust.ResourceLibrary.Categories.List(context.TODO(), zero_trust.ResourceLibraryCategoryListParams{ 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" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "12345678-1234-1234-1234-123456789012", "created_at": "2025-01-01T00:00:00Z", "description": "Category description", "name": "Category name" } ] } ``` ## Get application category `client.ZeroTrust.ResourceLibrary.Categories.Get(ctx, id, query) (*ResourceLibraryCategoryGetResponse, error)` **get** `/accounts/{account_id}/resource-library/categories/{id}` Get application category by ID. ### Parameters - `id string` - `query ResourceLibraryCategoryGetParams` - `AccountID param.Field[string]` Account ID. ### Returns - `type ResourceLibraryCategoryGetResponse struct{…}` - `ID string` Returns the category ID. - `CreatedAt string` Returns the category creation time. - `Description string` Returns the category description. - `Name string` Returns the category name. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/zero_trust" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) category, err := client.ZeroTrust.ResourceLibrary.Categories.Get( context.TODO(), "0b63249c-95bf-4cc0-a7cc-d7faaaf1dac0", zero_trust.ResourceLibraryCategoryGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", category.ID) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "12345678-1234-1234-1234-123456789012", "created_at": "2025-01-01T00:00:00Z", "description": "Category description", "name": "Category name" } } ```