/// <summary>
        /// Claim a resource by an allowed user Claim a resource by allowing a user to pick an identifier and receive admin access to that resource if it hasn't already been claimed. This only works for resources specifically marked as "CLAIM". The result will be a new access record listing that user as the admin for this resource.
        /// </summary>
        /// <param name="body"></param>
        /// <returns>ClaimResponse</returns>
        public async Task <ClaimResponse> CreateClaim(ClaimRequest body)
        {
            // verify the required parameter 'body' is set
            if (body == null)
            {
                throw new ArgumentNullException("Missing required parameter 'body'.");
            }

            var path   = "/v1/claims";
            var client = await authressHttpClientProvider.GetHttpClientAsync();

            using (var response = await client.PostAsync(path, body.ToHttpContent()))
            {
                await response.ThrowIfNotSuccessStatusCode();

                return(await response.Content.ReadAsAsync <ClaimResponse>());
            }
        }