Dynamic Organizations API

The Organizations API from Dynamic — 8 operation(s) for organizations.

Operations 12

POST /organizations Creates organization #
GET /organizations Fetches all the active organizations that the user has access to #
GET /organizations/{organizationId}/billing/subscription Find the subscription of an organization using its ID #
PUT /organizations/{organizationId}/billing/upgrade Upgrade organziation to advanced plan #
PUT /organizations/{organizationId}/billing/subscription/coupon Add coupon to subscription #
GET /organizations/{organizationId} Find an organization by ID #
PUT /organizations/{organizationId} Update an organization by ID #
PUT /organizations/{organizationId}/address Update an organization address by ID #
GET /organizations/{organizationId}/ssoProvider Get SSO provider configuration for organization #
POST /organizations/{organizationId}/ssoProvider Create SSO provider configuration for organization #
PUT /organizations/{organizationId}/ssoProvider/{ssoProviderId} Update SSO provider configuration #
DELETE /organizations/{organizationId}/ssoProvider/{ssoProviderId} Delete SSO provider configuration #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dynamic-xyz-organizations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

dynamic-xyz-organizations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Dashboard Allowlists Organizations 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: Organizations
paths:
  /organizations:
    post:
      operationId: createOrganization
      tags:
      - Organizations
      summary: Creates organization
      requestBody:
        description: Organization data
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationRequest'
        required: true
      responses:
        '200':
          description: Organization response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
      - bearerAuth: []
    get:
      operationId: getOrganizationsForMember
      tags:
      - Organizations
      summary: Fetches all the active organizations that the user has access to
      responses:
        '200':
          description: successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationsResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
      - bearerAuth: []
  /organizations/{organizationId}/billing/subscription:
    get:
      summary: Find the subscription of an organization using its ID
      operationId: getBillingSubscriptionByOrganization
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      responses:
        '200':
          description: Details of the organziation's current subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingSubscription'
        '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: []
  /organizations/{organizationId}/billing/upgrade:
    put:
      summary: Upgrade organziation to advanced plan
      operationId: upgradeSubscriptionForOrganization
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      responses:
        '201':
          description: Details of the organziation's current subscription
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingSubscription'
        '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: []
  /organizations/{organizationId}/billing/subscription/coupon:
    put:
      summary: Add coupon to subscription
      operationId: applyCouponForSubscription
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      requestBody:
        description: User new fields data
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingSubscriptionCoupon'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingSubscription'
        '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: []
  /organizations/{organizationId}:
    get:
      summary: Find an organization by ID
      operationId: getOrganizationById
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      responses:
        '200':
          description: Organization response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Not found
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
      - bearerAuth: []
    put:
      summary: Update an organization by ID
      operationId: updateOrganizationById
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      requestBody:
        description: User new fields data
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationFields'
        required: true
      responses:
        '200':
          description: successful operation - organization fields updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationResponse'
        '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: []
  /organizations/{organizationId}/address:
    put:
      summary: Update an organization address by ID
      operationId: updateOrganizationAddressById
      tags:
      - Organizations
      parameters:
      - $ref: '#/components/parameters/organizationId'
      requestBody:
        description: User new fields data
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrganizationAddressFields'
        required: true
      responses:
        '200':
          description: successful operation - organization fields updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationResponse'
        '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: []
  /organizations/{organizationId}/ssoProvider:
    get:
      operationId: getSsoProviderForOrganization
      tags:
      - Organizations
      summary: Get SSO provider configuration for organization
      parameters:
      - $ref: '#/components/parameters/organizationId'
      responses:
        '200':
          description: Successfully retrieved SSO provider configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsoProvider'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: SSO provider not found
          content:
            application/json:
              schema:
                $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
      - bearerAuth: []
    post:
      operationId: createSsoProvider
      tags:
      - Organizations
      summary: Create SSO provider configuration for organization
      parameters:
      - $ref: '#/components/parameters/organizationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SsoProviderCreateRequest'
      responses:
        '201':
          description: Successfully created SSO provider configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsoProvider'
        '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: []
  /organizations/{organizationId}/ssoProvider/{ssoProviderId}:
    put:
      operationId: updateSsoProvider
      tags:
      - Organizations
      summary: Update SSO provider configuration
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - name: ssoProviderId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: The SSO provider ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SsoProviderUpdateRequest'
      responses:
        '200':
          description: Successfully updated SSO provider configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsoProvider'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: SSO provider not found
          content:
            application/json:
              schema:
                $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
      - bearerAuth: []
    delete:
      operationId: deleteSsoProvider
      tags:
      - Organizations
      summary: Delete SSO provider configuration
      parameters:
      - $ref: '#/components/parameters/organizationId'
      - name: ssoProviderId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: The SSO provider ID
      responses:
        '204':
          description: Successfully deleted SSO provider configuration
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: SSO provider not found
          content:
            application/json:
              schema:
                $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
      - bearerAuth: []
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'
    SsoProviderUpdateRequest:
      type: object
      properties:
        clientId:
          type: string
          maxLength: 255
          description: Client ID for the SSO provider
        clientSecret:
          type: string
          maxLength: 255
          description: Client secret for the SSO provider
        ssoDomain:
          type: string
          maxLength: 255
          description: SSO domain for the provider
        emailDomain:
          type: string
          maxLength: 255
          description: Email domain for the company emails to be used for SSO
        provider:
          $ref: '#/components/schemas/SsoProviderEnum'
        enforceOnlySSO:
          type: boolean
          description: when set to true it would enforce sso auth to the domain
    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
    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.
    Organization:
      type: object
      required:
      - id
      - name
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        name:
          type: string
          example: Acme Corp
        description:
          $ref: '#/components/schemas/OptionalNonEmptyString'
        websiteUrl:
          $ref: '#/components/schemas/OptionalNonEmptyUrl'
        address:
          $ref: '#/components/schemas/OrganizationAddressFields'
        role:
          $ref: '#/components/schemas/RoleEnum'
    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
    RoleEnum:
      type: string
      enum:
      - owner
      - admin
      - developer
      - viewer
    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 address.
        type:
          $ref: '#/components/schemas/WalletAddressType'
    BillingSubscriptionPeriod:
      type: object
      required:
      - startDate
      - endDate
      properties:
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        usagesCount:
          type: number
    OptionalNonEmptyUrlWith255MaxLength:
      type: string
      pattern: ^$|^(https?:\/\/)?[a-z0-9]+([-.]+[a-z0-9]+)*\.[a-z]{2,10}([0-9]{1,5})?(\/.*)?$
      example: https://website-sample.com
      maxLength: 255
    OrganizationFields:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/NonEmptyStringWith255MaxLength'
        description:
          $ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength'
        websiteUrl:
          $ref: '#/components/schemas/OptionalNonEmptyUrlWith255MaxLength'
      required:
      - name
    SsoProviderEnum:
      type: string
      enum:
      - okta
    CoinbaseMpcWalletProperties:
      type: object
      properties:
        claimed:
          type: boolean
          description: Dynamic pregenerated this wallet and stored the passcode
        source:
          $ref: '#/components/schemas/PasswordSourceTypeEnum'
    MergeUser:
      type: object
      description: Contains the current field value for the user.
      required:
      - userId
      - value
      properties:
        userId:
          $ref: '#/components/schemas/uuid'
        value:
          $ref: '#/components/schemas/NonEmptyStringWith255MaxLength'
    WalletProviderEnum:
      type: string
      enum:
      - browserExtension
      - custodialService
      - walletConnect
      - qrCode
      - deepLink
      - embeddedWallet
      - smartContractWallet
    HardwareWalletEnum:
      type: string
      enum:
      - ledger
    WalletPublicKey:
      type: string
      pattern: ^[A-Za-z0-9]{18,100}$
      description: Valid blockchain wallet address, must be an alphanumeric string without any special characters
      example: '0xbF394748301603f18d953C90F0b087CBEC0E1834'
      maxLength: 255
    BillingSubscription:
      type: object
      required:
      - hasPaymentMethod
      - planType
      - inTrial
      - scope
      - version
      properties:
        billingPortalUrl:
          type: string
        billingPortalAddPaymentMethodUrl:
          type: string
        hasPaymentMethod:
          type: boolean
        planType:
          $ref: '#/components/schemas/BillingSubscriptionPlanTypeEnum'
        inTrial:
          type: boolean
        scope:
          type: array
          items:
            type: string
        trialStart:
          type: string
          format: date-time
        trialEnd:
          type: string
          format: date-time
        trialDaysLeft:
          type: number
        currentBillingPeriod:
          $ref: '#/components/schemas/BillingSubscriptionPeriod'
        version:
          type: string
        shouldLockEnvironmentSwitch:
          type: boolean
        coupons:
          type: array
          items:
            $ref: '#/components/schemas/BillingSubscriptionCoupon'
    Forbidden:
      type: object
      properties:
        error:
          type: string
          example: Access Forbidden
    NonEmptyStringWith255MaxLength:
      type: string
      pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$
      maxLength: 255
      example: An example name
    OptionalNonEmptyStringWith255MaxLength:
      type: string
      pattern: ^$|^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$
      example: An example name
      maxLength: 255
    KycFieldType:
      type: string
      enum:
      - standard
      - custom
    NameServiceData:
      type: object
      properties:
        avatar:
          type: string
        name:
          type: string
    OptionalNullableNonEmptyStringWith255MaxLength:
      type:
      - string
      - 'null'
      pattern: ^$|^(?=\S)[\p{L}\p{N} _.,:!?&%@\/+-]+(?<=\S)$
      example: An example name
      maxLength: 255
    OptionalNonEmptyString:
      type: string
      pattern: ^$|^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$
      example: An example name
    BadRequest:
      type: object
      properties:
        error:
          type: string
    CountryCode:
      type:
      - string
      - 'null'
      description: Standard ISO 3166-1 alpha-2 two-letter country code
      pattern: ^[A-Z]{2}$
      example: US
      maxLength: 255
    WhenToImplementEnum:
      type: string
      enum:
      - yesterday
      - nextTwoWeeks
      - nextTwoMonths
      - justBrowsing
    PasswordSourceTypeEnum:
      type: string
      enum:
      - dynamic
      - user
    NonEmptyUrlWith255MaxLength:
      type: string
      pattern: ^(https?:\/\/)?[a-z0-9]+([-.]+[a-z0-9]+)*\.[a-z]{2,10}([0-9]{1,5})?(\/.*)?$
      maxLength: 255
      example: https://website-sample.com
    SmartWalletProperties:
      type: object
      properties:
        entryPointVersion:
          $ref: '#/components/schemas/ProviderEntryPointVersionEnum'
        kernelVersion:
          $ref: '#/components/schemas/ProviderKernelVersionEnum'
        ecdsaProviderType:
          $ref: '#/components/schemas/ecdsaValidatorOptions'
    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
    ProviderEntryPointVersionEnum:
      type: string
      enum:
      - v6
      - v7
    WalletKeyShareInfo:
      type: object
      required:
      - id
      - backupLocation
      - passwordEncrypted
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        backupLocation:
          type: string
        passwordEncrypted:
          type: boolean
        externalKeyShareId:
          $ref: '#/components/schemas/uuid'
    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'
    BaseUser:
      type: object
      required:
      - id
      - projectEnvironmentId
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        projectEnvironmentId:
          $ref: '#/components/schemas/uuid'
        verifiedCredentials:
          type: array
          items:
            $ref: '#/components/schemas/JwtVerifiedCredential'
        lastVerifiedCredentialId:
          $ref: '#/components/schemas/uuid'
        sessionId:
          $ref: '#/components/schemas/uuid'
        alias:
          $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength'
        country:
          $ref: '#/components/schemas/CountryCode'
        email:
          type:
          - string
          - 'null'
          format: email
          maxLength: 255
        firstName:
          $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength'
        jobTitle:
          $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength'
        lastName:
          $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength'
        phoneNumber:
          type:
          - string
          - 'null'
          maxLength: 255
        policiesConsent:
          type:
          - boolean
          - 'null'
        tShirtSize:
          $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength'
        team:
          $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength'
        username:
          $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength'
        firstVisit:
          type: string
          format: date-time
        lastVisit:
          type: string
          format: date-time
        newUser:
          type: boolean
        metadata:
          type: object
        mfaBackupCodeAcknowledgement:
          $ref: '#/components/schemas/MfaBackupCodeAcknowledgement'
        btcWallet:
          type:
          - string
          - 'null'
        kdaWallet:
          type:
          - string
          - 'null'
        ltcWallet:
          type:
          - string
          - 'null'
        ckbWallet:
          type:
          - string
          - 'null'
        kasWallet:
          type:
          - string
          - 'null'
        dogeWallet:
          type:
          - string
          - 'null'
        emailNotification:
          type:
          - boolean
          - 'null'
        discordNotification:
          type:
          - boolean
          - 'null'
        newsletterNotification:
          type:
          - boolean
          - 'null'
        lists:
          type: array
          description: Access lists evaluated by Dynamic when considering access for the user.
          items:
            type: string
        scope:
          type: string
          description: 'A whitespace-separate list of permissions associated with the JWT token issued. This conforms to the JWT standard for scope claims: https://datatracker.ietf.org/doc/html/rfc8693#section-4.2'
          example: superuser marketing operations
        missingFields:
          type: array
          items:
            $ref: '#/components/schemas/ProjectSettingsKyc'
    WaasWalletProperties:
      type: object
      properties:
        keyShares:
          type: array
          items:
            $ref: '#/components/schemas/WalletKeyShareInfo'
        thresholdSignatureScheme:
          $ref: '#/components/schemas/ThresholdSignatureScheme'
        derivationPath:
          type: string
          description: The derivation path for the wallet
        settings:
          $ref: '#/components/schemas/WaasWalletSettings'
        version:
          $ref: '#/components/schemas/EmbeddedWalletVersionEnum'
    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
    UnprocessableEntityErrorCode:
      type: string
      enum:
      - email_cannot_be_null
      - exchange_cannot_be_enabled
      - transfer_amount_too_small
      - transfer_address_not_whitelisted
      - invalid_scopes
      - unknown_transfer_error
      - transfer_mfa_required
      - transfer_mfa_failed
      - invalid_transfer_funds
      - invalid_transfer_currency
      - invalid_exchange_provider
      - invalid_transfer_network
      - invalid_email
      - email_already_exists
      - allowlist_already_exists
      - allowlist_entry_already_exists
      - reassign_wallet_error
      - reassign_wallet_confirm
      - members_cannot_delete_themself
      - username_already_exists
      - wrong_email_verification_token
      - wrong_sms_verification_token
      - invalid_email_verification
      - invalid_sms_verification
      - invalid_verification
      - invalid_position
      - too_many_sms

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dynamic-labs/refs/heads/main/openapi/dynamic-xyz-organizations-api-openapi.yml