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

# Get FIDO tokens (paginated)

`POST /api/web/v1/fidotokenspaged`

Get a paginated list of FIDO tokens with search and filter capabilities. Caller requires the FIDOTOKENS:VIEW permission. The following searchByAttributes are supported: <ul><li>userId: a String value (it matches both the User ID or any alias). Allowed operator is EQUALS. </li><li>name: a String with value matching the FIDO token name. Allowed operators are: EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, STARTS_WITH, ENDS_WITH. </li><li>authenticatorModel: a String value matching the authenticator model name. Allowed operators are: EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS, STARTS_WITH, ENDS_WITH. </li><li>state: FIDO token state Active or Inactive. Allowed operator is: EQUALS </li><li>createDate: a String value representing an ISO-8601 date in UTC time (e.g., 2018-08-04T18:15:30). Allowed operators are:  GREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL</li><li>lastUsedDate: a String value representing an ISO-8601 date in UTC time (e.g., 2018-08-04T18:15:30). Allowed operators are:  GREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL, EXISTS, NOT_EXISTS</li></ul>If you provide more than one search attribute, they are joined with an AND condition.<br /><br />The orderByAttribute supports these attribute names: userId and createDate.

## Request Body

Required.

### application/json

Schema

```json
{
  "type": "object",
  "properties": {
    "attributes": {
      "type": "array",
      "description": "Users search only: additional, non-core attributes to include in the returned object. Attribute names are specific to the returned object.",
      "items": {
        "type": "string",
        "description": "Users search only: additional, non-core attributes to include in the returned object. Attribute names are specific to the returned object."
      }
    },
    "cursor": {
      "type": "string",
      "description": "Identifies the page to return when paging over a result set--if present, search by / order by attributes are ignored."
    },
    "limit": {
      "maximum": 100,
      "minimum": 1,
      "type": "integer",
      "description": "Identifies the maximum number of items to include in a page (1-100).",
      "format": "int32"
    },
    "orderByAttribute": {
      "required": [
        "ascending",
        "name"
      ],
      "type": "object",
      "properties": {
        "ascending": {
          "type": "boolean",
          "description": "Identifies whether to order results in ascending order."
        },
        "name": {
          "type": "string",
          "description": "Identifies the attribute."
        }
      },
      "description": "An attribute used to sort the result from a search.",
      "title": "OrderByAttribute"
    },
    "searchByAttributes": {
      "type": "array",
      "description": "Identifies attributes for searching purposes. Some end-points have pre-defined values and ignore this attribute.",
      "items": {
        "required": [
          "name",
          "operator"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Identifies the attribute we are searching for."
          },
          "operator": {
            "type": "string",
            "description": "Identifies the operator.",
            "enum": [
              "EQUALS",
              "NOT_EQUALS",
              "CONTAINS",
              "NOT_CONTAINS",
              "STARTS_WITH",
              "ENDS_WITH",
              "GREATER_THAN",
              "GREATER_THAN_OR_EQUAL",
              "LESS_THAN",
              "LESS_THAN_OR_EQUAL",
              "IN",
              "EXISTS",
              "NOT_EXISTS"
            ]
          },
          "value": {
            "type": "string",
            "description": "Identifies the value of the attribute we are searching for."
          }
        },
        "description": "An attribute used during paging and/or searching.",
        "title": "SearchByAttribute"
      }
    }
  },
  "description": "Parameters specifying search attributes or a cursor to get results from a previous search.",
  "title": "SearchParms"
}
```

## Responses

### 200

Successful

#### application/json

Schema

```json
{
  "required": [
    "results"
  ],
  "type": "object",
  "properties": {
    "paging": {
      "required": [
        "limit"
      ],
      "type": "object",
      "properties": {
        "limit": {
          "maximum": 100,
          "minimum": 1,
          "type": "integer",
          "description": "The page limit used (1-100)",
          "format": "int32"
        },
        "nextCursor": {
          "type": "string",
          "description": "The cursor pointing to the next page."
        },
        "prevCursor": {
          "type": "string",
          "description": "The cursor pointing to the previous page."
        }
      },
      "description": "Contains navigation information.",
      "title": "Paging"
    },
    "results": {
      "type": "array",
      "description": "A single page with the list of fido tokens found.",
      "items": {
        "type": "object",
        "properties": {
          "aaguid": {
            "type": "string",
            "description": "Authenticator Attestation GUID.",
            "example": "00000000-0000-0000-0000-000000000000"
          },
          "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": "Cryptographic algorithm used by the token.",
            "example": "ES256"
          },
          "authenticatorModel": {
            "type": "string",
            "description": "Model name of the authenticator.",
            "example": "YubiKey 5 NFC"
          },
          "authenticatorType": {
            "type": "string",
            "description": "Type of authenticator device.",
            "example": "Platform"
          },
          "backupEligible": {
            "type": "boolean",
            "description": "Whether the credential is eligible for backup.",
            "example": false
          },
          "backupStatus": {
            "type": "boolean",
            "description": "Current backup state of the credential.",
            "example": false
          },
          "certificationStatus": {
            "type": "string",
            "description": "FIDO certification status.",
            "example": "Level 1"
          },
          "createDate": {
            "type": "string",
            "description": "Timestamp when the token was registered.",
            "format": "date-time",
            "example": "2019-02-19T13:15:27Z"
          },
          "cryptoStrength": {
            "type": "integer",
            "description": "Cryptographic strength in bits.",
            "format": "int32",
            "example": 256
          },
          "icon": {
            "type": "string",
            "description": "Base64-encoded icon for the authenticator."
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the FIDO token.",
            "example": "5cb1e8f0-8d3a-4e2b-9c1a-2f3e4d5f6a7b"
          },
          "keyProtection": {
            "type": "array",
            "description": "Methods used to protect the authenticator's private key (e.g., software, hardware, TEE, secure element).",
            "example": [
              "hardware",
              "secure_element"
            ],
            "items": {
              "type": "string",
              "description": "Methods used to protect the authenticator's private key (e.g., software, hardware, TEE, secure element).",
              "example": "[\"hardware\",\"secure_element\"]"
            }
          },
          "lastUsedDate": {
            "type": "string",
            "description": "Timestamp when the token was last used for authentication.",
            "format": "date-time",
            "example": "2019-02-21T11:37:27Z"
          },
          "matcherProtection": {
            "type": "array",
            "description": "Protection mechanisms for the biometric matcher component (e.g., software, TEE, on-chip).",
            "example": [
              "tee",
              "on_chip"
            ],
            "items": {
              "type": "string",
              "description": "Protection mechanisms for the biometric matcher component (e.g., software, TEE, on-chip).",
              "example": "[\"tee\",\"on_chip\"]"
            }
          },
          "name": {
            "type": "string",
            "description": "Name of the FIDO token.",
            "example": "My YubiKey"
          },
          "protocolFamily": {
            "type": "string",
            "description": "FIDO protocol family.",
            "example": "fido2"
          },
          "rpId": {
            "type": "string",
            "description": "Relying Party ID associated with the token.",
            "example": "example.com"
          },
          "state": {
            "type": "string",
            "description": "Current state of the token.",
            "example": "ACTIVE",
            "enum": [
              "ACTIVE",
              "INACTIVE"
            ]
          },
          "transports": {
            "type": "array",
            "description": "Supported transport protocols.",
            "example": [
              "usb",
              "nfc"
            ],
            "items": {
              "type": "string",
              "description": "Supported transport protocols.",
              "example": "[\"usb\",\"nfc\"]"
            }
          },
          "userId": {
            "type": "string",
            "description": "User ID of the token owner.",
            "example": "john.doe"
          },
          "userPresent": {
            "type": "boolean",
            "description": "Whether user presence was confirmed during registration.",
            "example": true
          },
          "userVerified": {
            "type": "boolean",
            "description": "Whether user verification was performed during registration.",
            "example": true
          }
        },
        "description": "Detailed FIDO token information with user and authenticator metadata.",
        "title": "FIDOTokenDetails"
      }
    }
  },
  "description": "Contains paging information and the results from a fido tokens search.",
  "title": "FIDOTokensPage"
}
```

### 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": [
      "FIDOTOKENS:VIEW"
    ]
  }
]
```
