Users
List users
https://api.firstleeward.com/v0/usersRetrieves a paginated list of users. Use cursor-based pagination by passing the nextCursor value from the response to get subsequent pages. Use externalId to resolve your own identifier back to a First Leeward user. In CORPORATE mode, use companyId to filter users by company. Pass includeTotalCount=true to also get the number of users matching the filters.
Authorizations
Authorizationstring · headerrequiredAPI key as Bearer token, e.g. Bearer YOUR_API_KEY
Headers
Leeward-Versionenum<string>requiredAPI version (YYYY-MM-DD). Available option: 2026-09-18
Query Parameters
limitintegerdefault: 20Maximum number of items to return (1-100, default: 20)
cursorstringOpaque cursor for pagination. Pass nextCursor from previous response to get next page.
idstring<uuid>Filter users by exact ID match
externalIdstringFilter users by exact match on your own identifier, as supplied at creation
companyIdstring<uuid>Filter users by company ID (CORPORATE mode only)
applicationStatusstring[]Filter users by application status (comma-separated)
NOT_STARTEDAWAITING_DOCUMENTSIN_REVIEWAPPROVEDREJECTEDRETRY_REQUIREDincludeTotalCountstringWhen true, the response includes totalCount, the number of items matching the filters across all pages. Counting adds work to the request, so pass it only on the first page and only when you need it.
Response
200Response for status 200
itemsobject[]requiredShow child attributes
idstring<uuid>requiredUnique user identifier
externalIdstring | nullrequiredYour own identifier for this user, as supplied at creation. Null if none was provided.
emailstring<email>requiredUser email address
phoneNumberstringrequiredPhone number in E.164 format
firstNamestring | nullrequiredUser first name. Null until provided by the client or backfilled from the verified KYC identity on approval.
lastNamestring | nullrequiredUser last name. Null until provided by the client or backfilled from the verified KYC identity on approval.
countrystring | nullrequiredISO 3166-1 alpha-2 country code
dateOfBirthstring | nullrequiredDate of birth (YYYY-MM-DD). Filled from the verified KYC identity, or as sent at creation on corporate employee projects.
nationalitystring | nullrequiredNationality (ISO 3166-1 alpha-2) as sent at creation on corporate employee projects. Null on other projects.
companyIdstring<uuid> | nullrequiredCompany ID (set in CORPORATE program mode)
applicationobjectrequiredKYC application status
Show child attributes
statusstringrequiredCurrent KYC application status
NOT_STARTEDAWAITING_DOCUMENTSIN_REVIEWAPPROVEDREJECTEDRETRY_REQUIREDrejectionReasonstring | nullrequiredHuman-readable reason for rejection. Set when status is REJECTED or RETRY_REQUIRED, null otherwise.
rejectionLabelsstring[] | nullrequiredMachine-readable reject codes from the compliance review (for example FORGERY, SELFIE_MISMATCH, EXPIRATION_DATE). Set when status is REJECTED or RETRY_REQUIRED, null otherwise. The set of codes is open-ended - handle unknown values. For your internal use only - do not display these codes to the end user.
documentsobject[] | nullrequiredSupporting documents and their per-document review state. Null for applications with no supporting documents.
Show child attributes
typestringrequiredSupporting document category
IDENTITYPROOF_OF_ADDRESSCURPstatusstringrequiredReview state of this document
PENDINGUPLOADEDRETRY_REQUIREDREJECTEDcreatedAtstringrequiredISO 8601 timestamp of creation
updatedAtstringrequiredISO 8601 timestamp of last update
nextCursorstring | nullrequiredCursor for next page, or null if no more items
totalCountintegerNumber of items matching the filters across all pages, ignoring cursor and limit. Present only when includeTotalCount=true.
400companyId is not allowed in Consumer program mode
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequired