openapi: 3.0.3 info: title: Dynamic Allowlists API description: Representative OpenAPI description of the Dynamic environment-scoped REST API for web3 authentication and embedded wallets. Admin endpoints authenticate with an environment-scoped bearer API token (dyn_ prefixed); SDK endpoints authenticate with a user JWT obtained via the client SDK. This document is a faithful, non-exhaustive representation of publicly documented surfaces at https://docs.dynamic.xyz/api-reference. Consult the live API reference for the complete schema catalog. termsOfService: https://www.dynamic.xyz/terms contact: name: Dynamic Support url: https://www.dynamic.xyz/contact version: v0 servers: - url: https://app.dynamicauth.com/api/v0 description: Production - url: https://app.dynamic.xyz/api/v0 description: Production (alternate host) security: - bearerAuth: [] tags: - name: Allowlists description: Gate authentication with allowlists. paths: /environments/{environmentId}/allowlists: get: operationId: getAllowlists tags: - Allowlists summary: Get allowlists for an environment. parameters: - $ref: '#/components/parameters/EnvironmentId' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AllowlistList' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createAllowlist tags: - Allowlists summary: Create an allowlist. parameters: - $ref: '#/components/parameters/EnvironmentId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAllowlistRequest' responses: '201': description: Allowlist created. content: application/json: schema: $ref: '#/components/schemas/Allowlist' '401': $ref: '#/components/responses/Unauthorized' /environments/{environmentId}/allowlists/{allowlistId}/entries: post: operationId: createAllowlistEntry tags: - Allowlists summary: Add an entry to an allowlist. parameters: - $ref: '#/components/parameters/EnvironmentId' - name: allowlistId in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AllowlistEntry' responses: '201': description: Entry created. content: application/json: schema: $ref: '#/components/schemas/AllowlistEntry' '401': $ref: '#/components/responses/Unauthorized' components: parameters: EnvironmentId: name: environmentId in: path required: true description: The ID of the Dynamic environment (project). schema: type: string format: uuid responses: Unauthorized: description: The bearer token is missing or invalid. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: AllowlistList: type: object properties: allowlists: type: array items: $ref: '#/components/schemas/Allowlist' AllowlistEntry: type: object properties: id: type: string format: uuid value: type: string description: The email, wallet address, or country code allowed. required: - value Error: type: object properties: error: type: object properties: code: type: string message: type: string required: - message required: - error Allowlist: type: object properties: id: type: string format: uuid name: type: string type: type: string enum: - email - walletAddress - country entries: type: array items: $ref: '#/components/schemas/AllowlistEntry' CreateAllowlistRequest: type: object properties: name: type: string type: type: string enum: - email - walletAddress - country required: - name - type securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: dyn_token description: 'Environment-scoped API token with a dyn_ prefix for admin endpoints, or a user JWT from the client SDK for SDK endpoints. Sent as Authorization: Bearer .'