Dynamic Waas API
The Waas API from Dynamic — 14 operation(s) for waas.
The Waas API from Dynamic — 14 operation(s) for waas.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/dynamic-xyz-waas-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Dashboard Allowlists Waas 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: Waas
paths:
/environments/{environmentId}/waas/create:
post:
operationId: createWaasWallet
description: Creates a new WAAS wallet for a user given an email or userId. If an email is provided and it is not associated with an existing user this call will also create a new user.
summary: Create a new WAAS for a user given an identifier
tags:
- Waas
security:
- bearerAuth: []
parameters:
- $ref: '#/components/parameters/environmentId'
requestBody:
description: Pregenerate WAAS wallet for a user given an identifier
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserWaasWalletsRequest'
responses:
'200':
description: Wallet already exists for the user
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'201':
description: Successfully created new wallet for the 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'
/environments/{environmentId}/waas/authenticate:
post:
operationId: authenticateWaas
tags:
- Waas
summary: Authenticate for WAAS using api key
security:
- bearerAuth: []
parameters:
- $ref: '#/components/parameters/environmentId'
responses:
'200':
description: Successfully authenticated
content:
application/json:
schema:
$ref: '#/components/schemas/WaasAuthenticateResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
/environments/{environmentId}/waas/verifyApiKey:
post:
operationId: verifyApiKey
tags:
- Waas
summary: Verify if an API key is valid for a specific environment
description: Simple endpoint to verify if the provided API key (DYN_API_TOKEN) is valid and has access to the specified environment. Returns true if the token is verified, false otherwise.
security:
- bearerAuth: []
parameters:
- $ref: '#/components/parameters/environmentId'
responses:
'200':
description: API key verification result
content:
application/json:
schema:
$ref: '#/components/schemas/WaasVerifyApiKeyResponse'
'400':
description: Bad request - token is required
content:
application/json:
schema:
$ref: '#/components/schemas/WaasVerifyApiKeyErrorResponse'
'401':
description: Unauthorized - invalid or expired token
content:
application/json:
schema:
$ref: '#/components/schemas/WaasVerifyApiKeyErrorResponse'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
/environments/{environmentId}/waas/{walletId}/delegatedAccess/signMessage:
post:
operationId: delegatedSignMessage
tags:
- Waas
summary: Sign a message with a delegated waas account
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/walletId'
requestBody:
description: Delegate Sign Message Request
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WaasDelegateSignMessageRequest'
responses:
'200':
description: Successfully created a room for delegated signing message ceremony
content:
application/json:
schema:
$ref: '#/components/schemas/OpenRoomResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalServerError'
/environments/{environmentId}/waas/{walletId}/delegatedAccess:
delete:
operationId: deleteDelegatedAccess
tags:
- Waas
summary: Revoke delegated access for a single wallet
description: 'Allows developers to revoke their own delegated access for a specific wallet
'
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/walletId'
responses:
'204':
description: Delegated access successfully revoked
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/environments/{environmentId}/waas/delegatedAccess/revoke:
post:
operationId: revokeDelegatedAccess
tags:
- Waas
summary: Revoke delegated access for one or more wallets
description: 'Allows developers to revoke their own delegated access
'
parameters:
- $ref: '#/components/parameters/environmentId'
requestBody:
description: Revoke Delegated Access Request
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RevokeDelegatedAccessRequest'
responses:
'200':
description: Delegated access revocation processed
content:
application/json:
schema:
$ref: '#/components/schemas/RevokeDelegatedAccessResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
/environments/{environmentId}/waas/delegatedAccess/encryptionPublicKeys:
get:
operationId: getDelegatedAccessEncryptionPublicKeys
tags:
- Waas
summary: Get delegated access encryption public keys for an environment
description: 'Fetches the encryption public keys used for delegated access in a WAAS environment.
By default, returns only the latest active key. Use the includeAll query parameter to get all keys.
'
parameters:
- $ref: '#/components/parameters/environmentId'
- name: includeAll
in: query
description: If true, returns all encryption public keys. Otherwise, returns only the latest active key.
required: false
schema:
type: boolean
default: false
responses:
'200':
description: Encryption public keys fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DelegatedAccessEncryptionPublicKeysUnifiedResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
post:
operationId: createDelegatedCredentials
tags:
- Waas
summary: Create credentials for waas wallet delegation
parameters:
- $ref: '#/components/parameters/environmentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WaasDelegationCredentialsRequest'
responses:
'201':
description: Credentials for waas wallet delegation created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/WaasDelegationCredentialsResponse'
'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'
/environments/{environmentId}/waas/delegatedAccess/encryptionPublicKeys/{keyId}:
get:
operationId: getDelegatedAccessEncryptionPublicKeyById
tags:
- Waas
summary: Get a specific delegated access encryption public key by ID
parameters:
- $ref: '#/components/parameters/environmentId'
- name: keyId
in: path
description: The ID of the encryption public key
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Encryption public key fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DelegatedAccessEncryptionPublicKeyResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/environments/{environmentId}/waas/{walletId}:
get:
operationId: getWaasWalletByWalletId
tags:
- Waas
summary: Get a specific WAAS wallet by walletId
parameters:
- $ref: '#/components/parameters/environmentId'
- name: walletId
in: path
description: The ID of the WAAS wallet
required: true
schema:
type: string
format: uuid
responses:
'200':
description: WAAS wallet fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/WaasWalletResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/environments/{environmentId}/waas/{walletId}/keyShares/backup/locations:
post:
operationId: backupKeySharesToLocationsForPregen
tags:
- Waas
summary: Create backup action for key shares using API token authentication
description: 'Creates backup locations for wallet key shares. Requires API token authentication. Validates that the user belongs to the environment and that no client key shares exist for the wallet. This endpoint is intended for server-side integrations that need to backup key shares on behalf of users.
'
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/walletId'
requestBody:
description: Backup locations request with userId
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BackupKeySharesToLocationsWithUserIdRequest'
responses:
'201':
description: Backup action and event created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/BackupKeySharesToLocationsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/environments/{environmentId}/waas/policies:
post:
operationId: createWaasPolicy
tags:
- Waas
summary: Create a new WAAS policy for an environment or add new rules to an existing policy
parameters:
- $ref: '#/components/parameters/environmentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WaasPolicyCreateRequest'
responses:
'201':
description: WAAS policy created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/WaasPolicyResponse'
'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'
get:
operationId: getWaasPolicy
tags:
- Waas
summary: Get the WAAS policy for an environment
parameters:
- $ref: '#/components/parameters/environmentId'
responses:
'200':
description: WAAS policy fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/WaasPolicyResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
put:
operationId: updateWaasPolicy
tags:
- Waas
summary: Update the WAAS policy for an environment by ruleId
parameters:
- $ref: '#/components/parameters/environmentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WaasPolicyUpdateRequest'
responses:
'200':
description: WAAS policy updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/WaasPolicyResponse'
'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'
delete:
operationId: deleteWaasPolicy
tags:
- Waas
summary: Delete a WAAS policy rule by ruleId
parameters:
- $ref: '#/components/parameters/environmentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WaasPolicyDeleteRequest'
responses:
'200':
description: WAAS policy rules deleted successfully
content:
application/json:
schema:
$ref: '#/components/schemas/WaasPolicyResponse'
'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'
/environments/{environmentId}/waas/{walletId}/signaturePolicy:
post:
operationId: createWaasSignaturePolicy
tags:
- Waas
summary: Create a new WAAS signature policy for a wallet
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/walletId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WaasWalletSignaturePolicyTmpCreateRequest'
responses:
'201':
description: WAAS signature policy created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/WaasWalletSignaturePolicyTmpResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
get:
operationId: getWaasSignaturePolicies
tags:
- Waas
summary: Get all active WAAS signature policies for a wallet
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/walletId'
responses:
'200':
description: WAAS signature policies fetched successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/WaasWalletSignaturePolicyTmpResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
/environments/{environmentId}/waas/{walletId}/signaturePolicy/{policyId}:
get:
operationId: getWaasSignaturePolicyByWalletIdAndPolicyId
tags:
- Waas
summary: Get a WAAS signature policy by walletId and policyId
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/walletId'
- name: policyId
in: path
description: The ID of the signature policy for the wallet
required: true
schema:
type: string
format: uuid
responses:
'200':
description: WAAS signature policy fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/WaasWalletSignaturePolicyTmpResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
put:
operationId: updateWaasSignaturePolicyByWalletIdAndPolicyId
tags:
- Waas
summary: Update a WAAS signature policy by walletId and policyId
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/walletId'
- name: policyId
in: path
description: The ID of the signature policy for the wallet
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WaasWalletSignaturePolicyTmpCreateRequest'
responses:
'200':
description: WAAS signature policy updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/WaasWalletSignaturePolicyTmpResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
delete:
operationId: deleteWaasSignaturePolicyByWalletIdAndPolicyId
tags:
- Waas
summary: Delete a WAAS signature policy by walletId and policyId
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/walletId'
- name: policyId
in: path
description: The ID of the signature policy for the wallet
required: true
schema:
type: string
format: uuid
responses:
'200':
description: WAAS signature policy deleted successfully
content:
application/json:
schema:
$ref: '#/components/schemas/WaasWalletSignaturePolicyTmpResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/sdk/{environmentId}/waas/delegatedAccess/encryptionPublicKey:
get:
operationId: getDelegatedAccessEncryptionPublicKey
tags:
- Waas
summary: Get delegated access encryption public key for an environment
description: 'Fetches the encryption public key used for delegated access in a WAAS environment.
By default, returns only the latest active key.
'
parameters:
- $ref: '#/components/parameters/environmentId'
responses:
'200':
description: Encryption public key fetched successfully
content:
application/json:
schema:
$ref: '#/components/schemas/DelegatedAccessEncryptionPublicKeyResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
components:
schemas:
JwtVerifiedCredentialFormatEnum:
type: string
enum:
- blockchain
- email
- oauth
- passkey
- phoneNumber
- externalUser
TurnkeyWalletProperties:
deprecated: true
type: object
properties:
turnkeySubOrganizationId:
allOf:
- $ref: '#/components/schemas/uuid'
deprecated: true
turnkeyPrivateKeyId:
allOf:
- $ref: '#/components/schemas/uuid'
deprecated: true
turnkeyHDWalletId:
allOf:
- $ref: '#/components/schemas/uuid'
deprecated: true
isAuthenticatorAttached:
type: boolean
description: Whether or not the wallet has an authenticator (passkey, api key, etc) attached to it.
turnkeyUserId:
allOf:
- $ref: '#/components/schemas/uuid'
deprecated: true
isSessionKeyCompatible:
type: boolean
version:
$ref: '#/components/schemas/EmbeddedWalletVersionEnum'
ecdsaProviderType:
$ref: '#/components/schemas/ecdsaValidatorOptions'
entryPointVersion:
$ref: '#/components/schemas/ProviderEntryPointVersionEnum'
kernelVersion:
$ref: '#/components/schemas/ProviderKernelVersionEnum'
WaasChainEnum:
type: string
enum:
- EVM
- SVM
- SUI
- BTC
- TON
WaasDelegationCredentialsRequest:
type: object
required:
- publicKey
properties:
publicKey:
$ref: '#/components/schemas/NonEmptyStringWith4096MaxLength'
alg:
$ref: '#/components/schemas/NonEmptyStringWith50MaxLength'
type:
$ref: '#/components/schemas/WaasDelegatedAccessEncryptionPublicKeyType'
WaasWalletResponse:
type: object
required:
- wallet
properties:
wallet:
$ref: '#/components/schemas/WaasWallet'
WaasPolicyArgumentConstraint:
type: object
required:
- operator
- value
- index
properties:
operator:
$ref: '#/components/schemas/WaasPolicyConstraintCondition'
value:
description: Reference value for comparison
index:
type: integer
minimum: 0
description: Index of the function argument to validate
NonEmptyStringWith255MaxLengthAndSpecialChars:
type: string
pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'()\[\]*]+(?<=\S)$
maxLength: 255
example: An example name
CustomFieldValidationRules:
type: object
properties:
unique:
type: boolean
description: If this field must be unique for every user in the environment
regex:
type: string
maxLength: 255
description: The regex pattern that the text field must match
example: ^0x
validOptions:
type: array
items:
$ref: '#/components/schemas/CustomFieldValidValue'
description: The dropdown options for the select field
example:
- label: small
- label: medium
- label: large
checkboxText:
type: string
maxLength: 255
description: The text that will be displayed for the checkbox field
example: Agree to the terms and conditions
description: Optional validation rules for the custom field
Wallet:
type: object
properties:
id:
$ref: '#/components/schemas/uuid'
name:
$ref: '#/components/schemas/NonEmptyString'
chain:
$ref: '#/components/schemas/ChainEnum'
publicKey:
$ref: '#/components/schemas/WalletPublicKey'
provider:
$ref: '#/components/schemas/WalletProviderEnum'
properties:
$ref: '#/components/schemas/WalletProperties'
lastSelectedAt:
type:
- string
- 'null'
required:
- id
- name
- chain
- publicKey
- provider
Unauthorized:
type: object
properties:
error:
type: string
example: No jwt provided!
InternalServerError:
type: object
properties:
error:
type: string
example: Internal Server Error
JwtVerifiedCredential:
type: object
required:
- id
- format
- signInEnabled
properties:
address:
$ref: '#/components/schemas/WalletPublicKey'
chain:
type: string
refId:
$ref: '#/components/schemas/uuid'
signerRefId:
$ref: '#/components/schemas/uuid'
email:
type: string
format: email
id:
$ref: '#/components/schemas/uuid'
name_service:
$ref: '#/components/schemas/NameServiceData'
public_identifier:
description: This is used to publicly identify a verified credential in a human-friendly way. For example, this will be the email address if credential format=email.
type: string
wallet_name:
type: string
wallet_provider:
$ref: '#/components/schemas/WalletProviderEnum'
wallet_properties:
$ref: '#/components/schemas/WalletProperties'
format:
$ref: '#/components/schemas/JwtVerifiedCredentialFormatEnum'
oauth_provider:
$ref: '#/components/schemas/ProviderEnum'
oauth_username:
type: string
oauth_display_name:
type:
- string
- 'null'
oauth_account_id:
type:
- string
- 'null'
phoneNumber:
description: This field contains the phone number in the country. This could also contain the area code within a country.
example: '9171113333'
type: string
phoneCountryCode:
description: This field contains the phone international country code. See https://countrycode.org/
example: '1'
type: string
isoCountryCode:
description: ISO-3166 two-character country code. See https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
example: US
type: string
oauth_account_photos:
type: array
items:
type: string
oauth_emails:
type: array
items:
type: string
oauth_metadata:
type: object
description: This object contains JSON metadata for a social-based verified credential. It may contain data about the user that does not fit into the other structured fields, and could include arbitrary fields about the user from the oauth provider's API.
previous_users:
description: This will only be provided in the responses for GET /users/{userId}.Previous user IDs that owned this verified credential and was tranfered to the current user ID.
type: array
items:
$ref: '#/components/schemas/uuid'
embedded_wallet_id:
type:
- string
- 'null'
wallet_additional_addresses:
type: array
items:
$ref: '#/components/schemas/WalletAdditionalAddress'
lastSelectedAt:
description: This timestamp indicates the last time this verified wallet was either connected to the user account or selected to become the primary wallet on the account.
type: string
format: date-time
signInEnabled:
type: boolean
description: This indicates if the user can sign in with this credential
verifiedAt:
type: string
format: date-time
description: This timestamp indicates the last time this verified credential was verified.
BackupKeySharesToLocationsResponse:
type: object
required:
- message
- walletId
- locationsWithKeyShares
properties:
message:
type: string
walletId:
$ref: '#/components/schemas/uuid'
locationsWithKeyShares:
type: array
items:
type: object
required:
- location
- keyShareId
- externalKeyShareId
properties:
location:
$ref: '#/components/schemas/WaasBackupOptionsEnum'
keyShareId:
$ref: '#/components/schemas/uuid'
externalKeyShareId:
$ref: '#/components/schemas/uuid'
NonEmptyStringWith50MaxLength:
type: string
pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$
example: An example name
maxLength: 50
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
NotFound:
type: object
required:
- error
- code
properties:
error:
type: string
example: Not Found
code:
type: string
example: not_found
WaasPolicyRule:
type: object
required:
- name
- ruleType
- chain
properties:
ruleId:
$ref: '#/components/schemas/uuid'
name:
type: string
description: Human-readable name for the rule
ruleType:
$ref: '#/components/schemas/WaasPolicyRuleType'
address:
description: Target address EVM or SVM (legacy field)
# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dynamic-labs/refs/heads/main/openapi/dynamic-xyz-waas-api-openapi.yml