public sealed class QuotaFailure : IMessage<QuotaFailure>, IEquatable<QuotaFailure>, IDeepCloneable<QuotaFailure>, IBufferMessage, IMessage
Describes how a quota check failed.
For example if a daily limit was exceeded for the calling project,
a service could respond with a QuotaFailure detail containing the project
id and the description of the quota limit that was exceeded. If the
calling project hasn't enabled the service in the developer console, then
a service could respond with the project id and set service_disabled
to true.
Also see RetryInfo and Help types for other details about handling a
quota failure.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eQuotaFailure\u003c/code\u003e class describes the details of a failed quota check, such as when a daily limit has been exceeded or a service has not been enabled for a project.\u003c/p\u003e\n"],["\u003cp\u003eThis 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, and inherits from \u003ccode\u003eobject\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt includes properties like \u003ccode\u003eViolations\u003c/code\u003e which holds information about specific quota violations, \u003ccode\u003eDescriptor\u003c/code\u003e, and \u003ccode\u003eParser\u003c/code\u003e to manage message handling.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eQuotaFailure\u003c/code\u003e class offers methods such as \u003ccode\u003eCalculateSize\u003c/code\u003e, \u003ccode\u003eClone\u003c/code\u003e, \u003ccode\u003eEquals\u003c/code\u003e, \u003ccode\u003eGetHashCode\u003c/code\u003e, \u003ccode\u003eMergeFrom\u003c/code\u003e, \u003ccode\u003eToString\u003c/code\u003e, and \u003ccode\u003eWriteTo\u003c/code\u003e for various message operations and manipulations.\u003c/p\u003e\n"],["\u003cp\u003eThere are different versions of the document available including the latest version [2.15.0] and older versions [2.10.0, 2.2.0].\u003c/p\u003e\n"]]],[],null,["# Class QuotaFailure (2.17.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.17.0 (latest)](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.QuotaFailure)\n- [2.15.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.15.0/Google.Rpc.QuotaFailure)\n- [2.10.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.10.0/Google.Rpc.QuotaFailure)\n- [2.2.0](/dotnet/docs/reference/Google.Api.CommonProtos/2.2.0/Google.Rpc.QuotaFailure) \n\n public sealed class QuotaFailure : IMessage\u003cQuotaFailure\u003e, IEquatable\u003cQuotaFailure\u003e, IDeepCloneable\u003cQuotaFailure\u003e, IBufferMessage, IMessage\n\nDescribes how a quota check failed.\n\nFor example if a daily limit was exceeded for the calling project,\na service could respond with a QuotaFailure detail containing the project\nid and the description of the quota limit that was exceeded. If the\ncalling project hasn't enabled the service in the developer console, then\na service could respond with the project id and set `service_disabled`\nto true.\n\nAlso see RetryInfo and Help types for other details about handling a\nquota failure. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e QuotaFailure \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[QuotaFailure](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.QuotaFailure), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[QuotaFailure](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.QuotaFailure), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[QuotaFailure](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc.QuotaFailure), [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.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals)\n\nNamespace\n---------\n\n[Google.Rpc](/dotnet/docs/reference/Google.Api.CommonProtos/latest/Google.Rpc)\n\nAssembly\n--------\n\nGoogle.Api.CommonProtos.dll\n\nConstructors\n------------\n\n### QuotaFailure()\n\n public QuotaFailure()\n\n### QuotaFailure(QuotaFailure)\n\n public QuotaFailure(QuotaFailure other)\n\nFields\n------\n\n### ViolationsFieldNumber\n\n public const int ViolationsFieldNumber = 1\n\nField number for the \"violations\" field.\n\nProperties\n----------\n\n### Descriptor\n\n public static MessageDescriptor Descriptor { get; }\n\n### Parser\n\n public static MessageParser\u003cQuotaFailure\u003e Parser { get; }\n\n### Violations\n\n public RepeatedField\u003cQuotaFailure.Types.Violation\u003e Violations { get; }\n\nDescribes all quota violations.\n\nMethods\n-------\n\n### CalculateSize()\n\n public int CalculateSize()\n\n### Clone()\n\n public QuotaFailure Clone()\n\n### Equals(QuotaFailure)\n\n public bool Equals(QuotaFailure other)\n\n### Equals(object)\n\n public override bool Equals(object other)\n\n**Overrides** \n[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object))\n\n### GetHashCode()\n\n public override int GetHashCode()\n\n**Overrides** \n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode)\n\n### MergeFrom(CodedInputStream)\n\n public void MergeFrom(CodedInputStream input)\n\n### MergeFrom(QuotaFailure)\n\n public void MergeFrom(QuotaFailure other)\n\n### ToString()\n\n public override string ToString()\n\n**Overrides** \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\n### WriteTo(CodedOutputStream)\n\n public void WriteTo(CodedOutputStream output)"]]