# Get all admins

ADMIN: Retrieve all admins associated with the current tenant. Use pagination parameters (page & limit) for optimal performance. Legacy support: returns array without params (deprecated - will be removed in future).

Endpoint: GET /admins
Version: 2.0.53
Security: authJWT

## Query parameters:

  - `page` (number)
    Page number for pagination (1-based)

  - `limit` (number)
    Items per page for pagination

## Response 200 fields (application/json):

  - `id` (string, required)
    Id of the admin

  - `email` (string, required)
    Email of the admin

  - `displayName` (string, required)
    Display name of the admin

  - `type` (string, required)
    Type of the admin
    Enum: "SUPER_ADMIN", "TENANT_ADMIN"

  - `tenants` (array)
    Tenant of the admin

  - `tenants.projectName` (string, required)
    Name of the tenant.

  - `tenants.acronym` (string, required)
    Acronym of the tenant.

  - `tenants.id` (string, required)
    Unique identifier for tenant. This id is used to identify tenant in the system for client requests.

  - `tenants.createdAt` (string, required)
    Date when tenant was created.

  - `tenants.projectDescription` (string)
    Description of the tenant.

  - `tenants.projectWebsite` (string)
    Website of the tenant.

  - `tenants.projectEmail` (string)
    Email of the tenant.

  - `tenants.projectImageUrl` (string)
    Image URL of the tenant.

  - `tenants.projectLogoUrl` (string)
    Logo URL of the tenant.

  - `tenants.projectApiKey` (string, required)
    Unique identifier for tenant. This id is used to identify tenant in the system for client requests.

  - `tenants.testnetProjectApiKey` (string, required)
    Testnet project API key for tenant. Used in case of testnet project.

  - `tenants.stripeApiKey` (string)
    Stripe API key for tenant (masked). Used in case of stripe payment.
    Example: sk_...a1b2

  - `tenants.stripeWebhookSecret` (string)
    Stripe webhook secret for tenant (masked). Used in case of stripe payment.
    Example: whsec_...x9y0

  - `tenants.loginToken` (string)
    This is an optional field for any extra login requirements for your users.

  - `tenants.allowJWTForUnauthenticatedUsers` (boolean, required)
    This is an optional field for any extra login requirements for your users.

  - `tenants.firebaseTenantId` (string)

  - `tenants.defaultWalletManagementType` (string)
    Default wallet management type for this tenant. When set, overrides chain-type-based derivation. Fallback chain: explicit → tenant default → chain type.
    Enum: "custodial", "non-custodial"

  - `tenants.ipfsGatewayDomain` (string, required)
    IPFS Gateway Domain for the tenant. Used for resolving IPFS URIs to HTTP URLs.
    Example: pers.mypinata.cloud

  - `tenants.googleApiKey` (string)
    Google API Key for the tenant. Used for Google services integration.

  - `tenants.allowedTokenIssuers` (array)
    List of allowed external JWT token issuers for this tenant.

  - `tenants.allowedTokenIssuers.issuer` (string, required)
    Issuer URL (must match token iss claim)
    Example: https://login.example.com/tenant-id/v2.0/

  - `tenants.allowedTokenIssuers.publicKey` (string)
    PEM-encoded public key (skip JWKS fetch)
    Example: -----BEGIN PUBLIC KEY-----
...
-----END PUBLIC KEY-----

  - `tenants.allowedTokenIssuers.jwksUri` (string)
    Custom JWKS URI (override default discovery)
    Example: https://login.example.com/.well-known/jwks.json

  - `tenants.allowedTokenIssuers.allowUnverified` (boolean)
    Skip signature verification - use only for dev/testing

  - `tenants.allowedTokenIssuers.allowExpired` (boolean)
    Allow expired tokens - use only for dev/testing

  - `tenants.emailConfig` (object)
    Unified email configuration - provider, credentials, sender info, and templates

  - `tenants.emailConfig.provider` (string)
    Email provider (sendgrid, mailjet)
    Enum: "sendgrid", "mailjet"

  - `tenants.emailConfig.fromEmail` (string)
    Sender email address (must be verified with provider)
    Example: noreply@tenant.com

  - `tenants.emailConfig.fromName` (string)
    Sender display name
    Example: Tenant Name

  - `tenants.emailConfig.templates` (object)
    Template configurations keyed by email type

  - `tenants.emailConfig.templates.magicLink` (object)
    Magic link / passwordless login email template

  - `tenants.emailConfig.templates.magicLink.templateId` (string, required)
    Provider-specific template ID (e.g., SendGrid dynamic template ID)
    Example: d-abc123def456

  - `tenants.emailConfig.templates.magicLink.subject` (string)
    Optional subject - if not provided, template's default subject is used
    Example: Your login link

  - `tenants.emailConfig.templates.magicLink.variableMapping` (object)
    Maps provider template variable names to internal variable names. Format: { templateVar: internalVar }. Allows multiple template vars to reference the same internal value.
    Example: {"link_url":"magicLinkUrl","offers_link":"magicLinkUrl"}

  - `tenants.emailConfig.templates.welcome` (object)
    Welcome email template for new users

  - `tenants.emailConfig.templates.passwordReset` (object)
    Password reset email template

  - `tenants.emailConfig.templates.emailVerification` (object)
    Email verification template

  - `tenants.emailConfig.templates.transactionConfirmation` (object)
    Transaction confirmation template

  - `tenants.emailConfig.apiKey` (string)
    Email provider API key (masked in responses)
    Example: ...a1b2

  - `tenants.emailConfig.apiSecret` (string)
    Email provider API secret for Mailjet (masked in responses)
    Example: ...x9y8

  - `tenants.approvalSettings` (object)
    Per-entity approval requirements. When true, newly created entities of that type will start in pending_approval state and must be approved by a tenant admin before becoming active.
    Example: {"business":false,"tokenMetadata":false,"campaign":false,"redemption":false}

