> For AI agents: [llms.txt](https://docs.trustedauth.com/llms.txt) provides a Markdown index of this documentation.

# Complete FIDO token registration for the current user.

`POST /api/web/v1/self/fidotokens`

Complete FIDO token registration for the current user.

## Request Body

Required.

### application/json

Schema

```json
{
  "type": "object",
  "properties": {
    "attestationObject": {
      "type": "string",
      "description": "The FIDO attestationObject data returned from the FIDO token.  This is a base-64 encoded value."
    },
    "clientDataJSON": {
      "type": "string",
      "description": "The FIDO clientData returned from the FIDO token.  This is a base-64 encoded value."
    },
    "name": {
      "type": "string",
      "description": "Optional display name for the new FIDO token. If omitted or blank, the server auto-generates one from the authenticator model (DIRECT/INDIRECT attestation) or defaults to 'Passkey' (NONE attestation)."
    },
    "rpId": {
      "type": "string",
      "description": "Specifies the domain name (relying party ID) of your application and the passkey is registered with. Provide the domain only (e.g., example.com), without protocol (https://). Required if using a custom domain different from your IDaaS tenant's hostname.",
      "example": "mycompany.example.com"
    },
    "transports": {
      "type": "array",
      "description": "The transport methods used during registration (e.g., 'usb', 'nfc', 'ble', 'internal'). Used to determine authenticator capabilities.",
      "items": {
        "type": "string",
        "description": "The transport methods used during registration (e.g., 'usb', 'nfc', 'ble', 'internal'). Used to determine authenticator capabilities."
      }
    },
    "userIdStored": {
      "type": "boolean",
      "description": "Flag indicating if the userId was stored on the registered FIDO2 token.  Defaults to false if not set.",
      "deprecated": true
    }
  },
  "description": "FIDORegisterResponse defines the information returned from a FIDO token to complete registration.",
  "title": "FIDORegisterResponse"
}
```

## Responses

### 200

Successful

#### application/json

Schema

```json
{
  "type": "object",
  "properties": {
    "aaguid": {
      "type": "string",
      "description": "The AAGUID of the authenticator that created this FIDO token."
    },
    "aaguidVerified": {
      "type": "boolean",
      "description": "Indicates whether the AAGUID reported by the authenticator was cryptographically verified via a full certificate chain against the FIDO MDS trust anchors. True only for DIRECT attestation; false for INDIRECT (cert chain not verified); null for NONE (no attestation collected)."
    },
    "algorithm": {
      "type": "string",
      "description": "The signature algorithm of the authenticator that created this FIDO token."
    },
    "allowedActions": {
      "type": "array",
      "description": "Administration actions that can be performed on this FIDO token.",
      "items": {
        "type": "string",
        "description": "Administration actions that can be performed on this FIDO token.",
        "enum": [
          "DELETE",
          "ENABLE",
          "DISABLE",
          "RENAME"
        ]
      }
    },
    "attestationFormat": {
      "type": "string",
      "description": "Attestation format of the authenticator that created this FIDO token."
    },
    "attestedData": {
      "type": "boolean",
      "description": "Indicates if this FIDO token contains attested data."
    },
    "authenticatorModel": {
      "type": "string",
      "description": "The authenticator model of the authenticator that created this FIDO token."
    },
    "backupEligible": {
      "type": "boolean",
      "description": "Indicates if this FIDO token is eligible for backup."
    },
    "backupStatus": {
      "type": "boolean",
      "description": "Indicates if this FIDO token is currently backed up."
    },
    "createDate": {
      "type": "string",
      "description": "The date on which the FIDO token was created.",
      "format": "date-time",
      "example": "2019-02-19T13:15:27Z"
    },
    "icon": {
      "type": "string",
      "description": "The icon of the authenticator that created this FIDO token."
    },
    "id": {
      "type": "string",
      "description": "The unique UUID assigned to the fido token when it is registered."
    },
    "lastUsedDate": {
      "type": "string",
      "description": "The date on which this FIDO token was last used for authentication. This value will be null if the FIDO token has never been used.",
      "format": "date-time",
      "example": "2019-02-21T11:37:27Z"
    },
    "name": {
      "type": "string",
      "description": "The name of this FIDO token."
    },
    "origin": {
      "type": "string",
      "description": "The origin of where the FIDO token was generated."
    },
    "relyingPartyId": {
      "type": "string",
      "description": "The relying party ID of where the FIDO token was generated."
    },
    "state": {
      "type": "string",
      "description": "The state of this FIDO token.  Only FIDO tokens in the ACTIVE state can be used for authentication.",
      "enum": [
        "ACTIVE",
        "INACTIVE"
      ]
    },
    "userId": {
      "type": "string",
      "description": "The user Id of the user who owns this FIDO token."
    },
    "userIdStored": {
      "type": "boolean",
      "description": "Indicates if the userId was stored on the FIDO token."
    },
    "userPresent": {
      "type": "boolean",
      "description": "Indicates if the user was present during the registration or authentication ceremony that created or last used this FIDO token."
    },
    "userUUID": {
      "type": "string",
      "description": "The UUID of the user who owns this FIDO token."
    },
    "userVerified": {
      "type": "boolean",
      "description": "Indicates if the user was verified during the registration or authentication ceremony that created or last used this FIDO token."
    }
  },
  "description": "A FIDOToken defines the information returned about a FIDO Token.",
  "title": "FIDOToken"
}
```

### 400

Bad Request

#### application/json

Schema

```json
{
  "type": "object",
  "properties": {
    "errorCode": {
      "type": "string",
      "description": "Error Codes specific to cause of failure.",
      "example": "invalid_user_response"
    },
    "errorMessage": {
      "type": "string",
      "description": "Additional Error Message describing the error.",
      "example": "Application id cannot be null"
    },
    "parameters": {
      "type": "array",
      "description": "Optional additional error information.",
      "items": {
        "type": "object",
        "description": "Optional additional error information."
      }
    }
  },
  "description": "Object containing information about errors reported by services.",
  "title": "ErrorInfo"
}
```

### 401

Access denied

#### application/json

Schema

```json
{
  "type": "object",
  "properties": {
    "errorCode": {
      "type": "string",
      "description": "Error Codes specific to cause of failure.",
      "example": "invalid_user_response"
    },
    "errorMessage": {
      "type": "string",
      "description": "Additional Error Message describing the error.",
      "example": "Application id cannot be null"
    },
    "parameters": {
      "type": "array",
      "description": "Optional additional error information.",
      "items": {
        "type": "object",
        "description": "Optional additional error information."
      }
    }
  },
  "description": "Object containing information about errors reported by services.",
  "title": "ErrorInfo"
}
```

### 403

Forbidden

#### application/json

Schema

```json
{
  "type": "object",
  "properties": {
    "errorCode": {
      "type": "string",
      "description": "Error Codes specific to cause of failure.",
      "example": "invalid_user_response"
    },
    "errorMessage": {
      "type": "string",
      "description": "Additional Error Message describing the error.",
      "example": "Application id cannot be null"
    },
    "parameters": {
      "type": "array",
      "description": "Optional additional error information.",
      "items": {
        "type": "object",
        "description": "Optional additional error information."
      }
    }
  },
  "description": "Object containing information about errors reported by services.",
  "title": "ErrorInfo"
}
```

### 404

Not Found

#### application/json

Schema

```json
{
  "type": "object",
  "properties": {
    "errorCode": {
      "type": "string",
      "description": "Error Codes specific to cause of failure.",
      "example": "invalid_user_response"
    },
    "errorMessage": {
      "type": "string",
      "description": "Additional Error Message describing the error.",
      "example": "Application id cannot be null"
    },
    "parameters": {
      "type": "array",
      "description": "Optional additional error information.",
      "items": {
        "type": "object",
        "description": "Optional additional error information."
      }
    }
  },
  "description": "Object containing information about errors reported by services.",
  "title": "ErrorInfo"
}
```

### 409

Conflict

#### application/json

Schema

```json
{
  "type": "object",
  "properties": {
    "errorCode": {
      "type": "string",
      "description": "Error Codes specific to cause of failure.",
      "example": "invalid_user_response"
    },
    "errorMessage": {
      "type": "string",
      "description": "Additional Error Message describing the error.",
      "example": "Application id cannot be null"
    },
    "parameters": {
      "type": "array",
      "description": "Optional additional error information.",
      "items": {
        "type": "object",
        "description": "Optional additional error information."
      }
    }
  },
  "description": "Object containing information about errors reported by services.",
  "title": "ErrorInfo"
}
```

## Security

Requirements

```json
[
  {
    "AdminAPIAuthentication": []
  }
]
```
