## List registrations `zero_trust.devices.registrations.list(RegistrationListParams**kwargs) -> SyncCursorPagination[RegistrationListResponse]` **get** `/accounts/{account_id}/devices/registrations` Lists WARP registrations. ### Parameters - `account_id: str` - `id: Optional[Sequence[str]]` Filter by registration ID. - `cursor: Optional[str]` Opaque token indicating the starting position when requesting the next set of records. A cursor value can be obtained from the result_info.cursor field in the response. - `device: Optional[Device]` - `id: Optional[str]` Filter by WARP device ID. - `include: Optional[str]` Comma-separated list of additional information that should be included in the registration response. Supported values are: "policy". - `per_page: Optional[int]` The maximum number of devices to return in a single response. - `search: Optional[str]` Filter by registration details. - `seen_after: Optional[str]` Filter by the last_seen timestamp - returns only registrations last seen after this timestamp. - `seen_before: Optional[str]` Filter by the last_seen timestamp - returns only registrations last seen before this timestamp. - `sort_by: Optional[Literal["id", "user.name", "user.email", 2 more]]` The registration field to order results by. - `"id"` - `"user.name"` - `"user.email"` - `"last_seen_at"` - `"created_at"` - `sort_order: Optional[Literal["asc", "desc"]]` Sort direction. - `"asc"` - `"desc"` - `status: Optional[Literal["active", "all", "revoked"]]` Filter by registration status. Defaults to 'active'. - `"active"` - `"all"` - `"revoked"` - `user: Optional[User]` - `id: Optional[Sequence[str]]` Filter by user ID. ### Returns - `class RegistrationListResponse: …` A WARP configuration tied to a single user. Multiple registrations can be created from a single WARP device. - `id: str` The ID of the registration. - `created_at: str` The RFC3339 timestamp when the registration was created. - `device: Device` Device details embedded inside of a registration. - `id: str` The ID of the device. - `name: str` The name of the device. - `client_version: Optional[str]` Version of the WARP client. - `key: str` The public key used to connect to the Cloudflare network. - `last_seen_at: str` The RFC3339 timestamp when the registration was last seen. - `updated_at: str` The RFC3339 timestamp when the registration was last updated. - `deleted_at: Optional[str]` The RFC3339 timestamp when the registration was deleted. - `key_type: Optional[str]` The type of encryption key used by the WARP client for the active key. Currently 'curve25519' for WireGuard and 'secp256r1' for MASQUE. - `policy: Optional[Policy]` The device settings profile assigned to this registration. - `id: str` The ID of the device settings profile. - `default: bool` Whether the device settings profile is the default profile for the account. - `deleted: bool` Whether the device settings profile was deleted. - `name: str` The name of the device settings profile. - `updated_at: str` The RFC3339 timestamp of when the device settings profile last changed for the registration. - `revoked_at: Optional[str]` The RFC3339 timestamp when the registration was revoked. - `tunnel_type: Optional[str]` Type of the tunnel - wireguard or masque. - `user: Optional[User]` - `id: Optional[str]` UUID. - `email: Optional[str]` The contact email address of the user. - `name: Optional[str]` The enrolled device user's name. ### 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.zero_trust.devices.registrations.list( account_id="account_id", ) page = page.result[0] print(page.id) ``` #### Response ```json { "errors": [], "messages": [], "result": [ { "created_at": "2025-02-14T13:17:00Z", "deleted_at": null, "device": { "client_version": "1.0.0", "id": "32aa0404-78f1-49a4-99e0-97f575081356", "name": "My Device" }, "id": "11ffb86f-3f0c-4306-b4a2-e62f872b166a", "key": "U+QTP50RsWfeLGHF4tlGDnmGeuwtsz46KCHr5OyhWq00Rsdfl45mgnQAuEJ6CO0YrkyTl9FUf5iB0bwYR3g4EEFEHhtu6jFaqfMrBMBSz6itv9HQXkaR9OieKQ==", "key_type": "secp256r1", "last_seen_at": "2025-02-14T13:17:00Z", "revoked_at": null, "tunnel_type": "masque", "updated_at": "2025-02-14T13:17:00Z", "user": { "email": "alice@example.org", "id": "30323c1f-318d-4ec9-92c7-5a8c4d25c4fc", "name": "Alice" } }, { "created_at": "2025-02-15T10:20:00Z", "deleted_at": null, "device": { "client_version": "1.0.1", "id": "43bb1515-8902-50b5-aa01-a88686192467", "name": "Bob's Laptop" }, "id": "22eedc7a-4a1d-5417-c5b3-f73a983c277b", "key": "V/RSP61StXgfmLHJG5umHEonHfvxtz57LDIs6PziXr11Stegm56nhrRBvFK7DP1ZsLzUm0GVg6jC1cxZS4h5FFGFJiju7kGbrgNsCNCT77juw0IRYlS0QpjgLR==", "key_type": "secp256r1", "last_seen_at": "2025-02-15T10:25:00Z", "revoked_at": null, "tunnel_type": "masque", "updated_at": "2025-02-15T10:25:00Z", "user": { "email": "bob@example.com", "id": "41434d2a-429e-5fd0-a3d8-6b9d5e36d5ad", "name": "Bob" } } ], "result_info": { "count": 2, "cursor": "ais86dftf.asdf7ba8", "per_page": 10, "total_count": null }, "success": true } ```