HTTP API reference › Gala Launchpad › users
Gala Launchpad — users
10 operations in this group.
- GET /v1/users — List users
- GET /v1/users/{address} — Get public profile with stats
- GET /v1/users/{address}/gala-balance — Get user GALA balance by address
- GET /v1/users/{address}/summary — Get user summary
- GET /v1/users/{address}/tokens — Get tokens for user
- PUT /v1/users/me — Update user profile
- GET /v1/users/me/gala-balance — Get GALA token balance
- POST /v1/users/me/image — Upload profile image
- GET /v1/users/me/managed-tokens — Get managed tokens
- GET /v1/users/me/profile — Get current user profile
GET /v1/users
UserController_listUsers
List users
List platform users with flag and ban counts (admin/overseer only)
Authentication: apiKeyAuth, bearer
api key auth
Responses
200 — Cursor-paginated platform user metrics.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | UsersListResponseDto | yes |
401 — Unauthorized - missing or invalid JWT token or admin API key
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
403 — Forbidden - user is not a system admin or overseer
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
500 — Internal server error - database query failed
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
default — Shared error envelope for user listing failures.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example response
[]
GET /v1/users/{address}
UserController_getProfileWithStats
Get public profile with stats
Get public profile information with aggregated stats and badges for a user
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| address | path | required | string | Wallet address whose public profile is returned. |
Responses
200 — Public profile with statistics, badge ladders, and live-stream status.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | PublicUserProfileResponseDto | yes |
400 — Bad request - address parameter not a valid wallet address format
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
500 — Internal server error - failed to aggregate user stats from database
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
default — Shared error envelope for public profile lookup failures.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example response
[]
GET /v1/users/{address}/gala-balance
UserController_getUserGalaBalance
Get user GALA balance by address
Get GALA token balance for a specific user address
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| address | path | required | string | Wallet address whose GALA balance is returned. |
Responses
200 — GALA balance and price information.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | GalaBalanceResponseDto | yes |
400 — Bad request - address parameter invalid format
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
500 — Internal server error - blockchain query failed or service unavailable
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
default — Shared error envelope for GALA balance lookup failures.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example response
[]
GET /v1/users/{address}/summary
UserController_getUserSummary
Get user summary
Get detailed user information including activity and stats (admin/overseer only)
Authentication: apiKeyAuth, bearer
api key auth
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| address | path | required | string | Wallet address whose administrative summary is returned. |
Responses
200 — User profile and administrative activity summary.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | UserSummaryResponseDto | yes |
401 — Unauthorized - missing or invalid JWT token or admin API key
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
403 — Forbidden - user is not a system admin or overseer
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
404 — User not found - address parameter does not match any existing user
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
500 — Internal server error - failed to aggregate user data from database
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
default — Shared error envelope for user summary lookup failures.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example response
[]
GET /v1/users/{address}/tokens
UserController_fetchTokens
Get tokens for user
List tokens held or created by a user with optional type and status filters
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| address | path | required | string | Wallet address whose tokens are listed. |
| search | query | optional | string | |
| status | query | optional | string enum: all, graduated, active | |
| tokenName | query | optional | string | Optional exact token name filter. |
| type | query | optional | string enum: held, created | Token list mode. |
Responses
200 — Tokens retrieved successfully - returns paginated array of holdings/created with balances and metadata Cursor-paginated raw token holdings or created launch records, depending on type.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | oneOf: UserTokenListResponseDto | ProfileLaunchesResponseDto | yes |
400 — Bad request - address parameter invalid format, or skip/limit parameters invalid
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
500 — Internal server error - failed to retrieve tokens from blockchain or database
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
default — Shared error envelope for user token listing failures.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example response
[]
PUT /v1/users/me
UserController_updateUserProfile
Update user profile
Update user profile information (full name, profile image)
Authentication: apiKeyAuth, bearer
api key auth
Request body
Required: yes
application/json
Schema: UpdateProfileDto
| Field | Type | Required | Description |
|---|---|---|---|
| fullName | string | no | |
| profileImage | string (uri) nullable | no |
Responses
200 — Updated current user profile returned in the success envelope.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | CurrentUserProfileResponseDto | yes |
400 — Bad request - fullName exceeds max length (255 chars) or profileImage URL is invalid
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
401 — Unauthorized - missing or invalid JWT token or API key
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
403 — Forbidden - user is banned and cannot update profile
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
500 — Internal server error - failed to update profile in database
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
default — Shared error envelope for profile update failures.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example request
[]
Example response
[]
GET /v1/users/me/gala-balance
UserController_fetchGalaBalance
Get GALA token balance
Get GALA token balance for a user address
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| userAddress | query | required | string | Wallet address to query. |
Responses
200 — GALA balance and price information.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | GalaBalanceResponseDto | yes |
400 — Bad request - userAddress query parameter missing or invalid format
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
500 — Internal server error - blockchain query failed or service unavailable
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
default — Shared error envelope for GALA balance lookup failures.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example response
[]
POST /v1/users/me/image
UserController_uploadProfileImage
Upload profile image
Upload profile image
Authentication: apiKeyAuth, bearer
api key auth
Request body
Required: yes
multipart/form-data
Schema: object
| Field | Type | Required | Description |
|---|---|---|---|
| image | string (binary) | yes |
Responses
201 — Uploaded profile image URL.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | string (uri) | yes |
400 — Invalid file format or size
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
401 — Unauthorized
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
default — Shared error envelope for profile image upload failures.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example request
[]
Example response
[]
GET /v1/users/me/managed-tokens
UserController_getManagedTokens
Get managed tokens
Get all tokens a user can manage (owned, moderated, or overseer access)
Authentication: apiKeyAuth, bearer
api key auth
Responses
200 — Owned tokens, moderated tokens, and overseer status.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | ManagedTokensResponse | yes |
401 — Unauthorized - missing or invalid JWT token or API key
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
500 — Internal server error - failed to aggregate managed tokens from database
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
default — Shared error envelope for managed-token lookup failures.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example response
[]
GET /v1/users/me/profile
UserController_fetchUserProfile
Get current user profile
Get user profile information including extended fields for authenticated users
Authentication: apiKeyAuth, bearer
api key auth
Responses
200 — Current authenticated user profile.
Content type: application/json
Schema: ApiSuccessEnvelopeMetadataDto & object
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: false | yes | Successful response marker. |
| message | string | yes | Response message. |
| status | number | yes | HTTP status code. |
| data | CurrentUserProfileResponseDto | yes |
401 — Unauthorized - missing or invalid JWT token or API key
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
500 — Internal server error - failed to retrieve profile from database
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
default — Shared error envelope for current profile lookup failures.
Content type: application/json
Schema: ApiErrorEnvelope
| Field | Type | Required | Description |
|---|---|---|---|
| error | boolean enum: true | yes | |
| message | oneOf: string | array<string> | yes | |
| status | integer | yes | HTTP status code. |
| message | string | yes | |
| statusCode | integer | yes | HTTP status code. |
Example response
[]