List signer factors

GET/signers/{signer}/factorsQuery authentication factors for a signer with filtering, sorting, and pagination.

Use this endpoint to review the authentication factors configured for a signer, such as key pairs or OAuth credentials.

Supported filters:

  • data.public — public key
  • data.schema — factor schema
  • meta.status — record status
  • meta.labels — record labels
  • meta.domain — domain scope
  • data.custom.<field> — any custom field (may be slower on large datasets)
GET
/signers/{signer}/factors

Usage Examples

curl -X GET "http://localhost:3000/v2/signers/string/factors" \  -H "x-ledger: <YOUR LEDGER HANDLE>"
{
  "hash": "f1f9438adc85718d9ead3928951798246bcf303696ea7e66896af875b09ebd0b",
  "data": [
    {
      "luid": "$snf.-01xK1rTtU2dS4wX3",
      "hash": "82baa21c2f24351786a768bb66bf258cbbee9092f53549810ac2e9fdec809036",
      "data": {
        "handle": "signing-key",
        "signer": "tesla-bank-admin",
        "public": "dsZvr0rEw9sIffHlv1VP65x1NB8GeXezIv6HONk1SIk=",
        "format": "ed25519-raw",
        "schema": "key-pair",
        "custom": {
          "title": "Admin backup signing key"
        }
      },
      "meta": {
        "status": "created",
        "moment": "2025-04-05T14:30:00.050Z",
        "owners": [
          "dsZvr0rEw9sIffHlv1VP65x1NB8GeXezIv6HONk1SIk="
        ],
        "proofs": [
          {
            "signer": "tesla-bank-admin",
            "method": "ed25519-v2",
            "digest": "bcbc413a6415be50a9551e3c76f5c32bb00d20025cf5a3c1176ba04752484ddc",
            "public": "dsZvr0rEw9sIffHlv1VP65x1NB8GeXezIv6HONk1SIk=",
            "result": "JonHuzyJ1iX1Kr9BYd3BxjZPJkZurFki/3XzMdgSU1HZk72LKYH5Jxoml+q7FytzCQ7h6z1Mg8Ghn9UVEUksDA==",
            "custom": {
              "moment": "2025-04-05T14:30:00.000Z",
              "status": "created"
            }
          },
          {
            "signer": "system",
            "method": "ed25519-v2",
            "digest": "a24ccbca89db875fe98ce4d1b3f0b9b286e7891cc8e1377b0252be3420e8423a",
            "public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
            "result": "0g5td5sn76a0LKm6rywjdmj8oldC42AqvvMMS90x4UEPln2BcNVx//9oyM0kwEpUs9hkxoibuVHDxX618577Bw==",
            "custom": {
              "luid": "$snf.-01xK1rTtU2dS4wX3",
              "moment": "2025-04-05T14:30:00.050Z",
              "status": "created"
            }
          }
        ]
      }
    },
    {
      "luid": "$snf.-01xG28V2qdcBt3fR",
      "hash": "0c46a7a8abe9be9080ac15a754810bcda1eec6a6e61bfc27bad5e050422a2cae",
      "data": {
        "handle": "otp-factor",
        "parent": "82baa21c2f24351786a768bb66bf258cbbee9092f53549810ac2e9fdec809036",
        "signer": "tesla-bank-admin",
        "schema": "totp",
        "custom": {
          "title": "Two-factor authentication"
        }
      },
      "meta": {
        "status": "created",
        "moment": "2025-04-05T14:21:40.025Z",
        "owners": [
          "dsZvr0rEw9sIffHlv1VP65x1NB8GeXezIv6HONk1SIk="
        ],
        "proofs": [
          {
            "signer": "tesla-bank-admin",
            "method": "ed25519-v2",
            "digest": "3b9e56ed7b7e7d458608a8ab960fb36b0264fabda8add4284845d329babc6cf4",
            "public": "dsZvr0rEw9sIffHlv1VP65x1NB8GeXezIv6HONk1SIk=",
            "result": "X+v/Hcl5NzsgImYfOaTGVoq/jrgvX2mfcARpy4EAxDyjb+rszoJcSnd8TRWtYED5AO79VqLdh0ZlzV+c8cPMAg==",
            "custom": {
              "moment": "2025-04-05T14:21:40.000Z",
              "status": "created"
            }
          },
          {
            "signer": "system",
            "method": "ed25519-v2",
            "digest": "96920b31532700a54de8eaaea4b9239841a11ae02bf14a7cd67ea0952b2cda01",
            "public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
            "result": "jp+hiOVAeeqJHoNayVqK1ocgtatTQSa7l4aFlOjpZWuwSljAbYE0MO+XO/Fl5CoO3sAlTtNxooA9QicbZg57Bg==",
            "custom": {
              "luid": "$snf.-01xG28V2qdcBt3fR",
              "moment": "2025-04-05T14:21:40.025Z",
              "status": "created"
            }
          }
        ]
      }
    }
  ],
  "page": {
    "index": 0,
    "limit": 20
  },
  "meta": {
    "proofs": [
      {
        "signer": "system",
        "method": "ed25519-v2",
        "digest": "1b2ca854741445350a09c741b39dd7002e0cefdbf660c52b6479b0ab1bc96db9",
        "public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
        "result": "xx9HmIxSxyWUcKxjVPbGDuz7BjX8vKhsF7ocMOtpQVdt8HJFjba39q94Mtaf0aRLgPp8j/UFlfYUof9Hf+4KBA==",
        "custom": {
          "moment": "2025-04-05T14:30:00.100Z"
        }
      }
    ]
  }
}
{
  "hash": "b7eb7ccf5ffc126951e13e29a8dcfdaf95db859715d4edfc2d16f59a79d4cd58",
  "data": {
    "reason": "auth.unauthorized",
    "detail": "Invalid token."
  },
  "meta": {
    "proofs": [
      {
        "signer": "system",
        "method": "ed25519-v2",
        "digest": "3acece870c4118bfe4223118e4d2f3cfd5b8947a7093785b66d49aa57fa2890a",
        "public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
        "result": "gnK63DqqWDY/UXvnZHixDKPKS6tfeGHgdARylnPiJLwQGyYxuD97TYbSg2wrzsf/bDrHwQYZaf8Gu5ryYP0UAA==",
        "custom": {
          "moment": "2025-04-05T14:30:00.000Z"
        }
      }
    ]
  }
}
{
  "hash": "9ec02726b50650add8acfd124c6defeb978a9ac252a5de888f9493ddc701e927",
  "data": {
    "reason": "auth.forbidden",
    "detail": "Request is not authorized"
  },
  "meta": {
    "proofs": [
      {
        "signer": "system",
        "method": "ed25519-v2",
        "digest": "4f8cbdc38d73348de0c31805c783c84a0fecc6be736d7e187004ba68cd00e675",
        "public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
        "result": "P3hRnveehtuobb4AIO56XBmiduvmYJbpdmOHltG/IifBEH7QSWdv/0pqled4SO9x1Ne3oXuWxJy40DzMvx1MBA==",
        "custom": {
          "moment": "2025-04-05T14:30:00.000Z"
        }
      }
    ]
  }
}
{
  "hash": "bd1e78b47e837376b7994e3e481aa547c110c4d6a1c1d8ecd047cc465edd33bd",
  "data": {
    "reason": "api.request-timeout",
    "detail": "Processing of request on server timed out. Your request may or may not have been processed."
  },
  "meta": {
    "proofs": [
      {
        "signer": "system",
        "method": "ed25519-v2",
        "digest": "cdf5b09c809ec52934cd76ca3b0aa59310049e3cae8b171aee3cf9e0f98bddb2",
        "public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
        "result": "6h1lhq3TOccWrfIdtOa9pkz9pIHVAN9tyXuNaucvLpbspWACog6HpSAdr0FSwGzn0zAKwx8YppGOVjFhfeBLBw==",
        "custom": {
          "moment": "2025-04-05T14:30:00.000Z"
        }
      }
    ]
  }
}

{
  "hash": "1c084e8dcfb9bb84bc8ea96e9e137b149a34b2bbd85f8e60b4263f5aba980476",
  "data": {
    "custom": {
      "errors": [
        {
          "instancePath": "/handle",
          "schemaPath": "#/properties/handle/pattern",
          "keyword": "pattern",
          "params": {
            "pattern": "^[a-zA-Z0-9_\\-+.]+$"
          },
          "message": "must match pattern \"^[a-zA-Z0-9_\\-+.]+$\""
        }
      ]
    },
    "reason": "record.schema-invalid",
    "detail": "Schema validator error: data.handle must match pattern \"^[a-zA-Z0-9_\\-+.]+$\""
  },
  "meta": {
    "proofs": [
      {
        "signer": "system",
        "method": "ed25519-v2",
        "digest": "7a5febb431719b6f43d7e88e79211308e16ac651b71b339276373fdb4e7c3760",
        "public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
        "result": "2/1zYw4AaIzsIHfOIC6V/CHw6owbjYHt48cwmFOig0ibeT0IbojLmj1RCRi8W00ka0udPa9WsacWDd7ObMY8CA==",
        "custom": {
          "moment": "2025-04-05T14:30:00.000Z"
        }
      }
    ]
  }
}

{
  "hash": "93a5f4d97a42c2df97f827c58ff7768d02568c15aca931e22b81fa3160ba0df3",
  "data": {
    "reason": "api.unexpected-error",
    "detail": "An unexpected error occurred"
  },
  "meta": {
    "proofs": [
      {
        "signer": "system",
        "method": "ed25519-v2",
        "digest": "efaf5360143b586917d9636779ad6e08571c5b06909a20dd0f5eba4bf3be7eae",
        "public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
        "result": "hERh6Aecj59iR+Fb25OQsHJScOi4t8EiffKSfjlMQdjHMccTnfDlgZFdaJzXzUtpSwy/NHq0l+7ydh3HSWCoAg==",
        "custom": {
          "moment": "2025-04-05T14:30:00.000Z"
        }
      }
    ]
  }
}

Path Parameters

signer*|

The unique identifier of the signer this factor belongs to it is luid or handle (address).

Query Parameters

page?

Pagination options. Set limit and index to page through results.

filter?

Filter by field values using dot notation (e.g. data.handle=value). Operators like $in and $regex are optional — equality is the default.

Header Parameters

x-ledger?|

The unique identifier of ledger in context for multi tenant requests.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json