Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The AuthenticatorAttestationResponse interface of the Web Authentication API is returned by CredentialsContainer.create() when a PublicKeyCredential is passed, and provides a cryptographic root of trust for the new key pair that has been generated. This response should be sent to the relying party's server to complete the creation of the credential.

This interface inherits from AuthenticatorResponse.

AuthenticatorResponse AuthenticatorAttestationResponse

Note: This interface is restricted to top-level contexts. Use from within an <iframe> element will not have any effect.

Instance properties

Also inherits properties from its parent, AuthenticatorResponse.

AuthenticatorAttestationResponse.attestationObject Secure context Read only

An ArrayBuffer containing authenticator data and an attestation statement for a newly-created key pair.

Instance methods

AuthenticatorAttestationResponse.getTransports() Secure context

Returns an Array of strings describing which transport methods (e.g., usb, nfc) are believed to be supported with the authenticator. The array may be empty if the information is not available.


const publicKey = {
  challenge: new Uint8Array([
    21, 31, 105 /* 29 more random bytes generated by the server */,
  rp: {
    name: "Example CORP",
    id: "",
  user: {
    id: new Uint8Array(16),
    name: "",
    displayName: "John Doe",
  pubKeyCredParams: [
      type: "public-key",
      alg: -7,

  .create({ publicKey })
  .then((newCredentialInfo) => {
    const response = newCredentialInfo.response;
    // Do something with the response
    // (sending it back to the relying party server maybe?)
  .catch((err) => console.error(err));


Web Authentication: An API for accessing Public Key Credentials - Level 3
# authenticatorattestationresponse

Browser compatibility

BCD tables only load in the browser

See also