1// Copyright 2019 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package identitytoolkit provides access to the Google Identity Toolkit API.
8//
9// For product documentation, see: https://developers.google.com/identity-toolkit/v3/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/identitytoolkit/v3"
16//   ...
17//   ctx := context.Background()
18//   identitytoolkitService, err := identitytoolkit.NewService(ctx)
19//
20// In this example, Google Application Default Credentials are used for authentication.
21//
22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
23//
24// Other authentication options
25//
26// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
27//
28//   identitytoolkitService, err := identitytoolkit.NewService(ctx, option.WithScopes(identitytoolkit.FirebaseScope))
29//
30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
31//
32//   identitytoolkitService, err := identitytoolkit.NewService(ctx, option.WithAPIKey("AIza..."))
33//
34// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
35//
36//   config := &oauth2.Config{...}
37//   // ...
38//   token, err := config.Exchange(ctx, ...)
39//   identitytoolkitService, err := identitytoolkit.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
40//
41// See https://godoc.org/google.golang.org/api/option/ for details on options.
42package identitytoolkit // import "google.golang.org/api/identitytoolkit/v3"
43
44import (
45	"bytes"
46	"context"
47	"encoding/json"
48	"errors"
49	"fmt"
50	"io"
51	"net/http"
52	"net/url"
53	"strconv"
54	"strings"
55
56	gensupport "google.golang.org/api/gensupport"
57	googleapi "google.golang.org/api/googleapi"
58	option "google.golang.org/api/option"
59	htransport "google.golang.org/api/transport/http"
60)
61
62// Always reference these packages, just in case the auto-generated code
63// below doesn't.
64var _ = bytes.NewBuffer
65var _ = strconv.Itoa
66var _ = fmt.Sprintf
67var _ = json.NewDecoder
68var _ = io.Copy
69var _ = url.Parse
70var _ = gensupport.MarshalJSON
71var _ = googleapi.Version
72var _ = errors.New
73var _ = strings.Replace
74var _ = context.Canceled
75
76const apiId = "identitytoolkit:v3"
77const apiName = "identitytoolkit"
78const apiVersion = "v3"
79const basePath = "https://www.googleapis.com/identitytoolkit/v3/relyingparty/"
80
81// OAuth2 scopes used by this API.
82const (
83	// View and manage your data across Google Cloud Platform services
84	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
85
86	// View and administer all your Firebase data and settings
87	FirebaseScope = "https://www.googleapis.com/auth/firebase"
88)
89
90// NewService creates a new Service.
91func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
92	scopesOption := option.WithScopes(
93		"https://www.googleapis.com/auth/cloud-platform",
94		"https://www.googleapis.com/auth/firebase",
95	)
96	// NOTE: prepend, so we don't override user-specified scopes.
97	opts = append([]option.ClientOption{scopesOption}, opts...)
98	client, endpoint, err := htransport.NewClient(ctx, opts...)
99	if err != nil {
100		return nil, err
101	}
102	s, err := New(client)
103	if err != nil {
104		return nil, err
105	}
106	if endpoint != "" {
107		s.BasePath = endpoint
108	}
109	return s, nil
110}
111
112// New creates a new Service. It uses the provided http.Client for requests.
113//
114// Deprecated: please use NewService instead.
115// To provide a custom HTTP client, use option.WithHTTPClient.
116// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
117func New(client *http.Client) (*Service, error) {
118	if client == nil {
119		return nil, errors.New("client is nil")
120	}
121	s := &Service{client: client, BasePath: basePath}
122	s.Relyingparty = NewRelyingpartyService(s)
123	return s, nil
124}
125
126type Service struct {
127	client    *http.Client
128	BasePath  string // API endpoint base URL
129	UserAgent string // optional additional User-Agent fragment
130
131	Relyingparty *RelyingpartyService
132}
133
134func (s *Service) userAgent() string {
135	if s.UserAgent == "" {
136		return googleapi.UserAgent
137	}
138	return googleapi.UserAgent + " " + s.UserAgent
139}
140
141func NewRelyingpartyService(s *Service) *RelyingpartyService {
142	rs := &RelyingpartyService{s: s}
143	return rs
144}
145
146type RelyingpartyService struct {
147	s *Service
148}
149
150// CreateAuthUriResponse: Response of creating the IDP authentication
151// URL.
152type CreateAuthUriResponse struct {
153	// AllProviders: all providers the user has once used to do federated
154	// login
155	AllProviders []string `json:"allProviders,omitempty"`
156
157	// AuthUri: The URI used by the IDP to authenticate the user.
158	AuthUri string `json:"authUri,omitempty"`
159
160	// CaptchaRequired: True if captcha is required.
161	CaptchaRequired bool `json:"captchaRequired,omitempty"`
162
163	// ForExistingProvider: True if the authUri is for user's existing
164	// provider.
165	ForExistingProvider bool `json:"forExistingProvider,omitempty"`
166
167	// Kind: The fixed string identitytoolkit#CreateAuthUriResponse".
168	Kind string `json:"kind,omitempty"`
169
170	// ProviderId: The provider ID of the auth URI.
171	ProviderId string `json:"providerId,omitempty"`
172
173	// Registered: Whether the user is registered if the identifier is an
174	// email.
175	Registered bool `json:"registered,omitempty"`
176
177	// SessionId: Session ID which should be passed in the following
178	// verifyAssertion request.
179	SessionId string `json:"sessionId,omitempty"`
180
181	// SigninMethods: All sign-in methods this user has used.
182	SigninMethods []string `json:"signinMethods,omitempty"`
183
184	// ServerResponse contains the HTTP response code and headers from the
185	// server.
186	googleapi.ServerResponse `json:"-"`
187
188	// ForceSendFields is a list of field names (e.g. "AllProviders") to
189	// unconditionally include in API requests. By default, fields with
190	// empty values are omitted from API requests. However, any non-pointer,
191	// non-interface field appearing in ForceSendFields will be sent to the
192	// server regardless of whether the field is empty or not. This may be
193	// used to include empty fields in Patch requests.
194	ForceSendFields []string `json:"-"`
195
196	// NullFields is a list of field names (e.g. "AllProviders") to include
197	// in API requests with the JSON null value. By default, fields with
198	// empty values are omitted from API requests. However, any field with
199	// an empty value appearing in NullFields will be sent to the server as
200	// null. It is an error if a field in this list has a non-empty value.
201	// This may be used to include null fields in Patch requests.
202	NullFields []string `json:"-"`
203}
204
205func (s *CreateAuthUriResponse) MarshalJSON() ([]byte, error) {
206	type NoMethod CreateAuthUriResponse
207	raw := NoMethod(*s)
208	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
209}
210
211// DeleteAccountResponse: Respone of deleting account.
212type DeleteAccountResponse struct {
213	// Kind: The fixed string "identitytoolkit#DeleteAccountResponse".
214	Kind string `json:"kind,omitempty"`
215
216	// ServerResponse contains the HTTP response code and headers from the
217	// server.
218	googleapi.ServerResponse `json:"-"`
219
220	// ForceSendFields is a list of field names (e.g. "Kind") to
221	// unconditionally include in API requests. By default, fields with
222	// empty values are omitted from API requests. However, any non-pointer,
223	// non-interface field appearing in ForceSendFields will be sent to the
224	// server regardless of whether the field is empty or not. This may be
225	// used to include empty fields in Patch requests.
226	ForceSendFields []string `json:"-"`
227
228	// NullFields is a list of field names (e.g. "Kind") to include in API
229	// requests with the JSON null value. By default, fields with empty
230	// values are omitted from API requests. However, any field with an
231	// empty value appearing in NullFields will be sent to the server as
232	// null. It is an error if a field in this list has a non-empty value.
233	// This may be used to include null fields in Patch requests.
234	NullFields []string `json:"-"`
235}
236
237func (s *DeleteAccountResponse) MarshalJSON() ([]byte, error) {
238	type NoMethod DeleteAccountResponse
239	raw := NoMethod(*s)
240	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
241}
242
243// DownloadAccountResponse: Response of downloading accounts in batch.
244type DownloadAccountResponse struct {
245	// Kind: The fixed string "identitytoolkit#DownloadAccountResponse".
246	Kind string `json:"kind,omitempty"`
247
248	// NextPageToken: The next page token. To be used in a subsequent
249	// request to return the next page of results.
250	NextPageToken string `json:"nextPageToken,omitempty"`
251
252	// Users: The user accounts data.
253	Users []*UserInfo `json:"users,omitempty"`
254
255	// ServerResponse contains the HTTP response code and headers from the
256	// server.
257	googleapi.ServerResponse `json:"-"`
258
259	// ForceSendFields is a list of field names (e.g. "Kind") to
260	// unconditionally include in API requests. By default, fields with
261	// empty values are omitted from API requests. However, any non-pointer,
262	// non-interface field appearing in ForceSendFields will be sent to the
263	// server regardless of whether the field is empty or not. This may be
264	// used to include empty fields in Patch requests.
265	ForceSendFields []string `json:"-"`
266
267	// NullFields is a list of field names (e.g. "Kind") to include in API
268	// requests with the JSON null value. By default, fields with empty
269	// values are omitted from API requests. However, any field with an
270	// empty value appearing in NullFields will be sent to the server as
271	// null. It is an error if a field in this list has a non-empty value.
272	// This may be used to include null fields in Patch requests.
273	NullFields []string `json:"-"`
274}
275
276func (s *DownloadAccountResponse) MarshalJSON() ([]byte, error) {
277	type NoMethod DownloadAccountResponse
278	raw := NoMethod(*s)
279	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
280}
281
282// EmailLinkSigninResponse: Response of email signIn.
283type EmailLinkSigninResponse struct {
284	// Email: The user's email.
285	Email string `json:"email,omitempty"`
286
287	// ExpiresIn: Expiration time of STS id token in seconds.
288	ExpiresIn int64 `json:"expiresIn,omitempty,string"`
289
290	// IdToken: The STS id token to login the newly signed in user.
291	IdToken string `json:"idToken,omitempty"`
292
293	// IsNewUser: Whether the user is new.
294	IsNewUser bool `json:"isNewUser,omitempty"`
295
296	// Kind: The fixed string "identitytoolkit#EmailLinkSigninResponse".
297	Kind string `json:"kind,omitempty"`
298
299	// LocalId: The RP local ID of the user.
300	LocalId string `json:"localId,omitempty"`
301
302	// RefreshToken: The refresh token for the signed in user.
303	RefreshToken string `json:"refreshToken,omitempty"`
304
305	// ServerResponse contains the HTTP response code and headers from the
306	// server.
307	googleapi.ServerResponse `json:"-"`
308
309	// ForceSendFields is a list of field names (e.g. "Email") to
310	// unconditionally include in API requests. By default, fields with
311	// empty values are omitted from API requests. However, any non-pointer,
312	// non-interface field appearing in ForceSendFields will be sent to the
313	// server regardless of whether the field is empty or not. This may be
314	// used to include empty fields in Patch requests.
315	ForceSendFields []string `json:"-"`
316
317	// NullFields is a list of field names (e.g. "Email") to include in API
318	// requests with the JSON null value. By default, fields with empty
319	// values are omitted from API requests. However, any field with an
320	// empty value appearing in NullFields will be sent to the server as
321	// null. It is an error if a field in this list has a non-empty value.
322	// This may be used to include null fields in Patch requests.
323	NullFields []string `json:"-"`
324}
325
326func (s *EmailLinkSigninResponse) MarshalJSON() ([]byte, error) {
327	type NoMethod EmailLinkSigninResponse
328	raw := NoMethod(*s)
329	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
330}
331
332// EmailTemplate: Template for an email template.
333type EmailTemplate struct {
334	// Body: Email body.
335	Body string `json:"body,omitempty"`
336
337	// Format: Email body format.
338	Format string `json:"format,omitempty"`
339
340	// From: From address of the email.
341	From string `json:"from,omitempty"`
342
343	// FromDisplayName: From display name.
344	FromDisplayName string `json:"fromDisplayName,omitempty"`
345
346	// ReplyTo: Reply-to address.
347	ReplyTo string `json:"replyTo,omitempty"`
348
349	// Subject: Subject of the email.
350	Subject string `json:"subject,omitempty"`
351
352	// ForceSendFields is a list of field names (e.g. "Body") to
353	// unconditionally include in API requests. By default, fields with
354	// empty values are omitted from API requests. However, any non-pointer,
355	// non-interface field appearing in ForceSendFields will be sent to the
356	// server regardless of whether the field is empty or not. This may be
357	// used to include empty fields in Patch requests.
358	ForceSendFields []string `json:"-"`
359
360	// NullFields is a list of field names (e.g. "Body") to include in API
361	// requests with the JSON null value. By default, fields with empty
362	// values are omitted from API requests. However, any field with an
363	// empty value appearing in NullFields will be sent to the server as
364	// null. It is an error if a field in this list has a non-empty value.
365	// This may be used to include null fields in Patch requests.
366	NullFields []string `json:"-"`
367}
368
369func (s *EmailTemplate) MarshalJSON() ([]byte, error) {
370	type NoMethod EmailTemplate
371	raw := NoMethod(*s)
372	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
373}
374
375// GetAccountInfoResponse: Response of getting account information.
376type GetAccountInfoResponse struct {
377	// Kind: The fixed string "identitytoolkit#GetAccountInfoResponse".
378	Kind string `json:"kind,omitempty"`
379
380	// Users: The info of the users.
381	Users []*UserInfo `json:"users,omitempty"`
382
383	// ServerResponse contains the HTTP response code and headers from the
384	// server.
385	googleapi.ServerResponse `json:"-"`
386
387	// ForceSendFields is a list of field names (e.g. "Kind") to
388	// unconditionally include in API requests. By default, fields with
389	// empty values are omitted from API requests. However, any non-pointer,
390	// non-interface field appearing in ForceSendFields will be sent to the
391	// server regardless of whether the field is empty or not. This may be
392	// used to include empty fields in Patch requests.
393	ForceSendFields []string `json:"-"`
394
395	// NullFields is a list of field names (e.g. "Kind") to include in API
396	// requests with the JSON null value. By default, fields with empty
397	// values are omitted from API requests. However, any field with an
398	// empty value appearing in NullFields will be sent to the server as
399	// null. It is an error if a field in this list has a non-empty value.
400	// This may be used to include null fields in Patch requests.
401	NullFields []string `json:"-"`
402}
403
404func (s *GetAccountInfoResponse) MarshalJSON() ([]byte, error) {
405	type NoMethod GetAccountInfoResponse
406	raw := NoMethod(*s)
407	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
408}
409
410// GetOobConfirmationCodeResponse: Response of getting a code for user
411// confirmation (reset password, change email etc.).
412type GetOobConfirmationCodeResponse struct {
413	// Email: The email address that the email is sent to.
414	Email string `json:"email,omitempty"`
415
416	// Kind: The fixed string
417	// "identitytoolkit#GetOobConfirmationCodeResponse".
418	Kind string `json:"kind,omitempty"`
419
420	// OobCode: The code to be send to the user.
421	OobCode string `json:"oobCode,omitempty"`
422
423	// ServerResponse contains the HTTP response code and headers from the
424	// server.
425	googleapi.ServerResponse `json:"-"`
426
427	// ForceSendFields is a list of field names (e.g. "Email") to
428	// unconditionally include in API requests. By default, fields with
429	// empty values are omitted from API requests. However, any non-pointer,
430	// non-interface field appearing in ForceSendFields will be sent to the
431	// server regardless of whether the field is empty or not. This may be
432	// used to include empty fields in Patch requests.
433	ForceSendFields []string `json:"-"`
434
435	// NullFields is a list of field names (e.g. "Email") to include in API
436	// requests with the JSON null value. By default, fields with empty
437	// values are omitted from API requests. However, any field with an
438	// empty value appearing in NullFields will be sent to the server as
439	// null. It is an error if a field in this list has a non-empty value.
440	// This may be used to include null fields in Patch requests.
441	NullFields []string `json:"-"`
442}
443
444func (s *GetOobConfirmationCodeResponse) MarshalJSON() ([]byte, error) {
445	type NoMethod GetOobConfirmationCodeResponse
446	raw := NoMethod(*s)
447	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
448}
449
450// GetRecaptchaParamResponse: Response of getting recaptcha param.
451type GetRecaptchaParamResponse struct {
452	// Kind: The fixed string "identitytoolkit#GetRecaptchaParamResponse".
453	Kind string `json:"kind,omitempty"`
454
455	// RecaptchaSiteKey: Site key registered at recaptcha.
456	RecaptchaSiteKey string `json:"recaptchaSiteKey,omitempty"`
457
458	// RecaptchaStoken: The stoken field for the recaptcha widget, used to
459	// request captcha challenge.
460	RecaptchaStoken string `json:"recaptchaStoken,omitempty"`
461
462	// ServerResponse contains the HTTP response code and headers from the
463	// server.
464	googleapi.ServerResponse `json:"-"`
465
466	// ForceSendFields is a list of field names (e.g. "Kind") to
467	// unconditionally include in API requests. By default, fields with
468	// empty values are omitted from API requests. However, any non-pointer,
469	// non-interface field appearing in ForceSendFields will be sent to the
470	// server regardless of whether the field is empty or not. This may be
471	// used to include empty fields in Patch requests.
472	ForceSendFields []string `json:"-"`
473
474	// NullFields is a list of field names (e.g. "Kind") to include in API
475	// requests with the JSON null value. By default, fields with empty
476	// values are omitted from API requests. However, any field with an
477	// empty value appearing in NullFields will be sent to the server as
478	// null. It is an error if a field in this list has a non-empty value.
479	// This may be used to include null fields in Patch requests.
480	NullFields []string `json:"-"`
481}
482
483func (s *GetRecaptchaParamResponse) MarshalJSON() ([]byte, error) {
484	type NoMethod GetRecaptchaParamResponse
485	raw := NoMethod(*s)
486	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
487}
488
489// IdentitytoolkitRelyingpartyCreateAuthUriRequest: Request to get the
490// IDP authentication URL.
491type IdentitytoolkitRelyingpartyCreateAuthUriRequest struct {
492	// AppId: The app ID of the mobile app, base64(CERT_SHA1):PACKAGE_NAME
493	// for Android, BUNDLE_ID for iOS.
494	AppId string `json:"appId,omitempty"`
495
496	// AuthFlowType: Explicitly specify the auth flow type. Currently only
497	// support "CODE_FLOW" type. The field is only used for Google provider.
498	AuthFlowType string `json:"authFlowType,omitempty"`
499
500	// ClientId: The relying party OAuth client ID.
501	ClientId string `json:"clientId,omitempty"`
502
503	// Context: The opaque value used by the client to maintain context info
504	// between the authentication request and the IDP callback.
505	Context string `json:"context,omitempty"`
506
507	// ContinueUri: The URI to which the IDP redirects the user after the
508	// federated login flow.
509	ContinueUri string `json:"continueUri,omitempty"`
510
511	// CustomParameter: The query parameter that client can customize by
512	// themselves in auth url. The following parameters are reserved for
513	// server so that they cannot be customized by clients: client_id,
514	// response_type, scope, redirect_uri, state, oauth_token.
515	CustomParameter map[string]string `json:"customParameter,omitempty"`
516
517	// HostedDomain: The hosted domain to restrict sign-in to accounts at
518	// that domain for Google Apps hosted accounts.
519	HostedDomain string `json:"hostedDomain,omitempty"`
520
521	// Identifier: The email or federated ID of the user.
522	Identifier string `json:"identifier,omitempty"`
523
524	// OauthConsumerKey: The developer's consumer key for OpenId OAuth
525	// Extension
526	OauthConsumerKey string `json:"oauthConsumerKey,omitempty"`
527
528	// OauthScope: Additional oauth scopes, beyond the basid user profile,
529	// that the user would be prompted to grant
530	OauthScope string `json:"oauthScope,omitempty"`
531
532	// OpenidRealm: Optional realm for OpenID protocol. The sub string
533	// "scheme://domain:port" of the param "continueUri" is used if this is
534	// not set.
535	OpenidRealm string `json:"openidRealm,omitempty"`
536
537	// OtaApp: The native app package for OTA installation.
538	OtaApp string `json:"otaApp,omitempty"`
539
540	// ProviderId: The IdP ID. For white listed IdPs it's a short domain
541	// name e.g. google.com, aol.com, live.net and yahoo.com. For other
542	// OpenID IdPs it's the OP identifier.
543	ProviderId string `json:"providerId,omitempty"`
544
545	// SessionId: The session_id passed by client.
546	SessionId string `json:"sessionId,omitempty"`
547
548	// TenantId: For multi-tenant use cases, in order to construct sign-in
549	// URL with the correct IDP parameters, Firebear needs to know which
550	// Tenant to retrieve IDP configs from.
551	TenantId string `json:"tenantId,omitempty"`
552
553	// TenantProjectNumber: Tenant project number to be used for idp
554	// discovery.
555	TenantProjectNumber uint64 `json:"tenantProjectNumber,omitempty,string"`
556
557	// ForceSendFields is a list of field names (e.g. "AppId") to
558	// unconditionally include in API requests. By default, fields with
559	// empty values are omitted from API requests. However, any non-pointer,
560	// non-interface field appearing in ForceSendFields will be sent to the
561	// server regardless of whether the field is empty or not. This may be
562	// used to include empty fields in Patch requests.
563	ForceSendFields []string `json:"-"`
564
565	// NullFields is a list of field names (e.g. "AppId") to include in API
566	// requests with the JSON null value. By default, fields with empty
567	// values are omitted from API requests. However, any field with an
568	// empty value appearing in NullFields will be sent to the server as
569	// null. It is an error if a field in this list has a non-empty value.
570	// This may be used to include null fields in Patch requests.
571	NullFields []string `json:"-"`
572}
573
574func (s *IdentitytoolkitRelyingpartyCreateAuthUriRequest) MarshalJSON() ([]byte, error) {
575	type NoMethod IdentitytoolkitRelyingpartyCreateAuthUriRequest
576	raw := NoMethod(*s)
577	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
578}
579
580// IdentitytoolkitRelyingpartyDeleteAccountRequest: Request to delete
581// account.
582type IdentitytoolkitRelyingpartyDeleteAccountRequest struct {
583	// DelegatedProjectNumber: GCP project number of the requesting
584	// delegated app. Currently only intended for Firebase V1 migration.
585	DelegatedProjectNumber int64 `json:"delegatedProjectNumber,omitempty,string"`
586
587	// IdToken: The GITKit token or STS id token of the authenticated user.
588	IdToken string `json:"idToken,omitempty"`
589
590	// LocalId: The local ID of the user.
591	LocalId string `json:"localId,omitempty"`
592
593	// ForceSendFields is a list of field names (e.g.
594	// "DelegatedProjectNumber") to unconditionally include in API requests.
595	// By default, fields with empty values are omitted from API requests.
596	// However, any non-pointer, non-interface field appearing in
597	// ForceSendFields will be sent to the server regardless of whether the
598	// field is empty or not. This may be used to include empty fields in
599	// Patch requests.
600	ForceSendFields []string `json:"-"`
601
602	// NullFields is a list of field names (e.g. "DelegatedProjectNumber")
603	// to include in API requests with the JSON null value. By default,
604	// fields with empty values are omitted from API requests. However, any
605	// field with an empty value appearing in NullFields will be sent to the
606	// server as null. It is an error if a field in this list has a
607	// non-empty value. This may be used to include null fields in Patch
608	// requests.
609	NullFields []string `json:"-"`
610}
611
612func (s *IdentitytoolkitRelyingpartyDeleteAccountRequest) MarshalJSON() ([]byte, error) {
613	type NoMethod IdentitytoolkitRelyingpartyDeleteAccountRequest
614	raw := NoMethod(*s)
615	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
616}
617
618// IdentitytoolkitRelyingpartyDownloadAccountRequest: Request to
619// download user account in batch.
620type IdentitytoolkitRelyingpartyDownloadAccountRequest struct {
621	// DelegatedProjectNumber: GCP project number of the requesting
622	// delegated app. Currently only intended for Firebase V1 migration.
623	DelegatedProjectNumber int64 `json:"delegatedProjectNumber,omitempty,string"`
624
625	// MaxResults: The max number of results to return in the response.
626	MaxResults int64 `json:"maxResults,omitempty"`
627
628	// NextPageToken: The token for the next page. This should be taken from
629	// the previous response.
630	NextPageToken string `json:"nextPageToken,omitempty"`
631
632	// TargetProjectId: Specify which project (field value is actually
633	// project id) to operate. Only used when provided credential.
634	TargetProjectId string `json:"targetProjectId,omitempty"`
635
636	// ForceSendFields is a list of field names (e.g.
637	// "DelegatedProjectNumber") to unconditionally include in API requests.
638	// By default, fields with empty values are omitted from API requests.
639	// However, any non-pointer, non-interface field appearing in
640	// ForceSendFields will be sent to the server regardless of whether the
641	// field is empty or not. This may be used to include empty fields in
642	// Patch requests.
643	ForceSendFields []string `json:"-"`
644
645	// NullFields is a list of field names (e.g. "DelegatedProjectNumber")
646	// to include in API requests with the JSON null value. By default,
647	// fields with empty values are omitted from API requests. However, any
648	// field with an empty value appearing in NullFields will be sent to the
649	// server as null. It is an error if a field in this list has a
650	// non-empty value. This may be used to include null fields in Patch
651	// requests.
652	NullFields []string `json:"-"`
653}
654
655func (s *IdentitytoolkitRelyingpartyDownloadAccountRequest) MarshalJSON() ([]byte, error) {
656	type NoMethod IdentitytoolkitRelyingpartyDownloadAccountRequest
657	raw := NoMethod(*s)
658	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
659}
660
661// IdentitytoolkitRelyingpartyEmailLinkSigninRequest: Request to sign in
662// with email.
663type IdentitytoolkitRelyingpartyEmailLinkSigninRequest struct {
664	// Email: The email address of the user.
665	Email string `json:"email,omitempty"`
666
667	// IdToken: Token for linking flow.
668	IdToken string `json:"idToken,omitempty"`
669
670	// OobCode: The confirmation code.
671	OobCode string `json:"oobCode,omitempty"`
672
673	// ForceSendFields is a list of field names (e.g. "Email") to
674	// unconditionally include in API requests. By default, fields with
675	// empty values are omitted from API requests. However, any non-pointer,
676	// non-interface field appearing in ForceSendFields will be sent to the
677	// server regardless of whether the field is empty or not. This may be
678	// used to include empty fields in Patch requests.
679	ForceSendFields []string `json:"-"`
680
681	// NullFields is a list of field names (e.g. "Email") to include in API
682	// requests with the JSON null value. By default, fields with empty
683	// values are omitted from API requests. However, any field with an
684	// empty value appearing in NullFields will be sent to the server as
685	// null. It is an error if a field in this list has a non-empty value.
686	// This may be used to include null fields in Patch requests.
687	NullFields []string `json:"-"`
688}
689
690func (s *IdentitytoolkitRelyingpartyEmailLinkSigninRequest) MarshalJSON() ([]byte, error) {
691	type NoMethod IdentitytoolkitRelyingpartyEmailLinkSigninRequest
692	raw := NoMethod(*s)
693	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
694}
695
696// IdentitytoolkitRelyingpartyGetAccountInfoRequest: Request to get the
697// account information.
698type IdentitytoolkitRelyingpartyGetAccountInfoRequest struct {
699	// DelegatedProjectNumber: GCP project number of the requesting
700	// delegated app. Currently only intended for Firebase V1 migration.
701	DelegatedProjectNumber int64 `json:"delegatedProjectNumber,omitempty,string"`
702
703	// Email: The list of emails of the users to inquiry.
704	Email []string `json:"email,omitempty"`
705
706	// IdToken: The GITKit token of the authenticated user.
707	IdToken string `json:"idToken,omitempty"`
708
709	// LocalId: The list of local ID's of the users to inquiry.
710	LocalId []string `json:"localId,omitempty"`
711
712	// PhoneNumber: Privileged caller can query users by specified phone
713	// number.
714	PhoneNumber []string `json:"phoneNumber,omitempty"`
715
716	// ForceSendFields is a list of field names (e.g.
717	// "DelegatedProjectNumber") to unconditionally include in API requests.
718	// By default, fields with empty values are omitted from API requests.
719	// However, any non-pointer, non-interface field appearing in
720	// ForceSendFields will be sent to the server regardless of whether the
721	// field is empty or not. This may be used to include empty fields in
722	// Patch requests.
723	ForceSendFields []string `json:"-"`
724
725	// NullFields is a list of field names (e.g. "DelegatedProjectNumber")
726	// to include in API requests with the JSON null value. By default,
727	// fields with empty values are omitted from API requests. However, any
728	// field with an empty value appearing in NullFields will be sent to the
729	// server as null. It is an error if a field in this list has a
730	// non-empty value. This may be used to include null fields in Patch
731	// requests.
732	NullFields []string `json:"-"`
733}
734
735func (s *IdentitytoolkitRelyingpartyGetAccountInfoRequest) MarshalJSON() ([]byte, error) {
736	type NoMethod IdentitytoolkitRelyingpartyGetAccountInfoRequest
737	raw := NoMethod(*s)
738	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
739}
740
741// IdentitytoolkitRelyingpartyGetProjectConfigResponse: Response of
742// getting the project configuration.
743type IdentitytoolkitRelyingpartyGetProjectConfigResponse struct {
744	// AllowPasswordUser: Whether to allow password user sign in or sign up.
745	AllowPasswordUser bool `json:"allowPasswordUser,omitempty"`
746
747	// ApiKey: Browser API key, needed when making http request to Apiary.
748	ApiKey string `json:"apiKey,omitempty"`
749
750	// AuthorizedDomains: Authorized domains.
751	AuthorizedDomains []string `json:"authorizedDomains,omitempty"`
752
753	// ChangeEmailTemplate: Change email template.
754	ChangeEmailTemplate *EmailTemplate `json:"changeEmailTemplate,omitempty"`
755
756	DynamicLinksDomain string `json:"dynamicLinksDomain,omitempty"`
757
758	// EnableAnonymousUser: Whether anonymous user is enabled.
759	EnableAnonymousUser bool `json:"enableAnonymousUser,omitempty"`
760
761	// IdpConfig: OAuth2 provider configuration.
762	IdpConfig []*IdpConfig `json:"idpConfig,omitempty"`
763
764	// LegacyResetPasswordTemplate: Legacy reset password email template.
765	LegacyResetPasswordTemplate *EmailTemplate `json:"legacyResetPasswordTemplate,omitempty"`
766
767	// ProjectId: Project ID of the relying party.
768	ProjectId string `json:"projectId,omitempty"`
769
770	// ResetPasswordTemplate: Reset password email template.
771	ResetPasswordTemplate *EmailTemplate `json:"resetPasswordTemplate,omitempty"`
772
773	// UseEmailSending: Whether to use email sending provided by Firebear.
774	UseEmailSending bool `json:"useEmailSending,omitempty"`
775
776	// VerifyEmailTemplate: Verify email template.
777	VerifyEmailTemplate *EmailTemplate `json:"verifyEmailTemplate,omitempty"`
778
779	// ServerResponse contains the HTTP response code and headers from the
780	// server.
781	googleapi.ServerResponse `json:"-"`
782
783	// ForceSendFields is a list of field names (e.g. "AllowPasswordUser")
784	// to unconditionally include in API requests. By default, fields with
785	// empty values are omitted from API requests. However, any non-pointer,
786	// non-interface field appearing in ForceSendFields will be sent to the
787	// server regardless of whether the field is empty or not. This may be
788	// used to include empty fields in Patch requests.
789	ForceSendFields []string `json:"-"`
790
791	// NullFields is a list of field names (e.g. "AllowPasswordUser") to
792	// include in API requests with the JSON null value. By default, fields
793	// with empty values are omitted from API requests. However, any field
794	// with an empty value appearing in NullFields will be sent to the
795	// server as null. It is an error if a field in this list has a
796	// non-empty value. This may be used to include null fields in Patch
797	// requests.
798	NullFields []string `json:"-"`
799}
800
801func (s *IdentitytoolkitRelyingpartyGetProjectConfigResponse) MarshalJSON() ([]byte, error) {
802	type NoMethod IdentitytoolkitRelyingpartyGetProjectConfigResponse
803	raw := NoMethod(*s)
804	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
805}
806
807// IdentitytoolkitRelyingpartyResetPasswordRequest: Request to reset the
808// password.
809type IdentitytoolkitRelyingpartyResetPasswordRequest struct {
810	// Email: The email address of the user.
811	Email string `json:"email,omitempty"`
812
813	// NewPassword: The new password inputted by the user.
814	NewPassword string `json:"newPassword,omitempty"`
815
816	// OldPassword: The old password inputted by the user.
817	OldPassword string `json:"oldPassword,omitempty"`
818
819	// OobCode: The confirmation code.
820	OobCode string `json:"oobCode,omitempty"`
821
822	// ForceSendFields is a list of field names (e.g. "Email") to
823	// unconditionally include in API requests. By default, fields with
824	// empty values are omitted from API requests. However, any non-pointer,
825	// non-interface field appearing in ForceSendFields will be sent to the
826	// server regardless of whether the field is empty or not. This may be
827	// used to include empty fields in Patch requests.
828	ForceSendFields []string `json:"-"`
829
830	// NullFields is a list of field names (e.g. "Email") to include in API
831	// requests with the JSON null value. By default, fields with empty
832	// values are omitted from API requests. However, any field with an
833	// empty value appearing in NullFields will be sent to the server as
834	// null. It is an error if a field in this list has a non-empty value.
835	// This may be used to include null fields in Patch requests.
836	NullFields []string `json:"-"`
837}
838
839func (s *IdentitytoolkitRelyingpartyResetPasswordRequest) MarshalJSON() ([]byte, error) {
840	type NoMethod IdentitytoolkitRelyingpartyResetPasswordRequest
841	raw := NoMethod(*s)
842	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
843}
844
845// IdentitytoolkitRelyingpartySendVerificationCodeRequest: Request for
846// Identitytoolkit-SendVerificationCode
847type IdentitytoolkitRelyingpartySendVerificationCodeRequest struct {
848	// IosReceipt: Receipt of successful app token validation with APNS.
849	IosReceipt string `json:"iosReceipt,omitempty"`
850
851	// IosSecret: Secret delivered to iOS app via APNS.
852	IosSecret string `json:"iosSecret,omitempty"`
853
854	// PhoneNumber: The phone number to send the verification code to in
855	// E.164 format.
856	PhoneNumber string `json:"phoneNumber,omitempty"`
857
858	// RecaptchaToken: Recaptcha solution.
859	RecaptchaToken string `json:"recaptchaToken,omitempty"`
860
861	// ForceSendFields is a list of field names (e.g. "IosReceipt") to
862	// unconditionally include in API requests. By default, fields with
863	// empty values are omitted from API requests. However, any non-pointer,
864	// non-interface field appearing in ForceSendFields will be sent to the
865	// server regardless of whether the field is empty or not. This may be
866	// used to include empty fields in Patch requests.
867	ForceSendFields []string `json:"-"`
868
869	// NullFields is a list of field names (e.g. "IosReceipt") to include in
870	// API requests with the JSON null value. By default, fields with empty
871	// values are omitted from API requests. However, any field with an
872	// empty value appearing in NullFields will be sent to the server as
873	// null. It is an error if a field in this list has a non-empty value.
874	// This may be used to include null fields in Patch requests.
875	NullFields []string `json:"-"`
876}
877
878func (s *IdentitytoolkitRelyingpartySendVerificationCodeRequest) MarshalJSON() ([]byte, error) {
879	type NoMethod IdentitytoolkitRelyingpartySendVerificationCodeRequest
880	raw := NoMethod(*s)
881	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
882}
883
884// IdentitytoolkitRelyingpartySendVerificationCodeResponse: Response for
885// Identitytoolkit-SendVerificationCode
886type IdentitytoolkitRelyingpartySendVerificationCodeResponse struct {
887	// SessionInfo: Encrypted session information
888	SessionInfo string `json:"sessionInfo,omitempty"`
889
890	// ServerResponse contains the HTTP response code and headers from the
891	// server.
892	googleapi.ServerResponse `json:"-"`
893
894	// ForceSendFields is a list of field names (e.g. "SessionInfo") to
895	// unconditionally include in API requests. By default, fields with
896	// empty values are omitted from API requests. However, any non-pointer,
897	// non-interface field appearing in ForceSendFields will be sent to the
898	// server regardless of whether the field is empty or not. This may be
899	// used to include empty fields in Patch requests.
900	ForceSendFields []string `json:"-"`
901
902	// NullFields is a list of field names (e.g. "SessionInfo") to include
903	// in API requests with the JSON null value. By default, fields with
904	// empty values are omitted from API requests. However, any field with
905	// an empty value appearing in NullFields will be sent to the server as
906	// null. It is an error if a field in this list has a non-empty value.
907	// This may be used to include null fields in Patch requests.
908	NullFields []string `json:"-"`
909}
910
911func (s *IdentitytoolkitRelyingpartySendVerificationCodeResponse) MarshalJSON() ([]byte, error) {
912	type NoMethod IdentitytoolkitRelyingpartySendVerificationCodeResponse
913	raw := NoMethod(*s)
914	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
915}
916
917// IdentitytoolkitRelyingpartySetAccountInfoRequest: Request to set the
918// account information.
919type IdentitytoolkitRelyingpartySetAccountInfoRequest struct {
920	// CaptchaChallenge: The captcha challenge.
921	CaptchaChallenge string `json:"captchaChallenge,omitempty"`
922
923	// CaptchaResponse: Response to the captcha.
924	CaptchaResponse string `json:"captchaResponse,omitempty"`
925
926	// CreatedAt: The timestamp when the account is created.
927	CreatedAt int64 `json:"createdAt,omitempty,string"`
928
929	// CustomAttributes: The custom attributes to be set in the user's id
930	// token.
931	CustomAttributes string `json:"customAttributes,omitempty"`
932
933	// DelegatedProjectNumber: GCP project number of the requesting
934	// delegated app. Currently only intended for Firebase V1 migration.
935	DelegatedProjectNumber int64 `json:"delegatedProjectNumber,omitempty,string"`
936
937	// DeleteAttribute: The attributes users request to delete.
938	DeleteAttribute []string `json:"deleteAttribute,omitempty"`
939
940	// DeleteProvider: The IDPs the user request to delete.
941	DeleteProvider []string `json:"deleteProvider,omitempty"`
942
943	// DisableUser: Whether to disable the user.
944	DisableUser bool `json:"disableUser,omitempty"`
945
946	// DisplayName: The name of the user.
947	DisplayName string `json:"displayName,omitempty"`
948
949	// Email: The email of the user.
950	Email string `json:"email,omitempty"`
951
952	// EmailVerified: Mark the email as verified or not.
953	EmailVerified bool `json:"emailVerified,omitempty"`
954
955	// IdToken: The GITKit token of the authenticated user.
956	IdToken string `json:"idToken,omitempty"`
957
958	// InstanceId: Instance id token of the app.
959	InstanceId string `json:"instanceId,omitempty"`
960
961	// LastLoginAt: Last login timestamp.
962	LastLoginAt int64 `json:"lastLoginAt,omitempty,string"`
963
964	// LocalId: The local ID of the user.
965	LocalId string `json:"localId,omitempty"`
966
967	// OobCode: The out-of-band code of the change email request.
968	OobCode string `json:"oobCode,omitempty"`
969
970	// Password: The new password of the user.
971	Password string `json:"password,omitempty"`
972
973	// PhoneNumber: Privileged caller can update user with specified phone
974	// number.
975	PhoneNumber string `json:"phoneNumber,omitempty"`
976
977	// PhotoUrl: The photo url of the user.
978	PhotoUrl string `json:"photoUrl,omitempty"`
979
980	// Provider: The associated IDPs of the user.
981	Provider []string `json:"provider,omitempty"`
982
983	// ReturnSecureToken: Whether return sts id token and refresh token
984	// instead of gitkit token.
985	ReturnSecureToken bool `json:"returnSecureToken,omitempty"`
986
987	// UpgradeToFederatedLogin: Mark the user to upgrade to federated login.
988	UpgradeToFederatedLogin bool `json:"upgradeToFederatedLogin,omitempty"`
989
990	// ValidSince: Timestamp in seconds for valid login token.
991	ValidSince int64 `json:"validSince,omitempty,string"`
992
993	// ForceSendFields is a list of field names (e.g. "CaptchaChallenge") to
994	// unconditionally include in API requests. By default, fields with
995	// empty values are omitted from API requests. However, any non-pointer,
996	// non-interface field appearing in ForceSendFields will be sent to the
997	// server regardless of whether the field is empty or not. This may be
998	// used to include empty fields in Patch requests.
999	ForceSendFields []string `json:"-"`
1000
1001	// NullFields is a list of field names (e.g. "CaptchaChallenge") to
1002	// include in API requests with the JSON null value. By default, fields
1003	// with empty values are omitted from API requests. However, any field
1004	// with an empty value appearing in NullFields will be sent to the
1005	// server as null. It is an error if a field in this list has a
1006	// non-empty value. This may be used to include null fields in Patch
1007	// requests.
1008	NullFields []string `json:"-"`
1009}
1010
1011func (s *IdentitytoolkitRelyingpartySetAccountInfoRequest) MarshalJSON() ([]byte, error) {
1012	type NoMethod IdentitytoolkitRelyingpartySetAccountInfoRequest
1013	raw := NoMethod(*s)
1014	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1015}
1016
1017// IdentitytoolkitRelyingpartySetProjectConfigRequest: Request to set
1018// the project configuration.
1019type IdentitytoolkitRelyingpartySetProjectConfigRequest struct {
1020	// AllowPasswordUser: Whether to allow password user sign in or sign up.
1021	AllowPasswordUser bool `json:"allowPasswordUser,omitempty"`
1022
1023	// ApiKey: Browser API key, needed when making http request to Apiary.
1024	ApiKey string `json:"apiKey,omitempty"`
1025
1026	// AuthorizedDomains: Authorized domains for widget redirect.
1027	AuthorizedDomains []string `json:"authorizedDomains,omitempty"`
1028
1029	// ChangeEmailTemplate: Change email template.
1030	ChangeEmailTemplate *EmailTemplate `json:"changeEmailTemplate,omitempty"`
1031
1032	// DelegatedProjectNumber: GCP project number of the requesting
1033	// delegated app. Currently only intended for Firebase V1 migration.
1034	DelegatedProjectNumber int64 `json:"delegatedProjectNumber,omitempty,string"`
1035
1036	// EnableAnonymousUser: Whether to enable anonymous user.
1037	EnableAnonymousUser bool `json:"enableAnonymousUser,omitempty"`
1038
1039	// IdpConfig: Oauth2 provider configuration.
1040	IdpConfig []*IdpConfig `json:"idpConfig,omitempty"`
1041
1042	// LegacyResetPasswordTemplate: Legacy reset password email template.
1043	LegacyResetPasswordTemplate *EmailTemplate `json:"legacyResetPasswordTemplate,omitempty"`
1044
1045	// ResetPasswordTemplate: Reset password email template.
1046	ResetPasswordTemplate *EmailTemplate `json:"resetPasswordTemplate,omitempty"`
1047
1048	// UseEmailSending: Whether to use email sending provided by Firebear.
1049	UseEmailSending bool `json:"useEmailSending,omitempty"`
1050
1051	// VerifyEmailTemplate: Verify email template.
1052	VerifyEmailTemplate *EmailTemplate `json:"verifyEmailTemplate,omitempty"`
1053
1054	// ForceSendFields is a list of field names (e.g. "AllowPasswordUser")
1055	// to unconditionally include in API requests. By default, fields with
1056	// empty values are omitted from API requests. However, any non-pointer,
1057	// non-interface field appearing in ForceSendFields will be sent to the
1058	// server regardless of whether the field is empty or not. This may be
1059	// used to include empty fields in Patch requests.
1060	ForceSendFields []string `json:"-"`
1061
1062	// NullFields is a list of field names (e.g. "AllowPasswordUser") to
1063	// include in API requests with the JSON null value. By default, fields
1064	// with empty values are omitted from API requests. However, any field
1065	// with an empty value appearing in NullFields will be sent to the
1066	// server as null. It is an error if a field in this list has a
1067	// non-empty value. This may be used to include null fields in Patch
1068	// requests.
1069	NullFields []string `json:"-"`
1070}
1071
1072func (s *IdentitytoolkitRelyingpartySetProjectConfigRequest) MarshalJSON() ([]byte, error) {
1073	type NoMethod IdentitytoolkitRelyingpartySetProjectConfigRequest
1074	raw := NoMethod(*s)
1075	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1076}
1077
1078// IdentitytoolkitRelyingpartySetProjectConfigResponse: Response of
1079// setting the project configuration.
1080type IdentitytoolkitRelyingpartySetProjectConfigResponse struct {
1081	// ProjectId: Project ID of the relying party.
1082	ProjectId string `json:"projectId,omitempty"`
1083
1084	// ServerResponse contains the HTTP response code and headers from the
1085	// server.
1086	googleapi.ServerResponse `json:"-"`
1087
1088	// ForceSendFields is a list of field names (e.g. "ProjectId") to
1089	// unconditionally include in API requests. By default, fields with
1090	// empty values are omitted from API requests. However, any non-pointer,
1091	// non-interface field appearing in ForceSendFields will be sent to the
1092	// server regardless of whether the field is empty or not. This may be
1093	// used to include empty fields in Patch requests.
1094	ForceSendFields []string `json:"-"`
1095
1096	// NullFields is a list of field names (e.g. "ProjectId") to include in
1097	// API requests with the JSON null value. By default, fields with empty
1098	// values are omitted from API requests. However, any field with an
1099	// empty value appearing in NullFields will be sent to the server as
1100	// null. It is an error if a field in this list has a non-empty value.
1101	// This may be used to include null fields in Patch requests.
1102	NullFields []string `json:"-"`
1103}
1104
1105func (s *IdentitytoolkitRelyingpartySetProjectConfigResponse) MarshalJSON() ([]byte, error) {
1106	type NoMethod IdentitytoolkitRelyingpartySetProjectConfigResponse
1107	raw := NoMethod(*s)
1108	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1109}
1110
1111// IdentitytoolkitRelyingpartySignOutUserRequest: Request to sign out
1112// user.
1113type IdentitytoolkitRelyingpartySignOutUserRequest struct {
1114	// InstanceId: Instance id token of the app.
1115	InstanceId string `json:"instanceId,omitempty"`
1116
1117	// LocalId: The local ID of the user.
1118	LocalId string `json:"localId,omitempty"`
1119
1120	// ForceSendFields is a list of field names (e.g. "InstanceId") to
1121	// unconditionally include in API requests. By default, fields with
1122	// empty values are omitted from API requests. However, any non-pointer,
1123	// non-interface field appearing in ForceSendFields will be sent to the
1124	// server regardless of whether the field is empty or not. This may be
1125	// used to include empty fields in Patch requests.
1126	ForceSendFields []string `json:"-"`
1127
1128	// NullFields is a list of field names (e.g. "InstanceId") to include in
1129	// API requests with the JSON null value. By default, fields with empty
1130	// values are omitted from API requests. However, any field with an
1131	// empty value appearing in NullFields will be sent to the server as
1132	// null. It is an error if a field in this list has a non-empty value.
1133	// This may be used to include null fields in Patch requests.
1134	NullFields []string `json:"-"`
1135}
1136
1137func (s *IdentitytoolkitRelyingpartySignOutUserRequest) MarshalJSON() ([]byte, error) {
1138	type NoMethod IdentitytoolkitRelyingpartySignOutUserRequest
1139	raw := NoMethod(*s)
1140	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1141}
1142
1143// IdentitytoolkitRelyingpartySignOutUserResponse: Response of signing
1144// out user.
1145type IdentitytoolkitRelyingpartySignOutUserResponse struct {
1146	// LocalId: The local ID of the user.
1147	LocalId string `json:"localId,omitempty"`
1148
1149	// ServerResponse contains the HTTP response code and headers from the
1150	// server.
1151	googleapi.ServerResponse `json:"-"`
1152
1153	// ForceSendFields is a list of field names (e.g. "LocalId") to
1154	// unconditionally include in API requests. By default, fields with
1155	// empty values are omitted from API requests. However, any non-pointer,
1156	// non-interface field appearing in ForceSendFields will be sent to the
1157	// server regardless of whether the field is empty or not. This may be
1158	// used to include empty fields in Patch requests.
1159	ForceSendFields []string `json:"-"`
1160
1161	// NullFields is a list of field names (e.g. "LocalId") to include in
1162	// API requests with the JSON null value. By default, fields with empty
1163	// values are omitted from API requests. However, any field with an
1164	// empty value appearing in NullFields will be sent to the server as
1165	// null. It is an error if a field in this list has a non-empty value.
1166	// This may be used to include null fields in Patch requests.
1167	NullFields []string `json:"-"`
1168}
1169
1170func (s *IdentitytoolkitRelyingpartySignOutUserResponse) MarshalJSON() ([]byte, error) {
1171	type NoMethod IdentitytoolkitRelyingpartySignOutUserResponse
1172	raw := NoMethod(*s)
1173	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1174}
1175
1176// IdentitytoolkitRelyingpartySignupNewUserRequest: Request to signup
1177// new user, create anonymous user or anonymous user reauth.
1178type IdentitytoolkitRelyingpartySignupNewUserRequest struct {
1179	// CaptchaChallenge: The captcha challenge.
1180	CaptchaChallenge string `json:"captchaChallenge,omitempty"`
1181
1182	// CaptchaResponse: Response to the captcha.
1183	CaptchaResponse string `json:"captchaResponse,omitempty"`
1184
1185	// Disabled: Whether to disable the user. Only can be used by service
1186	// account.
1187	Disabled bool `json:"disabled,omitempty"`
1188
1189	// DisplayName: The name of the user.
1190	DisplayName string `json:"displayName,omitempty"`
1191
1192	// Email: The email of the user.
1193	Email string `json:"email,omitempty"`
1194
1195	// EmailVerified: Mark the email as verified or not. Only can be used by
1196	// service account.
1197	EmailVerified bool `json:"emailVerified,omitempty"`
1198
1199	// IdToken: The GITKit token of the authenticated user.
1200	IdToken string `json:"idToken,omitempty"`
1201
1202	// InstanceId: Instance id token of the app.
1203	InstanceId string `json:"instanceId,omitempty"`
1204
1205	// LocalId: Privileged caller can create user with specified user id.
1206	LocalId string `json:"localId,omitempty"`
1207
1208	// Password: The new password of the user.
1209	Password string `json:"password,omitempty"`
1210
1211	// PhoneNumber: Privileged caller can create user with specified phone
1212	// number.
1213	PhoneNumber string `json:"phoneNumber,omitempty"`
1214
1215	// PhotoUrl: The photo url of the user.
1216	PhotoUrl string `json:"photoUrl,omitempty"`
1217
1218	// TenantId: For multi-tenant use cases, in order to construct sign-in
1219	// URL with the correct IDP parameters, Firebear needs to know which
1220	// Tenant to retrieve IDP configs from.
1221	TenantId string `json:"tenantId,omitempty"`
1222
1223	// TenantProjectNumber: Tenant project number to be used for idp
1224	// discovery.
1225	TenantProjectNumber uint64 `json:"tenantProjectNumber,omitempty,string"`
1226
1227	// ForceSendFields is a list of field names (e.g. "CaptchaChallenge") to
1228	// unconditionally include in API requests. By default, fields with
1229	// empty values are omitted from API requests. However, any non-pointer,
1230	// non-interface field appearing in ForceSendFields will be sent to the
1231	// server regardless of whether the field is empty or not. This may be
1232	// used to include empty fields in Patch requests.
1233	ForceSendFields []string `json:"-"`
1234
1235	// NullFields is a list of field names (e.g. "CaptchaChallenge") to
1236	// include in API requests with the JSON null value. By default, fields
1237	// with empty values are omitted from API requests. However, any field
1238	// with an empty value appearing in NullFields will be sent to the
1239	// server as null. It is an error if a field in this list has a
1240	// non-empty value. This may be used to include null fields in Patch
1241	// requests.
1242	NullFields []string `json:"-"`
1243}
1244
1245func (s *IdentitytoolkitRelyingpartySignupNewUserRequest) MarshalJSON() ([]byte, error) {
1246	type NoMethod IdentitytoolkitRelyingpartySignupNewUserRequest
1247	raw := NoMethod(*s)
1248	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1249}
1250
1251// IdentitytoolkitRelyingpartyUploadAccountRequest: Request to upload
1252// user account in batch.
1253type IdentitytoolkitRelyingpartyUploadAccountRequest struct {
1254	// AllowOverwrite: Whether allow overwrite existing account when user
1255	// local_id exists.
1256	AllowOverwrite bool `json:"allowOverwrite,omitempty"`
1257
1258	BlockSize int64 `json:"blockSize,omitempty"`
1259
1260	// CpuMemCost: The following 4 fields are for standard scrypt algorithm.
1261	CpuMemCost int64 `json:"cpuMemCost,omitempty"`
1262
1263	// DelegatedProjectNumber: GCP project number of the requesting
1264	// delegated app. Currently only intended for Firebase V1 migration.
1265	DelegatedProjectNumber int64 `json:"delegatedProjectNumber,omitempty,string"`
1266
1267	DkLen int64 `json:"dkLen,omitempty"`
1268
1269	// HashAlgorithm: The password hash algorithm.
1270	HashAlgorithm string `json:"hashAlgorithm,omitempty"`
1271
1272	// MemoryCost: Memory cost for hash calculation. Used by scrypt similar
1273	// algorithms.
1274	MemoryCost int64 `json:"memoryCost,omitempty"`
1275
1276	Parallelization int64 `json:"parallelization,omitempty"`
1277
1278	// Rounds: Rounds for hash calculation. Used by scrypt and similar
1279	// algorithms.
1280	Rounds int64 `json:"rounds,omitempty"`
1281
1282	// SaltSeparator: The salt separator.
1283	SaltSeparator string `json:"saltSeparator,omitempty"`
1284
1285	// SanityCheck: If true, backend will do sanity check(including
1286	// duplicate email and federated id) when uploading account.
1287	SanityCheck bool `json:"sanityCheck,omitempty"`
1288
1289	// SignerKey: The key for to hash the password.
1290	SignerKey string `json:"signerKey,omitempty"`
1291
1292	// TargetProjectId: Specify which project (field value is actually
1293	// project id) to operate. Only used when provided credential.
1294	TargetProjectId string `json:"targetProjectId,omitempty"`
1295
1296	// Users: The account info to be stored.
1297	Users []*UserInfo `json:"users,omitempty"`
1298
1299	// ForceSendFields is a list of field names (e.g. "AllowOverwrite") to
1300	// unconditionally include in API requests. By default, fields with
1301	// empty values are omitted from API requests. However, any non-pointer,
1302	// non-interface field appearing in ForceSendFields will be sent to the
1303	// server regardless of whether the field is empty or not. This may be
1304	// used to include empty fields in Patch requests.
1305	ForceSendFields []string `json:"-"`
1306
1307	// NullFields is a list of field names (e.g. "AllowOverwrite") to
1308	// include in API requests with the JSON null value. By default, fields
1309	// with empty values are omitted from API requests. However, any field
1310	// with an empty value appearing in NullFields will be sent to the
1311	// server as null. It is an error if a field in this list has a
1312	// non-empty value. This may be used to include null fields in Patch
1313	// requests.
1314	NullFields []string `json:"-"`
1315}
1316
1317func (s *IdentitytoolkitRelyingpartyUploadAccountRequest) MarshalJSON() ([]byte, error) {
1318	type NoMethod IdentitytoolkitRelyingpartyUploadAccountRequest
1319	raw := NoMethod(*s)
1320	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1321}
1322
1323// IdentitytoolkitRelyingpartyVerifyAssertionRequest: Request to verify
1324// the IDP assertion.
1325type IdentitytoolkitRelyingpartyVerifyAssertionRequest struct {
1326	// AutoCreate: When it's true, automatically creates a new account if
1327	// the user doesn't exist. When it's false, allows existing user to sign
1328	// in normally and throws exception if the user doesn't exist.
1329	AutoCreate bool `json:"autoCreate,omitempty"`
1330
1331	// DelegatedProjectNumber: GCP project number of the requesting
1332	// delegated app. Currently only intended for Firebase V1 migration.
1333	DelegatedProjectNumber int64 `json:"delegatedProjectNumber,omitempty,string"`
1334
1335	// IdToken: The GITKit token of the authenticated user.
1336	IdToken string `json:"idToken,omitempty"`
1337
1338	// InstanceId: Instance id token of the app.
1339	InstanceId string `json:"instanceId,omitempty"`
1340
1341	// PendingIdToken: The GITKit token for the non-trusted IDP pending to
1342	// be confirmed by the user.
1343	PendingIdToken string `json:"pendingIdToken,omitempty"`
1344
1345	// PostBody: The post body if the request is a HTTP POST.
1346	PostBody string `json:"postBody,omitempty"`
1347
1348	// RequestUri: The URI to which the IDP redirects the user back. It may
1349	// contain federated login result params added by the IDP.
1350	RequestUri string `json:"requestUri,omitempty"`
1351
1352	// ReturnIdpCredential: Whether return 200 and IDP credential rather
1353	// than throw exception when federated id is already linked.
1354	ReturnIdpCredential bool `json:"returnIdpCredential,omitempty"`
1355
1356	// ReturnRefreshToken: Whether to return refresh tokens.
1357	ReturnRefreshToken bool `json:"returnRefreshToken,omitempty"`
1358
1359	// ReturnSecureToken: Whether return sts id token and refresh token
1360	// instead of gitkit token.
1361	ReturnSecureToken bool `json:"returnSecureToken,omitempty"`
1362
1363	// SessionId: Session ID, which should match the one in previous
1364	// createAuthUri request.
1365	SessionId string `json:"sessionId,omitempty"`
1366
1367	// TenantId: For multi-tenant use cases, in order to construct sign-in
1368	// URL with the correct IDP parameters, Firebear needs to know which
1369	// Tenant to retrieve IDP configs from.
1370	TenantId string `json:"tenantId,omitempty"`
1371
1372	// TenantProjectNumber: Tenant project number to be used for idp
1373	// discovery.
1374	TenantProjectNumber uint64 `json:"tenantProjectNumber,omitempty,string"`
1375
1376	// ForceSendFields is a list of field names (e.g. "AutoCreate") to
1377	// unconditionally include in API requests. By default, fields with
1378	// empty values are omitted from API requests. However, any non-pointer,
1379	// non-interface field appearing in ForceSendFields will be sent to the
1380	// server regardless of whether the field is empty or not. This may be
1381	// used to include empty fields in Patch requests.
1382	ForceSendFields []string `json:"-"`
1383
1384	// NullFields is a list of field names (e.g. "AutoCreate") to include in
1385	// API requests with the JSON null value. By default, fields with empty
1386	// values are omitted from API requests. However, any field with an
1387	// empty value appearing in NullFields will be sent to the server as
1388	// null. It is an error if a field in this list has a non-empty value.
1389	// This may be used to include null fields in Patch requests.
1390	NullFields []string `json:"-"`
1391}
1392
1393func (s *IdentitytoolkitRelyingpartyVerifyAssertionRequest) MarshalJSON() ([]byte, error) {
1394	type NoMethod IdentitytoolkitRelyingpartyVerifyAssertionRequest
1395	raw := NoMethod(*s)
1396	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1397}
1398
1399// IdentitytoolkitRelyingpartyVerifyCustomTokenRequest: Request to
1400// verify a custom token
1401type IdentitytoolkitRelyingpartyVerifyCustomTokenRequest struct {
1402	// DelegatedProjectNumber: GCP project number of the requesting
1403	// delegated app. Currently only intended for Firebase V1 migration.
1404	DelegatedProjectNumber int64 `json:"delegatedProjectNumber,omitempty,string"`
1405
1406	// InstanceId: Instance id token of the app.
1407	InstanceId string `json:"instanceId,omitempty"`
1408
1409	// ReturnSecureToken: Whether return sts id token and refresh token
1410	// instead of gitkit token.
1411	ReturnSecureToken bool `json:"returnSecureToken,omitempty"`
1412
1413	// Token: The custom token to verify
1414	Token string `json:"token,omitempty"`
1415
1416	// ForceSendFields is a list of field names (e.g.
1417	// "DelegatedProjectNumber") to unconditionally include in API requests.
1418	// By default, fields with empty values are omitted from API requests.
1419	// However, any non-pointer, non-interface field appearing in
1420	// ForceSendFields will be sent to the server regardless of whether the
1421	// field is empty or not. This may be used to include empty fields in
1422	// Patch requests.
1423	ForceSendFields []string `json:"-"`
1424
1425	// NullFields is a list of field names (e.g. "DelegatedProjectNumber")
1426	// to include in API requests with the JSON null value. By default,
1427	// fields with empty values are omitted from API requests. However, any
1428	// field with an empty value appearing in NullFields will be sent to the
1429	// server as null. It is an error if a field in this list has a
1430	// non-empty value. This may be used to include null fields in Patch
1431	// requests.
1432	NullFields []string `json:"-"`
1433}
1434
1435func (s *IdentitytoolkitRelyingpartyVerifyCustomTokenRequest) MarshalJSON() ([]byte, error) {
1436	type NoMethod IdentitytoolkitRelyingpartyVerifyCustomTokenRequest
1437	raw := NoMethod(*s)
1438	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1439}
1440
1441// IdentitytoolkitRelyingpartyVerifyPasswordRequest: Request to verify
1442// the password.
1443type IdentitytoolkitRelyingpartyVerifyPasswordRequest struct {
1444	// CaptchaChallenge: The captcha challenge.
1445	CaptchaChallenge string `json:"captchaChallenge,omitempty"`
1446
1447	// CaptchaResponse: Response to the captcha.
1448	CaptchaResponse string `json:"captchaResponse,omitempty"`
1449
1450	// DelegatedProjectNumber: GCP project number of the requesting
1451	// delegated app. Currently only intended for Firebase V1 migration.
1452	DelegatedProjectNumber int64 `json:"delegatedProjectNumber,omitempty,string"`
1453
1454	// Email: The email of the user.
1455	Email string `json:"email,omitempty"`
1456
1457	// IdToken: The GITKit token of the authenticated user.
1458	IdToken string `json:"idToken,omitempty"`
1459
1460	// InstanceId: Instance id token of the app.
1461	InstanceId string `json:"instanceId,omitempty"`
1462
1463	// Password: The password inputed by the user.
1464	Password string `json:"password,omitempty"`
1465
1466	// PendingIdToken: The GITKit token for the non-trusted IDP, which is to
1467	// be confirmed by the user.
1468	PendingIdToken string `json:"pendingIdToken,omitempty"`
1469
1470	// ReturnSecureToken: Whether return sts id token and refresh token
1471	// instead of gitkit token.
1472	ReturnSecureToken bool `json:"returnSecureToken,omitempty"`
1473
1474	// TenantId: For multi-tenant use cases, in order to construct sign-in
1475	// URL with the correct IDP parameters, Firebear needs to know which
1476	// Tenant to retrieve IDP configs from.
1477	TenantId string `json:"tenantId,omitempty"`
1478
1479	// TenantProjectNumber: Tenant project number to be used for idp
1480	// discovery.
1481	TenantProjectNumber uint64 `json:"tenantProjectNumber,omitempty,string"`
1482
1483	// ForceSendFields is a list of field names (e.g. "CaptchaChallenge") to
1484	// unconditionally include in API requests. By default, fields with
1485	// empty values are omitted from API requests. However, any non-pointer,
1486	// non-interface field appearing in ForceSendFields will be sent to the
1487	// server regardless of whether the field is empty or not. This may be
1488	// used to include empty fields in Patch requests.
1489	ForceSendFields []string `json:"-"`
1490
1491	// NullFields is a list of field names (e.g. "CaptchaChallenge") to
1492	// include in API requests with the JSON null value. By default, fields
1493	// with empty values are omitted from API requests. However, any field
1494	// with an empty value appearing in NullFields will be sent to the
1495	// server as null. It is an error if a field in this list has a
1496	// non-empty value. This may be used to include null fields in Patch
1497	// requests.
1498	NullFields []string `json:"-"`
1499}
1500
1501func (s *IdentitytoolkitRelyingpartyVerifyPasswordRequest) MarshalJSON() ([]byte, error) {
1502	type NoMethod IdentitytoolkitRelyingpartyVerifyPasswordRequest
1503	raw := NoMethod(*s)
1504	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1505}
1506
1507// IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest: Request for
1508// Identitytoolkit-VerifyPhoneNumber
1509type IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest struct {
1510	Code string `json:"code,omitempty"`
1511
1512	IdToken string `json:"idToken,omitempty"`
1513
1514	Operation string `json:"operation,omitempty"`
1515
1516	PhoneNumber string `json:"phoneNumber,omitempty"`
1517
1518	// SessionInfo: The session info previously returned by
1519	// IdentityToolkit-SendVerificationCode.
1520	SessionInfo string `json:"sessionInfo,omitempty"`
1521
1522	TemporaryProof string `json:"temporaryProof,omitempty"`
1523
1524	VerificationProof string `json:"verificationProof,omitempty"`
1525
1526	// ForceSendFields is a list of field names (e.g. "Code") to
1527	// unconditionally include in API requests. By default, fields with
1528	// empty values are omitted from API requests. However, any non-pointer,
1529	// non-interface field appearing in ForceSendFields will be sent to the
1530	// server regardless of whether the field is empty or not. This may be
1531	// used to include empty fields in Patch requests.
1532	ForceSendFields []string `json:"-"`
1533
1534	// NullFields is a list of field names (e.g. "Code") to include in API
1535	// requests with the JSON null value. By default, fields with empty
1536	// values are omitted from API requests. However, any field with an
1537	// empty value appearing in NullFields will be sent to the server as
1538	// null. It is an error if a field in this list has a non-empty value.
1539	// This may be used to include null fields in Patch requests.
1540	NullFields []string `json:"-"`
1541}
1542
1543func (s *IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest) MarshalJSON() ([]byte, error) {
1544	type NoMethod IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest
1545	raw := NoMethod(*s)
1546	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1547}
1548
1549// IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse: Response for
1550// Identitytoolkit-VerifyPhoneNumber
1551type IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse struct {
1552	ExpiresIn int64 `json:"expiresIn,omitempty,string"`
1553
1554	IdToken string `json:"idToken,omitempty"`
1555
1556	IsNewUser bool `json:"isNewUser,omitempty"`
1557
1558	LocalId string `json:"localId,omitempty"`
1559
1560	PhoneNumber string `json:"phoneNumber,omitempty"`
1561
1562	RefreshToken string `json:"refreshToken,omitempty"`
1563
1564	TemporaryProof string `json:"temporaryProof,omitempty"`
1565
1566	TemporaryProofExpiresIn int64 `json:"temporaryProofExpiresIn,omitempty,string"`
1567
1568	VerificationProof string `json:"verificationProof,omitempty"`
1569
1570	VerificationProofExpiresIn int64 `json:"verificationProofExpiresIn,omitempty,string"`
1571
1572	// ServerResponse contains the HTTP response code and headers from the
1573	// server.
1574	googleapi.ServerResponse `json:"-"`
1575
1576	// ForceSendFields is a list of field names (e.g. "ExpiresIn") to
1577	// unconditionally include in API requests. By default, fields with
1578	// empty values are omitted from API requests. However, any non-pointer,
1579	// non-interface field appearing in ForceSendFields will be sent to the
1580	// server regardless of whether the field is empty or not. This may be
1581	// used to include empty fields in Patch requests.
1582	ForceSendFields []string `json:"-"`
1583
1584	// NullFields is a list of field names (e.g. "ExpiresIn") to include in
1585	// API requests with the JSON null value. By default, fields with empty
1586	// values are omitted from API requests. However, any field with an
1587	// empty value appearing in NullFields will be sent to the server as
1588	// null. It is an error if a field in this list has a non-empty value.
1589	// This may be used to include null fields in Patch requests.
1590	NullFields []string `json:"-"`
1591}
1592
1593func (s *IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse) MarshalJSON() ([]byte, error) {
1594	type NoMethod IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse
1595	raw := NoMethod(*s)
1596	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1597}
1598
1599// IdpConfig: Template for a single idp configuration.
1600type IdpConfig struct {
1601	// ClientId: OAuth2 client ID.
1602	ClientId string `json:"clientId,omitempty"`
1603
1604	// Enabled: Whether this IDP is enabled.
1605	Enabled bool `json:"enabled,omitempty"`
1606
1607	// ExperimentPercent: Percent of users who will be prompted/redirected
1608	// federated login for this IDP.
1609	ExperimentPercent int64 `json:"experimentPercent,omitempty"`
1610
1611	// Provider: OAuth2 provider.
1612	Provider string `json:"provider,omitempty"`
1613
1614	// Secret: OAuth2 client secret.
1615	Secret string `json:"secret,omitempty"`
1616
1617	// WhitelistedAudiences: Whitelisted client IDs for audience check.
1618	WhitelistedAudiences []string `json:"whitelistedAudiences,omitempty"`
1619
1620	// ForceSendFields is a list of field names (e.g. "ClientId") to
1621	// unconditionally include in API requests. By default, fields with
1622	// empty values are omitted from API requests. However, any non-pointer,
1623	// non-interface field appearing in ForceSendFields will be sent to the
1624	// server regardless of whether the field is empty or not. This may be
1625	// used to include empty fields in Patch requests.
1626	ForceSendFields []string `json:"-"`
1627
1628	// NullFields is a list of field names (e.g. "ClientId") to include in
1629	// API requests with the JSON null value. By default, fields with empty
1630	// values are omitted from API requests. However, any field with an
1631	// empty value appearing in NullFields will be sent to the server as
1632	// null. It is an error if a field in this list has a non-empty value.
1633	// This may be used to include null fields in Patch requests.
1634	NullFields []string `json:"-"`
1635}
1636
1637func (s *IdpConfig) MarshalJSON() ([]byte, error) {
1638	type NoMethod IdpConfig
1639	raw := NoMethod(*s)
1640	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1641}
1642
1643// Relyingparty: Request of getting a code for user confirmation (reset
1644// password, change email etc.)
1645type Relyingparty struct {
1646	// AndroidInstallApp: whether or not to install the android app on the
1647	// device where the link is opened
1648	AndroidInstallApp bool `json:"androidInstallApp,omitempty"`
1649
1650	// AndroidMinimumVersion: minimum version of the app. if the version on
1651	// the device is lower than this version then the user is taken to the
1652	// play store to upgrade the app
1653	AndroidMinimumVersion string `json:"androidMinimumVersion,omitempty"`
1654
1655	// AndroidPackageName: android package name of the android app to handle
1656	// the action code
1657	AndroidPackageName string `json:"androidPackageName,omitempty"`
1658
1659	// CanHandleCodeInApp: whether or not the app can handle the oob code
1660	// without first going to web
1661	CanHandleCodeInApp bool `json:"canHandleCodeInApp,omitempty"`
1662
1663	// CaptchaResp: The recaptcha response from the user.
1664	CaptchaResp string `json:"captchaResp,omitempty"`
1665
1666	// Challenge: The recaptcha challenge presented to the user.
1667	Challenge string `json:"challenge,omitempty"`
1668
1669	// ContinueUrl: The url to continue to the Gitkit app
1670	ContinueUrl string `json:"continueUrl,omitempty"`
1671
1672	// Email: The email of the user.
1673	Email string `json:"email,omitempty"`
1674
1675	// IOSAppStoreId: iOS app store id to download the app if it's not
1676	// already installed
1677	IOSAppStoreId string `json:"iOSAppStoreId,omitempty"`
1678
1679	// IOSBundleId: the iOS bundle id of iOS app to handle the action code
1680	IOSBundleId string `json:"iOSBundleId,omitempty"`
1681
1682	// IdToken: The user's Gitkit login token for email change.
1683	IdToken string `json:"idToken,omitempty"`
1684
1685	// Kind: The fixed string "identitytoolkit#relyingparty".
1686	Kind string `json:"kind,omitempty"`
1687
1688	// NewEmail: The new email if the code is for email change.
1689	NewEmail string `json:"newEmail,omitempty"`
1690
1691	// RequestType: The request type.
1692	RequestType string `json:"requestType,omitempty"`
1693
1694	// UserIp: The IP address of the user.
1695	UserIp string `json:"userIp,omitempty"`
1696
1697	// ForceSendFields is a list of field names (e.g. "AndroidInstallApp")
1698	// to unconditionally include in API requests. By default, fields with
1699	// empty values are omitted from API requests. However, any non-pointer,
1700	// non-interface field appearing in ForceSendFields will be sent to the
1701	// server regardless of whether the field is empty or not. This may be
1702	// used to include empty fields in Patch requests.
1703	ForceSendFields []string `json:"-"`
1704
1705	// NullFields is a list of field names (e.g. "AndroidInstallApp") to
1706	// include in API requests with the JSON null value. By default, fields
1707	// with empty values are omitted from API requests. However, any field
1708	// with an empty value appearing in NullFields will be sent to the
1709	// server as null. It is an error if a field in this list has a
1710	// non-empty value. This may be used to include null fields in Patch
1711	// requests.
1712	NullFields []string `json:"-"`
1713}
1714
1715func (s *Relyingparty) MarshalJSON() ([]byte, error) {
1716	type NoMethod Relyingparty
1717	raw := NoMethod(*s)
1718	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1719}
1720
1721// ResetPasswordResponse: Response of resetting the password.
1722type ResetPasswordResponse struct {
1723	// Email: The user's email. If the out-of-band code is for email
1724	// recovery, the user's original email.
1725	Email string `json:"email,omitempty"`
1726
1727	// Kind: The fixed string "identitytoolkit#ResetPasswordResponse".
1728	Kind string `json:"kind,omitempty"`
1729
1730	// NewEmail: If the out-of-band code is for email recovery, the user's
1731	// new email.
1732	NewEmail string `json:"newEmail,omitempty"`
1733
1734	// RequestType: The request type.
1735	RequestType string `json:"requestType,omitempty"`
1736
1737	// ServerResponse contains the HTTP response code and headers from the
1738	// server.
1739	googleapi.ServerResponse `json:"-"`
1740
1741	// ForceSendFields is a list of field names (e.g. "Email") to
1742	// unconditionally include in API requests. By default, fields with
1743	// empty values are omitted from API requests. However, any non-pointer,
1744	// non-interface field appearing in ForceSendFields will be sent to the
1745	// server regardless of whether the field is empty or not. This may be
1746	// used to include empty fields in Patch requests.
1747	ForceSendFields []string `json:"-"`
1748
1749	// NullFields is a list of field names (e.g. "Email") to include in API
1750	// requests with the JSON null value. By default, fields with empty
1751	// values are omitted from API requests. However, any field with an
1752	// empty value appearing in NullFields will be sent to the server as
1753	// null. It is an error if a field in this list has a non-empty value.
1754	// This may be used to include null fields in Patch requests.
1755	NullFields []string `json:"-"`
1756}
1757
1758func (s *ResetPasswordResponse) MarshalJSON() ([]byte, error) {
1759	type NoMethod ResetPasswordResponse
1760	raw := NoMethod(*s)
1761	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1762}
1763
1764// SetAccountInfoResponse: Respone of setting the account information.
1765type SetAccountInfoResponse struct {
1766	// DisplayName: The name of the user.
1767	DisplayName string `json:"displayName,omitempty"`
1768
1769	// Email: The email of the user.
1770	Email string `json:"email,omitempty"`
1771
1772	// EmailVerified: If email has been verified.
1773	EmailVerified bool `json:"emailVerified,omitempty"`
1774
1775	// ExpiresIn: If idToken is STS id token, then this field will be
1776	// expiration time of STS id token in seconds.
1777	ExpiresIn int64 `json:"expiresIn,omitempty,string"`
1778
1779	// IdToken: The Gitkit id token to login the newly sign up user.
1780	IdToken string `json:"idToken,omitempty"`
1781
1782	// Kind: The fixed string "identitytoolkit#SetAccountInfoResponse".
1783	Kind string `json:"kind,omitempty"`
1784
1785	// LocalId: The local ID of the user.
1786	LocalId string `json:"localId,omitempty"`
1787
1788	// NewEmail: The new email the user attempts to change to.
1789	NewEmail string `json:"newEmail,omitempty"`
1790
1791	// PasswordHash: The user's hashed password.
1792	PasswordHash string `json:"passwordHash,omitempty"`
1793
1794	// PhotoUrl: The photo url of the user.
1795	PhotoUrl string `json:"photoUrl,omitempty"`
1796
1797	// ProviderUserInfo: The user's profiles at the associated IdPs.
1798	ProviderUserInfo []*SetAccountInfoResponseProviderUserInfo `json:"providerUserInfo,omitempty"`
1799
1800	// RefreshToken: If idToken is STS id token, then this field will be
1801	// refresh token.
1802	RefreshToken string `json:"refreshToken,omitempty"`
1803
1804	// ServerResponse contains the HTTP response code and headers from the
1805	// server.
1806	googleapi.ServerResponse `json:"-"`
1807
1808	// ForceSendFields is a list of field names (e.g. "DisplayName") to
1809	// unconditionally include in API requests. By default, fields with
1810	// empty values are omitted from API requests. However, any non-pointer,
1811	// non-interface field appearing in ForceSendFields will be sent to the
1812	// server regardless of whether the field is empty or not. This may be
1813	// used to include empty fields in Patch requests.
1814	ForceSendFields []string `json:"-"`
1815
1816	// NullFields is a list of field names (e.g. "DisplayName") to include
1817	// in API requests with the JSON null value. By default, fields with
1818	// empty values are omitted from API requests. However, any field with
1819	// an empty value appearing in NullFields will be sent to the server as
1820	// null. It is an error if a field in this list has a non-empty value.
1821	// This may be used to include null fields in Patch requests.
1822	NullFields []string `json:"-"`
1823}
1824
1825func (s *SetAccountInfoResponse) MarshalJSON() ([]byte, error) {
1826	type NoMethod SetAccountInfoResponse
1827	raw := NoMethod(*s)
1828	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1829}
1830
1831type SetAccountInfoResponseProviderUserInfo struct {
1832	// DisplayName: The user's display name at the IDP.
1833	DisplayName string `json:"displayName,omitempty"`
1834
1835	// FederatedId: User's identifier at IDP.
1836	FederatedId string `json:"federatedId,omitempty"`
1837
1838	// PhotoUrl: The user's photo url at the IDP.
1839	PhotoUrl string `json:"photoUrl,omitempty"`
1840
1841	// ProviderId: The IdP ID. For whitelisted IdPs it's a short domain
1842	// name, e.g., google.com, aol.com, live.net and yahoo.com. For other
1843	// OpenID IdPs it's the OP identifier.
1844	ProviderId string `json:"providerId,omitempty"`
1845
1846	// ForceSendFields is a list of field names (e.g. "DisplayName") to
1847	// unconditionally include in API requests. By default, fields with
1848	// empty values are omitted from API requests. However, any non-pointer,
1849	// non-interface field appearing in ForceSendFields will be sent to the
1850	// server regardless of whether the field is empty or not. This may be
1851	// used to include empty fields in Patch requests.
1852	ForceSendFields []string `json:"-"`
1853
1854	// NullFields is a list of field names (e.g. "DisplayName") to include
1855	// in API requests with the JSON null value. By default, fields with
1856	// empty values are omitted from API requests. However, any field with
1857	// an empty value appearing in NullFields will be sent to the server as
1858	// null. It is an error if a field in this list has a non-empty value.
1859	// This may be used to include null fields in Patch requests.
1860	NullFields []string `json:"-"`
1861}
1862
1863func (s *SetAccountInfoResponseProviderUserInfo) MarshalJSON() ([]byte, error) {
1864	type NoMethod SetAccountInfoResponseProviderUserInfo
1865	raw := NoMethod(*s)
1866	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1867}
1868
1869// SignupNewUserResponse: Response of signing up new user, creating
1870// anonymous user or anonymous user reauth.
1871type SignupNewUserResponse struct {
1872	// DisplayName: The name of the user.
1873	DisplayName string `json:"displayName,omitempty"`
1874
1875	// Email: The email of the user.
1876	Email string `json:"email,omitempty"`
1877
1878	// ExpiresIn: If idToken is STS id token, then this field will be
1879	// expiration time of STS id token in seconds.
1880	ExpiresIn int64 `json:"expiresIn,omitempty,string"`
1881
1882	// IdToken: The Gitkit id token to login the newly sign up user.
1883	IdToken string `json:"idToken,omitempty"`
1884
1885	// Kind: The fixed string "identitytoolkit#SignupNewUserResponse".
1886	Kind string `json:"kind,omitempty"`
1887
1888	// LocalId: The RP local ID of the user.
1889	LocalId string `json:"localId,omitempty"`
1890
1891	// RefreshToken: If idToken is STS id token, then this field will be
1892	// refresh token.
1893	RefreshToken string `json:"refreshToken,omitempty"`
1894
1895	// ServerResponse contains the HTTP response code and headers from the
1896	// server.
1897	googleapi.ServerResponse `json:"-"`
1898
1899	// ForceSendFields is a list of field names (e.g. "DisplayName") to
1900	// unconditionally include in API requests. By default, fields with
1901	// empty values are omitted from API requests. However, any non-pointer,
1902	// non-interface field appearing in ForceSendFields will be sent to the
1903	// server regardless of whether the field is empty or not. This may be
1904	// used to include empty fields in Patch requests.
1905	ForceSendFields []string `json:"-"`
1906
1907	// NullFields is a list of field names (e.g. "DisplayName") to include
1908	// in API requests with the JSON null value. By default, fields with
1909	// empty values are omitted from API requests. However, any field with
1910	// an empty value appearing in NullFields will be sent to the server as
1911	// null. It is an error if a field in this list has a non-empty value.
1912	// This may be used to include null fields in Patch requests.
1913	NullFields []string `json:"-"`
1914}
1915
1916func (s *SignupNewUserResponse) MarshalJSON() ([]byte, error) {
1917	type NoMethod SignupNewUserResponse
1918	raw := NoMethod(*s)
1919	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1920}
1921
1922// UploadAccountResponse: Respone of uploading accounts in batch.
1923type UploadAccountResponse struct {
1924	// Error: The error encountered while processing the account info.
1925	Error []*UploadAccountResponseError `json:"error,omitempty"`
1926
1927	// Kind: The fixed string "identitytoolkit#UploadAccountResponse".
1928	Kind string `json:"kind,omitempty"`
1929
1930	// ServerResponse contains the HTTP response code and headers from the
1931	// server.
1932	googleapi.ServerResponse `json:"-"`
1933
1934	// ForceSendFields is a list of field names (e.g. "Error") to
1935	// unconditionally include in API requests. By default, fields with
1936	// empty values are omitted from API requests. However, any non-pointer,
1937	// non-interface field appearing in ForceSendFields will be sent to the
1938	// server regardless of whether the field is empty or not. This may be
1939	// used to include empty fields in Patch requests.
1940	ForceSendFields []string `json:"-"`
1941
1942	// NullFields is a list of field names (e.g. "Error") to include in API
1943	// requests with the JSON null value. By default, fields with empty
1944	// values are omitted from API requests. However, any field with an
1945	// empty value appearing in NullFields will be sent to the server as
1946	// null. It is an error if a field in this list has a non-empty value.
1947	// This may be used to include null fields in Patch requests.
1948	NullFields []string `json:"-"`
1949}
1950
1951func (s *UploadAccountResponse) MarshalJSON() ([]byte, error) {
1952	type NoMethod UploadAccountResponse
1953	raw := NoMethod(*s)
1954	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1955}
1956
1957type UploadAccountResponseError struct {
1958	// Index: The index of the malformed account, starting from 0.
1959	Index int64 `json:"index,omitempty"`
1960
1961	// Message: Detailed error message for the account info.
1962	Message string `json:"message,omitempty"`
1963
1964	// ForceSendFields is a list of field names (e.g. "Index") to
1965	// unconditionally include in API requests. By default, fields with
1966	// empty values are omitted from API requests. However, any non-pointer,
1967	// non-interface field appearing in ForceSendFields will be sent to the
1968	// server regardless of whether the field is empty or not. This may be
1969	// used to include empty fields in Patch requests.
1970	ForceSendFields []string `json:"-"`
1971
1972	// NullFields is a list of field names (e.g. "Index") to include in API
1973	// requests with the JSON null value. By default, fields with empty
1974	// values are omitted from API requests. However, any field with an
1975	// empty value appearing in NullFields will be sent to the server as
1976	// null. It is an error if a field in this list has a non-empty value.
1977	// This may be used to include null fields in Patch requests.
1978	NullFields []string `json:"-"`
1979}
1980
1981func (s *UploadAccountResponseError) MarshalJSON() ([]byte, error) {
1982	type NoMethod UploadAccountResponseError
1983	raw := NoMethod(*s)
1984	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1985}
1986
1987// UserInfo: Template for an individual account info.
1988type UserInfo struct {
1989	// CreatedAt: User creation timestamp.
1990	CreatedAt int64 `json:"createdAt,omitempty,string"`
1991
1992	// CustomAttributes: The custom attributes to be set in the user's id
1993	// token.
1994	CustomAttributes string `json:"customAttributes,omitempty"`
1995
1996	// CustomAuth: Whether the user is authenticated by the developer.
1997	CustomAuth bool `json:"customAuth,omitempty"`
1998
1999	// Disabled: Whether the user is disabled.
2000	Disabled bool `json:"disabled,omitempty"`
2001
2002	// DisplayName: The name of the user.
2003	DisplayName string `json:"displayName,omitempty"`
2004
2005	// Email: The email of the user.
2006	Email string `json:"email,omitempty"`
2007
2008	// EmailVerified: Whether the email has been verified.
2009	EmailVerified bool `json:"emailVerified,omitempty"`
2010
2011	// LastLoginAt: last login timestamp.
2012	LastLoginAt int64 `json:"lastLoginAt,omitempty,string"`
2013
2014	// LocalId: The local ID of the user.
2015	LocalId string `json:"localId,omitempty"`
2016
2017	// PasswordHash: The user's hashed password.
2018	PasswordHash string `json:"passwordHash,omitempty"`
2019
2020	// PasswordUpdatedAt: The timestamp when the password was last updated.
2021	PasswordUpdatedAt float64 `json:"passwordUpdatedAt,omitempty"`
2022
2023	// PhoneNumber: User's phone number.
2024	PhoneNumber string `json:"phoneNumber,omitempty"`
2025
2026	// PhotoUrl: The URL of the user profile photo.
2027	PhotoUrl string `json:"photoUrl,omitempty"`
2028
2029	// ProviderUserInfo: The IDP of the user.
2030	ProviderUserInfo []*UserInfoProviderUserInfo `json:"providerUserInfo,omitempty"`
2031
2032	// RawPassword: The user's plain text password.
2033	RawPassword string `json:"rawPassword,omitempty"`
2034
2035	// Salt: The user's password salt.
2036	Salt string `json:"salt,omitempty"`
2037
2038	// ScreenName: User's screen name at Twitter or login name at Github.
2039	ScreenName string `json:"screenName,omitempty"`
2040
2041	// ValidSince: Timestamp in seconds for valid login token.
2042	ValidSince int64 `json:"validSince,omitempty,string"`
2043
2044	// Version: Version of the user's password.
2045	Version int64 `json:"version,omitempty"`
2046
2047	// ForceSendFields is a list of field names (e.g. "CreatedAt") to
2048	// unconditionally include in API requests. By default, fields with
2049	// empty values are omitted from API requests. However, any non-pointer,
2050	// non-interface field appearing in ForceSendFields will be sent to the
2051	// server regardless of whether the field is empty or not. This may be
2052	// used to include empty fields in Patch requests.
2053	ForceSendFields []string `json:"-"`
2054
2055	// NullFields is a list of field names (e.g. "CreatedAt") to include in
2056	// API requests with the JSON null value. By default, fields with empty
2057	// values are omitted from API requests. However, any field with an
2058	// empty value appearing in NullFields will be sent to the server as
2059	// null. It is an error if a field in this list has a non-empty value.
2060	// This may be used to include null fields in Patch requests.
2061	NullFields []string `json:"-"`
2062}
2063
2064func (s *UserInfo) MarshalJSON() ([]byte, error) {
2065	type NoMethod UserInfo
2066	raw := NoMethod(*s)
2067	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2068}
2069
2070func (s *UserInfo) UnmarshalJSON(data []byte) error {
2071	type NoMethod UserInfo
2072	var s1 struct {
2073		PasswordUpdatedAt gensupport.JSONFloat64 `json:"passwordUpdatedAt"`
2074		*NoMethod
2075	}
2076	s1.NoMethod = (*NoMethod)(s)
2077	if err := json.Unmarshal(data, &s1); err != nil {
2078		return err
2079	}
2080	s.PasswordUpdatedAt = float64(s1.PasswordUpdatedAt)
2081	return nil
2082}
2083
2084type UserInfoProviderUserInfo struct {
2085	// DisplayName: The user's display name at the IDP.
2086	DisplayName string `json:"displayName,omitempty"`
2087
2088	// Email: User's email at IDP.
2089	Email string `json:"email,omitempty"`
2090
2091	// FederatedId: User's identifier at IDP.
2092	FederatedId string `json:"federatedId,omitempty"`
2093
2094	// PhoneNumber: User's phone number.
2095	PhoneNumber string `json:"phoneNumber,omitempty"`
2096
2097	// PhotoUrl: The user's photo url at the IDP.
2098	PhotoUrl string `json:"photoUrl,omitempty"`
2099
2100	// ProviderId: The IdP ID. For white listed IdPs it's a short domain
2101	// name, e.g., google.com, aol.com, live.net and yahoo.com. For other
2102	// OpenID IdPs it's the OP identifier.
2103	ProviderId string `json:"providerId,omitempty"`
2104
2105	// RawId: User's raw identifier directly returned from IDP.
2106	RawId string `json:"rawId,omitempty"`
2107
2108	// ScreenName: User's screen name at Twitter or login name at Github.
2109	ScreenName string `json:"screenName,omitempty"`
2110
2111	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2112	// unconditionally include in API requests. By default, fields with
2113	// empty values are omitted from API requests. However, any non-pointer,
2114	// non-interface field appearing in ForceSendFields will be sent to the
2115	// server regardless of whether the field is empty or not. This may be
2116	// used to include empty fields in Patch requests.
2117	ForceSendFields []string `json:"-"`
2118
2119	// NullFields is a list of field names (e.g. "DisplayName") to include
2120	// in API requests with the JSON null value. By default, fields with
2121	// empty values are omitted from API requests. However, any field with
2122	// an empty value appearing in NullFields will be sent to the server as
2123	// null. It is an error if a field in this list has a non-empty value.
2124	// This may be used to include null fields in Patch requests.
2125	NullFields []string `json:"-"`
2126}
2127
2128func (s *UserInfoProviderUserInfo) MarshalJSON() ([]byte, error) {
2129	type NoMethod UserInfoProviderUserInfo
2130	raw := NoMethod(*s)
2131	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2132}
2133
2134// VerifyAssertionResponse: Response of verifying the IDP assertion.
2135type VerifyAssertionResponse struct {
2136	// Action: The action code.
2137	Action string `json:"action,omitempty"`
2138
2139	// AppInstallationUrl: URL for OTA app installation.
2140	AppInstallationUrl string `json:"appInstallationUrl,omitempty"`
2141
2142	// AppScheme: The custom scheme used by mobile app.
2143	AppScheme string `json:"appScheme,omitempty"`
2144
2145	// Context: The opaque value used by the client to maintain context info
2146	// between the authentication request and the IDP callback.
2147	Context string `json:"context,omitempty"`
2148
2149	// DateOfBirth: The birth date of the IdP account.
2150	DateOfBirth string `json:"dateOfBirth,omitempty"`
2151
2152	// DisplayName: The display name of the user.
2153	DisplayName string `json:"displayName,omitempty"`
2154
2155	// Email: The email returned by the IdP. NOTE: The federated login user
2156	// may not own the email.
2157	Email string `json:"email,omitempty"`
2158
2159	// EmailRecycled: It's true if the email is recycled.
2160	EmailRecycled bool `json:"emailRecycled,omitempty"`
2161
2162	// EmailVerified: The value is true if the IDP is also the email
2163	// provider. It means the user owns the email.
2164	EmailVerified bool `json:"emailVerified,omitempty"`
2165
2166	// ErrorMessage: Client error code.
2167	ErrorMessage string `json:"errorMessage,omitempty"`
2168
2169	// ExpiresIn: If idToken is STS id token, then this field will be
2170	// expiration time of STS id token in seconds.
2171	ExpiresIn int64 `json:"expiresIn,omitempty,string"`
2172
2173	// FederatedId: The unique ID identifies the IdP account.
2174	FederatedId string `json:"federatedId,omitempty"`
2175
2176	// FirstName: The first name of the user.
2177	FirstName string `json:"firstName,omitempty"`
2178
2179	// FullName: The full name of the user.
2180	FullName string `json:"fullName,omitempty"`
2181
2182	// IdToken: The ID token.
2183	IdToken string `json:"idToken,omitempty"`
2184
2185	// InputEmail: It's the identifier param in the createAuthUri request if
2186	// the identifier is an email. It can be used to check whether the user
2187	// input email is different from the asserted email.
2188	InputEmail string `json:"inputEmail,omitempty"`
2189
2190	// IsNewUser: True if it's a new user sign-in, false if it's a returning
2191	// user.
2192	IsNewUser bool `json:"isNewUser,omitempty"`
2193
2194	// Kind: The fixed string "identitytoolkit#VerifyAssertionResponse".
2195	Kind string `json:"kind,omitempty"`
2196
2197	// Language: The language preference of the user.
2198	Language string `json:"language,omitempty"`
2199
2200	// LastName: The last name of the user.
2201	LastName string `json:"lastName,omitempty"`
2202
2203	// LocalId: The RP local ID if it's already been mapped to the IdP
2204	// account identified by the federated ID.
2205	LocalId string `json:"localId,omitempty"`
2206
2207	// NeedConfirmation: Whether the assertion is from a non-trusted IDP and
2208	// need account linking confirmation.
2209	NeedConfirmation bool `json:"needConfirmation,omitempty"`
2210
2211	// NeedEmail: Whether need client to supply email to complete the
2212	// federated login flow.
2213	NeedEmail bool `json:"needEmail,omitempty"`
2214
2215	// NickName: The nick name of the user.
2216	NickName string `json:"nickName,omitempty"`
2217
2218	// OauthAccessToken: The OAuth2 access token.
2219	OauthAccessToken string `json:"oauthAccessToken,omitempty"`
2220
2221	// OauthAuthorizationCode: The OAuth2 authorization code.
2222	OauthAuthorizationCode string `json:"oauthAuthorizationCode,omitempty"`
2223
2224	// OauthExpireIn: The lifetime in seconds of the OAuth2 access token.
2225	OauthExpireIn int64 `json:"oauthExpireIn,omitempty"`
2226
2227	// OauthIdToken: The OIDC id token.
2228	OauthIdToken string `json:"oauthIdToken,omitempty"`
2229
2230	// OauthRequestToken: The user approved request token for the OpenID
2231	// OAuth extension.
2232	OauthRequestToken string `json:"oauthRequestToken,omitempty"`
2233
2234	// OauthScope: The scope for the OpenID OAuth extension.
2235	OauthScope string `json:"oauthScope,omitempty"`
2236
2237	// OauthTokenSecret: The OAuth1 access token secret.
2238	OauthTokenSecret string `json:"oauthTokenSecret,omitempty"`
2239
2240	// OriginalEmail: The original email stored in the mapping storage. It's
2241	// returned when the federated ID is associated to a different email.
2242	OriginalEmail string `json:"originalEmail,omitempty"`
2243
2244	// PhotoUrl: The URI of the public accessible profiel picture.
2245	PhotoUrl string `json:"photoUrl,omitempty"`
2246
2247	// ProviderId: The IdP ID. For white listed IdPs it's a short domain
2248	// name e.g. google.com, aol.com, live.net and yahoo.com. If the
2249	// "providerId" param is set to OpenID OP identifer other than the
2250	// whilte listed IdPs the OP identifier is returned. If the "identifier"
2251	// param is federated ID in the createAuthUri request. The domain part
2252	// of the federated ID is returned.
2253	ProviderId string `json:"providerId,omitempty"`
2254
2255	// RawUserInfo: Raw IDP-returned user info.
2256	RawUserInfo string `json:"rawUserInfo,omitempty"`
2257
2258	// RefreshToken: If idToken is STS id token, then this field will be
2259	// refresh token.
2260	RefreshToken string `json:"refreshToken,omitempty"`
2261
2262	// ScreenName: The screen_name of a Twitter user or the login name at
2263	// Github.
2264	ScreenName string `json:"screenName,omitempty"`
2265
2266	// TimeZone: The timezone of the user.
2267	TimeZone string `json:"timeZone,omitempty"`
2268
2269	// VerifiedProvider: When action is 'map', contains the idps which can
2270	// be used for confirmation.
2271	VerifiedProvider []string `json:"verifiedProvider,omitempty"`
2272
2273	// ServerResponse contains the HTTP response code and headers from the
2274	// server.
2275	googleapi.ServerResponse `json:"-"`
2276
2277	// ForceSendFields is a list of field names (e.g. "Action") to
2278	// unconditionally include in API requests. By default, fields with
2279	// empty values are omitted from API requests. However, any non-pointer,
2280	// non-interface field appearing in ForceSendFields will be sent to the
2281	// server regardless of whether the field is empty or not. This may be
2282	// used to include empty fields in Patch requests.
2283	ForceSendFields []string `json:"-"`
2284
2285	// NullFields is a list of field names (e.g. "Action") to include in API
2286	// requests with the JSON null value. By default, fields with empty
2287	// values are omitted from API requests. However, any field with an
2288	// empty value appearing in NullFields will be sent to the server as
2289	// null. It is an error if a field in this list has a non-empty value.
2290	// This may be used to include null fields in Patch requests.
2291	NullFields []string `json:"-"`
2292}
2293
2294func (s *VerifyAssertionResponse) MarshalJSON() ([]byte, error) {
2295	type NoMethod VerifyAssertionResponse
2296	raw := NoMethod(*s)
2297	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2298}
2299
2300// VerifyCustomTokenResponse: Response from verifying a custom token
2301type VerifyCustomTokenResponse struct {
2302	// ExpiresIn: If idToken is STS id token, then this field will be
2303	// expiration time of STS id token in seconds.
2304	ExpiresIn int64 `json:"expiresIn,omitempty,string"`
2305
2306	// IdToken: The GITKit token for authenticated user.
2307	IdToken string `json:"idToken,omitempty"`
2308
2309	// IsNewUser: True if it's a new user sign-in, false if it's a returning
2310	// user.
2311	IsNewUser bool `json:"isNewUser,omitempty"`
2312
2313	// Kind: The fixed string "identitytoolkit#VerifyCustomTokenResponse".
2314	Kind string `json:"kind,omitempty"`
2315
2316	// RefreshToken: If idToken is STS id token, then this field will be
2317	// refresh token.
2318	RefreshToken string `json:"refreshToken,omitempty"`
2319
2320	// ServerResponse contains the HTTP response code and headers from the
2321	// server.
2322	googleapi.ServerResponse `json:"-"`
2323
2324	// ForceSendFields is a list of field names (e.g. "ExpiresIn") to
2325	// unconditionally include in API requests. By default, fields with
2326	// empty values are omitted from API requests. However, any non-pointer,
2327	// non-interface field appearing in ForceSendFields will be sent to the
2328	// server regardless of whether the field is empty or not. This may be
2329	// used to include empty fields in Patch requests.
2330	ForceSendFields []string `json:"-"`
2331
2332	// NullFields is a list of field names (e.g. "ExpiresIn") to include in
2333	// API requests with the JSON null value. By default, fields with empty
2334	// values are omitted from API requests. However, any field with an
2335	// empty value appearing in NullFields will be sent to the server as
2336	// null. It is an error if a field in this list has a non-empty value.
2337	// This may be used to include null fields in Patch requests.
2338	NullFields []string `json:"-"`
2339}
2340
2341func (s *VerifyCustomTokenResponse) MarshalJSON() ([]byte, error) {
2342	type NoMethod VerifyCustomTokenResponse
2343	raw := NoMethod(*s)
2344	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2345}
2346
2347// VerifyPasswordResponse: Request of verifying the password.
2348type VerifyPasswordResponse struct {
2349	// DisplayName: The name of the user.
2350	DisplayName string `json:"displayName,omitempty"`
2351
2352	// Email: The email returned by the IdP. NOTE: The federated login user
2353	// may not own the email.
2354	Email string `json:"email,omitempty"`
2355
2356	// ExpiresIn: If idToken is STS id token, then this field will be
2357	// expiration time of STS id token in seconds.
2358	ExpiresIn int64 `json:"expiresIn,omitempty,string"`
2359
2360	// IdToken: The GITKit token for authenticated user.
2361	IdToken string `json:"idToken,omitempty"`
2362
2363	// Kind: The fixed string "identitytoolkit#VerifyPasswordResponse".
2364	Kind string `json:"kind,omitempty"`
2365
2366	// LocalId: The RP local ID if it's already been mapped to the IdP
2367	// account identified by the federated ID.
2368	LocalId string `json:"localId,omitempty"`
2369
2370	// OauthAccessToken: The OAuth2 access token.
2371	OauthAccessToken string `json:"oauthAccessToken,omitempty"`
2372
2373	// OauthAuthorizationCode: The OAuth2 authorization code.
2374	OauthAuthorizationCode string `json:"oauthAuthorizationCode,omitempty"`
2375
2376	// OauthExpireIn: The lifetime in seconds of the OAuth2 access token.
2377	OauthExpireIn int64 `json:"oauthExpireIn,omitempty"`
2378
2379	// PhotoUrl: The URI of the user's photo at IdP
2380	PhotoUrl string `json:"photoUrl,omitempty"`
2381
2382	// RefreshToken: If idToken is STS id token, then this field will be
2383	// refresh token.
2384	RefreshToken string `json:"refreshToken,omitempty"`
2385
2386	// Registered: Whether the email is registered.
2387	Registered bool `json:"registered,omitempty"`
2388
2389	// ServerResponse contains the HTTP response code and headers from the
2390	// server.
2391	googleapi.ServerResponse `json:"-"`
2392
2393	// ForceSendFields is a list of field names (e.g. "DisplayName") to
2394	// unconditionally include in API requests. By default, fields with
2395	// empty values are omitted from API requests. However, any non-pointer,
2396	// non-interface field appearing in ForceSendFields will be sent to the
2397	// server regardless of whether the field is empty or not. This may be
2398	// used to include empty fields in Patch requests.
2399	ForceSendFields []string `json:"-"`
2400
2401	// NullFields is a list of field names (e.g. "DisplayName") to include
2402	// in API requests with the JSON null value. By default, fields with
2403	// empty values are omitted from API requests. However, any field with
2404	// an empty value appearing in NullFields will be sent to the server as
2405	// null. It is an error if a field in this list has a non-empty value.
2406	// This may be used to include null fields in Patch requests.
2407	NullFields []string `json:"-"`
2408}
2409
2410func (s *VerifyPasswordResponse) MarshalJSON() ([]byte, error) {
2411	type NoMethod VerifyPasswordResponse
2412	raw := NoMethod(*s)
2413	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2414}
2415
2416// method id "identitytoolkit.relyingparty.createAuthUri":
2417
2418type RelyingpartyCreateAuthUriCall struct {
2419	s                                               *Service
2420	identitytoolkitrelyingpartycreateauthurirequest *IdentitytoolkitRelyingpartyCreateAuthUriRequest
2421	urlParams_                                      gensupport.URLParams
2422	ctx_                                            context.Context
2423	header_                                         http.Header
2424}
2425
2426// CreateAuthUri: Creates the URI used by the IdP to authenticate the
2427// user.
2428func (r *RelyingpartyService) CreateAuthUri(identitytoolkitrelyingpartycreateauthurirequest *IdentitytoolkitRelyingpartyCreateAuthUriRequest) *RelyingpartyCreateAuthUriCall {
2429	c := &RelyingpartyCreateAuthUriCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2430	c.identitytoolkitrelyingpartycreateauthurirequest = identitytoolkitrelyingpartycreateauthurirequest
2431	return c
2432}
2433
2434// Fields allows partial responses to be retrieved. See
2435// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2436// for more information.
2437func (c *RelyingpartyCreateAuthUriCall) Fields(s ...googleapi.Field) *RelyingpartyCreateAuthUriCall {
2438	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2439	return c
2440}
2441
2442// Context sets the context to be used in this call's Do method. Any
2443// pending HTTP request will be aborted if the provided context is
2444// canceled.
2445func (c *RelyingpartyCreateAuthUriCall) Context(ctx context.Context) *RelyingpartyCreateAuthUriCall {
2446	c.ctx_ = ctx
2447	return c
2448}
2449
2450// Header returns an http.Header that can be modified by the caller to
2451// add HTTP headers to the request.
2452func (c *RelyingpartyCreateAuthUriCall) Header() http.Header {
2453	if c.header_ == nil {
2454		c.header_ = make(http.Header)
2455	}
2456	return c.header_
2457}
2458
2459func (c *RelyingpartyCreateAuthUriCall) doRequest(alt string) (*http.Response, error) {
2460	reqHeaders := make(http.Header)
2461	for k, v := range c.header_ {
2462		reqHeaders[k] = v
2463	}
2464	reqHeaders.Set("User-Agent", c.s.userAgent())
2465	var body io.Reader = nil
2466	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartycreateauthurirequest)
2467	if err != nil {
2468		return nil, err
2469	}
2470	reqHeaders.Set("Content-Type", "application/json")
2471	c.urlParams_.Set("alt", alt)
2472	c.urlParams_.Set("prettyPrint", "false")
2473	urls := googleapi.ResolveRelative(c.s.BasePath, "createAuthUri")
2474	urls += "?" + c.urlParams_.Encode()
2475	req, err := http.NewRequest("POST", urls, body)
2476	if err != nil {
2477		return nil, err
2478	}
2479	req.Header = reqHeaders
2480	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2481}
2482
2483// Do executes the "identitytoolkit.relyingparty.createAuthUri" call.
2484// Exactly one of *CreateAuthUriResponse or error will be non-nil. Any
2485// non-2xx status code is an error. Response headers are in either
2486// *CreateAuthUriResponse.ServerResponse.Header or (if a response was
2487// returned at all) in error.(*googleapi.Error).Header. Use
2488// googleapi.IsNotModified to check whether the returned error was
2489// because http.StatusNotModified was returned.
2490func (c *RelyingpartyCreateAuthUriCall) Do(opts ...googleapi.CallOption) (*CreateAuthUriResponse, error) {
2491	gensupport.SetOptions(c.urlParams_, opts...)
2492	res, err := c.doRequest("json")
2493	if res != nil && res.StatusCode == http.StatusNotModified {
2494		if res.Body != nil {
2495			res.Body.Close()
2496		}
2497		return nil, &googleapi.Error{
2498			Code:   res.StatusCode,
2499			Header: res.Header,
2500		}
2501	}
2502	if err != nil {
2503		return nil, err
2504	}
2505	defer googleapi.CloseBody(res)
2506	if err := googleapi.CheckResponse(res); err != nil {
2507		return nil, err
2508	}
2509	ret := &CreateAuthUriResponse{
2510		ServerResponse: googleapi.ServerResponse{
2511			Header:         res.Header,
2512			HTTPStatusCode: res.StatusCode,
2513		},
2514	}
2515	target := &ret
2516	if err := gensupport.DecodeResponse(target, res); err != nil {
2517		return nil, err
2518	}
2519	return ret, nil
2520	// {
2521	//   "description": "Creates the URI used by the IdP to authenticate the user.",
2522	//   "httpMethod": "POST",
2523	//   "id": "identitytoolkit.relyingparty.createAuthUri",
2524	//   "path": "createAuthUri",
2525	//   "request": {
2526	//     "$ref": "IdentitytoolkitRelyingpartyCreateAuthUriRequest"
2527	//   },
2528	//   "response": {
2529	//     "$ref": "CreateAuthUriResponse"
2530	//   },
2531	//   "scopes": [
2532	//     "https://www.googleapis.com/auth/cloud-platform"
2533	//   ]
2534	// }
2535
2536}
2537
2538// method id "identitytoolkit.relyingparty.deleteAccount":
2539
2540type RelyingpartyDeleteAccountCall struct {
2541	s                                               *Service
2542	identitytoolkitrelyingpartydeleteaccountrequest *IdentitytoolkitRelyingpartyDeleteAccountRequest
2543	urlParams_                                      gensupport.URLParams
2544	ctx_                                            context.Context
2545	header_                                         http.Header
2546}
2547
2548// DeleteAccount: Delete user account.
2549func (r *RelyingpartyService) DeleteAccount(identitytoolkitrelyingpartydeleteaccountrequest *IdentitytoolkitRelyingpartyDeleteAccountRequest) *RelyingpartyDeleteAccountCall {
2550	c := &RelyingpartyDeleteAccountCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2551	c.identitytoolkitrelyingpartydeleteaccountrequest = identitytoolkitrelyingpartydeleteaccountrequest
2552	return c
2553}
2554
2555// Fields allows partial responses to be retrieved. See
2556// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2557// for more information.
2558func (c *RelyingpartyDeleteAccountCall) Fields(s ...googleapi.Field) *RelyingpartyDeleteAccountCall {
2559	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2560	return c
2561}
2562
2563// Context sets the context to be used in this call's Do method. Any
2564// pending HTTP request will be aborted if the provided context is
2565// canceled.
2566func (c *RelyingpartyDeleteAccountCall) Context(ctx context.Context) *RelyingpartyDeleteAccountCall {
2567	c.ctx_ = ctx
2568	return c
2569}
2570
2571// Header returns an http.Header that can be modified by the caller to
2572// add HTTP headers to the request.
2573func (c *RelyingpartyDeleteAccountCall) Header() http.Header {
2574	if c.header_ == nil {
2575		c.header_ = make(http.Header)
2576	}
2577	return c.header_
2578}
2579
2580func (c *RelyingpartyDeleteAccountCall) doRequest(alt string) (*http.Response, error) {
2581	reqHeaders := make(http.Header)
2582	for k, v := range c.header_ {
2583		reqHeaders[k] = v
2584	}
2585	reqHeaders.Set("User-Agent", c.s.userAgent())
2586	var body io.Reader = nil
2587	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartydeleteaccountrequest)
2588	if err != nil {
2589		return nil, err
2590	}
2591	reqHeaders.Set("Content-Type", "application/json")
2592	c.urlParams_.Set("alt", alt)
2593	c.urlParams_.Set("prettyPrint", "false")
2594	urls := googleapi.ResolveRelative(c.s.BasePath, "deleteAccount")
2595	urls += "?" + c.urlParams_.Encode()
2596	req, err := http.NewRequest("POST", urls, body)
2597	if err != nil {
2598		return nil, err
2599	}
2600	req.Header = reqHeaders
2601	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2602}
2603
2604// Do executes the "identitytoolkit.relyingparty.deleteAccount" call.
2605// Exactly one of *DeleteAccountResponse or error will be non-nil. Any
2606// non-2xx status code is an error. Response headers are in either
2607// *DeleteAccountResponse.ServerResponse.Header or (if a response was
2608// returned at all) in error.(*googleapi.Error).Header. Use
2609// googleapi.IsNotModified to check whether the returned error was
2610// because http.StatusNotModified was returned.
2611func (c *RelyingpartyDeleteAccountCall) Do(opts ...googleapi.CallOption) (*DeleteAccountResponse, error) {
2612	gensupport.SetOptions(c.urlParams_, opts...)
2613	res, err := c.doRequest("json")
2614	if res != nil && res.StatusCode == http.StatusNotModified {
2615		if res.Body != nil {
2616			res.Body.Close()
2617		}
2618		return nil, &googleapi.Error{
2619			Code:   res.StatusCode,
2620			Header: res.Header,
2621		}
2622	}
2623	if err != nil {
2624		return nil, err
2625	}
2626	defer googleapi.CloseBody(res)
2627	if err := googleapi.CheckResponse(res); err != nil {
2628		return nil, err
2629	}
2630	ret := &DeleteAccountResponse{
2631		ServerResponse: googleapi.ServerResponse{
2632			Header:         res.Header,
2633			HTTPStatusCode: res.StatusCode,
2634		},
2635	}
2636	target := &ret
2637	if err := gensupport.DecodeResponse(target, res); err != nil {
2638		return nil, err
2639	}
2640	return ret, nil
2641	// {
2642	//   "description": "Delete user account.",
2643	//   "httpMethod": "POST",
2644	//   "id": "identitytoolkit.relyingparty.deleteAccount",
2645	//   "path": "deleteAccount",
2646	//   "request": {
2647	//     "$ref": "IdentitytoolkitRelyingpartyDeleteAccountRequest"
2648	//   },
2649	//   "response": {
2650	//     "$ref": "DeleteAccountResponse"
2651	//   },
2652	//   "scopes": [
2653	//     "https://www.googleapis.com/auth/cloud-platform"
2654	//   ]
2655	// }
2656
2657}
2658
2659// method id "identitytoolkit.relyingparty.downloadAccount":
2660
2661type RelyingpartyDownloadAccountCall struct {
2662	s                                                 *Service
2663	identitytoolkitrelyingpartydownloadaccountrequest *IdentitytoolkitRelyingpartyDownloadAccountRequest
2664	urlParams_                                        gensupport.URLParams
2665	ctx_                                              context.Context
2666	header_                                           http.Header
2667}
2668
2669// DownloadAccount: Batch download user accounts.
2670func (r *RelyingpartyService) DownloadAccount(identitytoolkitrelyingpartydownloadaccountrequest *IdentitytoolkitRelyingpartyDownloadAccountRequest) *RelyingpartyDownloadAccountCall {
2671	c := &RelyingpartyDownloadAccountCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2672	c.identitytoolkitrelyingpartydownloadaccountrequest = identitytoolkitrelyingpartydownloadaccountrequest
2673	return c
2674}
2675
2676// Fields allows partial responses to be retrieved. See
2677// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2678// for more information.
2679func (c *RelyingpartyDownloadAccountCall) Fields(s ...googleapi.Field) *RelyingpartyDownloadAccountCall {
2680	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2681	return c
2682}
2683
2684// Context sets the context to be used in this call's Do method. Any
2685// pending HTTP request will be aborted if the provided context is
2686// canceled.
2687func (c *RelyingpartyDownloadAccountCall) Context(ctx context.Context) *RelyingpartyDownloadAccountCall {
2688	c.ctx_ = ctx
2689	return c
2690}
2691
2692// Header returns an http.Header that can be modified by the caller to
2693// add HTTP headers to the request.
2694func (c *RelyingpartyDownloadAccountCall) Header() http.Header {
2695	if c.header_ == nil {
2696		c.header_ = make(http.Header)
2697	}
2698	return c.header_
2699}
2700
2701func (c *RelyingpartyDownloadAccountCall) doRequest(alt string) (*http.Response, error) {
2702	reqHeaders := make(http.Header)
2703	for k, v := range c.header_ {
2704		reqHeaders[k] = v
2705	}
2706	reqHeaders.Set("User-Agent", c.s.userAgent())
2707	var body io.Reader = nil
2708	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartydownloadaccountrequest)
2709	if err != nil {
2710		return nil, err
2711	}
2712	reqHeaders.Set("Content-Type", "application/json")
2713	c.urlParams_.Set("alt", alt)
2714	c.urlParams_.Set("prettyPrint", "false")
2715	urls := googleapi.ResolveRelative(c.s.BasePath, "downloadAccount")
2716	urls += "?" + c.urlParams_.Encode()
2717	req, err := http.NewRequest("POST", urls, body)
2718	if err != nil {
2719		return nil, err
2720	}
2721	req.Header = reqHeaders
2722	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2723}
2724
2725// Do executes the "identitytoolkit.relyingparty.downloadAccount" call.
2726// Exactly one of *DownloadAccountResponse or error will be non-nil. Any
2727// non-2xx status code is an error. Response headers are in either
2728// *DownloadAccountResponse.ServerResponse.Header or (if a response was
2729// returned at all) in error.(*googleapi.Error).Header. Use
2730// googleapi.IsNotModified to check whether the returned error was
2731// because http.StatusNotModified was returned.
2732func (c *RelyingpartyDownloadAccountCall) Do(opts ...googleapi.CallOption) (*DownloadAccountResponse, error) {
2733	gensupport.SetOptions(c.urlParams_, opts...)
2734	res, err := c.doRequest("json")
2735	if res != nil && res.StatusCode == http.StatusNotModified {
2736		if res.Body != nil {
2737			res.Body.Close()
2738		}
2739		return nil, &googleapi.Error{
2740			Code:   res.StatusCode,
2741			Header: res.Header,
2742		}
2743	}
2744	if err != nil {
2745		return nil, err
2746	}
2747	defer googleapi.CloseBody(res)
2748	if err := googleapi.CheckResponse(res); err != nil {
2749		return nil, err
2750	}
2751	ret := &DownloadAccountResponse{
2752		ServerResponse: googleapi.ServerResponse{
2753			Header:         res.Header,
2754			HTTPStatusCode: res.StatusCode,
2755		},
2756	}
2757	target := &ret
2758	if err := gensupport.DecodeResponse(target, res); err != nil {
2759		return nil, err
2760	}
2761	return ret, nil
2762	// {
2763	//   "description": "Batch download user accounts.",
2764	//   "httpMethod": "POST",
2765	//   "id": "identitytoolkit.relyingparty.downloadAccount",
2766	//   "path": "downloadAccount",
2767	//   "request": {
2768	//     "$ref": "IdentitytoolkitRelyingpartyDownloadAccountRequest"
2769	//   },
2770	//   "response": {
2771	//     "$ref": "DownloadAccountResponse"
2772	//   },
2773	//   "scopes": [
2774	//     "https://www.googleapis.com/auth/cloud-platform",
2775	//     "https://www.googleapis.com/auth/firebase"
2776	//   ]
2777	// }
2778
2779}
2780
2781// Pages invokes f for each page of results.
2782// A non-nil error returned from f will halt the iteration.
2783// The provided context supersedes any context provided to the Context method.
2784func (c *RelyingpartyDownloadAccountCall) Pages(ctx context.Context, f func(*DownloadAccountResponse) error) error {
2785	c.ctx_ = ctx
2786	defer func(pt string) { c.identitytoolkitrelyingpartydownloadaccountrequest.NextPageToken = pt }(c.identitytoolkitrelyingpartydownloadaccountrequest.NextPageToken) // reset paging to original point
2787	for {
2788		x, err := c.Do()
2789		if err != nil {
2790			return err
2791		}
2792		if err := f(x); err != nil {
2793			return err
2794		}
2795		if x.NextPageToken == "" {
2796			return nil
2797		}
2798		c.identitytoolkitrelyingpartydownloadaccountrequest.NextPageToken = x.NextPageToken
2799	}
2800}
2801
2802// method id "identitytoolkit.relyingparty.emailLinkSignin":
2803
2804type RelyingpartyEmailLinkSigninCall struct {
2805	s                                                 *Service
2806	identitytoolkitrelyingpartyemaillinksigninrequest *IdentitytoolkitRelyingpartyEmailLinkSigninRequest
2807	urlParams_                                        gensupport.URLParams
2808	ctx_                                              context.Context
2809	header_                                           http.Header
2810}
2811
2812// EmailLinkSignin: Reset password for a user.
2813func (r *RelyingpartyService) EmailLinkSignin(identitytoolkitrelyingpartyemaillinksigninrequest *IdentitytoolkitRelyingpartyEmailLinkSigninRequest) *RelyingpartyEmailLinkSigninCall {
2814	c := &RelyingpartyEmailLinkSigninCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2815	c.identitytoolkitrelyingpartyemaillinksigninrequest = identitytoolkitrelyingpartyemaillinksigninrequest
2816	return c
2817}
2818
2819// Fields allows partial responses to be retrieved. See
2820// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2821// for more information.
2822func (c *RelyingpartyEmailLinkSigninCall) Fields(s ...googleapi.Field) *RelyingpartyEmailLinkSigninCall {
2823	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2824	return c
2825}
2826
2827// Context sets the context to be used in this call's Do method. Any
2828// pending HTTP request will be aborted if the provided context is
2829// canceled.
2830func (c *RelyingpartyEmailLinkSigninCall) Context(ctx context.Context) *RelyingpartyEmailLinkSigninCall {
2831	c.ctx_ = ctx
2832	return c
2833}
2834
2835// Header returns an http.Header that can be modified by the caller to
2836// add HTTP headers to the request.
2837func (c *RelyingpartyEmailLinkSigninCall) Header() http.Header {
2838	if c.header_ == nil {
2839		c.header_ = make(http.Header)
2840	}
2841	return c.header_
2842}
2843
2844func (c *RelyingpartyEmailLinkSigninCall) doRequest(alt string) (*http.Response, error) {
2845	reqHeaders := make(http.Header)
2846	for k, v := range c.header_ {
2847		reqHeaders[k] = v
2848	}
2849	reqHeaders.Set("User-Agent", c.s.userAgent())
2850	var body io.Reader = nil
2851	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartyemaillinksigninrequest)
2852	if err != nil {
2853		return nil, err
2854	}
2855	reqHeaders.Set("Content-Type", "application/json")
2856	c.urlParams_.Set("alt", alt)
2857	c.urlParams_.Set("prettyPrint", "false")
2858	urls := googleapi.ResolveRelative(c.s.BasePath, "emailLinkSignin")
2859	urls += "?" + c.urlParams_.Encode()
2860	req, err := http.NewRequest("POST", urls, body)
2861	if err != nil {
2862		return nil, err
2863	}
2864	req.Header = reqHeaders
2865	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2866}
2867
2868// Do executes the "identitytoolkit.relyingparty.emailLinkSignin" call.
2869// Exactly one of *EmailLinkSigninResponse or error will be non-nil. Any
2870// non-2xx status code is an error. Response headers are in either
2871// *EmailLinkSigninResponse.ServerResponse.Header or (if a response was
2872// returned at all) in error.(*googleapi.Error).Header. Use
2873// googleapi.IsNotModified to check whether the returned error was
2874// because http.StatusNotModified was returned.
2875func (c *RelyingpartyEmailLinkSigninCall) Do(opts ...googleapi.CallOption) (*EmailLinkSigninResponse, error) {
2876	gensupport.SetOptions(c.urlParams_, opts...)
2877	res, err := c.doRequest("json")
2878	if res != nil && res.StatusCode == http.StatusNotModified {
2879		if res.Body != nil {
2880			res.Body.Close()
2881		}
2882		return nil, &googleapi.Error{
2883			Code:   res.StatusCode,
2884			Header: res.Header,
2885		}
2886	}
2887	if err != nil {
2888		return nil, err
2889	}
2890	defer googleapi.CloseBody(res)
2891	if err := googleapi.CheckResponse(res); err != nil {
2892		return nil, err
2893	}
2894	ret := &EmailLinkSigninResponse{
2895		ServerResponse: googleapi.ServerResponse{
2896			Header:         res.Header,
2897			HTTPStatusCode: res.StatusCode,
2898		},
2899	}
2900	target := &ret
2901	if err := gensupport.DecodeResponse(target, res); err != nil {
2902		return nil, err
2903	}
2904	return ret, nil
2905	// {
2906	//   "description": "Reset password for a user.",
2907	//   "httpMethod": "POST",
2908	//   "id": "identitytoolkit.relyingparty.emailLinkSignin",
2909	//   "path": "emailLinkSignin",
2910	//   "request": {
2911	//     "$ref": "IdentitytoolkitRelyingpartyEmailLinkSigninRequest"
2912	//   },
2913	//   "response": {
2914	//     "$ref": "EmailLinkSigninResponse"
2915	//   },
2916	//   "scopes": [
2917	//     "https://www.googleapis.com/auth/cloud-platform"
2918	//   ]
2919	// }
2920
2921}
2922
2923// method id "identitytoolkit.relyingparty.getAccountInfo":
2924
2925type RelyingpartyGetAccountInfoCall struct {
2926	s                                                *Service
2927	identitytoolkitrelyingpartygetaccountinforequest *IdentitytoolkitRelyingpartyGetAccountInfoRequest
2928	urlParams_                                       gensupport.URLParams
2929	ctx_                                             context.Context
2930	header_                                          http.Header
2931}
2932
2933// GetAccountInfo: Returns the account info.
2934func (r *RelyingpartyService) GetAccountInfo(identitytoolkitrelyingpartygetaccountinforequest *IdentitytoolkitRelyingpartyGetAccountInfoRequest) *RelyingpartyGetAccountInfoCall {
2935	c := &RelyingpartyGetAccountInfoCall{s: r.s, urlParams_: make(gensupport.URLParams)}
2936	c.identitytoolkitrelyingpartygetaccountinforequest = identitytoolkitrelyingpartygetaccountinforequest
2937	return c
2938}
2939
2940// Fields allows partial responses to be retrieved. See
2941// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
2942// for more information.
2943func (c *RelyingpartyGetAccountInfoCall) Fields(s ...googleapi.Field) *RelyingpartyGetAccountInfoCall {
2944	c.urlParams_.Set("fields", googleapi.CombineFields(s))
2945	return c
2946}
2947
2948// Context sets the context to be used in this call's Do method. Any
2949// pending HTTP request will be aborted if the provided context is
2950// canceled.
2951func (c *RelyingpartyGetAccountInfoCall) Context(ctx context.Context) *RelyingpartyGetAccountInfoCall {
2952	c.ctx_ = ctx
2953	return c
2954}
2955
2956// Header returns an http.Header that can be modified by the caller to
2957// add HTTP headers to the request.
2958func (c *RelyingpartyGetAccountInfoCall) Header() http.Header {
2959	if c.header_ == nil {
2960		c.header_ = make(http.Header)
2961	}
2962	return c.header_
2963}
2964
2965func (c *RelyingpartyGetAccountInfoCall) doRequest(alt string) (*http.Response, error) {
2966	reqHeaders := make(http.Header)
2967	for k, v := range c.header_ {
2968		reqHeaders[k] = v
2969	}
2970	reqHeaders.Set("User-Agent", c.s.userAgent())
2971	var body io.Reader = nil
2972	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartygetaccountinforequest)
2973	if err != nil {
2974		return nil, err
2975	}
2976	reqHeaders.Set("Content-Type", "application/json")
2977	c.urlParams_.Set("alt", alt)
2978	c.urlParams_.Set("prettyPrint", "false")
2979	urls := googleapi.ResolveRelative(c.s.BasePath, "getAccountInfo")
2980	urls += "?" + c.urlParams_.Encode()
2981	req, err := http.NewRequest("POST", urls, body)
2982	if err != nil {
2983		return nil, err
2984	}
2985	req.Header = reqHeaders
2986	return gensupport.SendRequest(c.ctx_, c.s.client, req)
2987}
2988
2989// Do executes the "identitytoolkit.relyingparty.getAccountInfo" call.
2990// Exactly one of *GetAccountInfoResponse or error will be non-nil. Any
2991// non-2xx status code is an error. Response headers are in either
2992// *GetAccountInfoResponse.ServerResponse.Header or (if a response was
2993// returned at all) in error.(*googleapi.Error).Header. Use
2994// googleapi.IsNotModified to check whether the returned error was
2995// because http.StatusNotModified was returned.
2996func (c *RelyingpartyGetAccountInfoCall) Do(opts ...googleapi.CallOption) (*GetAccountInfoResponse, error) {
2997	gensupport.SetOptions(c.urlParams_, opts...)
2998	res, err := c.doRequest("json")
2999	if res != nil && res.StatusCode == http.StatusNotModified {
3000		if res.Body != nil {
3001			res.Body.Close()
3002		}
3003		return nil, &googleapi.Error{
3004			Code:   res.StatusCode,
3005			Header: res.Header,
3006		}
3007	}
3008	if err != nil {
3009		return nil, err
3010	}
3011	defer googleapi.CloseBody(res)
3012	if err := googleapi.CheckResponse(res); err != nil {
3013		return nil, err
3014	}
3015	ret := &GetAccountInfoResponse{
3016		ServerResponse: googleapi.ServerResponse{
3017			Header:         res.Header,
3018			HTTPStatusCode: res.StatusCode,
3019		},
3020	}
3021	target := &ret
3022	if err := gensupport.DecodeResponse(target, res); err != nil {
3023		return nil, err
3024	}
3025	return ret, nil
3026	// {
3027	//   "description": "Returns the account info.",
3028	//   "httpMethod": "POST",
3029	//   "id": "identitytoolkit.relyingparty.getAccountInfo",
3030	//   "path": "getAccountInfo",
3031	//   "request": {
3032	//     "$ref": "IdentitytoolkitRelyingpartyGetAccountInfoRequest"
3033	//   },
3034	//   "response": {
3035	//     "$ref": "GetAccountInfoResponse"
3036	//   },
3037	//   "scopes": [
3038	//     "https://www.googleapis.com/auth/cloud-platform"
3039	//   ]
3040	// }
3041
3042}
3043
3044// method id "identitytoolkit.relyingparty.getOobConfirmationCode":
3045
3046type RelyingpartyGetOobConfirmationCodeCall struct {
3047	s            *Service
3048	relyingparty *Relyingparty
3049	urlParams_   gensupport.URLParams
3050	ctx_         context.Context
3051	header_      http.Header
3052}
3053
3054// GetOobConfirmationCode: Get a code for user action confirmation.
3055func (r *RelyingpartyService) GetOobConfirmationCode(relyingparty *Relyingparty) *RelyingpartyGetOobConfirmationCodeCall {
3056	c := &RelyingpartyGetOobConfirmationCodeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3057	c.relyingparty = relyingparty
3058	return c
3059}
3060
3061// Fields allows partial responses to be retrieved. See
3062// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3063// for more information.
3064func (c *RelyingpartyGetOobConfirmationCodeCall) Fields(s ...googleapi.Field) *RelyingpartyGetOobConfirmationCodeCall {
3065	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3066	return c
3067}
3068
3069// Context sets the context to be used in this call's Do method. Any
3070// pending HTTP request will be aborted if the provided context is
3071// canceled.
3072func (c *RelyingpartyGetOobConfirmationCodeCall) Context(ctx context.Context) *RelyingpartyGetOobConfirmationCodeCall {
3073	c.ctx_ = ctx
3074	return c
3075}
3076
3077// Header returns an http.Header that can be modified by the caller to
3078// add HTTP headers to the request.
3079func (c *RelyingpartyGetOobConfirmationCodeCall) Header() http.Header {
3080	if c.header_ == nil {
3081		c.header_ = make(http.Header)
3082	}
3083	return c.header_
3084}
3085
3086func (c *RelyingpartyGetOobConfirmationCodeCall) doRequest(alt string) (*http.Response, error) {
3087	reqHeaders := make(http.Header)
3088	for k, v := range c.header_ {
3089		reqHeaders[k] = v
3090	}
3091	reqHeaders.Set("User-Agent", c.s.userAgent())
3092	var body io.Reader = nil
3093	body, err := googleapi.WithoutDataWrapper.JSONReader(c.relyingparty)
3094	if err != nil {
3095		return nil, err
3096	}
3097	reqHeaders.Set("Content-Type", "application/json")
3098	c.urlParams_.Set("alt", alt)
3099	c.urlParams_.Set("prettyPrint", "false")
3100	urls := googleapi.ResolveRelative(c.s.BasePath, "getOobConfirmationCode")
3101	urls += "?" + c.urlParams_.Encode()
3102	req, err := http.NewRequest("POST", urls, body)
3103	if err != nil {
3104		return nil, err
3105	}
3106	req.Header = reqHeaders
3107	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3108}
3109
3110// Do executes the "identitytoolkit.relyingparty.getOobConfirmationCode" call.
3111// Exactly one of *GetOobConfirmationCodeResponse or error will be
3112// non-nil. Any non-2xx status code is an error. Response headers are in
3113// either *GetOobConfirmationCodeResponse.ServerResponse.Header or (if a
3114// response was returned at all) in error.(*googleapi.Error).Header. Use
3115// googleapi.IsNotModified to check whether the returned error was
3116// because http.StatusNotModified was returned.
3117func (c *RelyingpartyGetOobConfirmationCodeCall) Do(opts ...googleapi.CallOption) (*GetOobConfirmationCodeResponse, error) {
3118	gensupport.SetOptions(c.urlParams_, opts...)
3119	res, err := c.doRequest("json")
3120	if res != nil && res.StatusCode == http.StatusNotModified {
3121		if res.Body != nil {
3122			res.Body.Close()
3123		}
3124		return nil, &googleapi.Error{
3125			Code:   res.StatusCode,
3126			Header: res.Header,
3127		}
3128	}
3129	if err != nil {
3130		return nil, err
3131	}
3132	defer googleapi.CloseBody(res)
3133	if err := googleapi.CheckResponse(res); err != nil {
3134		return nil, err
3135	}
3136	ret := &GetOobConfirmationCodeResponse{
3137		ServerResponse: googleapi.ServerResponse{
3138			Header:         res.Header,
3139			HTTPStatusCode: res.StatusCode,
3140		},
3141	}
3142	target := &ret
3143	if err := gensupport.DecodeResponse(target, res); err != nil {
3144		return nil, err
3145	}
3146	return ret, nil
3147	// {
3148	//   "description": "Get a code for user action confirmation.",
3149	//   "httpMethod": "POST",
3150	//   "id": "identitytoolkit.relyingparty.getOobConfirmationCode",
3151	//   "path": "getOobConfirmationCode",
3152	//   "request": {
3153	//     "$ref": "Relyingparty"
3154	//   },
3155	//   "response": {
3156	//     "$ref": "GetOobConfirmationCodeResponse"
3157	//   },
3158	//   "scopes": [
3159	//     "https://www.googleapis.com/auth/cloud-platform"
3160	//   ]
3161	// }
3162
3163}
3164
3165// method id "identitytoolkit.relyingparty.getProjectConfig":
3166
3167type RelyingpartyGetProjectConfigCall struct {
3168	s            *Service
3169	urlParams_   gensupport.URLParams
3170	ifNoneMatch_ string
3171	ctx_         context.Context
3172	header_      http.Header
3173}
3174
3175// GetProjectConfig: Get project configuration.
3176func (r *RelyingpartyService) GetProjectConfig() *RelyingpartyGetProjectConfigCall {
3177	c := &RelyingpartyGetProjectConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3178	return c
3179}
3180
3181// DelegatedProjectNumber sets the optional parameter
3182// "delegatedProjectNumber": Delegated GCP project number of the
3183// request.
3184func (c *RelyingpartyGetProjectConfigCall) DelegatedProjectNumber(delegatedProjectNumber string) *RelyingpartyGetProjectConfigCall {
3185	c.urlParams_.Set("delegatedProjectNumber", delegatedProjectNumber)
3186	return c
3187}
3188
3189// ProjectNumber sets the optional parameter "projectNumber": GCP
3190// project number of the request.
3191func (c *RelyingpartyGetProjectConfigCall) ProjectNumber(projectNumber string) *RelyingpartyGetProjectConfigCall {
3192	c.urlParams_.Set("projectNumber", projectNumber)
3193	return c
3194}
3195
3196// Fields allows partial responses to be retrieved. See
3197// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3198// for more information.
3199func (c *RelyingpartyGetProjectConfigCall) Fields(s ...googleapi.Field) *RelyingpartyGetProjectConfigCall {
3200	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3201	return c
3202}
3203
3204// IfNoneMatch sets the optional parameter which makes the operation
3205// fail if the object's ETag matches the given value. This is useful for
3206// getting updates only after the object has changed since the last
3207// request. Use googleapi.IsNotModified to check whether the response
3208// error from Do is the result of In-None-Match.
3209func (c *RelyingpartyGetProjectConfigCall) IfNoneMatch(entityTag string) *RelyingpartyGetProjectConfigCall {
3210	c.ifNoneMatch_ = entityTag
3211	return c
3212}
3213
3214// Context sets the context to be used in this call's Do method. Any
3215// pending HTTP request will be aborted if the provided context is
3216// canceled.
3217func (c *RelyingpartyGetProjectConfigCall) Context(ctx context.Context) *RelyingpartyGetProjectConfigCall {
3218	c.ctx_ = ctx
3219	return c
3220}
3221
3222// Header returns an http.Header that can be modified by the caller to
3223// add HTTP headers to the request.
3224func (c *RelyingpartyGetProjectConfigCall) Header() http.Header {
3225	if c.header_ == nil {
3226		c.header_ = make(http.Header)
3227	}
3228	return c.header_
3229}
3230
3231func (c *RelyingpartyGetProjectConfigCall) doRequest(alt string) (*http.Response, error) {
3232	reqHeaders := make(http.Header)
3233	for k, v := range c.header_ {
3234		reqHeaders[k] = v
3235	}
3236	reqHeaders.Set("User-Agent", c.s.userAgent())
3237	if c.ifNoneMatch_ != "" {
3238		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3239	}
3240	var body io.Reader = nil
3241	c.urlParams_.Set("alt", alt)
3242	c.urlParams_.Set("prettyPrint", "false")
3243	urls := googleapi.ResolveRelative(c.s.BasePath, "getProjectConfig")
3244	urls += "?" + c.urlParams_.Encode()
3245	req, err := http.NewRequest("GET", urls, body)
3246	if err != nil {
3247		return nil, err
3248	}
3249	req.Header = reqHeaders
3250	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3251}
3252
3253// Do executes the "identitytoolkit.relyingparty.getProjectConfig" call.
3254// Exactly one of *IdentitytoolkitRelyingpartyGetProjectConfigResponse
3255// or error will be non-nil. Any non-2xx status code is an error.
3256// Response headers are in either
3257// *IdentitytoolkitRelyingpartyGetProjectConfigResponse.ServerResponse.He
3258// ader or (if a response was returned at all) in
3259// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3260// whether the returned error was because http.StatusNotModified was
3261// returned.
3262func (c *RelyingpartyGetProjectConfigCall) Do(opts ...googleapi.CallOption) (*IdentitytoolkitRelyingpartyGetProjectConfigResponse, error) {
3263	gensupport.SetOptions(c.urlParams_, opts...)
3264	res, err := c.doRequest("json")
3265	if res != nil && res.StatusCode == http.StatusNotModified {
3266		if res.Body != nil {
3267			res.Body.Close()
3268		}
3269		return nil, &googleapi.Error{
3270			Code:   res.StatusCode,
3271			Header: res.Header,
3272		}
3273	}
3274	if err != nil {
3275		return nil, err
3276	}
3277	defer googleapi.CloseBody(res)
3278	if err := googleapi.CheckResponse(res); err != nil {
3279		return nil, err
3280	}
3281	ret := &IdentitytoolkitRelyingpartyGetProjectConfigResponse{
3282		ServerResponse: googleapi.ServerResponse{
3283			Header:         res.Header,
3284			HTTPStatusCode: res.StatusCode,
3285		},
3286	}
3287	target := &ret
3288	if err := gensupport.DecodeResponse(target, res); err != nil {
3289		return nil, err
3290	}
3291	return ret, nil
3292	// {
3293	//   "description": "Get project configuration.",
3294	//   "httpMethod": "GET",
3295	//   "id": "identitytoolkit.relyingparty.getProjectConfig",
3296	//   "parameters": {
3297	//     "delegatedProjectNumber": {
3298	//       "description": "Delegated GCP project number of the request.",
3299	//       "location": "query",
3300	//       "type": "string"
3301	//     },
3302	//     "projectNumber": {
3303	//       "description": "GCP project number of the request.",
3304	//       "location": "query",
3305	//       "type": "string"
3306	//     }
3307	//   },
3308	//   "path": "getProjectConfig",
3309	//   "response": {
3310	//     "$ref": "IdentitytoolkitRelyingpartyGetProjectConfigResponse"
3311	//   },
3312	//   "scopes": [
3313	//     "https://www.googleapis.com/auth/cloud-platform"
3314	//   ]
3315	// }
3316
3317}
3318
3319// method id "identitytoolkit.relyingparty.getPublicKeys":
3320
3321type RelyingpartyGetPublicKeysCall struct {
3322	s            *Service
3323	urlParams_   gensupport.URLParams
3324	ifNoneMatch_ string
3325	ctx_         context.Context
3326	header_      http.Header
3327}
3328
3329// GetPublicKeys: Get token signing public key.
3330func (r *RelyingpartyService) GetPublicKeys() *RelyingpartyGetPublicKeysCall {
3331	c := &RelyingpartyGetPublicKeysCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3332	return c
3333}
3334
3335// Fields allows partial responses to be retrieved. See
3336// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3337// for more information.
3338func (c *RelyingpartyGetPublicKeysCall) Fields(s ...googleapi.Field) *RelyingpartyGetPublicKeysCall {
3339	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3340	return c
3341}
3342
3343// IfNoneMatch sets the optional parameter which makes the operation
3344// fail if the object's ETag matches the given value. This is useful for
3345// getting updates only after the object has changed since the last
3346// request. Use googleapi.IsNotModified to check whether the response
3347// error from Do is the result of In-None-Match.
3348func (c *RelyingpartyGetPublicKeysCall) IfNoneMatch(entityTag string) *RelyingpartyGetPublicKeysCall {
3349	c.ifNoneMatch_ = entityTag
3350	return c
3351}
3352
3353// Context sets the context to be used in this call's Do method. Any
3354// pending HTTP request will be aborted if the provided context is
3355// canceled.
3356func (c *RelyingpartyGetPublicKeysCall) Context(ctx context.Context) *RelyingpartyGetPublicKeysCall {
3357	c.ctx_ = ctx
3358	return c
3359}
3360
3361// Header returns an http.Header that can be modified by the caller to
3362// add HTTP headers to the request.
3363func (c *RelyingpartyGetPublicKeysCall) Header() http.Header {
3364	if c.header_ == nil {
3365		c.header_ = make(http.Header)
3366	}
3367	return c.header_
3368}
3369
3370func (c *RelyingpartyGetPublicKeysCall) doRequest(alt string) (*http.Response, error) {
3371	reqHeaders := make(http.Header)
3372	for k, v := range c.header_ {
3373		reqHeaders[k] = v
3374	}
3375	reqHeaders.Set("User-Agent", c.s.userAgent())
3376	if c.ifNoneMatch_ != "" {
3377		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3378	}
3379	var body io.Reader = nil
3380	c.urlParams_.Set("alt", alt)
3381	c.urlParams_.Set("prettyPrint", "false")
3382	urls := googleapi.ResolveRelative(c.s.BasePath, "publicKeys")
3383	urls += "?" + c.urlParams_.Encode()
3384	req, err := http.NewRequest("GET", urls, body)
3385	if err != nil {
3386		return nil, err
3387	}
3388	req.Header = reqHeaders
3389	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3390}
3391
3392// Do executes the "identitytoolkit.relyingparty.getPublicKeys" call.
3393func (c *RelyingpartyGetPublicKeysCall) Do(opts ...googleapi.CallOption) (map[string]string, error) {
3394	gensupport.SetOptions(c.urlParams_, opts...)
3395	res, err := c.doRequest("json")
3396	if err != nil {
3397		return nil, err
3398	}
3399	defer googleapi.CloseBody(res)
3400	if err := googleapi.CheckResponse(res); err != nil {
3401		return nil, err
3402	}
3403	var ret map[string]string
3404	target := &ret
3405	if err := gensupport.DecodeResponse(target, res); err != nil {
3406		return nil, err
3407	}
3408	return ret, nil
3409	// {
3410	//   "description": "Get token signing public key.",
3411	//   "httpMethod": "GET",
3412	//   "id": "identitytoolkit.relyingparty.getPublicKeys",
3413	//   "path": "publicKeys",
3414	//   "response": {
3415	//     "$ref": "IdentitytoolkitRelyingpartyGetPublicKeysResponse"
3416	//   },
3417	//   "scopes": [
3418	//     "https://www.googleapis.com/auth/cloud-platform"
3419	//   ]
3420	// }
3421
3422}
3423
3424// method id "identitytoolkit.relyingparty.getRecaptchaParam":
3425
3426type RelyingpartyGetRecaptchaParamCall struct {
3427	s            *Service
3428	urlParams_   gensupport.URLParams
3429	ifNoneMatch_ string
3430	ctx_         context.Context
3431	header_      http.Header
3432}
3433
3434// GetRecaptchaParam: Get recaptcha secure param.
3435func (r *RelyingpartyService) GetRecaptchaParam() *RelyingpartyGetRecaptchaParamCall {
3436	c := &RelyingpartyGetRecaptchaParamCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3437	return c
3438}
3439
3440// Fields allows partial responses to be retrieved. See
3441// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3442// for more information.
3443func (c *RelyingpartyGetRecaptchaParamCall) Fields(s ...googleapi.Field) *RelyingpartyGetRecaptchaParamCall {
3444	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3445	return c
3446}
3447
3448// IfNoneMatch sets the optional parameter which makes the operation
3449// fail if the object's ETag matches the given value. This is useful for
3450// getting updates only after the object has changed since the last
3451// request. Use googleapi.IsNotModified to check whether the response
3452// error from Do is the result of In-None-Match.
3453func (c *RelyingpartyGetRecaptchaParamCall) IfNoneMatch(entityTag string) *RelyingpartyGetRecaptchaParamCall {
3454	c.ifNoneMatch_ = entityTag
3455	return c
3456}
3457
3458// Context sets the context to be used in this call's Do method. Any
3459// pending HTTP request will be aborted if the provided context is
3460// canceled.
3461func (c *RelyingpartyGetRecaptchaParamCall) Context(ctx context.Context) *RelyingpartyGetRecaptchaParamCall {
3462	c.ctx_ = ctx
3463	return c
3464}
3465
3466// Header returns an http.Header that can be modified by the caller to
3467// add HTTP headers to the request.
3468func (c *RelyingpartyGetRecaptchaParamCall) Header() http.Header {
3469	if c.header_ == nil {
3470		c.header_ = make(http.Header)
3471	}
3472	return c.header_
3473}
3474
3475func (c *RelyingpartyGetRecaptchaParamCall) doRequest(alt string) (*http.Response, error) {
3476	reqHeaders := make(http.Header)
3477	for k, v := range c.header_ {
3478		reqHeaders[k] = v
3479	}
3480	reqHeaders.Set("User-Agent", c.s.userAgent())
3481	if c.ifNoneMatch_ != "" {
3482		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
3483	}
3484	var body io.Reader = nil
3485	c.urlParams_.Set("alt", alt)
3486	c.urlParams_.Set("prettyPrint", "false")
3487	urls := googleapi.ResolveRelative(c.s.BasePath, "getRecaptchaParam")
3488	urls += "?" + c.urlParams_.Encode()
3489	req, err := http.NewRequest("GET", urls, body)
3490	if err != nil {
3491		return nil, err
3492	}
3493	req.Header = reqHeaders
3494	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3495}
3496
3497// Do executes the "identitytoolkit.relyingparty.getRecaptchaParam" call.
3498// Exactly one of *GetRecaptchaParamResponse or error will be non-nil.
3499// Any non-2xx status code is an error. Response headers are in either
3500// *GetRecaptchaParamResponse.ServerResponse.Header or (if a response
3501// was returned at all) in error.(*googleapi.Error).Header. Use
3502// googleapi.IsNotModified to check whether the returned error was
3503// because http.StatusNotModified was returned.
3504func (c *RelyingpartyGetRecaptchaParamCall) Do(opts ...googleapi.CallOption) (*GetRecaptchaParamResponse, error) {
3505	gensupport.SetOptions(c.urlParams_, opts...)
3506	res, err := c.doRequest("json")
3507	if res != nil && res.StatusCode == http.StatusNotModified {
3508		if res.Body != nil {
3509			res.Body.Close()
3510		}
3511		return nil, &googleapi.Error{
3512			Code:   res.StatusCode,
3513			Header: res.Header,
3514		}
3515	}
3516	if err != nil {
3517		return nil, err
3518	}
3519	defer googleapi.CloseBody(res)
3520	if err := googleapi.CheckResponse(res); err != nil {
3521		return nil, err
3522	}
3523	ret := &GetRecaptchaParamResponse{
3524		ServerResponse: googleapi.ServerResponse{
3525			Header:         res.Header,
3526			HTTPStatusCode: res.StatusCode,
3527		},
3528	}
3529	target := &ret
3530	if err := gensupport.DecodeResponse(target, res); err != nil {
3531		return nil, err
3532	}
3533	return ret, nil
3534	// {
3535	//   "description": "Get recaptcha secure param.",
3536	//   "httpMethod": "GET",
3537	//   "id": "identitytoolkit.relyingparty.getRecaptchaParam",
3538	//   "path": "getRecaptchaParam",
3539	//   "response": {
3540	//     "$ref": "GetRecaptchaParamResponse"
3541	//   },
3542	//   "scopes": [
3543	//     "https://www.googleapis.com/auth/cloud-platform"
3544	//   ]
3545	// }
3546
3547}
3548
3549// method id "identitytoolkit.relyingparty.resetPassword":
3550
3551type RelyingpartyResetPasswordCall struct {
3552	s                                               *Service
3553	identitytoolkitrelyingpartyresetpasswordrequest *IdentitytoolkitRelyingpartyResetPasswordRequest
3554	urlParams_                                      gensupport.URLParams
3555	ctx_                                            context.Context
3556	header_                                         http.Header
3557}
3558
3559// ResetPassword: Reset password for a user.
3560func (r *RelyingpartyService) ResetPassword(identitytoolkitrelyingpartyresetpasswordrequest *IdentitytoolkitRelyingpartyResetPasswordRequest) *RelyingpartyResetPasswordCall {
3561	c := &RelyingpartyResetPasswordCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3562	c.identitytoolkitrelyingpartyresetpasswordrequest = identitytoolkitrelyingpartyresetpasswordrequest
3563	return c
3564}
3565
3566// Fields allows partial responses to be retrieved. See
3567// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3568// for more information.
3569func (c *RelyingpartyResetPasswordCall) Fields(s ...googleapi.Field) *RelyingpartyResetPasswordCall {
3570	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3571	return c
3572}
3573
3574// Context sets the context to be used in this call's Do method. Any
3575// pending HTTP request will be aborted if the provided context is
3576// canceled.
3577func (c *RelyingpartyResetPasswordCall) Context(ctx context.Context) *RelyingpartyResetPasswordCall {
3578	c.ctx_ = ctx
3579	return c
3580}
3581
3582// Header returns an http.Header that can be modified by the caller to
3583// add HTTP headers to the request.
3584func (c *RelyingpartyResetPasswordCall) Header() http.Header {
3585	if c.header_ == nil {
3586		c.header_ = make(http.Header)
3587	}
3588	return c.header_
3589}
3590
3591func (c *RelyingpartyResetPasswordCall) doRequest(alt string) (*http.Response, error) {
3592	reqHeaders := make(http.Header)
3593	for k, v := range c.header_ {
3594		reqHeaders[k] = v
3595	}
3596	reqHeaders.Set("User-Agent", c.s.userAgent())
3597	var body io.Reader = nil
3598	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartyresetpasswordrequest)
3599	if err != nil {
3600		return nil, err
3601	}
3602	reqHeaders.Set("Content-Type", "application/json")
3603	c.urlParams_.Set("alt", alt)
3604	c.urlParams_.Set("prettyPrint", "false")
3605	urls := googleapi.ResolveRelative(c.s.BasePath, "resetPassword")
3606	urls += "?" + c.urlParams_.Encode()
3607	req, err := http.NewRequest("POST", urls, body)
3608	if err != nil {
3609		return nil, err
3610	}
3611	req.Header = reqHeaders
3612	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3613}
3614
3615// Do executes the "identitytoolkit.relyingparty.resetPassword" call.
3616// Exactly one of *ResetPasswordResponse or error will be non-nil. Any
3617// non-2xx status code is an error. Response headers are in either
3618// *ResetPasswordResponse.ServerResponse.Header or (if a response was
3619// returned at all) in error.(*googleapi.Error).Header. Use
3620// googleapi.IsNotModified to check whether the returned error was
3621// because http.StatusNotModified was returned.
3622func (c *RelyingpartyResetPasswordCall) Do(opts ...googleapi.CallOption) (*ResetPasswordResponse, error) {
3623	gensupport.SetOptions(c.urlParams_, opts...)
3624	res, err := c.doRequest("json")
3625	if res != nil && res.StatusCode == http.StatusNotModified {
3626		if res.Body != nil {
3627			res.Body.Close()
3628		}
3629		return nil, &googleapi.Error{
3630			Code:   res.StatusCode,
3631			Header: res.Header,
3632		}
3633	}
3634	if err != nil {
3635		return nil, err
3636	}
3637	defer googleapi.CloseBody(res)
3638	if err := googleapi.CheckResponse(res); err != nil {
3639		return nil, err
3640	}
3641	ret := &ResetPasswordResponse{
3642		ServerResponse: googleapi.ServerResponse{
3643			Header:         res.Header,
3644			HTTPStatusCode: res.StatusCode,
3645		},
3646	}
3647	target := &ret
3648	if err := gensupport.DecodeResponse(target, res); err != nil {
3649		return nil, err
3650	}
3651	return ret, nil
3652	// {
3653	//   "description": "Reset password for a user.",
3654	//   "httpMethod": "POST",
3655	//   "id": "identitytoolkit.relyingparty.resetPassword",
3656	//   "path": "resetPassword",
3657	//   "request": {
3658	//     "$ref": "IdentitytoolkitRelyingpartyResetPasswordRequest"
3659	//   },
3660	//   "response": {
3661	//     "$ref": "ResetPasswordResponse"
3662	//   },
3663	//   "scopes": [
3664	//     "https://www.googleapis.com/auth/cloud-platform"
3665	//   ]
3666	// }
3667
3668}
3669
3670// method id "identitytoolkit.relyingparty.sendVerificationCode":
3671
3672type RelyingpartySendVerificationCodeCall struct {
3673	s                                                      *Service
3674	identitytoolkitrelyingpartysendverificationcoderequest *IdentitytoolkitRelyingpartySendVerificationCodeRequest
3675	urlParams_                                             gensupport.URLParams
3676	ctx_                                                   context.Context
3677	header_                                                http.Header
3678}
3679
3680// SendVerificationCode: Send SMS verification code.
3681func (r *RelyingpartyService) SendVerificationCode(identitytoolkitrelyingpartysendverificationcoderequest *IdentitytoolkitRelyingpartySendVerificationCodeRequest) *RelyingpartySendVerificationCodeCall {
3682	c := &RelyingpartySendVerificationCodeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3683	c.identitytoolkitrelyingpartysendverificationcoderequest = identitytoolkitrelyingpartysendverificationcoderequest
3684	return c
3685}
3686
3687// Fields allows partial responses to be retrieved. See
3688// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3689// for more information.
3690func (c *RelyingpartySendVerificationCodeCall) Fields(s ...googleapi.Field) *RelyingpartySendVerificationCodeCall {
3691	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3692	return c
3693}
3694
3695// Context sets the context to be used in this call's Do method. Any
3696// pending HTTP request will be aborted if the provided context is
3697// canceled.
3698func (c *RelyingpartySendVerificationCodeCall) Context(ctx context.Context) *RelyingpartySendVerificationCodeCall {
3699	c.ctx_ = ctx
3700	return c
3701}
3702
3703// Header returns an http.Header that can be modified by the caller to
3704// add HTTP headers to the request.
3705func (c *RelyingpartySendVerificationCodeCall) Header() http.Header {
3706	if c.header_ == nil {
3707		c.header_ = make(http.Header)
3708	}
3709	return c.header_
3710}
3711
3712func (c *RelyingpartySendVerificationCodeCall) doRequest(alt string) (*http.Response, error) {
3713	reqHeaders := make(http.Header)
3714	for k, v := range c.header_ {
3715		reqHeaders[k] = v
3716	}
3717	reqHeaders.Set("User-Agent", c.s.userAgent())
3718	var body io.Reader = nil
3719	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartysendverificationcoderequest)
3720	if err != nil {
3721		return nil, err
3722	}
3723	reqHeaders.Set("Content-Type", "application/json")
3724	c.urlParams_.Set("alt", alt)
3725	c.urlParams_.Set("prettyPrint", "false")
3726	urls := googleapi.ResolveRelative(c.s.BasePath, "sendVerificationCode")
3727	urls += "?" + c.urlParams_.Encode()
3728	req, err := http.NewRequest("POST", urls, body)
3729	if err != nil {
3730		return nil, err
3731	}
3732	req.Header = reqHeaders
3733	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3734}
3735
3736// Do executes the "identitytoolkit.relyingparty.sendVerificationCode" call.
3737// Exactly one of
3738// *IdentitytoolkitRelyingpartySendVerificationCodeResponse or error
3739// will be non-nil. Any non-2xx status code is an error. Response
3740// headers are in either
3741// *IdentitytoolkitRelyingpartySendVerificationCodeResponse.ServerRespons
3742// e.Header or (if a response was returned at all) in
3743// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3744// whether the returned error was because http.StatusNotModified was
3745// returned.
3746func (c *RelyingpartySendVerificationCodeCall) Do(opts ...googleapi.CallOption) (*IdentitytoolkitRelyingpartySendVerificationCodeResponse, error) {
3747	gensupport.SetOptions(c.urlParams_, opts...)
3748	res, err := c.doRequest("json")
3749	if res != nil && res.StatusCode == http.StatusNotModified {
3750		if res.Body != nil {
3751			res.Body.Close()
3752		}
3753		return nil, &googleapi.Error{
3754			Code:   res.StatusCode,
3755			Header: res.Header,
3756		}
3757	}
3758	if err != nil {
3759		return nil, err
3760	}
3761	defer googleapi.CloseBody(res)
3762	if err := googleapi.CheckResponse(res); err != nil {
3763		return nil, err
3764	}
3765	ret := &IdentitytoolkitRelyingpartySendVerificationCodeResponse{
3766		ServerResponse: googleapi.ServerResponse{
3767			Header:         res.Header,
3768			HTTPStatusCode: res.StatusCode,
3769		},
3770	}
3771	target := &ret
3772	if err := gensupport.DecodeResponse(target, res); err != nil {
3773		return nil, err
3774	}
3775	return ret, nil
3776	// {
3777	//   "description": "Send SMS verification code.",
3778	//   "httpMethod": "POST",
3779	//   "id": "identitytoolkit.relyingparty.sendVerificationCode",
3780	//   "path": "sendVerificationCode",
3781	//   "request": {
3782	//     "$ref": "IdentitytoolkitRelyingpartySendVerificationCodeRequest"
3783	//   },
3784	//   "response": {
3785	//     "$ref": "IdentitytoolkitRelyingpartySendVerificationCodeResponse"
3786	//   },
3787	//   "scopes": [
3788	//     "https://www.googleapis.com/auth/cloud-platform"
3789	//   ]
3790	// }
3791
3792}
3793
3794// method id "identitytoolkit.relyingparty.setAccountInfo":
3795
3796type RelyingpartySetAccountInfoCall struct {
3797	s                                                *Service
3798	identitytoolkitrelyingpartysetaccountinforequest *IdentitytoolkitRelyingpartySetAccountInfoRequest
3799	urlParams_                                       gensupport.URLParams
3800	ctx_                                             context.Context
3801	header_                                          http.Header
3802}
3803
3804// SetAccountInfo: Set account info for a user.
3805func (r *RelyingpartyService) SetAccountInfo(identitytoolkitrelyingpartysetaccountinforequest *IdentitytoolkitRelyingpartySetAccountInfoRequest) *RelyingpartySetAccountInfoCall {
3806	c := &RelyingpartySetAccountInfoCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3807	c.identitytoolkitrelyingpartysetaccountinforequest = identitytoolkitrelyingpartysetaccountinforequest
3808	return c
3809}
3810
3811// Fields allows partial responses to be retrieved. See
3812// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3813// for more information.
3814func (c *RelyingpartySetAccountInfoCall) Fields(s ...googleapi.Field) *RelyingpartySetAccountInfoCall {
3815	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3816	return c
3817}
3818
3819// Context sets the context to be used in this call's Do method. Any
3820// pending HTTP request will be aborted if the provided context is
3821// canceled.
3822func (c *RelyingpartySetAccountInfoCall) Context(ctx context.Context) *RelyingpartySetAccountInfoCall {
3823	c.ctx_ = ctx
3824	return c
3825}
3826
3827// Header returns an http.Header that can be modified by the caller to
3828// add HTTP headers to the request.
3829func (c *RelyingpartySetAccountInfoCall) Header() http.Header {
3830	if c.header_ == nil {
3831		c.header_ = make(http.Header)
3832	}
3833	return c.header_
3834}
3835
3836func (c *RelyingpartySetAccountInfoCall) doRequest(alt string) (*http.Response, error) {
3837	reqHeaders := make(http.Header)
3838	for k, v := range c.header_ {
3839		reqHeaders[k] = v
3840	}
3841	reqHeaders.Set("User-Agent", c.s.userAgent())
3842	var body io.Reader = nil
3843	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartysetaccountinforequest)
3844	if err != nil {
3845		return nil, err
3846	}
3847	reqHeaders.Set("Content-Type", "application/json")
3848	c.urlParams_.Set("alt", alt)
3849	c.urlParams_.Set("prettyPrint", "false")
3850	urls := googleapi.ResolveRelative(c.s.BasePath, "setAccountInfo")
3851	urls += "?" + c.urlParams_.Encode()
3852	req, err := http.NewRequest("POST", urls, body)
3853	if err != nil {
3854		return nil, err
3855	}
3856	req.Header = reqHeaders
3857	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3858}
3859
3860// Do executes the "identitytoolkit.relyingparty.setAccountInfo" call.
3861// Exactly one of *SetAccountInfoResponse or error will be non-nil. Any
3862// non-2xx status code is an error. Response headers are in either
3863// *SetAccountInfoResponse.ServerResponse.Header or (if a response was
3864// returned at all) in error.(*googleapi.Error).Header. Use
3865// googleapi.IsNotModified to check whether the returned error was
3866// because http.StatusNotModified was returned.
3867func (c *RelyingpartySetAccountInfoCall) Do(opts ...googleapi.CallOption) (*SetAccountInfoResponse, error) {
3868	gensupport.SetOptions(c.urlParams_, opts...)
3869	res, err := c.doRequest("json")
3870	if res != nil && res.StatusCode == http.StatusNotModified {
3871		if res.Body != nil {
3872			res.Body.Close()
3873		}
3874		return nil, &googleapi.Error{
3875			Code:   res.StatusCode,
3876			Header: res.Header,
3877		}
3878	}
3879	if err != nil {
3880		return nil, err
3881	}
3882	defer googleapi.CloseBody(res)
3883	if err := googleapi.CheckResponse(res); err != nil {
3884		return nil, err
3885	}
3886	ret := &SetAccountInfoResponse{
3887		ServerResponse: googleapi.ServerResponse{
3888			Header:         res.Header,
3889			HTTPStatusCode: res.StatusCode,
3890		},
3891	}
3892	target := &ret
3893	if err := gensupport.DecodeResponse(target, res); err != nil {
3894		return nil, err
3895	}
3896	return ret, nil
3897	// {
3898	//   "description": "Set account info for a user.",
3899	//   "httpMethod": "POST",
3900	//   "id": "identitytoolkit.relyingparty.setAccountInfo",
3901	//   "path": "setAccountInfo",
3902	//   "request": {
3903	//     "$ref": "IdentitytoolkitRelyingpartySetAccountInfoRequest"
3904	//   },
3905	//   "response": {
3906	//     "$ref": "SetAccountInfoResponse"
3907	//   },
3908	//   "scopes": [
3909	//     "https://www.googleapis.com/auth/cloud-platform"
3910	//   ]
3911	// }
3912
3913}
3914
3915// method id "identitytoolkit.relyingparty.setProjectConfig":
3916
3917type RelyingpartySetProjectConfigCall struct {
3918	s                                                  *Service
3919	identitytoolkitrelyingpartysetprojectconfigrequest *IdentitytoolkitRelyingpartySetProjectConfigRequest
3920	urlParams_                                         gensupport.URLParams
3921	ctx_                                               context.Context
3922	header_                                            http.Header
3923}
3924
3925// SetProjectConfig: Set project configuration.
3926func (r *RelyingpartyService) SetProjectConfig(identitytoolkitrelyingpartysetprojectconfigrequest *IdentitytoolkitRelyingpartySetProjectConfigRequest) *RelyingpartySetProjectConfigCall {
3927	c := &RelyingpartySetProjectConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
3928	c.identitytoolkitrelyingpartysetprojectconfigrequest = identitytoolkitrelyingpartysetprojectconfigrequest
3929	return c
3930}
3931
3932// Fields allows partial responses to be retrieved. See
3933// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
3934// for more information.
3935func (c *RelyingpartySetProjectConfigCall) Fields(s ...googleapi.Field) *RelyingpartySetProjectConfigCall {
3936	c.urlParams_.Set("fields", googleapi.CombineFields(s))
3937	return c
3938}
3939
3940// Context sets the context to be used in this call's Do method. Any
3941// pending HTTP request will be aborted if the provided context is
3942// canceled.
3943func (c *RelyingpartySetProjectConfigCall) Context(ctx context.Context) *RelyingpartySetProjectConfigCall {
3944	c.ctx_ = ctx
3945	return c
3946}
3947
3948// Header returns an http.Header that can be modified by the caller to
3949// add HTTP headers to the request.
3950func (c *RelyingpartySetProjectConfigCall) Header() http.Header {
3951	if c.header_ == nil {
3952		c.header_ = make(http.Header)
3953	}
3954	return c.header_
3955}
3956
3957func (c *RelyingpartySetProjectConfigCall) doRequest(alt string) (*http.Response, error) {
3958	reqHeaders := make(http.Header)
3959	for k, v := range c.header_ {
3960		reqHeaders[k] = v
3961	}
3962	reqHeaders.Set("User-Agent", c.s.userAgent())
3963	var body io.Reader = nil
3964	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartysetprojectconfigrequest)
3965	if err != nil {
3966		return nil, err
3967	}
3968	reqHeaders.Set("Content-Type", "application/json")
3969	c.urlParams_.Set("alt", alt)
3970	c.urlParams_.Set("prettyPrint", "false")
3971	urls := googleapi.ResolveRelative(c.s.BasePath, "setProjectConfig")
3972	urls += "?" + c.urlParams_.Encode()
3973	req, err := http.NewRequest("POST", urls, body)
3974	if err != nil {
3975		return nil, err
3976	}
3977	req.Header = reqHeaders
3978	return gensupport.SendRequest(c.ctx_, c.s.client, req)
3979}
3980
3981// Do executes the "identitytoolkit.relyingparty.setProjectConfig" call.
3982// Exactly one of *IdentitytoolkitRelyingpartySetProjectConfigResponse
3983// or error will be non-nil. Any non-2xx status code is an error.
3984// Response headers are in either
3985// *IdentitytoolkitRelyingpartySetProjectConfigResponse.ServerResponse.He
3986// ader or (if a response was returned at all) in
3987// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
3988// whether the returned error was because http.StatusNotModified was
3989// returned.
3990func (c *RelyingpartySetProjectConfigCall) Do(opts ...googleapi.CallOption) (*IdentitytoolkitRelyingpartySetProjectConfigResponse, error) {
3991	gensupport.SetOptions(c.urlParams_, opts...)
3992	res, err := c.doRequest("json")
3993	if res != nil && res.StatusCode == http.StatusNotModified {
3994		if res.Body != nil {
3995			res.Body.Close()
3996		}
3997		return nil, &googleapi.Error{
3998			Code:   res.StatusCode,
3999			Header: res.Header,
4000		}
4001	}
4002	if err != nil {
4003		return nil, err
4004	}
4005	defer googleapi.CloseBody(res)
4006	if err := googleapi.CheckResponse(res); err != nil {
4007		return nil, err
4008	}
4009	ret := &IdentitytoolkitRelyingpartySetProjectConfigResponse{
4010		ServerResponse: googleapi.ServerResponse{
4011			Header:         res.Header,
4012			HTTPStatusCode: res.StatusCode,
4013		},
4014	}
4015	target := &ret
4016	if err := gensupport.DecodeResponse(target, res); err != nil {
4017		return nil, err
4018	}
4019	return ret, nil
4020	// {
4021	//   "description": "Set project configuration.",
4022	//   "httpMethod": "POST",
4023	//   "id": "identitytoolkit.relyingparty.setProjectConfig",
4024	//   "path": "setProjectConfig",
4025	//   "request": {
4026	//     "$ref": "IdentitytoolkitRelyingpartySetProjectConfigRequest"
4027	//   },
4028	//   "response": {
4029	//     "$ref": "IdentitytoolkitRelyingpartySetProjectConfigResponse"
4030	//   },
4031	//   "scopes": [
4032	//     "https://www.googleapis.com/auth/cloud-platform"
4033	//   ]
4034	// }
4035
4036}
4037
4038// method id "identitytoolkit.relyingparty.signOutUser":
4039
4040type RelyingpartySignOutUserCall struct {
4041	s                                             *Service
4042	identitytoolkitrelyingpartysignoutuserrequest *IdentitytoolkitRelyingpartySignOutUserRequest
4043	urlParams_                                    gensupport.URLParams
4044	ctx_                                          context.Context
4045	header_                                       http.Header
4046}
4047
4048// SignOutUser: Sign out user.
4049func (r *RelyingpartyService) SignOutUser(identitytoolkitrelyingpartysignoutuserrequest *IdentitytoolkitRelyingpartySignOutUserRequest) *RelyingpartySignOutUserCall {
4050	c := &RelyingpartySignOutUserCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4051	c.identitytoolkitrelyingpartysignoutuserrequest = identitytoolkitrelyingpartysignoutuserrequest
4052	return c
4053}
4054
4055// Fields allows partial responses to be retrieved. See
4056// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4057// for more information.
4058func (c *RelyingpartySignOutUserCall) Fields(s ...googleapi.Field) *RelyingpartySignOutUserCall {
4059	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4060	return c
4061}
4062
4063// Context sets the context to be used in this call's Do method. Any
4064// pending HTTP request will be aborted if the provided context is
4065// canceled.
4066func (c *RelyingpartySignOutUserCall) Context(ctx context.Context) *RelyingpartySignOutUserCall {
4067	c.ctx_ = ctx
4068	return c
4069}
4070
4071// Header returns an http.Header that can be modified by the caller to
4072// add HTTP headers to the request.
4073func (c *RelyingpartySignOutUserCall) Header() http.Header {
4074	if c.header_ == nil {
4075		c.header_ = make(http.Header)
4076	}
4077	return c.header_
4078}
4079
4080func (c *RelyingpartySignOutUserCall) doRequest(alt string) (*http.Response, error) {
4081	reqHeaders := make(http.Header)
4082	for k, v := range c.header_ {
4083		reqHeaders[k] = v
4084	}
4085	reqHeaders.Set("User-Agent", c.s.userAgent())
4086	var body io.Reader = nil
4087	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartysignoutuserrequest)
4088	if err != nil {
4089		return nil, err
4090	}
4091	reqHeaders.Set("Content-Type", "application/json")
4092	c.urlParams_.Set("alt", alt)
4093	c.urlParams_.Set("prettyPrint", "false")
4094	urls := googleapi.ResolveRelative(c.s.BasePath, "signOutUser")
4095	urls += "?" + c.urlParams_.Encode()
4096	req, err := http.NewRequest("POST", urls, body)
4097	if err != nil {
4098		return nil, err
4099	}
4100	req.Header = reqHeaders
4101	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4102}
4103
4104// Do executes the "identitytoolkit.relyingparty.signOutUser" call.
4105// Exactly one of *IdentitytoolkitRelyingpartySignOutUserResponse or
4106// error will be non-nil. Any non-2xx status code is an error. Response
4107// headers are in either
4108// *IdentitytoolkitRelyingpartySignOutUserResponse.ServerResponse.Header
4109// or (if a response was returned at all) in
4110// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4111// whether the returned error was because http.StatusNotModified was
4112// returned.
4113func (c *RelyingpartySignOutUserCall) Do(opts ...googleapi.CallOption) (*IdentitytoolkitRelyingpartySignOutUserResponse, error) {
4114	gensupport.SetOptions(c.urlParams_, opts...)
4115	res, err := c.doRequest("json")
4116	if res != nil && res.StatusCode == http.StatusNotModified {
4117		if res.Body != nil {
4118			res.Body.Close()
4119		}
4120		return nil, &googleapi.Error{
4121			Code:   res.StatusCode,
4122			Header: res.Header,
4123		}
4124	}
4125	if err != nil {
4126		return nil, err
4127	}
4128	defer googleapi.CloseBody(res)
4129	if err := googleapi.CheckResponse(res); err != nil {
4130		return nil, err
4131	}
4132	ret := &IdentitytoolkitRelyingpartySignOutUserResponse{
4133		ServerResponse: googleapi.ServerResponse{
4134			Header:         res.Header,
4135			HTTPStatusCode: res.StatusCode,
4136		},
4137	}
4138	target := &ret
4139	if err := gensupport.DecodeResponse(target, res); err != nil {
4140		return nil, err
4141	}
4142	return ret, nil
4143	// {
4144	//   "description": "Sign out user.",
4145	//   "httpMethod": "POST",
4146	//   "id": "identitytoolkit.relyingparty.signOutUser",
4147	//   "path": "signOutUser",
4148	//   "request": {
4149	//     "$ref": "IdentitytoolkitRelyingpartySignOutUserRequest"
4150	//   },
4151	//   "response": {
4152	//     "$ref": "IdentitytoolkitRelyingpartySignOutUserResponse"
4153	//   },
4154	//   "scopes": [
4155	//     "https://www.googleapis.com/auth/cloud-platform"
4156	//   ]
4157	// }
4158
4159}
4160
4161// method id "identitytoolkit.relyingparty.signupNewUser":
4162
4163type RelyingpartySignupNewUserCall struct {
4164	s                                               *Service
4165	identitytoolkitrelyingpartysignupnewuserrequest *IdentitytoolkitRelyingpartySignupNewUserRequest
4166	urlParams_                                      gensupport.URLParams
4167	ctx_                                            context.Context
4168	header_                                         http.Header
4169}
4170
4171// SignupNewUser: Signup new user.
4172func (r *RelyingpartyService) SignupNewUser(identitytoolkitrelyingpartysignupnewuserrequest *IdentitytoolkitRelyingpartySignupNewUserRequest) *RelyingpartySignupNewUserCall {
4173	c := &RelyingpartySignupNewUserCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4174	c.identitytoolkitrelyingpartysignupnewuserrequest = identitytoolkitrelyingpartysignupnewuserrequest
4175	return c
4176}
4177
4178// Fields allows partial responses to be retrieved. See
4179// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4180// for more information.
4181func (c *RelyingpartySignupNewUserCall) Fields(s ...googleapi.Field) *RelyingpartySignupNewUserCall {
4182	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4183	return c
4184}
4185
4186// Context sets the context to be used in this call's Do method. Any
4187// pending HTTP request will be aborted if the provided context is
4188// canceled.
4189func (c *RelyingpartySignupNewUserCall) Context(ctx context.Context) *RelyingpartySignupNewUserCall {
4190	c.ctx_ = ctx
4191	return c
4192}
4193
4194// Header returns an http.Header that can be modified by the caller to
4195// add HTTP headers to the request.
4196func (c *RelyingpartySignupNewUserCall) Header() http.Header {
4197	if c.header_ == nil {
4198		c.header_ = make(http.Header)
4199	}
4200	return c.header_
4201}
4202
4203func (c *RelyingpartySignupNewUserCall) doRequest(alt string) (*http.Response, error) {
4204	reqHeaders := make(http.Header)
4205	for k, v := range c.header_ {
4206		reqHeaders[k] = v
4207	}
4208	reqHeaders.Set("User-Agent", c.s.userAgent())
4209	var body io.Reader = nil
4210	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartysignupnewuserrequest)
4211	if err != nil {
4212		return nil, err
4213	}
4214	reqHeaders.Set("Content-Type", "application/json")
4215	c.urlParams_.Set("alt", alt)
4216	c.urlParams_.Set("prettyPrint", "false")
4217	urls := googleapi.ResolveRelative(c.s.BasePath, "signupNewUser")
4218	urls += "?" + c.urlParams_.Encode()
4219	req, err := http.NewRequest("POST", urls, body)
4220	if err != nil {
4221		return nil, err
4222	}
4223	req.Header = reqHeaders
4224	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4225}
4226
4227// Do executes the "identitytoolkit.relyingparty.signupNewUser" call.
4228// Exactly one of *SignupNewUserResponse or error will be non-nil. Any
4229// non-2xx status code is an error. Response headers are in either
4230// *SignupNewUserResponse.ServerResponse.Header or (if a response was
4231// returned at all) in error.(*googleapi.Error).Header. Use
4232// googleapi.IsNotModified to check whether the returned error was
4233// because http.StatusNotModified was returned.
4234func (c *RelyingpartySignupNewUserCall) Do(opts ...googleapi.CallOption) (*SignupNewUserResponse, error) {
4235	gensupport.SetOptions(c.urlParams_, opts...)
4236	res, err := c.doRequest("json")
4237	if res != nil && res.StatusCode == http.StatusNotModified {
4238		if res.Body != nil {
4239			res.Body.Close()
4240		}
4241		return nil, &googleapi.Error{
4242			Code:   res.StatusCode,
4243			Header: res.Header,
4244		}
4245	}
4246	if err != nil {
4247		return nil, err
4248	}
4249	defer googleapi.CloseBody(res)
4250	if err := googleapi.CheckResponse(res); err != nil {
4251		return nil, err
4252	}
4253	ret := &SignupNewUserResponse{
4254		ServerResponse: googleapi.ServerResponse{
4255			Header:         res.Header,
4256			HTTPStatusCode: res.StatusCode,
4257		},
4258	}
4259	target := &ret
4260	if err := gensupport.DecodeResponse(target, res); err != nil {
4261		return nil, err
4262	}
4263	return ret, nil
4264	// {
4265	//   "description": "Signup new user.",
4266	//   "httpMethod": "POST",
4267	//   "id": "identitytoolkit.relyingparty.signupNewUser",
4268	//   "path": "signupNewUser",
4269	//   "request": {
4270	//     "$ref": "IdentitytoolkitRelyingpartySignupNewUserRequest"
4271	//   },
4272	//   "response": {
4273	//     "$ref": "SignupNewUserResponse"
4274	//   },
4275	//   "scopes": [
4276	//     "https://www.googleapis.com/auth/cloud-platform"
4277	//   ]
4278	// }
4279
4280}
4281
4282// method id "identitytoolkit.relyingparty.uploadAccount":
4283
4284type RelyingpartyUploadAccountCall struct {
4285	s                                               *Service
4286	identitytoolkitrelyingpartyuploadaccountrequest *IdentitytoolkitRelyingpartyUploadAccountRequest
4287	urlParams_                                      gensupport.URLParams
4288	ctx_                                            context.Context
4289	header_                                         http.Header
4290}
4291
4292// UploadAccount: Batch upload existing user accounts.
4293func (r *RelyingpartyService) UploadAccount(identitytoolkitrelyingpartyuploadaccountrequest *IdentitytoolkitRelyingpartyUploadAccountRequest) *RelyingpartyUploadAccountCall {
4294	c := &RelyingpartyUploadAccountCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4295	c.identitytoolkitrelyingpartyuploadaccountrequest = identitytoolkitrelyingpartyuploadaccountrequest
4296	return c
4297}
4298
4299// Fields allows partial responses to be retrieved. See
4300// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4301// for more information.
4302func (c *RelyingpartyUploadAccountCall) Fields(s ...googleapi.Field) *RelyingpartyUploadAccountCall {
4303	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4304	return c
4305}
4306
4307// Context sets the context to be used in this call's Do method. Any
4308// pending HTTP request will be aborted if the provided context is
4309// canceled.
4310func (c *RelyingpartyUploadAccountCall) Context(ctx context.Context) *RelyingpartyUploadAccountCall {
4311	c.ctx_ = ctx
4312	return c
4313}
4314
4315// Header returns an http.Header that can be modified by the caller to
4316// add HTTP headers to the request.
4317func (c *RelyingpartyUploadAccountCall) Header() http.Header {
4318	if c.header_ == nil {
4319		c.header_ = make(http.Header)
4320	}
4321	return c.header_
4322}
4323
4324func (c *RelyingpartyUploadAccountCall) doRequest(alt string) (*http.Response, error) {
4325	reqHeaders := make(http.Header)
4326	for k, v := range c.header_ {
4327		reqHeaders[k] = v
4328	}
4329	reqHeaders.Set("User-Agent", c.s.userAgent())
4330	var body io.Reader = nil
4331	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartyuploadaccountrequest)
4332	if err != nil {
4333		return nil, err
4334	}
4335	reqHeaders.Set("Content-Type", "application/json")
4336	c.urlParams_.Set("alt", alt)
4337	c.urlParams_.Set("prettyPrint", "false")
4338	urls := googleapi.ResolveRelative(c.s.BasePath, "uploadAccount")
4339	urls += "?" + c.urlParams_.Encode()
4340	req, err := http.NewRequest("POST", urls, body)
4341	if err != nil {
4342		return nil, err
4343	}
4344	req.Header = reqHeaders
4345	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4346}
4347
4348// Do executes the "identitytoolkit.relyingparty.uploadAccount" call.
4349// Exactly one of *UploadAccountResponse or error will be non-nil. Any
4350// non-2xx status code is an error. Response headers are in either
4351// *UploadAccountResponse.ServerResponse.Header or (if a response was
4352// returned at all) in error.(*googleapi.Error).Header. Use
4353// googleapi.IsNotModified to check whether the returned error was
4354// because http.StatusNotModified was returned.
4355func (c *RelyingpartyUploadAccountCall) Do(opts ...googleapi.CallOption) (*UploadAccountResponse, error) {
4356	gensupport.SetOptions(c.urlParams_, opts...)
4357	res, err := c.doRequest("json")
4358	if res != nil && res.StatusCode == http.StatusNotModified {
4359		if res.Body != nil {
4360			res.Body.Close()
4361		}
4362		return nil, &googleapi.Error{
4363			Code:   res.StatusCode,
4364			Header: res.Header,
4365		}
4366	}
4367	if err != nil {
4368		return nil, err
4369	}
4370	defer googleapi.CloseBody(res)
4371	if err := googleapi.CheckResponse(res); err != nil {
4372		return nil, err
4373	}
4374	ret := &UploadAccountResponse{
4375		ServerResponse: googleapi.ServerResponse{
4376			Header:         res.Header,
4377			HTTPStatusCode: res.StatusCode,
4378		},
4379	}
4380	target := &ret
4381	if err := gensupport.DecodeResponse(target, res); err != nil {
4382		return nil, err
4383	}
4384	return ret, nil
4385	// {
4386	//   "description": "Batch upload existing user accounts.",
4387	//   "httpMethod": "POST",
4388	//   "id": "identitytoolkit.relyingparty.uploadAccount",
4389	//   "path": "uploadAccount",
4390	//   "request": {
4391	//     "$ref": "IdentitytoolkitRelyingpartyUploadAccountRequest"
4392	//   },
4393	//   "response": {
4394	//     "$ref": "UploadAccountResponse"
4395	//   },
4396	//   "scopes": [
4397	//     "https://www.googleapis.com/auth/cloud-platform",
4398	//     "https://www.googleapis.com/auth/firebase"
4399	//   ]
4400	// }
4401
4402}
4403
4404// method id "identitytoolkit.relyingparty.verifyAssertion":
4405
4406type RelyingpartyVerifyAssertionCall struct {
4407	s                                                 *Service
4408	identitytoolkitrelyingpartyverifyassertionrequest *IdentitytoolkitRelyingpartyVerifyAssertionRequest
4409	urlParams_                                        gensupport.URLParams
4410	ctx_                                              context.Context
4411	header_                                           http.Header
4412}
4413
4414// VerifyAssertion: Verifies the assertion returned by the IdP.
4415func (r *RelyingpartyService) VerifyAssertion(identitytoolkitrelyingpartyverifyassertionrequest *IdentitytoolkitRelyingpartyVerifyAssertionRequest) *RelyingpartyVerifyAssertionCall {
4416	c := &RelyingpartyVerifyAssertionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4417	c.identitytoolkitrelyingpartyverifyassertionrequest = identitytoolkitrelyingpartyverifyassertionrequest
4418	return c
4419}
4420
4421// Fields allows partial responses to be retrieved. See
4422// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4423// for more information.
4424func (c *RelyingpartyVerifyAssertionCall) Fields(s ...googleapi.Field) *RelyingpartyVerifyAssertionCall {
4425	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4426	return c
4427}
4428
4429// Context sets the context to be used in this call's Do method. Any
4430// pending HTTP request will be aborted if the provided context is
4431// canceled.
4432func (c *RelyingpartyVerifyAssertionCall) Context(ctx context.Context) *RelyingpartyVerifyAssertionCall {
4433	c.ctx_ = ctx
4434	return c
4435}
4436
4437// Header returns an http.Header that can be modified by the caller to
4438// add HTTP headers to the request.
4439func (c *RelyingpartyVerifyAssertionCall) Header() http.Header {
4440	if c.header_ == nil {
4441		c.header_ = make(http.Header)
4442	}
4443	return c.header_
4444}
4445
4446func (c *RelyingpartyVerifyAssertionCall) doRequest(alt string) (*http.Response, error) {
4447	reqHeaders := make(http.Header)
4448	for k, v := range c.header_ {
4449		reqHeaders[k] = v
4450	}
4451	reqHeaders.Set("User-Agent", c.s.userAgent())
4452	var body io.Reader = nil
4453	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartyverifyassertionrequest)
4454	if err != nil {
4455		return nil, err
4456	}
4457	reqHeaders.Set("Content-Type", "application/json")
4458	c.urlParams_.Set("alt", alt)
4459	c.urlParams_.Set("prettyPrint", "false")
4460	urls := googleapi.ResolveRelative(c.s.BasePath, "verifyAssertion")
4461	urls += "?" + c.urlParams_.Encode()
4462	req, err := http.NewRequest("POST", urls, body)
4463	if err != nil {
4464		return nil, err
4465	}
4466	req.Header = reqHeaders
4467	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4468}
4469
4470// Do executes the "identitytoolkit.relyingparty.verifyAssertion" call.
4471// Exactly one of *VerifyAssertionResponse or error will be non-nil. Any
4472// non-2xx status code is an error. Response headers are in either
4473// *VerifyAssertionResponse.ServerResponse.Header or (if a response was
4474// returned at all) in error.(*googleapi.Error).Header. Use
4475// googleapi.IsNotModified to check whether the returned error was
4476// because http.StatusNotModified was returned.
4477func (c *RelyingpartyVerifyAssertionCall) Do(opts ...googleapi.CallOption) (*VerifyAssertionResponse, error) {
4478	gensupport.SetOptions(c.urlParams_, opts...)
4479	res, err := c.doRequest("json")
4480	if res != nil && res.StatusCode == http.StatusNotModified {
4481		if res.Body != nil {
4482			res.Body.Close()
4483		}
4484		return nil, &googleapi.Error{
4485			Code:   res.StatusCode,
4486			Header: res.Header,
4487		}
4488	}
4489	if err != nil {
4490		return nil, err
4491	}
4492	defer googleapi.CloseBody(res)
4493	if err := googleapi.CheckResponse(res); err != nil {
4494		return nil, err
4495	}
4496	ret := &VerifyAssertionResponse{
4497		ServerResponse: googleapi.ServerResponse{
4498			Header:         res.Header,
4499			HTTPStatusCode: res.StatusCode,
4500		},
4501	}
4502	target := &ret
4503	if err := gensupport.DecodeResponse(target, res); err != nil {
4504		return nil, err
4505	}
4506	return ret, nil
4507	// {
4508	//   "description": "Verifies the assertion returned by the IdP.",
4509	//   "httpMethod": "POST",
4510	//   "id": "identitytoolkit.relyingparty.verifyAssertion",
4511	//   "path": "verifyAssertion",
4512	//   "request": {
4513	//     "$ref": "IdentitytoolkitRelyingpartyVerifyAssertionRequest"
4514	//   },
4515	//   "response": {
4516	//     "$ref": "VerifyAssertionResponse"
4517	//   },
4518	//   "scopes": [
4519	//     "https://www.googleapis.com/auth/cloud-platform"
4520	//   ]
4521	// }
4522
4523}
4524
4525// method id "identitytoolkit.relyingparty.verifyCustomToken":
4526
4527type RelyingpartyVerifyCustomTokenCall struct {
4528	s                                                   *Service
4529	identitytoolkitrelyingpartyverifycustomtokenrequest *IdentitytoolkitRelyingpartyVerifyCustomTokenRequest
4530	urlParams_                                          gensupport.URLParams
4531	ctx_                                                context.Context
4532	header_                                             http.Header
4533}
4534
4535// VerifyCustomToken: Verifies the developer asserted ID token.
4536func (r *RelyingpartyService) VerifyCustomToken(identitytoolkitrelyingpartyverifycustomtokenrequest *IdentitytoolkitRelyingpartyVerifyCustomTokenRequest) *RelyingpartyVerifyCustomTokenCall {
4537	c := &RelyingpartyVerifyCustomTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4538	c.identitytoolkitrelyingpartyverifycustomtokenrequest = identitytoolkitrelyingpartyverifycustomtokenrequest
4539	return c
4540}
4541
4542// Fields allows partial responses to be retrieved. See
4543// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4544// for more information.
4545func (c *RelyingpartyVerifyCustomTokenCall) Fields(s ...googleapi.Field) *RelyingpartyVerifyCustomTokenCall {
4546	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4547	return c
4548}
4549
4550// Context sets the context to be used in this call's Do method. Any
4551// pending HTTP request will be aborted if the provided context is
4552// canceled.
4553func (c *RelyingpartyVerifyCustomTokenCall) Context(ctx context.Context) *RelyingpartyVerifyCustomTokenCall {
4554	c.ctx_ = ctx
4555	return c
4556}
4557
4558// Header returns an http.Header that can be modified by the caller to
4559// add HTTP headers to the request.
4560func (c *RelyingpartyVerifyCustomTokenCall) Header() http.Header {
4561	if c.header_ == nil {
4562		c.header_ = make(http.Header)
4563	}
4564	return c.header_
4565}
4566
4567func (c *RelyingpartyVerifyCustomTokenCall) doRequest(alt string) (*http.Response, error) {
4568	reqHeaders := make(http.Header)
4569	for k, v := range c.header_ {
4570		reqHeaders[k] = v
4571	}
4572	reqHeaders.Set("User-Agent", c.s.userAgent())
4573	var body io.Reader = nil
4574	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartyverifycustomtokenrequest)
4575	if err != nil {
4576		return nil, err
4577	}
4578	reqHeaders.Set("Content-Type", "application/json")
4579	c.urlParams_.Set("alt", alt)
4580	c.urlParams_.Set("prettyPrint", "false")
4581	urls := googleapi.ResolveRelative(c.s.BasePath, "verifyCustomToken")
4582	urls += "?" + c.urlParams_.Encode()
4583	req, err := http.NewRequest("POST", urls, body)
4584	if err != nil {
4585		return nil, err
4586	}
4587	req.Header = reqHeaders
4588	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4589}
4590
4591// Do executes the "identitytoolkit.relyingparty.verifyCustomToken" call.
4592// Exactly one of *VerifyCustomTokenResponse or error will be non-nil.
4593// Any non-2xx status code is an error. Response headers are in either
4594// *VerifyCustomTokenResponse.ServerResponse.Header or (if a response
4595// was returned at all) in error.(*googleapi.Error).Header. Use
4596// googleapi.IsNotModified to check whether the returned error was
4597// because http.StatusNotModified was returned.
4598func (c *RelyingpartyVerifyCustomTokenCall) Do(opts ...googleapi.CallOption) (*VerifyCustomTokenResponse, error) {
4599	gensupport.SetOptions(c.urlParams_, opts...)
4600	res, err := c.doRequest("json")
4601	if res != nil && res.StatusCode == http.StatusNotModified {
4602		if res.Body != nil {
4603			res.Body.Close()
4604		}
4605		return nil, &googleapi.Error{
4606			Code:   res.StatusCode,
4607			Header: res.Header,
4608		}
4609	}
4610	if err != nil {
4611		return nil, err
4612	}
4613	defer googleapi.CloseBody(res)
4614	if err := googleapi.CheckResponse(res); err != nil {
4615		return nil, err
4616	}
4617	ret := &VerifyCustomTokenResponse{
4618		ServerResponse: googleapi.ServerResponse{
4619			Header:         res.Header,
4620			HTTPStatusCode: res.StatusCode,
4621		},
4622	}
4623	target := &ret
4624	if err := gensupport.DecodeResponse(target, res); err != nil {
4625		return nil, err
4626	}
4627	return ret, nil
4628	// {
4629	//   "description": "Verifies the developer asserted ID token.",
4630	//   "httpMethod": "POST",
4631	//   "id": "identitytoolkit.relyingparty.verifyCustomToken",
4632	//   "path": "verifyCustomToken",
4633	//   "request": {
4634	//     "$ref": "IdentitytoolkitRelyingpartyVerifyCustomTokenRequest"
4635	//   },
4636	//   "response": {
4637	//     "$ref": "VerifyCustomTokenResponse"
4638	//   },
4639	//   "scopes": [
4640	//     "https://www.googleapis.com/auth/cloud-platform"
4641	//   ]
4642	// }
4643
4644}
4645
4646// method id "identitytoolkit.relyingparty.verifyPassword":
4647
4648type RelyingpartyVerifyPasswordCall struct {
4649	s                                                *Service
4650	identitytoolkitrelyingpartyverifypasswordrequest *IdentitytoolkitRelyingpartyVerifyPasswordRequest
4651	urlParams_                                       gensupport.URLParams
4652	ctx_                                             context.Context
4653	header_                                          http.Header
4654}
4655
4656// VerifyPassword: Verifies the user entered password.
4657func (r *RelyingpartyService) VerifyPassword(identitytoolkitrelyingpartyverifypasswordrequest *IdentitytoolkitRelyingpartyVerifyPasswordRequest) *RelyingpartyVerifyPasswordCall {
4658	c := &RelyingpartyVerifyPasswordCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4659	c.identitytoolkitrelyingpartyverifypasswordrequest = identitytoolkitrelyingpartyverifypasswordrequest
4660	return c
4661}
4662
4663// Fields allows partial responses to be retrieved. See
4664// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4665// for more information.
4666func (c *RelyingpartyVerifyPasswordCall) Fields(s ...googleapi.Field) *RelyingpartyVerifyPasswordCall {
4667	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4668	return c
4669}
4670
4671// Context sets the context to be used in this call's Do method. Any
4672// pending HTTP request will be aborted if the provided context is
4673// canceled.
4674func (c *RelyingpartyVerifyPasswordCall) Context(ctx context.Context) *RelyingpartyVerifyPasswordCall {
4675	c.ctx_ = ctx
4676	return c
4677}
4678
4679// Header returns an http.Header that can be modified by the caller to
4680// add HTTP headers to the request.
4681func (c *RelyingpartyVerifyPasswordCall) Header() http.Header {
4682	if c.header_ == nil {
4683		c.header_ = make(http.Header)
4684	}
4685	return c.header_
4686}
4687
4688func (c *RelyingpartyVerifyPasswordCall) doRequest(alt string) (*http.Response, error) {
4689	reqHeaders := make(http.Header)
4690	for k, v := range c.header_ {
4691		reqHeaders[k] = v
4692	}
4693	reqHeaders.Set("User-Agent", c.s.userAgent())
4694	var body io.Reader = nil
4695	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartyverifypasswordrequest)
4696	if err != nil {
4697		return nil, err
4698	}
4699	reqHeaders.Set("Content-Type", "application/json")
4700	c.urlParams_.Set("alt", alt)
4701	c.urlParams_.Set("prettyPrint", "false")
4702	urls := googleapi.ResolveRelative(c.s.BasePath, "verifyPassword")
4703	urls += "?" + c.urlParams_.Encode()
4704	req, err := http.NewRequest("POST", urls, body)
4705	if err != nil {
4706		return nil, err
4707	}
4708	req.Header = reqHeaders
4709	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4710}
4711
4712// Do executes the "identitytoolkit.relyingparty.verifyPassword" call.
4713// Exactly one of *VerifyPasswordResponse or error will be non-nil. Any
4714// non-2xx status code is an error. Response headers are in either
4715// *VerifyPasswordResponse.ServerResponse.Header or (if a response was
4716// returned at all) in error.(*googleapi.Error).Header. Use
4717// googleapi.IsNotModified to check whether the returned error was
4718// because http.StatusNotModified was returned.
4719func (c *RelyingpartyVerifyPasswordCall) Do(opts ...googleapi.CallOption) (*VerifyPasswordResponse, error) {
4720	gensupport.SetOptions(c.urlParams_, opts...)
4721	res, err := c.doRequest("json")
4722	if res != nil && res.StatusCode == http.StatusNotModified {
4723		if res.Body != nil {
4724			res.Body.Close()
4725		}
4726		return nil, &googleapi.Error{
4727			Code:   res.StatusCode,
4728			Header: res.Header,
4729		}
4730	}
4731	if err != nil {
4732		return nil, err
4733	}
4734	defer googleapi.CloseBody(res)
4735	if err := googleapi.CheckResponse(res); err != nil {
4736		return nil, err
4737	}
4738	ret := &VerifyPasswordResponse{
4739		ServerResponse: googleapi.ServerResponse{
4740			Header:         res.Header,
4741			HTTPStatusCode: res.StatusCode,
4742		},
4743	}
4744	target := &ret
4745	if err := gensupport.DecodeResponse(target, res); err != nil {
4746		return nil, err
4747	}
4748	return ret, nil
4749	// {
4750	//   "description": "Verifies the user entered password.",
4751	//   "httpMethod": "POST",
4752	//   "id": "identitytoolkit.relyingparty.verifyPassword",
4753	//   "path": "verifyPassword",
4754	//   "request": {
4755	//     "$ref": "IdentitytoolkitRelyingpartyVerifyPasswordRequest"
4756	//   },
4757	//   "response": {
4758	//     "$ref": "VerifyPasswordResponse"
4759	//   },
4760	//   "scopes": [
4761	//     "https://www.googleapis.com/auth/cloud-platform"
4762	//   ]
4763	// }
4764
4765}
4766
4767// method id "identitytoolkit.relyingparty.verifyPhoneNumber":
4768
4769type RelyingpartyVerifyPhoneNumberCall struct {
4770	s                                                   *Service
4771	identitytoolkitrelyingpartyverifyphonenumberrequest *IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest
4772	urlParams_                                          gensupport.URLParams
4773	ctx_                                                context.Context
4774	header_                                             http.Header
4775}
4776
4777// VerifyPhoneNumber: Verifies ownership of a phone number and
4778// creates/updates the user account accordingly.
4779func (r *RelyingpartyService) VerifyPhoneNumber(identitytoolkitrelyingpartyverifyphonenumberrequest *IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest) *RelyingpartyVerifyPhoneNumberCall {
4780	c := &RelyingpartyVerifyPhoneNumberCall{s: r.s, urlParams_: make(gensupport.URLParams)}
4781	c.identitytoolkitrelyingpartyverifyphonenumberrequest = identitytoolkitrelyingpartyverifyphonenumberrequest
4782	return c
4783}
4784
4785// Fields allows partial responses to be retrieved. See
4786// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
4787// for more information.
4788func (c *RelyingpartyVerifyPhoneNumberCall) Fields(s ...googleapi.Field) *RelyingpartyVerifyPhoneNumberCall {
4789	c.urlParams_.Set("fields", googleapi.CombineFields(s))
4790	return c
4791}
4792
4793// Context sets the context to be used in this call's Do method. Any
4794// pending HTTP request will be aborted if the provided context is
4795// canceled.
4796func (c *RelyingpartyVerifyPhoneNumberCall) Context(ctx context.Context) *RelyingpartyVerifyPhoneNumberCall {
4797	c.ctx_ = ctx
4798	return c
4799}
4800
4801// Header returns an http.Header that can be modified by the caller to
4802// add HTTP headers to the request.
4803func (c *RelyingpartyVerifyPhoneNumberCall) Header() http.Header {
4804	if c.header_ == nil {
4805		c.header_ = make(http.Header)
4806	}
4807	return c.header_
4808}
4809
4810func (c *RelyingpartyVerifyPhoneNumberCall) doRequest(alt string) (*http.Response, error) {
4811	reqHeaders := make(http.Header)
4812	for k, v := range c.header_ {
4813		reqHeaders[k] = v
4814	}
4815	reqHeaders.Set("User-Agent", c.s.userAgent())
4816	var body io.Reader = nil
4817	body, err := googleapi.WithoutDataWrapper.JSONReader(c.identitytoolkitrelyingpartyverifyphonenumberrequest)
4818	if err != nil {
4819		return nil, err
4820	}
4821	reqHeaders.Set("Content-Type", "application/json")
4822	c.urlParams_.Set("alt", alt)
4823	c.urlParams_.Set("prettyPrint", "false")
4824	urls := googleapi.ResolveRelative(c.s.BasePath, "verifyPhoneNumber")
4825	urls += "?" + c.urlParams_.Encode()
4826	req, err := http.NewRequest("POST", urls, body)
4827	if err != nil {
4828		return nil, err
4829	}
4830	req.Header = reqHeaders
4831	return gensupport.SendRequest(c.ctx_, c.s.client, req)
4832}
4833
4834// Do executes the "identitytoolkit.relyingparty.verifyPhoneNumber" call.
4835// Exactly one of *IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse
4836// or error will be non-nil. Any non-2xx status code is an error.
4837// Response headers are in either
4838// *IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse.ServerResponse.H
4839// eader or (if a response was returned at all) in
4840// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
4841// whether the returned error was because http.StatusNotModified was
4842// returned.
4843func (c *RelyingpartyVerifyPhoneNumberCall) Do(opts ...googleapi.CallOption) (*IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse, error) {
4844	gensupport.SetOptions(c.urlParams_, opts...)
4845	res, err := c.doRequest("json")
4846	if res != nil && res.StatusCode == http.StatusNotModified {
4847		if res.Body != nil {
4848			res.Body.Close()
4849		}
4850		return nil, &googleapi.Error{
4851			Code:   res.StatusCode,
4852			Header: res.Header,
4853		}
4854	}
4855	if err != nil {
4856		return nil, err
4857	}
4858	defer googleapi.CloseBody(res)
4859	if err := googleapi.CheckResponse(res); err != nil {
4860		return nil, err
4861	}
4862	ret := &IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse{
4863		ServerResponse: googleapi.ServerResponse{
4864			Header:         res.Header,
4865			HTTPStatusCode: res.StatusCode,
4866		},
4867	}
4868	target := &ret
4869	if err := gensupport.DecodeResponse(target, res); err != nil {
4870		return nil, err
4871	}
4872	return ret, nil
4873	// {
4874	//   "description": "Verifies ownership of a phone number and creates/updates the user account accordingly.",
4875	//   "httpMethod": "POST",
4876	//   "id": "identitytoolkit.relyingparty.verifyPhoneNumber",
4877	//   "path": "verifyPhoneNumber",
4878	//   "request": {
4879	//     "$ref": "IdentitytoolkitRelyingpartyVerifyPhoneNumberRequest"
4880	//   },
4881	//   "response": {
4882	//     "$ref": "IdentitytoolkitRelyingpartyVerifyPhoneNumberResponse"
4883	//   },
4884	//   "scopes": [
4885	//     "https://www.googleapis.com/auth/cloud-platform"
4886	//   ]
4887	// }
4888
4889}
4890