KosmoKrator

productivity

Mailgun Lua API for KosmoKrator Agents

Agent-facing Lua documentation and function reference for the Mailgun KosmoKrator integration.

Lua Namespace

Agents call this integration through app.integrations.mailgun.*. Use lua_read_doc("integrations.mailgun") inside KosmoKrator to discover the same reference at runtime.

Call Lua from the Headless CLI

Use kosmo integrations:lua when a shell script, CI job, cron job, or another coding CLI should run a deterministic Mailgun workflow without starting an interactive agent session.

Inline Lua call
kosmo integrations:lua --eval 'dump(app.integrations.mailgun.api_get({}))' --json
Read Lua docs headlessly
kosmo integrations:lua --eval 'print(docs.read("mailgun"))' --json
kosmo integrations:lua --eval 'print(docs.read("mailgun.api_get"))' --json

Workflow file

Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.

workflow.lua
local mailgun = app.integrations.mailgun
local result = mailgun.api_get({})

dump(result)
Run the workflow
kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json
Namespace note. integrations:lua exposes app.integrations.mailgun, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.mailgun.default.* or app.integrations.mailgun.work.* when you configured named credential accounts.

MCP-only Lua

If the script only needs configured MCP servers and does not need Mailgun, use the narrower mcp:lua command.

MCP Lua command
# Use mcp:lua for MCP-only scripts; use integrations:lua for this integration namespace.
kosmo mcp:lua --eval 'dump(mcp.servers())' --json

Agent-Facing Lua Docs

This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.

Mailgun Lua Reference

Namespace: app.integrations.mailgun

Mailgun tools use Basic Auth with username api and the configured api_key as password. Configure a default domain for domain-scoped tools; you can override it per call with domain where supported.

Examples

app.integrations.mailgun.send_email({
  from = "Example <noreply@example.test>",
  to = { "user@example.test" },
  subject = "Hello",
  text = "Hello from Mailgun"
})

local events = app.integrations.mailgun.list_events({
  event = "delivered",
  limit = 100
})

local bounce = app.integrations.mailgun.create_bounce({
  address = "bad@example.test",
  code = 550,
  error = "Suppressed by support request"
})

Coverage Notes

  • Domain-scoped tools default to the configured sending domain.
  • Suppression tools cover bounces, complaints, unsubscribes, and allowlists.
  • Route, webhook, mailing-list, member, template, tag, stats, IP, and domain tools are exposed as focused operations.
  • Raw api_get, api_post, api_put, and api_delete can call any Mailgun API path, including /v4/... for domain APIs.

Responses are decoded Mailgun JSON exactly as returned by the API.

Raw agent markdown
# Mailgun Lua Reference

Namespace: `app.integrations.mailgun`

Mailgun tools use Basic Auth with username `api` and the configured `api_key` as password. Configure a default `domain` for domain-scoped tools; you can override it per call with `domain` where supported.

## Examples

```lua
app.integrations.mailgun.send_email({
  from = "Example <noreply@example.test>",
  to = { "user@example.test" },
  subject = "Hello",
  text = "Hello from Mailgun"
})

local events = app.integrations.mailgun.list_events({
  event = "delivered",
  limit = 100
})

local bounce = app.integrations.mailgun.create_bounce({
  address = "bad@example.test",
  code = 550,
  error = "Suppressed by support request"
})
```

## Coverage Notes

- Domain-scoped tools default to the configured sending domain.
- Suppression tools cover bounces, complaints, unsubscribes, and allowlists.
- Route, webhook, mailing-list, member, template, tag, stats, IP, and domain tools are exposed as focused operations.
- Raw `api_get`, `api_post`, `api_put`, and `api_delete` can call any Mailgun API path, including `/v4/...` for domain APIs.

Responses are decoded Mailgun JSON exactly as returned by the API.
Metadata-derived Lua example
local result = app.integrations.mailgun.api_get({})
print(result)

Functions

api_get Read

Call any Mailgun API GET endpoint path.

Lua path
app.integrations.mailgun.api_get
Full name
mailgun.mailgun_api_get
ParameterTypeRequiredDescription
No parameters.
api_post Write

Call any Mailgun API POST endpoint path.

Lua path
app.integrations.mailgun.api_post
Full name
mailgun.mailgun_api_post
ParameterTypeRequiredDescription
No parameters.
api_put Write

Call any Mailgun API PUT endpoint path.

Lua path
app.integrations.mailgun.api_put
Full name
mailgun.mailgun_api_put
ParameterTypeRequiredDescription
No parameters.
api_delete Write

Call any Mailgun API DELETE endpoint path.

Lua path
app.integrations.mailgun.api_delete
Full name
mailgun.mailgun_api_delete
ParameterTypeRequiredDescription
No parameters.
get_current_user Read

Verify API credentials by listing one domain.

Lua path
app.integrations.mailgun.get_current_user
Full name
mailgun.mailgun_get_current_user
ParameterTypeRequiredDescription
No parameters.
list_domains Read

List domains in the Mailgun account.

Lua path
app.integrations.mailgun.list_domains
Full name
mailgun.mailgun_list_domains
ParameterTypeRequiredDescription
No parameters.
get_domain Read

Get a Mailgun domain and DNS records.

Lua path
app.integrations.mailgun.get_domain
Full name
mailgun.mailgun_get_domain
ParameterTypeRequiredDescription
No parameters.
create_domain Write

Create a Mailgun sending domain.

Lua path
app.integrations.mailgun.create_domain
Full name
mailgun.mailgun_create_domain
ParameterTypeRequiredDescription
No parameters.
delete_domain Write

Delete a Mailgun domain.

Lua path
app.integrations.mailgun.delete_domain
Full name
mailgun.mailgun_delete_domain
ParameterTypeRequiredDescription
No parameters.
verify_domain Write

Trigger Mailgun domain verification.

Lua path
app.integrations.mailgun.verify_domain
Full name
mailgun.mailgun_verify_domain
ParameterTypeRequiredDescription
No parameters.
list_domain_ips Read

List IPs assigned to a domain.

Lua path
app.integrations.mailgun.list_domain_ips
Full name
mailgun.mailgun_list_domain_ips
ParameterTypeRequiredDescription
No parameters.
add_domain_ip Write

Assign an IP to a domain.

Lua path
app.integrations.mailgun.add_domain_ip
Full name
mailgun.mailgun_add_domain_ip
ParameterTypeRequiredDescription
No parameters.
delete_domain_ip Write

Remove an IP from a domain.

Lua path
app.integrations.mailgun.delete_domain_ip
Full name
mailgun.mailgun_delete_domain_ip
ParameterTypeRequiredDescription
No parameters.
send_email Write

Send an email with Mailgun messages API.

Lua path
app.integrations.mailgun.send_email
Full name
mailgun.mailgun_send_email
ParameterTypeRequiredDescription
No parameters.
send_mime Write

Send a MIME message with Mailgun.

Lua path
app.integrations.mailgun.send_mime
Full name
mailgun.mailgun_send_mime
ParameterTypeRequiredDescription
No parameters.
list_events Read

List message events for a domain.

Lua path
app.integrations.mailgun.list_events
Full name
mailgun.mailgun_list_events
ParameterTypeRequiredDescription
No parameters.
list_messages Read

Compatibility alias for Mailgun domain events.

Lua path
app.integrations.mailgun.list_messages
Full name
mailgun.mailgun_list_messages
ParameterTypeRequiredDescription
No parameters.
get_stats Read

Get total stats for a domain.

Lua path
app.integrations.mailgun.get_stats
Full name
mailgun.mailgun_get_stats
ParameterTypeRequiredDescription
No parameters.
list_tags Read

List tags for a domain.

Lua path
app.integrations.mailgun.list_tags
Full name
mailgun.mailgun_list_tags
ParameterTypeRequiredDescription
No parameters.
get_tag Read

Get one tag for a domain.

Lua path
app.integrations.mailgun.get_tag
Full name
mailgun.mailgun_get_tag
ParameterTypeRequiredDescription
No parameters.
delete_tag Write

Delete a tag from a domain.

Lua path
app.integrations.mailgun.delete_tag
Full name
mailgun.mailgun_delete_tag
ParameterTypeRequiredDescription
No parameters.
list_bounces Read

List Mailgun Bounces for a domain.

Lua path
app.integrations.mailgun.list_bounces
Full name
mailgun.mailgun_list_bounces
ParameterTypeRequiredDescription
No parameters.
get_bounce Read

Get one Mailgun Bounce record.

Lua path
app.integrations.mailgun.get_bounce
Full name
mailgun.mailgun_get_bounce
ParameterTypeRequiredDescription
No parameters.
create_bounce Write

Create a Mailgun Bounce record.

Lua path
app.integrations.mailgun.create_bounce
Full name
mailgun.mailgun_create_bounce
ParameterTypeRequiredDescription
No parameters.
delete_bounce Write

Delete a Mailgun Bounce record.

Lua path
app.integrations.mailgun.delete_bounce
Full name
mailgun.mailgun_delete_bounce
ParameterTypeRequiredDescription
No parameters.
list_complaints Read

List Mailgun Complaints for a domain.

Lua path
app.integrations.mailgun.list_complaints
Full name
mailgun.mailgun_list_complaints
ParameterTypeRequiredDescription
No parameters.
get_complaint Read

Get one Mailgun Complaint record.

Lua path
app.integrations.mailgun.get_complaint
Full name
mailgun.mailgun_get_complaint
ParameterTypeRequiredDescription
No parameters.
create_complaint Write

Create a Mailgun Complaint record.

Lua path
app.integrations.mailgun.create_complaint
Full name
mailgun.mailgun_create_complaint
ParameterTypeRequiredDescription
No parameters.
delete_complaint Write

Delete a Mailgun Complaint record.

Lua path
app.integrations.mailgun.delete_complaint
Full name
mailgun.mailgun_delete_complaint
ParameterTypeRequiredDescription
No parameters.
list_unsubscribes Read

List Mailgun Unsubscribes for a domain.

Lua path
app.integrations.mailgun.list_unsubscribes
Full name
mailgun.mailgun_list_unsubscribes
ParameterTypeRequiredDescription
No parameters.
get_unsubscribe Read

Get one Mailgun Unsubscribe record.

Lua path
app.integrations.mailgun.get_unsubscribe
Full name
mailgun.mailgun_get_unsubscribe
ParameterTypeRequiredDescription
No parameters.
create_unsubscribe Write

Create a Mailgun Unsubscribe record.

Lua path
app.integrations.mailgun.create_unsubscribe
Full name
mailgun.mailgun_create_unsubscribe
ParameterTypeRequiredDescription
No parameters.
delete_unsubscribe Write

Delete a Mailgun Unsubscribe record.

Lua path
app.integrations.mailgun.delete_unsubscribe
Full name
mailgun.mailgun_delete_unsubscribe
ParameterTypeRequiredDescription
No parameters.
list_allowlists Read

List Mailgun Allowlists for a domain.

Lua path
app.integrations.mailgun.list_allowlists
Full name
mailgun.mailgun_list_whitelists
ParameterTypeRequiredDescription
No parameters.
get_allowlist Read

Get one Mailgun Allowlist record.

Lua path
app.integrations.mailgun.get_allowlist
Full name
mailgun.mailgun_get_allowlist
ParameterTypeRequiredDescription
No parameters.
create_allowlist Write

Create a Mailgun Allowlist record.

Lua path
app.integrations.mailgun.create_allowlist
Full name
mailgun.mailgun_create_allowlist
ParameterTypeRequiredDescription
No parameters.
delete_allowlist Write

Delete a Mailgun Allowlist record.

Lua path
app.integrations.mailgun.delete_allowlist
Full name
mailgun.mailgun_delete_allowlist
ParameterTypeRequiredDescription
No parameters.
get_suppressions Read

Compatibility alias for listing bounces.

Lua path
app.integrations.mailgun.get_suppressions
Full name
mailgun.mailgun_get_suppressions
ParameterTypeRequiredDescription
No parameters.
create_suppression Write

Compatibility alias for creating a bounce suppression.

Lua path
app.integrations.mailgun.create_suppression
Full name
mailgun.mailgun_create_suppression
ParameterTypeRequiredDescription
No parameters.
list_routes Read

List account-level inbound routes.

Lua path
app.integrations.mailgun.list_routes
Full name
mailgun.mailgun_list_routes
ParameterTypeRequiredDescription
No parameters.
get_route Read

Get one route by ID.

Lua path
app.integrations.mailgun.get_route
Full name
mailgun.mailgun_get_route
ParameterTypeRequiredDescription
No parameters.
create_route Write

Create an inbound route.

Lua path
app.integrations.mailgun.create_route
Full name
mailgun.mailgun_create_route
ParameterTypeRequiredDescription
No parameters.
update_route Write

Update an inbound route.

Lua path
app.integrations.mailgun.update_route
Full name
mailgun.mailgun_update_route
ParameterTypeRequiredDescription
No parameters.
delete_route Write

Delete an inbound route.

Lua path
app.integrations.mailgun.delete_route
Full name
mailgun.mailgun_delete_route
ParameterTypeRequiredDescription
No parameters.
list_webhooks Read

List webhooks configured for a domain.

Lua path
app.integrations.mailgun.list_webhooks
Full name
mailgun.mailgun_list_webhooks
ParameterTypeRequiredDescription
No parameters.
get_webhook Read

Get one webhook by event type.

Lua path
app.integrations.mailgun.get_webhook
Full name
mailgun.mailgun_get_webhook
ParameterTypeRequiredDescription
No parameters.
create_webhook Write

Create a webhook for a domain event.

Lua path
app.integrations.mailgun.create_webhook
Full name
mailgun.mailgun_create_webhook
ParameterTypeRequiredDescription
No parameters.
update_webhook Write

Update a webhook for a domain event.

Lua path
app.integrations.mailgun.update_webhook
Full name
mailgun.mailgun_update_webhook
ParameterTypeRequiredDescription
No parameters.
delete_webhook Write

Delete a webhook for a domain event.

Lua path
app.integrations.mailgun.delete_webhook
Full name
mailgun.mailgun_delete_webhook
ParameterTypeRequiredDescription
No parameters.
list_mailing_lists Read

List mailing lists in the account.

Lua path
app.integrations.mailgun.list_mailing_lists
Full name
mailgun.mailgun_list_mailing_lists
ParameterTypeRequiredDescription
No parameters.
get_mailing_list Read

Get one mailing list by address.

Lua path
app.integrations.mailgun.get_mailing_list
Full name
mailgun.mailgun_get_mailing_list
ParameterTypeRequiredDescription
No parameters.
create_mailing_list Write

Create a mailing list.

Lua path
app.integrations.mailgun.create_mailing_list
Full name
mailgun.mailgun_create_mailing_list
ParameterTypeRequiredDescription
No parameters.
update_mailing_list Write

Update a mailing list.

Lua path
app.integrations.mailgun.update_mailing_list
Full name
mailgun.mailgun_update_mailing_list
ParameterTypeRequiredDescription
No parameters.
delete_mailing_list Write

Delete a mailing list.

Lua path
app.integrations.mailgun.delete_mailing_list
Full name
mailgun.mailgun_delete_mailing_list
ParameterTypeRequiredDescription
No parameters.
list_members Read

List members of a mailing list.

Lua path
app.integrations.mailgun.list_members
Full name
mailgun.mailgun_list_members
ParameterTypeRequiredDescription
No parameters.
get_member Read

Get one mailing list member.

Lua path
app.integrations.mailgun.get_member
Full name
mailgun.mailgun_get_member
ParameterTypeRequiredDescription
No parameters.
add_member Write

Add or update one mailing list member.

Lua path
app.integrations.mailgun.add_member
Full name
mailgun.mailgun_add_member
ParameterTypeRequiredDescription
No parameters.
update_member Write

Update one mailing list member.

Lua path
app.integrations.mailgun.update_member
Full name
mailgun.mailgun_update_member
ParameterTypeRequiredDescription
No parameters.
delete_member Write

Delete one mailing list member.

Lua path
app.integrations.mailgun.delete_member
Full name
mailgun.mailgun_delete_member
ParameterTypeRequiredDescription
No parameters.
add_member_bulk Write

Bulk add mailing list members.

Lua path
app.integrations.mailgun.add_member_bulk
Full name
mailgun.mailgun_add_member_bulk
ParameterTypeRequiredDescription
No parameters.
list_templates Read

List stored email templates for a domain.

Lua path
app.integrations.mailgun.list_templates
Full name
mailgun.mailgun_list_templates
ParameterTypeRequiredDescription
No parameters.
get_template Read

Get one template.

Lua path
app.integrations.mailgun.get_template
Full name
mailgun.mailgun_get_template
ParameterTypeRequiredDescription
No parameters.
create_template Write

Create an email template.

Lua path
app.integrations.mailgun.create_template
Full name
mailgun.mailgun_create_template
ParameterTypeRequiredDescription
No parameters.
update_template Write

Update template metadata.

Lua path
app.integrations.mailgun.update_template
Full name
mailgun.mailgun_update_template
ParameterTypeRequiredDescription
No parameters.
delete_template Write

Delete a template.

Lua path
app.integrations.mailgun.delete_template
Full name
mailgun.mailgun_delete_template
ParameterTypeRequiredDescription
No parameters.
list_template_versions Read

List versions for a template.

Lua path
app.integrations.mailgun.list_template_versions
Full name
mailgun.mailgun_list_template_versions
ParameterTypeRequiredDescription
No parameters.
create_template_version Write

Create a template version.

Lua path
app.integrations.mailgun.create_template_version
Full name
mailgun.mailgun_create_template_version
ParameterTypeRequiredDescription
No parameters.
update_template_version Write

Update a template version.

Lua path
app.integrations.mailgun.update_template_version
Full name
mailgun.mailgun_update_template_version
ParameterTypeRequiredDescription
No parameters.
delete_template_version Write

Delete a template version.

Lua path
app.integrations.mailgun.delete_template_version
Full name
mailgun.mailgun_delete_template_version
ParameterTypeRequiredDescription
No parameters.
list_ips Read

List account IPs.

Lua path
app.integrations.mailgun.list_ips
Full name
mailgun.mailgun_list_ips
ParameterTypeRequiredDescription
No parameters.
get_ip Read

Get one IP.

Lua path
app.integrations.mailgun.get_ip
Full name
mailgun.mailgun_get_ip
ParameterTypeRequiredDescription
No parameters.
list_ip_pools Read

List account IP pools.

Lua path
app.integrations.mailgun.list_ip_pools
Full name
mailgun.mailgun_list_ip_pools
ParameterTypeRequiredDescription
No parameters.