# Labels ## Retrieve all labels `api_gateway.labels.list(LabelListParams**kwargs) -> SyncV4PagePaginationArray[LabelListResponse]` **get** `/zones/{zone_id}/api_gateway/labels` Retrieve all labels ### Parameters - `zone_id: str` Identifier. - `direction: Optional[Literal["asc", "desc"]]` Direction to order results. - `"asc"` - `"desc"` - `filter: Optional[str]` Filter for labels where the name or description matches using substring match - `order: Optional[Literal["name", "description", "created_at", 2 more]]` Field to order by - `"name"` - `"description"` - `"created_at"` - `"last_updated"` - `"mapped_resources.operations"` - `page: Optional[int]` Page number of paginated results. - `per_page: Optional[int]` Maximum number of results per page. - `source: Optional[Literal["user", "managed"]]` Filter for labels with source - `"user"` - `"managed"` - `with_mapped_resource_counts: Optional[bool]` Include `mapped_resources` for each label ### Returns - `class LabelListResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` - `mapped_resources: Optional[object]` Provides counts of what resources are linked to this label ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.api_gateway.labels.list( zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.created_at) ``` #### 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" } } ], "result": [ { "created_at": "2014-01-01T05:20:00.12345Z", "description": "All endpoints that deal with logins", "last_updated": "2014-01-01T05:20:00.12345Z", "metadata": { "foo": "bar" }, "name": "login", "source": "user", "mapped_resources": { "operations": 29 } } ], "success": true, "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Domain Types ### Label List Response - `class LabelListResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` - `mapped_resources: Optional[object]` Provides counts of what resources are linked to this label # User ## Create user labels `api_gateway.labels.user.bulk_create(UserBulkCreateParams**kwargs) -> SyncSinglePage[UserBulkCreateResponse]` **post** `/zones/{zone_id}/api_gateway/labels/user` Create user labels ### Parameters - `zone_id: str` Identifier. - `body: Iterable[Body]` - `name: str` The name of the label - `description: Optional[str]` The description of the label - `metadata: Optional[object]` Metadata for the label ### Returns - `class UserBulkCreateResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.api_gateway.labels.user.bulk_create( zone_id="023e105f4ecef8ad9ca31a8372d0c353", body=[{ "name": "login" }], ) page = page.result[0] print(page.created_at) ``` #### 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" } } ], "result": [ { "created_at": "2014-01-01T05:20:00.12345Z", "description": "All endpoints that deal with logins", "last_updated": "2014-01-01T05:20:00.12345Z", "metadata": { "foo": "bar" }, "name": "login", "source": "user" } ], "success": true, "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Delete user labels `api_gateway.labels.user.bulk_delete(UserBulkDeleteParams**kwargs) -> SyncSinglePage[UserBulkDeleteResponse]` **delete** `/zones/{zone_id}/api_gateway/labels/user` Delete user labels ### Parameters - `zone_id: str` Identifier. ### Returns - `class UserBulkDeleteResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.api_gateway.labels.user.bulk_delete( zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.created_at) ``` #### 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" } } ], "result": [ { "created_at": "2014-01-01T05:20:00.12345Z", "description": "All endpoints that deal with logins", "last_updated": "2014-01-01T05:20:00.12345Z", "metadata": { "foo": "bar" }, "name": "login", "source": "user" } ], "success": true, "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Retrieve user label `api_gateway.labels.user.get(strname, UserGetParams**kwargs) -> UserGetResponse` **get** `/zones/{zone_id}/api_gateway/labels/user/{name}` Retrieve user label ### Parameters - `zone_id: str` Identifier. - `name: str` The name of the label - `with_mapped_resource_counts: Optional[bool]` Include `mapped_resources` for each label ### Returns - `class UserGetResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` - `mapped_resources: Optional[object]` Provides counts of what resources are linked to this label ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) user = client.api_gateway.labels.user.get( name="login", zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(user.created_at) ``` #### 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" } } ], "result": { "created_at": "2014-01-01T05:20:00.12345Z", "description": "All endpoints that deal with logins", "last_updated": "2014-01-01T05:20:00.12345Z", "metadata": { "foo": "bar" }, "name": "login", "source": "user", "mapped_resources": { "operations": 29 } }, "success": true } ``` ## Update user label `api_gateway.labels.user.update(strname, UserUpdateParams**kwargs) -> UserUpdateResponse` **put** `/zones/{zone_id}/api_gateway/labels/user/{name}` Update all fields on a label ### Parameters - `zone_id: str` Identifier. - `name: str` The name of the label - `description: Optional[str]` The description of the label - `metadata: Optional[object]` Metadata for the label ### Returns - `class UserUpdateResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) user = client.api_gateway.labels.user.update( name="login", zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(user.created_at) ``` #### 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" } } ], "result": { "created_at": "2014-01-01T05:20:00.12345Z", "description": "All endpoints that deal with logins", "last_updated": "2014-01-01T05:20:00.12345Z", "metadata": { "foo": "bar" }, "name": "login", "source": "user" }, "success": true } ``` ## Patch user label `api_gateway.labels.user.edit(strname, UserEditParams**kwargs) -> UserEditResponse` **patch** `/zones/{zone_id}/api_gateway/labels/user/{name}` Update certain fields on a label ### Parameters - `zone_id: str` Identifier. - `name: str` The name of the label - `description: Optional[str]` The description of the label - `metadata: Optional[object]` Metadata for the label ### Returns - `class UserEditResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.api_gateway.labels.user.edit( name="login", zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.created_at) ``` #### 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" } } ], "result": { "created_at": "2014-01-01T05:20:00.12345Z", "description": "All endpoints that deal with logins", "last_updated": "2014-01-01T05:20:00.12345Z", "metadata": { "foo": "bar" }, "name": "login", "source": "user" }, "success": true } ``` ## Delete user label `api_gateway.labels.user.delete(strname, UserDeleteParams**kwargs) -> UserDeleteResponse` **delete** `/zones/{zone_id}/api_gateway/labels/user/{name}` Delete user label ### Parameters - `zone_id: str` Identifier. - `name: str` The name of the label ### Returns - `class UserDeleteResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) user = client.api_gateway.labels.user.delete( name="login", zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(user.created_at) ``` #### 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" } } ], "result": { "created_at": "2014-01-01T05:20:00.12345Z", "description": "All endpoints that deal with logins", "last_updated": "2014-01-01T05:20:00.12345Z", "metadata": { "foo": "bar" }, "name": "login", "source": "user" }, "success": true } ``` ## Domain Types ### User Bulk Create Response - `class UserBulkCreateResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` ### User Bulk Delete Response - `class UserBulkDeleteResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` ### User Get Response - `class UserGetResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` - `mapped_resources: Optional[object]` Provides counts of what resources are linked to this label ### User Update Response - `class UserUpdateResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` ### User Edit Response - `class UserEditResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` ### User Delete Response - `class UserDeleteResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` # Resources # Operation ## Replace operation(s) attached to a user label `api_gateway.labels.user.resources.operation.update(strname, OperationUpdateParams**kwargs) -> OperationUpdateResponse` **put** `/zones/{zone_id}/api_gateway/labels/user/{name}/resources/operation` Replace all operations(s) attached to a user label ### Parameters - `zone_id: str` Identifier. - `name: str` The name of the label - `selector: Selector` Operation IDs selector - `include: SelectorInclude` - `operation_ids: SequenceNotStr[str]` ### Returns - `class OperationUpdateResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` - `mapped_resources: Optional[object]` Provides counts of what resources are linked to this label ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) operation = client.api_gateway.labels.user.resources.operation.update( name="login", zone_id="023e105f4ecef8ad9ca31a8372d0c353", selector={ "include": { "operation_ids": ["f174e90a-fafe-4643-bbbc-4a0ed4fc8415"] } }, ) print(operation.created_at) ``` #### 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" } } ], "result": { "created_at": "2014-01-01T05:20:00.12345Z", "description": "All endpoints that deal with logins", "last_updated": "2014-01-01T05:20:00.12345Z", "metadata": { "foo": "bar" }, "name": "login", "source": "user", "mapped_resources": { "operations": 29 } }, "success": true } ``` ## Domain Types ### Operation Update Response - `class OperationUpdateResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` - `mapped_resources: Optional[object]` Provides counts of what resources are linked to this label # Managed ## Retrieve managed label `api_gateway.labels.managed.get(strname, ManagedGetParams**kwargs) -> ManagedGetResponse` **get** `/zones/{zone_id}/api_gateway/labels/managed/{name}` Retrieve managed label ### Parameters - `zone_id: str` Identifier. - `name: str` The name of the label - `with_mapped_resource_counts: Optional[bool]` Include `mapped_resources` for each label ### Returns - `class ManagedGetResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` - `mapped_resources: Optional[object]` Provides counts of what resources are linked to this label ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) managed = client.api_gateway.labels.managed.get( name="login", zone_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(managed.created_at) ``` #### 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" } } ], "result": { "created_at": "2014-01-01T05:20:00.12345Z", "description": "All endpoints that deal with logins", "last_updated": "2014-01-01T05:20:00.12345Z", "metadata": { "foo": "bar" }, "name": "login", "source": "managed", "mapped_resources": { "operations": 29 } }, "success": true } ``` ## Domain Types ### Managed Get Response - `class ManagedGetResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` - `mapped_resources: Optional[object]` Provides counts of what resources are linked to this label # Resources # Operation ## Replace operation(s) attached to a managed label `api_gateway.labels.managed.resources.operation.update(strname, OperationUpdateParams**kwargs) -> OperationUpdateResponse` **put** `/zones/{zone_id}/api_gateway/labels/managed/{name}/resources/operation` Replace all operations(s) attached to a managed label ### Parameters - `zone_id: str` Identifier. - `name: str` The name of the label - `selector: Selector` Operation IDs selector - `include: SelectorInclude` - `operation_ids: SequenceNotStr[str]` ### Returns - `class OperationUpdateResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` - `mapped_resources: Optional[object]` Provides counts of what resources are linked to this label ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) operation = client.api_gateway.labels.managed.resources.operation.update( name="login", zone_id="023e105f4ecef8ad9ca31a8372d0c353", selector={ "include": { "operation_ids": ["f174e90a-fafe-4643-bbbc-4a0ed4fc8415"] } }, ) print(operation.created_at) ``` #### 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" } } ], "result": { "created_at": "2014-01-01T05:20:00.12345Z", "description": "All endpoints that deal with logins", "last_updated": "2014-01-01T05:20:00.12345Z", "metadata": { "foo": "bar" }, "name": "login", "source": "managed", "mapped_resources": { "operations": 29 } }, "success": true } ``` ## Domain Types ### Operation Update Response - `class OperationUpdateResponse: …` - `created_at: datetime` - `description: str` The description of the label - `last_updated: datetime` - `metadata: object` Metadata for the label - `name: str` The name of the label - `source: Literal["user", "managed"]` * `user` - label is owned by the user * `managed` - label is owned by cloudflare - `"user"` - `"managed"` - `mapped_resources: Optional[object]` Provides counts of what resources are linked to this label