public sealed class TokenProperties : IMessage<TokenProperties>, IEquatable<TokenProperties>, IDeepCloneable<TokenProperties>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud reCAPTCHA Enterprise v1 API class TokenProperties.
Output only. Whether the provided user response token is valid. When valid
= false, the reason could be specified in invalid_reason or it could also
be due to a user failing to solve a challenge or a sitekey mismatch (i.e
the sitekey used to generate the token was different than the one specified
in the assessment).
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document provides reference information for the \u003ccode\u003eTokenProperties\u003c/code\u003e class within the Google Cloud reCAPTCHA Enterprise v1 API for .NET.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eTokenProperties\u003c/code\u003e class includes output-only properties like \u003ccode\u003eAction\u003c/code\u003e, \u003ccode\u003eAndroidPackageName\u003c/code\u003e, \u003ccode\u003eCreateTime\u003c/code\u003e, \u003ccode\u003eHostname\u003c/code\u003e, \u003ccode\u003eInvalidReason\u003c/code\u003e, \u003ccode\u003eIosBundleId\u003c/code\u003e, and \u003ccode\u003eValid\u003c/code\u003e, providing details about the generated event token.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the \u003ccode\u003eTokenProperties\u003c/code\u003e class available is 2.17.0, with a history of prior versions ranging back to 1.2.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eTokenProperties\u003c/code\u003e class implements multiple interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe document details the constructors of the TokenProperties class, including the default constructor \u003ccode\u003eTokenProperties()\u003c/code\u003e and the copy constructor \u003ccode\u003eTokenProperties(TokenProperties other)\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Google Cloud reCAPTCHA Enterprise v1 API - Class TokenProperties (2.18.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.18.0 (latest)](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/latest/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.17.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.17.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.16.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.16.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.15.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.15.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.14.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.14.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.13.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.13.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.12.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.12.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.11.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.11.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.10.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.10.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.9.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.9.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.8.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.8.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.7.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.6.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.5.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.4.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.3.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.2.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.1.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/2.0.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [1.6.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/1.6.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [1.5.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/1.5.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [1.4.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/1.4.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [1.3.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/1.3.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/1.2.0/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties) \n\n public sealed class TokenProperties : IMessage\u003cTokenProperties\u003e, IEquatable\u003cTokenProperties\u003e, IDeepCloneable\u003cTokenProperties\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud reCAPTCHA Enterprise v1 API class TokenProperties.\n\nProperties of the provided event token. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e TokenProperties \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[TokenProperties](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/latest/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[TokenProperties](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/latest/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[TokenProperties](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/latest/Google.Cloud.RecaptchaEnterprise.V1.TokenProperties), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.RecaptchaEnterprise.V1](/dotnet/docs/reference/Google.Cloud.RecaptchaEnterprise.V1/latest/Google.Cloud.RecaptchaEnterprise.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.RecaptchaEnterprise.V1.dll\n\nConstructors\n------------\n\n### TokenProperties()\n\n public TokenProperties()\n\n### TokenProperties(TokenProperties)\n\n public TokenProperties(TokenProperties other)\n\nProperties\n----------\n\n### Action\n\n public string Action { get; set; }\n\nOutput only. Action name provided at token generation.\n\n### AndroidPackageName\n\n public string AndroidPackageName { get; set; }\n\nOutput only. The name of the Android package with which the token was\ngenerated (Android keys only).\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nOutput only. The timestamp corresponding to the generation of the token.\n\n### Hostname\n\n public string Hostname { get; set; }\n\nOutput only. The hostname of the page on which the token was generated (Web\nkeys only).\n\n### InvalidReason\n\n public TokenProperties.Types.InvalidReason InvalidReason { get; set; }\n\nOutput only. Reason associated with the response when valid = false.\n\n### IosBundleId\n\n public string IosBundleId { get; set; }\n\nOutput only. The ID of the iOS bundle with which the token was generated\n(iOS keys only).\n\n### Valid\n\n public bool Valid { get; set; }\n\nOutput only. Whether the provided user response token is valid. When valid\n= false, the reason could be specified in invalid_reason or it could also\nbe due to a user failing to solve a challenge or a sitekey mismatch (i.e\nthe sitekey used to generate the token was different than the one specified\nin the assessment)."]]