LettermintLettermint
  • Knowledge base
  • Community
  • Changelog
  • Support
  • Documentation
  • Sending API
  • Team API
Getting started
Guides
Platform
    Projects & Routes
    Emails
    Domains
      IntroductionReturn-Path & SPFProject Limits
    Webhooks
    Teams
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 Update Domain Projects endpoint for the full API reference.

Access Control

When a domain is restricted to specific projects, it affects who can manage the domain:

RoleCan Edit Domain?
Team OwnerAlways
Team MemberOnly if they have access to at least one of the restricted projects

Team members who don't have access to any of the restricted projects will see the domain in the list but cannot modify its settings.

Troubleshooting

Why can't I edit this domain?

The domain is restricted to projects you don't have access to. Contact your team owner to either:

  • Grant you access to one of the restricted projects, or
  • Add a project you have access to in the domain's project limits
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
  • Team API Introduction — Manage team resources programmatically
Last modified on May 11, 2026
Return-Path & SPFIntroduction
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