Skip to main content

GET /api/v1/apps/:appUuid/users

Returns a users resource.

This endpoint documentation is generated from the current Fastify route implementation and should be treated as the implementation-level contract for this version of the API.

Source route file: src/api/routes/external/private/apiKey/app/users/getAll.ts

Request Method

GET

Base URL

https://api.userdocks.local:5000

Endpoint

/api/v1/apps/:appUuid/users

Path Variables

VariableTypeRequiredDescription
appUuidstringtruePath variable from route pattern.

Query Parameters

VariableTypeRequiredDescription
pagestringfalseQuery parameter parsed by route handler.
limitstringfalseQuery parameter parsed by route handler.
referralCodestringfalseQuery parameter parsed by route handler.

HTTP Headers

VariableTypeRequiredDescription
x-api-keystringtrueAPI key value for the app.
x-client-idstringtrueMust match :appUuid path variable.
x-api-key-typestringtrueUse read for GET and write for POST/PUT/DELETE.
Content-TypestringfalseUse application/json for JSON request bodies.

Successful Response

Success status code(s): 200.

{
"kind": "users",
"totalItems": 1,
"itemsLength": 1,
"items": [
{
"uuid": "user_11111111-1111-1111-1111-111111111111",
"email": "user@example.com",
"sub": "auth0|user_11111111",
"name": "Jane Doe",
"givenName": "Jane",
"familyName": "Doe",
"middleName": null,
"nickname": "jane",
"preferredUsername": "jane.doe",
"profile": "https://example.com/users/jane",
"picture": "https://example.com/assets/jane.png",
"website": "https://example.com",
"emailVerified": true,
"gender": "female",
"birthdate": "1990-01-01",
"zoneinfo": "Europe/Berlin",
"locale": "en",
"phoneNumber": "+491234567890",
"phoneNumberVerified": true,
"referrer": "campaign-abc",
"referralCode": "ref_11111111",
"preferredLanguageUuid": "lang_11111111-1111-1111-1111-111111111111",
"isDisabled": false,
"appUuid": "app_11111111-1111-1111-1111-111111111111",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"userTags": [
{
"tag": {
"uuid": "tag_11111111-1111-1111-1111-111111111111",
"appUuid": "app_11111111-1111-1111-1111-111111111111",
"name": "beta-user",
"description": "User belongs to beta segment",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z"
}
}
],
"addresses": [
{
"uuid": "addr_11111111-1111-1111-1111-111111111111",
"name": "billing",
"addressLineOne": "Main Street 1",
"addressLineTwo": "Floor 3",
"postalCode": "10115",
"locality": "Berlin",
"region": "Berlin",
"country": "DE",
"type": "business",
"updatedAt": "2026-01-01T00:00:00.000Z"
}
],
"tenantsAsAdmin": [
{
"tenant": {
"uuid": "tenant_11111111-1111-1111-1111-111111111111",
"name": "Acme Tenant",
"isDisabled": false,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z"
}
}
],
"tenantsAsUser": [
{
"tenant": {
"uuid": "tenant_11111111-1111-1111-1111-111111111111",
"name": "Acme Tenant",
"isDisabled": false,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z"
}
}
],
"oneTimePayments": [
{
"tenantUuid": "tenant_11111111-1111-1111-1111-111111111111",
"productPriceUuid": "price_11111111-1111-1111-1111-111111111111",
"productUuid": "product_11111111-1111-1111-1111-111111111111",
"units": 1,
"invoiceId": "in_12345",
"invoiceUrl": "https://dashboard.stripe.com/invoices/in_12345",
"updatedAt": "2026-01-01T00:00:00.000Z",
"createdAt": "2026-01-01T00:00:00.000Z"
}
],
"subscriptions": [
{
"tenantUuid": "tenant_11111111-1111-1111-1111-111111111111",
"subscriptionId": "sub_12345",
"productPriceUuid": "price_11111111-1111-1111-1111-111111111111",
"productPriceId": "price_ext_12345",
"productUuid": "product_11111111-1111-1111-1111-111111111111",
"invoiceId": "in_12345",
"invoiceUrl": "https://dashboard.stripe.com/invoices/in_12345",
"productId": "prod_ext_12345",
"paidFrom": "2026-01-01T00:00:00.000Z",
"paidUntil": "2026-02-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"createdAt": "2026-01-01T00:00:00.000Z"
}
],
"paymentMethods": [
{
"tenantUuid": "tenant_11111111-1111-1111-1111-111111111111",
"paymentMethodId": "pm_12345",
"validUntilMonth": 12,
"validUntilYear": 2030,
"updatedAt": "2026-01-01T00:00:00.000Z",
"createdAt": "2026-01-01T00:00:00.000Z",
"tenantType": "admin"
}
]
}
]
}

Error Responses

HTTP StatusExample Error
401{"errors":[{"validation":"error","code":"[E4010]","message":"Unauthorized Token or API key"}]}
401{"errors":[{"validation":"error","code":"[E4011]","message":"Unauthorized API key type"}]}
403{"errors":[{"validation":"error","code":"[E4030]","message":"App Is Disabled"}]}
400{"errors":[{"validation":"error","code":"[E4000]","message":"Bad Request / validation error"}]}
500{"errors":[{"validation":"error","code":"[E0000]","message":"Internal Server Error"}]}

Example

const query = new URLSearchParams({
page: 'page-value',
limit: 'limit-value',
referralCode: 'referralCode-value',
});
const url = `https://api.userdocks.local:5000/api/v1/apps/appUuid-value/users?${query.toString()}`;

const response = await fetch(url, {
method: 'GET',
headers: {
'x-api-key': '<api-key>',
'x-client-id': 'appUuid-value',
'x-api-key-type': 'read',
},
});
const data = await response.json();
console.log(response.status, data);