# List pending signup requests

Retrieves a paginated list of signup requests awaiting admin approval. Can filter by email address, request hash, or originating IP address. Results are sorted by creation date (newest first) by default. Only shows requests at the ADMIN approval step.

RBAC:
- requires ANY of Signups.Read, Signups.Manage

Endpoint: GET /api/v1/admin/signup_requests/list
Version: 1.0
Security: header

## Query parameters:

  - `email` (string,null)
    Filter by email address. Returns requests with matching email.

  - `hash` (string,null)
    Filter by request hash. Returns the specific request with this hash.

  - `ip` (string,null)
    Filter by IP address. Returns requests from this originating IP.

  - `lastId` (string,null)
    Get older records (records with IDs less than this value) Alias maxId/max_id
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

  - `limit` (integer,null)

  - `offset` (integer,null)

  - `sortBy` (string,null)

  - `sortOrder` (string,null)
    Sort order. Supported values: ASC or DESC

  - `untilId` (string,null)
    Get newer records (records with IDs greater than this value) Alias minId/min_id
    Example: "us_01hxcvk1hjexere4pvtrj0ymqq"

## Response 200 fields (application/json):

  - `list` (array, required)
    List of signup requests

  - `list.hash` (string, required)
    Unique hash for the signup request
    Example: "hash123"

  - `list.email` (string,null)
    Email address for the account
    Example: "john@example.com"

  - `list.phone` (string,null)
    Phone number for the account
    Example: "+12345678901"

  - `list.username` (string, required)
    Username for the first user
    Example: "john_smith"

  - `list.displayName` (string, required)
    Display name for the first user
    Example: "John Smith"

  - `list.password` (string,null, required)
    Account password, enforced by password policy
    Example: "PassW0rd!"

  - `list.confirmationType` (string, required)
    Current step in the signup flow
    Enum: "EMAIL", "PHONE", "CAPTCHA", "REASON", "ADMIN", "USER"

  - `list.reason` (string, required)
    Reason for creating account
    Example: "Reason for signup"

  - `list.ip` (object, required)
    IP address of the user

  - `list.ip.multicastAddress` (boolean)

  - `list.ip.anyLocalAddress` (boolean)

  - `list.ip.loopbackAddress` (boolean)

  - `list.ip.linkLocalAddress` (boolean)

  - `list.ip.siteLocalAddress` (boolean)

  - `list.ip.MCGlobal` (boolean)

  - `list.ip.MCNodeLocal` (boolean)

  - `list.ip.MCLinkLocal` (boolean)

  - `list.ip.MCSiteLocal` (boolean)

  - `list.ip.MCOrgLocal` (boolean)

  - `list.ip.hostName` (string)

  - `list.ip.address` (string)

  - `list.ip.hostAddress` (string)

  - `list.userAgent` (string, required)
    User agent of the user
    Example: "Mozilla/5.0"

  - `list.geoData` (object,null)
    Geolocation data of the user

  - `list.geoData.countryCode` (string,null)
    ISO country code

  - `list.geoData.country` (string,null)
    Country name

  - `list.geoData.subdivision` (string,null)
    Subdivision or state/province name

  - `list.geoData.city` (string,null)
    City name

  - `list.geoData.timeZone` (string,null)
    IANA timezone identifier

  - `list.createdAt` (string, required)
    Creation timestamp of the request
    Example: "2022-03-10T16:15:50Z"

  - `list.inviteCode` (string,null)
    Invite code if provided
    Example: "abcd-efgh-1234"

  - `total` (integer, required)
    Total number of signup requests matching the query
    Example: 42

## Response 403 fields (application/json):

  - `errorCode` (string, required)
    Error code

  - `message` (string, required)
    Error message

  - `docUrl` (string)
    Link to documentation


