---
title: "POST /uploadAccount"
method: POST
path: "/uploadAccount"
tags: ["relyingparty"]
---

# POST /uploadAccount

`POST /uploadAccount`

Batch upload existing user accounts.

## Request body

- IdentitytoolkitRelyingpartyUploadAccountRequest — Request to upload user account in batch.
  - `blockSize` integer
  - `allowOverwrite` boolean — Whether allow overwrite existing account when user local_id exists.
  - `hashAlgorithm` string — The password hash algorithm.
  - `saltSeparator` string, byte — The salt separator.
  - `signerKey` string, byte — The key for to hash the password.
  - `cpuMemCost` integer — The following 4 fields are for standard scrypt algorithm.
  - `parallelization` integer
  - `dkLen` integer
  - `users` UserInfo[] — The account info to be stored.
    - `version` integer — Version of the user's password.
    - `email` string — The email of the user.
    - `disabled` boolean — Whether the user is disabled.
    - `localId` string — The local ID of the user.
    - `displayName` string — The name of the user.
    - `customAttributes` string — The custom attributes to be set in the user's id token.
    - `screenName` string — User's screen name at Twitter or login name at Github.
    - `validSince` string, int64 — Timestamp in seconds for valid login token.
    - `photoUrl` string — The URL of the user profile photo.
    - `rawPassword` string — The user's plain text password.
    - `createdAt` string, int64 — User creation timestamp.
    - `providerUserInfo` object[] — The IDP of the user.
      - `federatedId` string — User's identifier at IDP.
      - `providerId` string — The IdP ID. For white listed IdPs it's a short domain name, e.g., google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs it's the OP identifier.
      - `phoneNumber` string — User's phone number.
      - `displayName` string — The user's display name at the IDP.
      - `photoUrl` string — The user's photo url at the IDP.
      - `rawId` string — User's raw identifier directly returned from IDP.
      - `email` string — User's email at IDP.
      - `screenName` string — User's screen name at Twitter or login name at Github.
    - `passwordUpdatedAt` number, double — The timestamp when the password was last updated.
    - `passwordHash` string, byte — The user's hashed password.
    - `phoneNumber` string — User's phone number.
    - `customAuth` boolean — Whether the user is authenticated by the developer.
    - `emailVerified` boolean — Whether the email has been verified.
    - `lastLoginAt` string, int64 — last login timestamp.
    - `salt` string, byte — The user's password salt.
  - `memoryCost` integer — Memory cost for hash calculation. Used by scrypt similar algorithms.
  - `sanityCheck` boolean — If true, backend will do sanity check(including duplicate email and federated id) when uploading account.
  - `rounds` integer — Rounds for hash calculation. Used by scrypt and similar algorithms.
  - `delegatedProjectNumber` string, int64 — GCP project number of the requesting delegated app. Currently only intended for Firebase V1 migration.
  - `targetProjectId` string — Specify which project (field value is actually project id) to operate. Only used when provided credential.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/identitytoolkit.md) · [All operations](https://skmtc.net/google/apis/identitytoolkit/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/identitytoolkit/versions/9ea63f196a10/schema)
