Dynamic Users API
The Users API from Dynamic — 8 operation(s) for users.
The Users API from Dynamic — 8 operation(s) for users.
openapi: 3.0.1
info:
title: Dashboard Allowlists Users API
description: Dashboard API documentation
version: 1.0.0
servers:
- url: https://app.dynamicauth.com/api/v0
- url: https://app.dynamic.xyz/api/v0
- url: http://localhost:3333/api/v0
tags:
- name: Users
paths:
/users/{userId}:
put:
deprecated: true
operationId: updateUserLegacy
tags:
- Users
summary: Update a user (deprecated - use /environments/{environmentId}/users/{userId} instead)
parameters:
- $ref: '#/components/parameters/userId'
requestBody:
description: User new fields data
content:
application/json:
schema:
$ref: '#/components/schemas/InternalUpdatableUserFields'
required: true
responses:
'200':
description: Successful response of a user
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
get:
deprecated: true
operationId: getUserLegacy
tags:
- Users
summary: Get a user by Id (deprecated - use /environments/{environmentId}/users/{userId} instead)
parameters:
- $ref: '#/components/parameters/userId'
responses:
'200':
description: Successful response of a user
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: Not found
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
delete:
deprecated: true
operationId: deleteUserLegacy
tags:
- Users
summary: Delete user (deprecated - use /environments/{environmentId}/users/{userId} instead)
parameters:
- $ref: '#/components/parameters/userId'
responses:
'204':
description: successful operation
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: Not found
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/environments/{environmentId}/users/{userId}:
put:
operationId: updateUser
tags:
- Users
summary: Update a user
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/userId'
requestBody:
description: User new fields data
content:
application/json:
schema:
$ref: '#/components/schemas/InternalUpdatableUserFields'
required: true
responses:
'200':
description: Successful response of a user
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
get:
operationId: getUser
tags:
- Users
summary: Get a user by Id
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/userId'
responses:
'200':
description: Successful response of a user
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: Not found
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
delete:
operationId: deleteUser
tags:
- Users
summary: Delete user
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/userId'
responses:
'204':
description: successful operation
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: Not found
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/oauthAccounts/{oauthAccountId}/accessToken:
get:
operationId: getUserOauthAccessToken
tags:
- Users
summary: Get the access token for a user OAuth account
parameters:
- $ref: '#/components/parameters/oauthAccountId'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/UserOauthAccessTokenResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: Not found
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/environments/{environmentId}/users:
post:
operationId: createUser
summary: Creates a new user
tags:
- Users
parameters:
- $ref: '#/components/parameters/environmentId'
requestBody:
description: User new fields data
content:
application/json:
schema:
$ref: '#/components/schemas/InternalBulkUpdateUserFields'
required: true
responses:
'201':
description: Successfully created new user
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
get:
operationId: getEnvironmentUsers
tags:
- Users
summary: Get all users for an environment
parameters:
- $ref: '#/components/parameters/environmentId'
- in: query
name: filter
required: false
style: form
schema:
$ref: '#/components/schemas/UserSearchFilterParams'
- in: query
name: orderBy
required: false
schema:
$ref: '#/components/schemas/orderBy'
- in: query
name: offset
schema:
type: integer
minimum: 0
default: 0
description: The number of items to skip before starting to collect the result set
required: false
- in: query
name: limit
schema:
type: integer
minimum: 1
maximum: 100
default: 20
description: The numbers of items to return
required: false
- in: query
name: includeSessions
required: false
schema:
type: boolean
description: When true, we will return the most recent list of sessions for each user in the list.
responses:
'200':
description: List of users
content:
application/json:
schema:
$ref: '#/components/schemas/UsersResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/users/{userId}/sessions/revoke:
post:
deprecated: true
operationId: revokeUserSessionsLegacy
description: This endpoint is deprecated. Use /environments/{environmentId}/users/{userId}/sessions/revoke instead.
summary: Revoke sessions by user ID
tags:
- Users
parameters:
- $ref: '#/components/parameters/userId'
responses:
'204':
description: Successful empty response
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/ForbiddenWithErrorAndPayload'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/environments/{environmentId}/users/{userId}/sessions/revoke:
post:
operationId: revokeUserSessions
summary: Revoke sessions by user ID
tags:
- Users
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/userId'
responses:
'204':
description: Successful empty response
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/ForbiddenWithErrorAndPayload'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/environments/{environmentId}/users/{userId}/sessions:
get:
operationId: getUserSessions
summary: Get all sessions for a user by user ID
tags:
- Users
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/userId'
- in: query
name: limit
schema:
type: integer
minimum: 1
maximum: 100
default: 100
description: The number of sessions to return
required: false
- in: query
name: offset
schema:
type: integer
minimum: 0
default: 0
description: The number of sessions to skip before starting to collect the result set
required: false
- in: query
name: revoked
schema:
type: boolean
description: Filter sessions by revoked status. If true, only revoked sessions are returned. If false, only non-revoked sessions are returned. If not provided, all sessions are returned.
required: false
responses:
'200':
description: Successful response with list of sessions
content:
application/json:
schema:
$ref: '#/components/schemas/SessionsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/ForbiddenWithErrorAndPayload'
'404':
$ref: '#/components/responses/NotFound'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/environments/{environmentId}/users/bulk:
post:
operationId: bulkCreateUser
summary: Creates many new users
tags:
- Users
parameters:
- $ref: '#/components/parameters/environmentId'
- name: upsert
in: query
required: false
description: Update user data if user already exists
schema:
type: boolean
requestBody:
description: User new fields data
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/InternalUserFields'
minItems: 1
maxItems: 50
required: true
responses:
'201':
description: Successfully completed bulk user request
content:
application/json:
schema:
$ref: '#/components/schemas/BulkUserCreateResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
components:
schemas:
UserOauthAccessTokenResponse:
type: object
required:
- accessToken
properties:
accessToken:
type: string
UnprocessableEntity:
type: object
properties:
error:
type: string
example: Resources already exists for this Object
code:
$ref: '#/components/schemas/UnprocessableEntityErrorCode'
payload:
$ref: '#/components/schemas/UnprocessableEntityErrorPayload'
required:
- error
ProjectSettingsKyc:
type: object
properties:
name:
type: string
required:
type: boolean
enabled:
type: boolean
unique:
type: boolean
verify:
type: boolean
type:
$ref: '#/components/schemas/KycFieldType'
validationRules:
$ref: '#/components/schemas/CustomFieldValidationRules'
validationType:
$ref: '#/components/schemas/CustomFieldType'
label:
type: string
position:
type: number
required:
- name
- required
- enabled
- unique
- verify
ThresholdSignatureScheme:
type: string
enum:
- TWO_OF_TWO
- TWO_OF_THREE
- THREE_OF_FIVE
OptionalNullableNonEmptyStringWith255MaxLength:
type: string
pattern: ^$|^(?=\S)[\p{L}\p{N} _.,:!?&%@\/+-]+(?<=\S)$
example: An example name
nullable: true
maxLength: 255
ChainalysisCheck:
type: object
properties:
id:
$ref: '#/components/schemas/uuid'
createdAt:
type: string
format: date-time
result:
$ref: '#/components/schemas/ChainalysisCheckResultEnum'
walletPublicKey:
$ref: '#/components/schemas/WalletPublicKey'
response:
type: string
required:
- id
- createdAt
- result
- walletPublicKey
- response
NotFound:
type: object
required:
- error
- code
properties:
error:
type: string
example: Not Found
code:
type: string
example: not_found
WaasWalletSettings:
type: object
properties:
hasDeniedDelegatedAccess:
type: boolean
shouldRefreshOnNextSignOn:
type: boolean
reshareOnNextSignOn:
$ref: '#/components/schemas/ThresholdSignatureScheme'
revokeOnNextSignOn:
type: boolean
InternalUserFields:
allOf:
- $ref: '#/components/schemas/InternalUpdatableUserFields'
- type: object
properties:
emailVerifiedAt:
type: string
format: date-time
description: When provided, the user email will be marked as verified in our system and the user will be allowed to sign in with that email. When social is enabled and the social provider has a verified email, we will automatically associate that social with the existing user.
email:
$ref: '#/components/schemas/updatableEmailOrEmptyString'
wallets:
type: array
items:
$ref: '#/components/schemas/CreateWalletRequest'
oauthAccounts:
type: array
items:
$ref: '#/components/schemas/CreateUserOauthRequest'
emailOrEmptyString:
type: string
pattern: ^$|(^([!#-'*+\/-9=?A-Z^-~-]+(\.[!#-'*+\/-9=?A-Z^-~-]+)*|"([]!#-[^-~ \t]|([\t -~]))+")@([!#-'*+\/-9=?A-Z^-~-]+(\.[!#-'*+\/-9=?A-Z^-~-]+)*|[\t -Z^-~]*)$)
example: hello-world@foobar.com
maxLength: 255
WalletKeyShareInfo:
type: object
required:
- id
- backupLocation
- passwordEncrypted
properties:
id:
$ref: '#/components/schemas/uuid'
backupLocation:
type: string
passwordEncrypted:
type: boolean
externalKeyShareId:
$ref: '#/components/schemas/uuid'
User:
allOf:
- $ref: '#/components/schemas/BaseUser'
- type: object
properties:
walletPublicKey:
type: string
wallet:
type: string
chain:
$ref: '#/components/schemas/ChainEnum'
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
sessions:
type: array
items:
$ref: '#/components/schemas/Session'
wallets:
type: array
items:
$ref: '#/components/schemas/Wallet'
chainalysisChecks:
type: array
items:
$ref: '#/components/schemas/ChainalysisCheck'
oauthAccounts:
type: array
items:
$ref: '#/components/schemas/oAuthAccount'
mfaDevices:
type: array
items:
$ref: '#/components/schemas/MFADevice'
ecdsaValidatorOptions:
type: string
enum:
- zerodev_signer_to_ecdsa
- zerodev_multi_chain
UnprocessableEntityErrorPayload:
type: object
description: Contains information which the integrating client of this API can use to tailor an experience to a customer to fix the underlying issue that triggered this error.
properties:
email:
type: string
format: email
example: joe@email.com
loginProvider:
$ref: '#/components/schemas/ProviderEnum'
embeddedWalletName:
type: string
embeddedSocialSigninProvider:
$ref: '#/components/schemas/ProviderEnum'
mergeConflicts:
$ref: '#/components/schemas/MergeConflicts'
additionalMessages:
type: array
items:
type: string
JwtVerifiedCredentialFormatEnum:
type: string
enum:
- blockchain
- email
- oauth
- passkey
- phoneNumber
- externalUser
MergeUserConflict:
type: object
description: Contains a merge conflict between two users with different values for the same user field data
required:
- field
- fromUser
- currentUser
properties:
field:
$ref: '#/components/schemas/ProjectSettingsKyc'
fromUser:
$ref: '#/components/schemas/MergeUser'
currentUser:
$ref: '#/components/schemas/MergeUser'
UserSearchFilterParams:
type: object
properties:
filterValue:
type: string
filterColumn:
$ref: '#/components/schemas/UserFilterableFieldsEnum'
filterSocialProvider:
$ref: '#/components/schemas/ProviderEnum'
chain:
$ref: '#/components/schemas/ChainEnum'
CreateUserOauthRequest:
type: object
required:
- provider
- accountId
properties:
provider:
$ref: '#/components/schemas/ProviderEnum'
accountId:
$ref: '#/components/schemas/NonEmptyStringWith255MaxLength'
emails:
type: array
items:
$ref: '#/components/schemas/emailOrEmptyString'
displayName:
$ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength'
username:
$ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength'
photos:
type: array
items:
type: string
profile:
type: object
ForbiddenWithErrorAndPayload:
type: object
properties:
error:
$ref: '#/components/schemas/ErrorMessageWithCode'
payload:
$ref: '#/components/schemas/ForbiddenErrorPayload'
BulkUserCreateResponse:
type: object
properties:
created:
type: array
items:
$ref: '#/components/schemas/User'
updated:
type: array
items:
$ref: '#/components/schemas/User'
failed:
type: array
items:
type: object
properties:
user:
$ref: '#/components/schemas/User'
error:
type: string
example: Resources already exists for this Object
code:
$ref: '#/components/schemas/UnprocessableEntityErrorCode'
total:
type: integer
UserResponse:
type: object
properties:
user:
$ref: '#/components/schemas/User'
UserFilterableFieldsEnum:
type: string
enum:
- all
- id
- walletPublicKey
- email
- alias
- firstName
- lastName
- phoneNumber
- jobTitle
- wallet
- username
- accountId
InternalServerError:
type: object
properties:
error:
type: string
example: Internal Server Error
oAuthAccount:
type: object
properties:
id:
$ref: '#/components/schemas/uuid'
provider:
$ref: '#/components/schemas/ProviderEnum'
accountUsername:
type: string
btcWalletString:
type: string
description: BTC wallet address
pattern: ^(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,59}$
example: 3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5
nullable: true
ProviderEnum:
type: string
description: The 'turnkey' value is deprecated and will be removed in a future version.
enum:
- emailOnly
- magicLink
- apple
- bitbucket
- coinbasesocial
- discord
- epicgames
- facebook
- farcaster
- github
- gitlab
- google
- instagram
- linkedin
- microsoft
- twitch
- twitter
- blocto
- banxa
- coinbaseOnramp
- cryptoDotCom
- dynamic
- alchemy
- zerodev
- telegram
- turnkey
- coinbaseWaas
- sms
- spotify
- tiktok
- line
- steam
- shopify
- zksync
- kraken
- blockaid
- passkey
- okta
- sendgrid
- resend
MfaBackupCodeAcknowledgement:
type: string
nullable: true
enum:
- pending
- complete
KycFieldType:
type: string
enum:
- standard
- custom
NameServiceData:
type: object
properties:
avatar:
type: string
name:
type: string
ltcWalletString:
type: string
description: LTC wallet address
pattern: ^[LM3][a-km-zA-HJ-NP-Z1-9]{26,53}$
example: LUttH43tQ4x4qniCKr1Rqo8ESeXFPdv9ax
nullable: true
InternalUpdatableUserFields:
type: object
description: User fields that can be updated on dashboard or through the rest API which do not involve any uniqueness checks or further verification
properties:
alias:
$ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength'
firstName:
$ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength'
lastName:
$ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength'
jobTitle:
$ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength'
phoneNumber:
$ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength'
metadata:
type: object
mfaBackupCodeAcknowledgement:
$ref: '#/components/schemas/MfaBackupCodeAcknowledgement'
tShirtSize:
$ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength'
team:
$ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength'
policiesConsent:
type: boolean
country:
$ref: '#/components/schemas/CountryCode'
username:
$ref: '#/components/schemas/Username'
btcWallet:
$ref: '#/components/schemas/btcWalletString'
kdaWallet:
$ref: '#/components/schemas/kdaWalletString'
ltcWallet:
$ref: '#/components/schemas/ltcWalletString'
ckbWallet:
$ref: '#/components/schemas/ckbWalletString'
kasWallet:
$ref: '#/components/schemas/kasWalletString'
dogeWallet:
$ref: '#/components/schemas/dogeWalletString'
emailNotification:
type: boolean
discordNotification:
type: boolean
newsletterNotification:
type: boolean
MergeConflicts:
type: object
description: Contains information needed for the SDK to surface merge conflicts when attempting to merge information from one user to another
required:
- fromUser
- conflicts
properties:
fromUser:
$ref: '#/components/schemas/SdkUser'
conflicts:
type: array
items:
$ref: '#/components/schemas/MergeUserConflict'
InternalBulkUpdateUserFields:
allOf:
- $ref: '#/components/schemas/InternalUpdatableUserFields'
- type: object
properties:
id:
$ref: '#/components/schemas/uuid'
emailVerifiedAt:
type: string
format: date-time
description: When provided, the user email will be marked as verified in our system and the user will be allowed to sign in with that email. When social is enabled and the social provider has a verified email, we will automatically associate that social with the existing user.
email:
$ref: '#/components/schemas/updatableEmailOrEmptyString'
wallets:
type: array
items:
$ref: '#/components/schemas/CreateWalletRequest'
oauthAccounts:
type: array
items:
$ref: '#/components/schemas/CreateUserOauthRequest'
WalletProperties:
anyOf:
- $ref: '#/components/schemas/TurnkeyWalletProperties'
- $ref: '#/components/schemas/HardwareWalletProperties'
- $ref: '#/components/schemas/CoinbaseMpcWalletProperties'
- $ref: '#/components/schemas/SmartWalletProperties'
- $ref: '#/components/schemas/WaasWalletProperties'
MFADevice:
type: object
properties:
type:
$ref: '#/components/schemas/MFADeviceType'
verified:
type: boolean
description: Whether or not the user has a verified this MFA Device
id:
$ref: '#/components/schemas/uuid'
createdAt:
type: string
format: date-time
description: The date and time the MFA device was created
verifiedAt:
type: string
format: date-time
description: The date and time the MFA device was verified
nullable: true
default:
type: boolean
description: Whether or not this is the default MFA device for the user
alias:
type: string
description: The optional alias for the MFA device
NonEmptyStringWith255MaxLengthAndSpecialChars:
type: string
pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'()\[\]*]+(?<=\S)$
maxLength: 255
example: An example name
EmbeddedWalletVersionEnum:
type: string
enum:
- V1
- V2
- V3
CountryCode:
type: string
nullable: true
description: Standard ISO 3166-1 alpha-2 two-letter country code
pattern: ^[A-Z]{2}$
example: US
maxLength: 255
CoinbaseMpcWalletProperties:
type: object
properties:
claimed:
type: boolean
description: Dynamic pregenerated this wallet and stored the passcode
source:
$ref: '#/components/schemas/PasswordSourceTypeEnum'
Username:
type: string
nullable: true
description: Alphanumeric with slugs and underscores username
pattern: ^$|^[\p{L}\p{N}_-]{3,20}$
example: johndoe
maxLength: 255
ckbWalletString:
type: string
description: CKB wallet address
pattern: ^(ckb1q|ckt1q)[0-9a-z]{25,111}$
example: ckt1q9876543210abcdefghijklmnopqrstuvwxyz
nullable: true
CreateWalletRequest:
required:
- publicWalletAddress
- chain
- walletName
- walletProvider
type: object
properties:
publicWalletAddress:
$ref: '#/components/schemas/WalletPublicKey'
chain:
$ref: '#/components/schemas/ChainEnum'
walletName:
$ref: '#/components/schemas/NonEmptyStringWith255MaxLength'
walletProvider:
$ref: '#/components/schemas/WalletProviderEnum'
additionalWalletAddresses:
type: array
items:
$ref: '#/components/schemas/WalletAdditionalAddress'
Unauthorized:
type: object
properties:
error:
type: string
example: No jwt provided!
dogeWalletString:
type: string
description: DOGE wallet address
pattern: ^D[a-zA-Z0-9_.-]{33}$
example: DPcy35vmuk8GXcfu1vgFFEeij3BuYYJQKB
nullable: true
SmartWalletProperties:
type: object
properties:
entryPointVersion:
$ref: '#/components/schemas/ProviderEntryPointVersionEnum'
kernelVersion:
$ref: '#/components/schemas/ProviderKernelVersionEnum'
ecdsaProviderType:
$ref: '#/components/schemas/ecdsaValidatorOptions'
ChainEnum:
type: string
enum:
- ETH
- EVM
- FLOW
- SOL
- ALGO
- STARK
- COSMOS
- BTC
- ECLIPSE
- SUI
- SPARK
- TRON
- APTOS
- TON
- STELLAR
UsersResponse:
type: object
properties:
count:
type: integer
users:
type: array
items:
$ref: '#/components/schemas/User'
ForbiddenErrorPayload:
type: object
properties:
walletPublicKey:
$ref: '#/components/schemas/WalletPublicKey'
email:
type: string
format: email
updatableEmailOrEmptyString:
type: string
description: If email is trusted and verified, please provide a emailVerifiedAt timestamp. This will ensure that a user signing in with this email can access the correctly-created user account.
pattern: ^$|(^([!#-'*+\/-9=?A-Z^-~-]+(\.[!#-'*+\/-9=?A-Z^-~-]+)*|"([]!#-[^-~ \t]|([\t -~]))+")@([!#-'*+\/-9=?A-Z^-~-]+(\.[!#-'*+\/-9=?A-Z^-~-]+)*|[\t -Z^-~]*)$)
example: hello-world@foobar.com
maxLength: 255
PasswordSourceTypeEnum:
type: string
enum:
- dynamic
- user
WalletAdditionalAddress:
type: object
description: An additional address associated with a wallet.
required:
- address
- type
properties:
address:
type: string
description: An address associated with a wallet.
publicKey:
type: string
description: The public key associated with the ad
# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dynamic-xyz/refs/heads/main/openapi/dynamic-xyz-users-api-openapi.yml