public async Task <Response <AuthenticationResponse> > PostAsync(string version, PostContentSchemaGrantType grantType, Enum422?acceptLanguage = null, string clientId = null, string clientSecret = null, string scope = null, string refreshToken = null, string username = null, string password = null, string token = null, int?company = null, int?user = null, string key = null, CancellationToken cancellationToken = default)
        {
            if (version == null)
            {
                throw new ArgumentNullException(nameof(version));
            }

            using var message = CreatePostRequest(version, grantType, acceptLanguage, clientId, clientSecret, scope, refreshToken, username, password, token, company, user, key);
            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);

            switch (message.Response.Status)
            {
            case 200:
            {
                AuthenticationResponse value = default;
                using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);

                value = AuthenticationResponse.DeserializeAuthenticationResponse(document.RootElement);
                return(Response.FromValue(value, message.Response));
            }