LettermintLettermint
  • Knowledge base
  • Community
  • Changelog
  • Support
  • Documentation
  • Sending API
  • Team API
Getting started
Guides
Platform
    Projects & Routes
    Emails
    Inbound Mail
    Domains
      Verify your sending domainReturn-Path & SPFDomain Connect and DNS sharingProject Limits
    Webhooks
    Teams
    Onboarding
Resources
Domains

Project Limits

By default, all verified domains are available to every project within your team. Project limits allow you to restrict a domain so that only specific projects can send emails from it.

When to Use Project Limits

Project limits are useful when you need to enforce boundaries between different parts of your organization:

Use CaseExample
Multi-brand separationRestrict mail.brand-a.com to only the Brand A project
Environment isolationPrevent staging projects from accidentally using production domains
Security boundariesLimit sensitive domains to specific applications

If all your projects share the same domains, you don't need to configure project limits—the default unrestricted behavior works well for most teams.

How It Works

Domains can be in one of two states:

StateDescription
UnrestrictedDomain can be used by any project in your team (default)
RestrictedDomain can only be used by explicitly selected projects

When a project attempts to send an email using a restricted domain it doesn't have access to, the API returns an error:

Code
{ "message": "The domain 'mail.acme.com' is not available for use by this project." }

Configuring Project Limits

You can configure which projects have access to a domain from the domain settings page.

Domain project limits configuration

Restricting a Domain

  1. Navigate to Domains in your dashboard
  2. Click on the domain you want to restrict
  3. In the project limits section, select the projects that should have access
  4. Save your changes

Removing Restrictions

To make a domain available to all projects again, simply remove all project selections. An empty selection means the domain is unrestricted and available to all projects in your team.

Managing via API

You can manage project limits programmatically using the Team API.

Restrict a Domain to Specific Projects

Remove All Restrictions

Pass an empty array to make the domain available to all projects:

Success Response:

Code
{ "data": { "id": "domain-uuid", "domain": "mail.acme.com", "verified_at": "2024-01-15T10:30:00.000Z" }, "message": "Domain projects updated successfully." }

See the Team API reference for the domain project-limit endpoints.

Access Control

Domain access follows both the member's role and their project assignment:

  • A domain is visible when it is associated with at least one project the member can access.
  • Changing or deleting a domain requires the corresponding domain permission in the member's role.
  • The member must also have access to every project associated with the domain. This prevents a change made through one project from affecting projects outside their scope.
  • Owners have access to every project and every domain permission.

If a domain is shared with a project outside your project access, you can view it through an accessible project but cannot change or delete it.

Troubleshooting

Why can't I edit this domain?

Your role may not include the required domain permission, or the domain may be associated with a project outside your project access. Ask a team member with Manage members to review your assignment, or ask someone with access to every associated project to make the change.

How do I make a domain available to all projects again?

Remove all project selections in the dashboard, or via API, set project_ids to an empty array [].

Can I restrict a domain to zero projects?

No. An empty project list means the domain is unrestricted and available to all projects. To completely disable a domain, you would need to delete it instead.

Related

  • Projects and Routes — Understand the team → project → route hierarchy
  • Project access — Understand role permissions and project assignments
  • Team API Introduction — Manage team resources programmatically
Last modified on August 7, 2026
Domain Connect and DNS sharingIntroduction
On this page
  • When to Use Project Limits
  • How It Works
  • Configuring Project Limits
    • Restricting a Domain
    • Removing Restrictions
  • Managing via API
    • Restrict a Domain to Specific Projects
    • Remove All Restrictions
  • Access Control
  • Troubleshooting
  • Related
JSON
curl -X PUT "https://api.lettermint.co/v1/domains/{domainId}/projects" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_TEAM_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "project_ids": ["project-uuid-1", "project-uuid-2"] }'
curl -X PUT "https://api.lettermint.co/v1/domains/{domainId}/projects" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_TEAM_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "project_ids": [] }'
JSON