LettermintLettermint
  • Knowledge base
  • Community
  • Changelog
  • Support
  • Documentation
  • Sending API
  • Team API
Information
Core
    Generic
      Ping the APIgetList blocked file typesget
    Team
      Get team detailsgetUpdate team settingsputGet team usage statisticsgetGet reusable team rolesgetGet team membersgetGet a team membergetReplace a team member's assignmentput
    Stats
      Get message statisticsget
Email Platform
    Domain
      List all domains for the teamgetCreate a new domainpostGet domain detailsgetDelete a domaindeleteVerify all DNS records for a domainpostVerify a specific DNS recordpostUpdate projects associated with a domainput
    Project
      List all projects for the teamgetCreate a new projectpostGet project detailsgetUpdate project settingsputDelete a projectdeleteRotate Project API token (legacy)postList routes for a projectgetCreate a new routepostGet route detailsgetUpdate route settingsputDelete a routedeleteVerify inbound domain for a routepost
    Webhook
      List all webhooks for the teamgetCreate a new webhookpostGet webhook detailsgetUpdate webhook settingsputDelete a webhookdeleteTest a webhook by sending a sample payloadpostRegenerate webhook secretpostGet webhook deliveriesgetGet a specific webhook deliveryget
    Message
      List messages for the teamgetGet message detailsgetGet message eventsgetGet message sourcegetGet message HTML contentgetGet message plain text contentget
    Suppression
      List all suppressions for the teamgetAdd email(s) to suppression listpostRemove email from suppression listdelete
Schemas
Lettermint Team API
Lettermint Team API

Team

Download schema

Get team details

GET
https://api.lettermint.co/v1
/team
Bearer

Returns basic team information with optional includes for related resources.

Get team details › query Parameters

include
​string[]
Enum values:
features
addons

Get team details › Headers

Authorization
​string · required

Bearer token. Format: Bearer {team_token}

Get team details › Responses

200

TeamData

TeamData
id
​string · required
name
​string · required
type
​TeamType · enum · required
Enum values:
personal
business
plan
​Plan · enum · required
Enum values:
free
starter
growth
pro
included_volume
​integer · required

Number of emails included in the team's monthly plan.

verified_at
​string | null · date-time · required
created_at
​string · date-time · required
features
​string[]
​TeamAddonData[]
domains_count
​integer
projects_count
​integer
members_count
​integer
tier
​integer · deprecated

Deprecated alias for included_volume.

GET/team
curl https://api.lettermint.co/v1/team \ --header 'Authorization: Bearer <token>'
Example Responses
{ "id": "id", "name": "name", "type": "personal", "plan": "free", "included_volume": 0, "tier": 0, "verified_at": "2024-08-25T15:00:00Z", "features": [ "string" ], "addons": [ { "type": "type", "expires_at": "expires_at" } ], "created_at": "2024-08-25T15:00:00Z", "domains_count": 0, "projects_count": 0, "members_count": 0 }
json
application/json

Update team settings

PUT
https://api.lettermint.co/v1
/team
Bearer

Updates editable team properties (name).

Update team settings › Headers

Authorization
​string · required

Bearer token. Format: Bearer {team_token}

Update team settings › Request Body

UpdateTeamData
name
​string | null · maxLength: 255

Update team settings › Responses

​TeamData · required
message
​string · const · required
Const value: Team settings updated successfully.
PUT/team
curl https://api.lettermint.co/v1/team \ --request PUT \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "name": "name" }'
Example Request Body
{ "name": "name" }
json
Example Responses
{ "data": { "id": "id", "name": "name", "type": "personal", "plan": "free", "included_volume": 0, "tier": 0, "verified_at": "2024-08-25T15:00:00Z", "features": [ "string" ], "addons": [ { "type": "type", "expires_at": "expires_at" } ], "created_at": "2024-08-25T15:00:00Z", "domains_count": 0, "projects_count": 0, "members_count": 0 }, "message": "Team settings updated successfully." }
json
application/json

Get team usage statistics

GET
https://api.lettermint.co/v1
/team/usage
Bearer

Returns current and historical email usage data with billing information. Historical usage includes up to 12 most recent periods.

Get team usage statistics › Headers

Authorization
​string · required

Bearer token. Format: Bearer {team_token}

Get team usage statistics › Responses

200

TeamUsageDetailData

TeamUsageDetailData
​TeamUsagePeriodData · required
​TeamUsagePeriodData[] · required
GET/team/usage
curl https://api.lettermint.co/v1/team/usage \ --header 'Authorization: Bearer <token>'
Example Responses
{ "current_period": { "usage": 0, "last_incremented_at": "2024-08-25T15:00:00Z", "period_start": "2024-08-25T15:00:00Z", "period_end": "2024-08-25T15:00:00Z" }, "historical_usage": [ { "usage": 0, "last_incremented_at": "2024-08-25T15:00:00Z", "period_start": "2024-08-25T15:00:00Z", "period_end": "2024-08-25T15:00:00Z" } ] }
json
application/json

Get reusable team roles

GET
https://api.lettermint.co/v1
/team/roles
Bearer

Owner is returned for display but cannot be assigned through the Team API.

Get reusable team roles › Headers

Authorization
​string · required

Bearer token. Format: Bearer {team_token}

Get reusable team roles › Responses

​TeamRoleData[] · required
GET/team/roles
curl https://api.lettermint.co/v1/team/roles \ --header 'Authorization: Bearer <token>'
Example Responses
{ "data": [ { "id": "id", "name": "name", "system_key": "owner", "permissions": [ "team:manage" ] } ] }
json
application/json

Get team members

GET
https://api.lettermint.co/v1
/team/members
Bearer

Returns role assignments for teams using reusable roles.

Get team members › query Parameters

page[size]
​integer

The number of results that will be returned per page.

Default: 30
page[cursor]
​string

The cursor to start the pagination from.

Get team members › Headers

Authorization
​string · required

Bearer token. Format: Bearer {team_token}

Get team members › Responses

Paginated set of TeamMemberData

​TeamMemberData[] · required
path
​string | null · required

Base path for paginator generated URLs.

per_page
​integer · min: 0 · required

Number of items shown per page.

next_cursor
​string | null · required

The "cursor" that points to the next set of items.

next_page_url
​string | null · uri · required
prev_cursor
​string | null · required

The "cursor" that points to the previous set of items.

prev_page_url
​string | null · uri · required
GET/team/members
curl https://api.lettermint.co/v1/team/members \ --header 'Authorization: Bearer <token>'
Example Responses
{ "data": [ { "id": "id", "name": "name", "email": "email", "role": { "id": "id", "name": "name" }, "project_access": { "scope": "all", "projects": [ { "id": "id", "name": "name" } ] }, "joined_at": "2024-08-25T15:00:00Z" } ], "path": "path", "per_page": 0, "next_cursor": "next_cursor", "next_page_url": "https://www.example.com/path/to/resource", "prev_cursor": "prev_cursor", "prev_page_url": "https://www.example.com/path/to/resource" }
json
application/json

Get a team member

GET
https://api.lettermint.co/v1
/team/members/{userId}
Bearer

Use the user ID returned by the team-member list.

Get a team member › path Parameters

userId
​string · required

Get a team member › Headers

Authorization
​string · required

Bearer token. Format: Bearer {team_token}

Get a team member › Responses

TeamMemberData

TeamMemberData
id
​string · required
name
​string · required
email
​string · required
​object · required
​TeamMemberProjectAccessData · required
joined_at
​string | null · date-time · required
GET/team/members/{userId}
curl https://api.lettermint.co/v1/team/members/:userId \ --header 'Authorization: Bearer <token>'
Example Responses
{ "id": "id", "name": "name", "email": "email", "role": { "id": "id", "name": "name" }, "project_access": { "scope": "all", "projects": [ { "id": "id", "name": "name" } ] }, "joined_at": "2024-08-25T15:00:00Z" }
json
application/json

Replace a team member's assignment

PUT
https://api.lettermint.co/v1
/team/members/{userId}/assignment
Bearer

Replaces the member's non-Owner role and complete project scope atomically. Use the user's ID returned by GET /team/members.

Replace a team member's assignment › path Parameters

userId
​string · required

Replace a team member's assignment › Headers

Authorization
​string · required

Bearer token. Format: Bearer {team_token}

Replace a team member's assignment › Request Body

UpdateTeamMemberAssignmentData
role_id
​string · uuid · required
​object · required

Replace a team member's assignment › Responses

TeamMemberData

TeamMemberData
id
​string · required
name
​string · required
email
​string · required
​object · required
​TeamMemberProjectAccessData · required
joined_at
​string | null · date-time · required
PUT/team/members/{userId}/assignment
curl https://api.lettermint.co/v1/team/members/:userId/assignment \ --request PUT \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "role_id": "00000000-0000-0000-0000-000000000000", "project_access": { "scope": "all", "project_ids": [ "string" ] } }'
Example Request Body
{ "role_id": "00000000-0000-0000-0000-000000000000", "project_access": { "scope": "all", "project_ids": [ "string" ] } }
json
Example Responses
{ "id": "id", "name": "name", "email": "email", "role": { "id": "id", "name": "name" }, "project_access": { "scope": "all", "projects": [ { "id": "id", "name": "name" } ] }, "joined_at": "2024-08-25T15:00:00Z" }
json
application/json

GenericStats