Nuntly REST API definition
OpenAPI version: 1.1.0
Base URL: https://api.nuntly.com
Calling styles
Configured module
defmodule MyApp.Nuntly do
use Nuntly, otp_app: :my_app
endconfig :my_app, MyApp.Nuntly,
api_key: System.fetch_env!("NUNTLY_API_KEY")Configured operations obtain their client from client/0.
Explicit client
client = Nuntly.new(api_key: "ntly_...")Pass the client as the first argument to a resource module operation. Both
styles return {:ok, Req.Response.t()} for HTTP responses, including non-2xx
statuses, or {:error, Exception.t()} for transport failures.
Contents
- Client
- Agents
- API Keys
- Domains
- Emails
- Inboxes
- Messages
- Namespaces
- Organizations
- Threads
- Webhooks
- Webhooks Events
Client
Nuntly.new/1 and Nuntly.Client.new/1
Create a Req-backed API client.
Arguments
opts— Optional keyword list.:api_keysets bearer authentication and falls back toNUNTLY_API_KEY.:base_urldefaults to the server URL above. Remaining options are passed toReq.new/1.
Example
client = Nuntly.new(
api_key: "ntly_...",
receive_timeout: 10_000,
retry: :transient
)Nuntly.Client.request/4
Send a request through an existing client. Generated resource functions call this function, so most applications do not need to call it directly.
Arguments
client— ANuntly.Client.method— HTTP method atom such as:getor:post.path— Request path relative to the configured base URL.opts— Optional Req request keyword list.
Example
Nuntly.Client.request(client, :get, "/emails", params: %{limit: 20})Configured client/0
Modules created with use Nuntly, otp_app: ... expose an overridable
client/0. It reads configuration from
Application.get_env(otp_app, configured_module, []).
Agents
Read and write persistent state for an AI agent, optionally scoped to a specific inbox or thread.
Explicit module: Nuntly.Agents
retrieve_agent_memory — Retrieve Agent Memory
HTTP: GET /agents/{agentId}/memory
Retrieve the memory for an AI agent.
Signatures
Nuntly.Agents.retrieve_agent_memory(client, agent_id, opts \\ [])
MyApp.Nuntly.retrieve_agent_memory(agent_id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.agent_id— Required path parameter, string. The agent identifier.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Agents.retrieve_agent_memory(client, "agent-id")Configured-module example
MyApp.Nuntly.retrieve_agent_memory("agent-id")upsert_agent_memory — Upsert Agent Memory
HTTP: PUT /agents/{agentId}/memory
Create or update the memory for an AI agent.
Signatures
Nuntly.Agents.upsert_agent_memory(client, agent_id, body, opts \\ [])
MyApp.Nuntly.upsert_agent_memory(agent_id, body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.agent_id— Required path parameter, string. The agent identifier.body— application/json request body usingAgentMemoryRequest. Accepted fields:"inboxId"(string, optional) — The inbox id to scope the memory to."threadId"(string, optional) — The thread id to scope the memory to."memory"(map, required) — The agent memory key-value data."summary"(string or nil, optional) — A human-readable conversation summary.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Agents.upsert_agent_memory(
client,
"agent-id",
%{
"memory" => %{
"key" => "value"
}
}
)Configured-module example
MyApp.Nuntly.upsert_agent_memory(
"agent-id",
%{
"memory" => %{
"key" => "value"
}
}
)API Keys
Create and revoke API keys used to authenticate requests to the Nuntly API.
Explicit module: Nuntly.ApiKeys
create_api_key — Create Api Key
HTTP: POST /api-keys
Generate a new API key. The key value is only returned once. Store it securely.
Signatures
Nuntly.ApiKeys.create_api_key(client, body, opts \\ [])
MyApp.Nuntly.create_api_key(body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.body— application/json request body usingCreateApiKeyRequest. Accepted fields:"name"(string, optional) — The name of the api key"status"(string, optional) — The status for the api key"permission"(string, required) — The permission type for the api key"domainIds"(list of string, optional) — The domain ids to restrict the api key to (only for sendingAccess)
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.ApiKeys.create_api_key(
client,
%{
"permission" => "fullAccess"
}
)Configured-module example
MyApp.Nuntly.create_api_key(
%{
"permission" => "fullAccess"
}
)delete_api_key — Delete Api Key
HTTP: DELETE /api-keys/{id}
Revoke an API key. Requests authenticating with this key will be rejected immediately.
Signatures
Nuntly.ApiKeys.delete_api_key(client, id, opts \\ [])
MyApp.Nuntly.delete_api_key(id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string. The id of the api keyopts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.ApiKeys.delete_api_key(client, "id")Configured-module example
MyApp.Nuntly.delete_api_key("id")list_api_keys — List Api Keys
HTTP: GET /api-keys
Returns all API keys for the organization. Key values are never included in list responses.
Signatures
Nuntly.ApiKeys.list_api_keys(client, params \\ %{}, opts \\ [])
MyApp.Nuntly.list_api_keys(params \\ %{}, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.params— Optional map of query parameters:"cursor"— Optional query parameter, string. Pagination cursor from a previous response"limit"— Optional query parameter, integer. Maximum number of items to return Defaults to30.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.ApiKeys.list_api_keys(
client,
%{
"cursor" => "cursor",
"limit" => 30
}
)Configured-module example
MyApp.Nuntly.list_api_keys(
%{
"cursor" => "cursor",
"limit" => 30
}
)retrieve_api_key — Retrieve Api Key
HTTP: GET /api-keys/{id}
Returns API key metadata. The key value is never returned after creation.
Signatures
Nuntly.ApiKeys.retrieve_api_key(client, id, opts \\ [])
MyApp.Nuntly.retrieve_api_key(id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string. The id of the api keyopts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.ApiKeys.retrieve_api_key(client, "id")Configured-module example
MyApp.Nuntly.retrieve_api_key("id")update_api_key — Update Api Key
HTTP: PATCH /api-keys/{id}
Update the key name, permissions, or restrict it to specific sending domains.
Signatures
Nuntly.ApiKeys.update_api_key(client, id, body, opts \\ [])
MyApp.Nuntly.update_api_key(id, body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string. The id of the api keybody— application/json request body usingUpdateApiKeyRequest. Accepted fields:"name"(string, optional) — The name of the api key"status"(string, optional)"permission"(string, optional) — The permission type for the api key"domainIds"(list of string, optional) — The domain ids to restrict the api key to (only for sendingAccess)
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.ApiKeys.update_api_key(
client,
"id",
%{
"name" => "Production"
}
)Configured-module example
MyApp.Nuntly.update_api_key(
"id",
%{
"name" => "Production"
}
)Domains
Add and verify sending and receiving domains. Manage DKIM records, SPF configuration, and enable inbound email routing.
Explicit module: Nuntly.Domains
create_domain — Create Domain
HTTP: POST /domains
Add a domain for sending or receiving emails.
Signatures
Nuntly.Domains.create_domain(client, body, opts \\ [])
MyApp.Nuntly.create_domain(body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.body— application/json request body usingCreateDomainRequest. Accepted fields:"name"(string, required) — The name of the domain to send e-mails'"sending"(boolean, optional) — Enable sending"receiving"(boolean, optional) — Enable receiving
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Domains.create_domain(
client,
%{
"name" => "example.com"
}
)Configured-module example
MyApp.Nuntly.create_domain(
%{
"name" => "example.com"
}
)delete_domain — Delete Domain
HTTP: DELETE /domains/{id}
Permanently deletes a domain along with its inboxes, received messages, attachments, and sending configuration. This action is irreversible.
Signatures
Nuntly.Domains.delete_domain(client, id, opts \\ [])
MyApp.Nuntly.delete_domain(id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string. The id of the domainopts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Domains.delete_domain(client, "id")Configured-module example
MyApp.Nuntly.delete_domain("id")list_domains — List Domains
HTTP: GET /domains
Returns all domains with their verification and capability status.
Signatures
Nuntly.Domains.list_domains(client, params \\ %{}, opts \\ [])
MyApp.Nuntly.list_domains(params \\ %{}, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.params— Optional map of query parameters:"cursor"— Optional query parameter, string. Pagination cursor from a previous response"limit"— Optional query parameter, integer. Maximum number of items to return Defaults to30.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Domains.list_domains(
client,
%{
"cursor" => "cursor",
"limit" => 30
}
)Configured-module example
MyApp.Nuntly.list_domains(
%{
"cursor" => "cursor",
"limit" => 30
}
)retrieve_domain — Retrieve Domain
HTTP: GET /domains/{id}
Returns a domain with its DNS record configuration and current verification status for each record.
Signatures
Nuntly.Domains.retrieve_domain(client, id, opts \\ [])
MyApp.Nuntly.retrieve_domain(id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string. The id of the domainopts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Domains.retrieve_domain(client, "id")Configured-module example
MyApp.Nuntly.retrieve_domain("id")update_domain — Update Domain
HTTP: PATCH /domains/{id}
Toggle sending, receiving, open tracking, or click tracking capabilities for a domain.
Signatures
Nuntly.Domains.update_domain(client, id, body, opts \\ [])
MyApp.Nuntly.update_domain(id, body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string. The id of the domainbody— application/json request body usingUpdateDomainRequest. Accepted fields:"openTracking"(boolean, optional) — Emit an event for each recipient opens an email their email client"clickTracking"(boolean, optional) — Emit an event for each time the recipient clicks a link in the email"sending"(boolean, optional) — Enable or disable sending"receiving"(boolean, optional) — Enable or disable receiving
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Domains.update_domain(
client,
"id",
%{
"openTracking" => true
}
)Configured-module example
MyApp.Nuntly.update_domain(
"id",
%{
"openTracking" => true
}
)Emails
Send transactional emails, retrieve sending history, and track delivery status per message.
Explicit module: Nuntly.Emails
cancel_email — Cancel Email
HTTP: DELETE /emails/{id}
Cancel a scheduled email before delivery. Only emails with scheduled status can be cancelled.
Signatures
Nuntly.Emails.cancel_email(client, id, opts \\ [])
MyApp.Nuntly.cancel_email(id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string. The id of the emailopts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Emails.cancel_email(client, "id")Configured-module example
MyApp.Nuntly.cancel_email("id")list_emails — List Emails
HTTP: GET /emails
Returns sent emails ordered by submission date, newest first.
Signatures
Nuntly.Emails.list_emails(client, params \\ %{}, opts \\ [])
MyApp.Nuntly.list_emails(params \\ %{}, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.params— Optional map of query parameters:"cursor"— Optional query parameter, string. Pagination cursor from a previous response"limit"— Optional query parameter, integer. Maximum number of items to return Defaults to30.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Emails.list_emails(
client,
%{
"cursor" => "cursor",
"limit" => 30
}
)Configured-module example
MyApp.Nuntly.list_emails(
%{
"cursor" => "cursor",
"limit" => 30
}
)retrieve_bulk_emails — Retrieve Bulk Emails
HTTP: GET /emails/bulk/{bulkId}
Returns the emails submitted in a bulk request.
Signatures
Nuntly.Emails.retrieve_bulk_emails(client, bulk_id, opts \\ [])
MyApp.Nuntly.retrieve_bulk_emails(bulk_id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.bulk_id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Emails.retrieve_bulk_emails(client, "bulk-id")Configured-module example
MyApp.Nuntly.retrieve_bulk_emails("bulk-id")retrieve_email — Retrieve Email
HTTP: GET /emails/{id}
Returns an email with its current delivery status and metadata.
Signatures
Nuntly.Emails.retrieve_email(client, id, opts \\ [])
MyApp.Nuntly.retrieve_email(id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string. The id of the emailopts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Emails.retrieve_email(client, "id")Configured-module example
MyApp.Nuntly.retrieve_email("id")retrieve_email_content — Retrieve Email Content
HTTP: GET /emails/{id}/content
Returns presigned URLs to download the HTML, plain-text, and raw MIME source of a sent email.
Signatures
Nuntly.Emails.retrieve_email_content(client, id, opts \\ [])
MyApp.Nuntly.retrieve_email_content(id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Emails.retrieve_email_content(client, "id")Configured-module example
MyApp.Nuntly.retrieve_email_content("id")retrieve_email_events — Retrieve Email Events
HTTP: GET /emails/{id}/events
Returns the delivery event history for an email (sent, delivered, opened, bounced, etc.).
Signatures
Nuntly.Emails.retrieve_email_events(client, id, opts \\ [])
MyApp.Nuntly.retrieve_email_events(id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Emails.retrieve_email_events(client, "id")Configured-module example
MyApp.Nuntly.retrieve_email_events("id")retrieve_email_stats — Retrieve Email Stats
HTTP: GET /emails/stats
Returns aggregated daily sending statistics for the current period.
Signatures
Nuntly.Emails.retrieve_email_stats(client, opts \\ [])
MyApp.Nuntly.retrieve_email_stats(opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Emails.retrieve_email_stats(client)Configured-module example
MyApp.Nuntly.retrieve_email_stats()send_bulk_emails — Send Bulk Emails
HTTP: POST /emails/bulk
Send up to 20 emails in a single request. Use fallback to set default values shared across all messages.
Signatures
Nuntly.Emails.send_bulk_emails(client, body, opts \\ [])
MyApp.Nuntly.send_bulk_emails(body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.body— application/json request body usingCreateBulkEmailsRequest. Accepted fields:"fallback"(CreateBulkFallback map, optional) — Used as a fallback field email value if no value is present in emails."emails"(list of CreateBulkEmail map, required) — The bulk emails to send.
opts— Optional keyword list passed to Req for this request."Idempotency-Key"— Optional header, string. Unique key to ensure the request is processed at most once. UUIDv4 recommended.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Emails.send_bulk_emails(
client,
%{
"emails" => [
%{
"from" => "Tomlinson AI <ray@info.tomlinson.ai>"
}
]
},
headers: [{"Idempotency-Key", "idempotency-key"}]
)Configured-module example
MyApp.Nuntly.send_bulk_emails(
%{
"emails" => [
%{
"from" => "Tomlinson AI <ray@info.tomlinson.ai>"
}
]
},
headers: [{"Idempotency-Key", "idempotency-key"}]
)send_email — Send Email
HTTP: POST /emails
Send transactional emails through Nuntly platform. It supports HTML and plain-text emails, attachments, labels, custom headers and scheduling.
Signatures
Nuntly.Emails.send_email(client, body, opts \\ [])
MyApp.Nuntly.send_email(body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.body— application/json request body usingCreateEmailRequest. Accepted fields:"from"(string, required) — The e-mail address of the sender"to"(list of string or string, required) — The primary recipient(s) of the email"cc"(list of string or string, optional) — The carbon copy recipient(s) of the email"bcc"(list of string or string, optional) — The blind carbon copy recipient(s) of the email"replyTo"(list of string or string, optional) — The email address where replies should be sent. If a recipient replies, the response will go to this address instead of the sender's email address"subject"(string, required) — The subject of the e-mail"text"(string, optional) — The plaintext version of the email"html"(string, optional) — The HTML version of the email"headers"(map, optional) — The headers to add to the email"tags"(list of Tag map, optional) — The tags to add to the email"attachments"(list of Attachment map, optional) — The attachements to add to the email"variables"(map, optional) — The variables for the template"scheduledAt"(string, optional) — The date at which the email is scheduled to be sent
opts— Optional keyword list passed to Req for this request."Idempotency-Key"— Optional header, string. Unique key to ensure the request is processed at most once. UUIDv4 recommended.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Emails.send_email(
client,
%{
"from" => "Tomlinson AI <ray@info.tomlinson.ai>",
"to" => "brian67@gmail.com",
"subject" => "Verify your email address"
},
headers: [{"Idempotency-Key", "idempotency-key"}]
)Configured-module example
MyApp.Nuntly.send_email(
%{
"from" => "Tomlinson AI <ray@info.tomlinson.ai>",
"to" => "brian67@gmail.com",
"subject" => "Verify your email address"
},
headers: [{"Idempotency-Key", "idempotency-key"}]
)Inboxes
Create email inboxes at a specific address on a verified receiving domain. Assign inboxes to namespaces or AI agents.
Explicit module: Nuntly.Inboxes
create_inbox — Create Inbox
HTTP: POST /inboxes
Create a new inbox on a verified domain.
Signatures
Nuntly.Inboxes.create_inbox(client, body, opts \\ [])
MyApp.Nuntly.create_inbox(body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.body— application/json request body usingCreateInboxRequest. Accepted fields:"domainId"(string, optional) — The id of the domain for this inbox. Defaults to your provided domain when omitted."address"(string, required) — The local-part of the email address (before the @)."name"(string, optional) — The display name of the inbox."namespaceId"(string, optional) — The id of the namespace to assign the inbox to."agentId"(string, optional) — The external AI agent identifier.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Inboxes.create_inbox(
client,
%{
"address" => "address"
}
)Configured-module example
MyApp.Nuntly.create_inbox(
%{
"address" => "address"
}
)delete_inbox — Delete Inbox
HTTP: DELETE /inboxes/{inboxId}
Soft-delete an inbox.
Signatures
Nuntly.Inboxes.delete_inbox(client, inbox_id, opts \\ [])
MyApp.Nuntly.delete_inbox(inbox_id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.inbox_id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Inboxes.delete_inbox(client, "inbox-id")Configured-module example
MyApp.Nuntly.delete_inbox("inbox-id")list_inboxes — List Inboxes
HTTP: GET /inboxes
List all inboxes.
Signatures
Nuntly.Inboxes.list_inboxes(client, params \\ %{}, opts \\ [])
MyApp.Nuntly.list_inboxes(params \\ %{}, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.params— Optional map of query parameters:"cursor"— Optional query parameter, string. Pagination cursor from a previous response"limit"— Optional query parameter, integer. Maximum number of items to return Defaults to30."namespaceId"— Optional query parameter, string. Filter by namespace.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Inboxes.list_inboxes(
client,
%{
"cursor" => "cursor",
"limit" => 30,
"namespaceId" => "namespace-id"
}
)Configured-module example
MyApp.Nuntly.list_inboxes(
%{
"cursor" => "cursor",
"limit" => 30,
"namespaceId" => "namespace-id"
}
)retrieve_inbox — Retrieve Inbox
HTTP: GET /inboxes/{inboxId}
Retrieve an inbox.
Signatures
Nuntly.Inboxes.retrieve_inbox(client, inbox_id, opts \\ [])
MyApp.Nuntly.retrieve_inbox(inbox_id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.inbox_id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Inboxes.retrieve_inbox(client, "inbox-id")Configured-module example
MyApp.Nuntly.retrieve_inbox("inbox-id")send_inbox_message — Send Inbox Message
HTTP: POST /inboxes/{inboxId}/messages
Send a new message from an inbox.
Signatures
Nuntly.Inboxes.send_inbox_message(client, inbox_id, body, opts \\ [])
MyApp.Nuntly.send_inbox_message(inbox_id, body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.inbox_id— Required path parameter, string.body— application/json request body usingSendMessageRequest. Accepted fields:"to"(list of string, required) — The recipient addresses."cc"(list of string, optional) — The CC addresses."bcc"(list of string, optional) — The BCC addresses."subject"(string, required) — The message subject."text"(string, optional) — The plain text body."html"(string, optional) — The HTML body.
opts— Optional keyword list passed to Req for this request."Idempotency-Key"— Optional header, string. Unique key to ensure the request is processed at most once. UUIDv4 recommended.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Inboxes.send_inbox_message(
client,
"inbox-id",
%{
"to" => "brian67@gmail.com",
"subject" => "Verify your email address"
},
headers: [{"Idempotency-Key", "idempotency-key"}]
)Configured-module example
MyApp.Nuntly.send_inbox_message(
"inbox-id",
%{
"to" => "brian67@gmail.com",
"subject" => "Verify your email address"
},
headers: [{"Idempotency-Key", "idempotency-key"}]
)update_inbox — Update Inbox
HTTP: PATCH /inboxes/{inboxId}
Update an inbox.
Signatures
Nuntly.Inboxes.update_inbox(client, inbox_id, body, opts \\ [])
MyApp.Nuntly.update_inbox(inbox_id, body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.inbox_id— Required path parameter, string.body— application/json request body usingUpdateInboxRequest. Accepted fields:"name"(string or nil, optional) — The display name of the inbox.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Inboxes.update_inbox(
client,
"inbox-id",
%{
"name" => "name"
}
)Configured-module example
MyApp.Nuntly.update_inbox(
"inbox-id",
%{
"name" => "name"
}
)Messages
Access received messages, download attachments, and send replies or forwards from an inbox.
Explicit module: Nuntly.Messages
forward_message — Forward Message
HTTP: POST /messages/{messageId}/forward
Forward a message to new recipients.
Signatures
Nuntly.Messages.forward_message(client, message_id, body, opts \\ [])
MyApp.Nuntly.forward_message(message_id, body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.message_id— Required path parameter, string. The RFC 5322 Message-ID header.body— application/json request body usingForwardMessageRequest. Accepted fields:"to"(list of string, required) — The recipient addresses to forward to."text"(string, optional) — An optional comment to prepend.
opts— Optional keyword list passed to Req for this request."Idempotency-Key"— Optional header, string. Unique key to ensure the request is processed at most once. UUIDv4 recommended.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Messages.forward_message(
client,
"message-id",
%{
"to" => "brian67@gmail.com"
},
headers: [{"Idempotency-Key", "idempotency-key"}]
)Configured-module example
MyApp.Nuntly.forward_message(
"message-id",
%{
"to" => "brian67@gmail.com"
},
headers: [{"Idempotency-Key", "idempotency-key"}]
)list_message_attachments — List Message Attachments
HTTP: GET /messages/{messageId}/attachments
List all attachments for a message.
Signatures
Nuntly.Messages.list_message_attachments(client, message_id, opts \\ [])
MyApp.Nuntly.list_message_attachments(message_id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.message_id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Messages.list_message_attachments(client, "message-id")Configured-module example
MyApp.Nuntly.list_message_attachments("message-id")list_messages — List Messages
HTTP: GET /messages
List all received messages across inboxes.
Signatures
Nuntly.Messages.list_messages(client, params \\ %{}, opts \\ [])
MyApp.Nuntly.list_messages(params \\ %{}, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.params— Optional map of query parameters:"cursor"— Optional query parameter, string. Pagination cursor from a previous response"limit"— Optional query parameter, integer. Maximum number of items to return Defaults to30."domainId"— Optional query parameter, string. Filter by domain."from"— Optional query parameter, string. Filter by sender address.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Messages.list_messages(
client,
%{
"cursor" => "cursor",
"limit" => 30,
"domainId" => "domain-id",
"from" => "from"
}
)Configured-module example
MyApp.Nuntly.list_messages(
%{
"cursor" => "cursor",
"limit" => 30,
"domainId" => "domain-id",
"from" => "from"
}
)reply_to_message — Reply To Message
HTTP: POST /messages/{messageId}/reply
Reply to a message. Set replyAll to true to reply to all recipients.
Signatures
Nuntly.Messages.reply_to_message(client, message_id, body, opts \\ [])
MyApp.Nuntly.reply_to_message(message_id, body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.message_id— Required path parameter, string. The RFC 5322 Message-ID header.body— application/json request body usingReplyMessageRequest. Accepted fields:"text"(string, optional) — The plain text body."html"(string, optional) — The HTML body."replyAll"(boolean, required) — Whether to reply to all recipients.
opts— Optional keyword list passed to Req for this request."Idempotency-Key"— Optional header, string. Unique key to ensure the request is processed at most once. UUIDv4 recommended.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Messages.reply_to_message(
client,
"message-id",
%{
"replyAll" => true
},
headers: [{"Idempotency-Key", "idempotency-key"}]
)Configured-module example
MyApp.Nuntly.reply_to_message(
"message-id",
%{
"replyAll" => true
},
headers: [{"Idempotency-Key", "idempotency-key"}]
)retrieve_message — Retrieve Message
HTTP: GET /messages/{messageId}
Retrieve a single message with inbox enrichment.
Signatures
Nuntly.Messages.retrieve_message(client, message_id, opts \\ [])
MyApp.Nuntly.retrieve_message(message_id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.message_id— Required path parameter, string. The email Message-ID header.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Messages.retrieve_message(client, "message-id")Configured-module example
MyApp.Nuntly.retrieve_message("message-id")retrieve_message_attachment — Retrieve Message Attachment
HTTP: GET /messages/{messageId}/attachments/{attachmentId}
Retrieve an attachment with a presigned download URL.
Signatures
Nuntly.Messages.retrieve_message_attachment(client, message_id, attachment_id, opts \\ [])
MyApp.Nuntly.retrieve_message_attachment(message_id, attachment_id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.message_id— Required path parameter, string.attachment_id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Messages.retrieve_message_attachment(client, "message-id", "attachment-id")Configured-module example
MyApp.Nuntly.retrieve_message_attachment("message-id", "attachment-id")retrieve_message_content — Retrieve Message Content
HTTP: GET /messages/{messageId}/content
Returns presigned URLs to download the HTML, plain-text, and raw MIME source of a received message.
Signatures
Nuntly.Messages.retrieve_message_content(client, message_id, opts \\ [])
MyApp.Nuntly.retrieve_message_content(message_id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.message_id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Messages.retrieve_message_content(client, "message-id")Configured-module example
MyApp.Nuntly.retrieve_message_content("message-id")update_message — Update Message
HTTP: PATCH /messages/{messageId}
Update message labels. Only available for messages in user-created inboxes.
Signatures
Nuntly.Messages.update_message(client, message_id, body, opts \\ [])
MyApp.Nuntly.update_message(message_id, body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.message_id— Required path parameter, string.body— application/json request body usingUpdateMessageRequest. Accepted fields:"addLabels"(list of string, optional) — Labels to add to the message."removeLabels"(list of string, optional) — Labels to remove from the message.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Messages.update_message(
client,
"message-id",
%{
"addLabels" => ["add-label"]
}
)Configured-module example
MyApp.Nuntly.update_message(
"message-id",
%{
"addLabels" => ["add-label"]
}
)Namespaces
Isolate inboxes by tenant, client, or agent using namespaces. Use an external ID to map namespaces to your own data model.
Explicit module: Nuntly.Namespaces
create_namespace — Create Namespace
HTTP: POST /namespaces
Create a new namespace.
Signatures
Nuntly.Namespaces.create_namespace(client, body, opts \\ [])
MyApp.Nuntly.create_namespace(body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.body— application/json request body usingCreateNamespaceRequest. Accepted fields:"name"(string, required) — The display name of the namespace."externalId"(string, optional) — An optional external identifier for the namespace.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Namespaces.create_namespace(
client,
%{
"name" => "name"
}
)Configured-module example
MyApp.Nuntly.create_namespace(
%{
"name" => "name"
}
)delete_namespace — Delete Namespace
HTTP: DELETE /namespaces/{namespaceId}
Soft-delete a namespace. Rejects if it has active inboxes.
Signatures
Nuntly.Namespaces.delete_namespace(client, namespace_id, opts \\ [])
MyApp.Nuntly.delete_namespace(namespace_id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.namespace_id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Namespaces.delete_namespace(client, "namespace-id")Configured-module example
MyApp.Nuntly.delete_namespace("namespace-id")list_namespace_inboxes — List Namespace Inboxes
HTTP: GET /namespaces/{namespaceId}/inboxes
List inboxes in a namespace.
Signatures
Nuntly.Namespaces.list_namespace_inboxes(client, namespace_id, params \\ %{}, opts \\ [])
MyApp.Nuntly.list_namespace_inboxes(namespace_id, params \\ %{}, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.namespace_id— Required path parameter, string.params— Optional map of query parameters:"cursor"— Optional query parameter, string. Pagination cursor from a previous response"limit"— Optional query parameter, integer. Maximum number of items to return Defaults to30.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Namespaces.list_namespace_inboxes(
client,
"namespace-id",
%{
"cursor" => "cursor",
"limit" => 30
}
)Configured-module example
MyApp.Nuntly.list_namespace_inboxes(
"namespace-id",
%{
"cursor" => "cursor",
"limit" => 30
}
)list_namespaces — List Namespaces
HTTP: GET /namespaces
List all namespaces.
Signatures
Nuntly.Namespaces.list_namespaces(client, params \\ %{}, opts \\ [])
MyApp.Nuntly.list_namespaces(params \\ %{}, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.params— Optional map of query parameters:"cursor"— Optional query parameter, string. Pagination cursor from a previous response"limit"— Optional query parameter, integer. Maximum number of items to return Defaults to30.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Namespaces.list_namespaces(
client,
%{
"cursor" => "cursor",
"limit" => 30
}
)Configured-module example
MyApp.Nuntly.list_namespaces(
%{
"cursor" => "cursor",
"limit" => 30
}
)retrieve_namespace — Retrieve Namespace
HTTP: GET /namespaces/{namespaceId}
Retrieve a namespace with inbox stats.
Signatures
Nuntly.Namespaces.retrieve_namespace(client, namespace_id, opts \\ [])
MyApp.Nuntly.retrieve_namespace(namespace_id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.namespace_id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Namespaces.retrieve_namespace(client, "namespace-id")Configured-module example
MyApp.Nuntly.retrieve_namespace("namespace-id")update_namespace — Update Namespace
HTTP: PATCH /namespaces/{namespaceId}
Update a namespace.
Signatures
Nuntly.Namespaces.update_namespace(client, namespace_id, body, opts \\ [])
MyApp.Nuntly.update_namespace(namespace_id, body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.namespace_id— Required path parameter, string.body— application/json request body usingUpdateNamespaceRequest. Accepted fields:"name"(string, optional) — The display name of the namespace."externalId"(string or nil, optional) — An optional external identifier for the namespace.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Namespaces.update_namespace(
client,
"namespace-id",
%{
"name" => "name"
}
)Configured-module example
MyApp.Nuntly.update_namespace(
"namespace-id",
%{
"name" => "name"
}
)Organizations
Manage your organization profile, team members, and account-level settings.
Explicit module: Nuntly.Organizations
list_organizations — List Organizations
HTTP: GET /organizations
Returns all organizations the authenticated user belongs to.
Signatures
Nuntly.Organizations.list_organizations(client, params \\ %{}, opts \\ [])
MyApp.Nuntly.list_organizations(params \\ %{}, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.params— Optional map of query parameters:"cursor"— Optional query parameter, string. Pagination cursor from a previous response"limit"— Optional query parameter, integer. Maximum number of items to return Defaults to30.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Organizations.list_organizations(
client,
%{
"cursor" => "cursor",
"limit" => 30
}
)Configured-module example
MyApp.Nuntly.list_organizations(
%{
"cursor" => "cursor",
"limit" => 30
}
)retrieve_organization — Retrieve Organization
HTTP: GET /organizations/{id}
Returns the organization's profile, plan, region, and account status.
Signatures
Nuntly.Organizations.retrieve_organization(client, id, opts \\ [])
MyApp.Nuntly.retrieve_organization(id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string. The id of the organizationopts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Organizations.retrieve_organization(client, "id")Configured-module example
MyApp.Nuntly.retrieve_organization("id")retrieve_organization_usage — Retrieve Organization Usage
HTTP: GET /organizations/{id}/usage
Returns current period usage metrics (daily and monthly) for sending and receiving, against your plan limits.
Signatures
Nuntly.Organizations.retrieve_organization_usage(client, id, opts \\ [])
MyApp.Nuntly.retrieve_organization_usage(id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Organizations.retrieve_organization_usage(client, "id")Configured-module example
MyApp.Nuntly.retrieve_organization_usage("id")Threads
Browse email conversations grouped by subject. Mark threads as read or spam, and assign them to an agent.
Explicit module: Nuntly.Threads
list_inbox_threads — List Inbox Threads
HTTP: GET /inboxes/{inboxId}/threads
List threads in an inbox.
Signatures
Nuntly.Threads.list_inbox_threads(client, inbox_id, params \\ %{}, opts \\ [])
MyApp.Nuntly.list_inbox_threads(inbox_id, params \\ %{}, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.inbox_id— Required path parameter, string.params— Optional map of query parameters:"cursor"— Optional query parameter, string. Pagination cursor from a previous response"limit"— Optional query parameter, integer. Maximum number of items to return Defaults to30."labels"— Optional query parameter, string. Comma-separated labels to filter by (AND logic). Threads with spam/trash are excluded by default unless explicitly requested via ?labels=spam or ?labels=trash.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Threads.list_inbox_threads(
client,
"inbox-id",
%{
"cursor" => "cursor",
"limit" => 30,
"labels" => "labels"
}
)Configured-module example
MyApp.Nuntly.list_inbox_threads(
"inbox-id",
%{
"cursor" => "cursor",
"limit" => 30,
"labels" => "labels"
}
)list_thread_messages — List Thread Messages
HTTP: GET /threads/{threadId}/messages
List messages in a thread (chronological order).
Signatures
Nuntly.Threads.list_thread_messages(client, thread_id, params \\ %{}, opts \\ [])
MyApp.Nuntly.list_thread_messages(thread_id, params \\ %{}, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.thread_id— Required path parameter, string.params— Optional map of query parameters:"cursor"— Optional query parameter, string. Pagination cursor from a previous response"limit"— Optional query parameter, integer. Maximum number of items to return Defaults to30.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Threads.list_thread_messages(
client,
"thread-id",
%{
"cursor" => "cursor",
"limit" => 30
}
)Configured-module example
MyApp.Nuntly.list_thread_messages(
"thread-id",
%{
"cursor" => "cursor",
"limit" => 30
}
)retrieve_thread — Retrieve Thread
HTTP: GET /threads/{threadId}
Retrieve a thread. Pass ?markRead=true to automatically remove the unread label from all messages.
Signatures
Nuntly.Threads.retrieve_thread(client, thread_id, opts \\ [])
MyApp.Nuntly.retrieve_thread(thread_id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.thread_id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Threads.retrieve_thread(client, "thread-id")Configured-module example
MyApp.Nuntly.retrieve_thread("thread-id")update_thread — Update Thread
HTTP: PATCH /threads/{threadId}
Update thread labels and agent assignment. Label operations apply to all messages in the thread.
Signatures
Nuntly.Threads.update_thread(client, thread_id, body, opts \\ [])
MyApp.Nuntly.update_thread(thread_id, body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.thread_id— Required path parameter, string.body— application/json request body usingUpdateThreadRequest. Accepted fields:"addLabels"(list of string, optional) — Labels to add to all messages in the thread."removeLabels"(list of string, optional) — Labels to remove from all messages in the thread."agentId"(string or nil, optional) — The AI agent identifier.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Threads.update_thread(
client,
"thread-id",
%{
"addLabels" => ["add-label"]
}
)Configured-module example
MyApp.Nuntly.update_thread(
"thread-id",
%{
"addLabels" => ["add-label"]
}
)Webhooks
Register HTTP endpoints to receive real-time delivery events such as bounces, opens, and clicks.
Explicit module: Nuntly.Webhooks
create_webhook — Create Webhook
HTTP: POST /webhooks
Register an endpoint to start receiving webhook events for your organization.
Signatures
Nuntly.Webhooks.create_webhook(client, body, opts \\ [])
MyApp.Nuntly.create_webhook(body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.body— application/json request body usingCreateWebhookRequest. Accepted fields:"name"(string, optional) — The name of the webhook"endpointUrl"(string, required) — The endpoint URL of the webhook"status"(string, optional) — The status of the webhook."events"(list of string, required) — The event types to subscribe to
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Webhooks.create_webhook(
client,
%{
"endpointUrl" => "https://example.com/webhooks",
"events" => ["email.queued"]
}
)Configured-module example
MyApp.Nuntly.create_webhook(
%{
"endpointUrl" => "https://example.com/webhooks",
"events" => ["email.queued"]
}
)delete_webhook — Delete Webhook
HTTP: DELETE /webhooks/{id}
Remove a webhook endpoint. No further events will be delivered to this URL.
Signatures
Nuntly.Webhooks.delete_webhook(client, id, opts \\ [])
MyApp.Nuntly.delete_webhook(id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string. The id of the webhookopts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Webhooks.delete_webhook(client, "id")Configured-module example
MyApp.Nuntly.delete_webhook("id")list_webhooks — List Webhooks
HTTP: GET /webhooks
Returns all registered webhook endpoints for the organization.
Signatures
Nuntly.Webhooks.list_webhooks(client, params \\ %{}, opts \\ [])
MyApp.Nuntly.list_webhooks(params \\ %{}, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.params— Optional map of query parameters:"cursor"— Optional query parameter, string. Pagination cursor from a previous response"limit"— Optional query parameter, integer. Maximum number of items to return Defaults to30.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Webhooks.list_webhooks(
client,
%{
"cursor" => "cursor",
"limit" => 30
}
)Configured-module example
MyApp.Nuntly.list_webhooks(
%{
"cursor" => "cursor",
"limit" => 30
}
)retrieve_webhook — Retrieve Webhook
HTTP: GET /webhooks/{id}
Returns a webhook endpoint with its URL, subscribed events, and configuration.
Signatures
Nuntly.Webhooks.retrieve_webhook(client, id, opts \\ [])
MyApp.Nuntly.retrieve_webhook(id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string. The id of the webhookopts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Webhooks.retrieve_webhook(client, "id")Configured-module example
MyApp.Nuntly.retrieve_webhook("id")update_webhook — Update Webhook
HTTP: PATCH /webhooks/{id}
Update the endpoint URL, subscribed event types, or rotate the signing secret.
Signatures
Nuntly.Webhooks.update_webhook(client, id, body, opts \\ [])
MyApp.Nuntly.update_webhook(id, body, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string. The id of the webhookbody— application/json request body usingUpdateWebhookRequest. Accepted fields:"name"(string, optional) — The name of the webhook"endpointUrl"(string, optional) — The endpoint URL of the webhook"events"(list of string, optional) — The event types to subscribe to"status"(string, optional) — The status of the webhook."rotateSecret"(boolean, optional) — If true, a new signing secret will be generated
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.Webhooks.update_webhook(
client,
"id",
%{
"name" => "Production webhook"
}
)Configured-module example
MyApp.Nuntly.update_webhook(
"id",
%{
"name" => "Production webhook"
}
)Webhooks Events
Inspect webhook event history and replay failed deliveries for debugging or recovery.
Explicit module: Nuntly.WebhooksEvents
list_webhook_event_deliveries — List Webhook Event Deliveries
HTTP: GET /webhooks/{id}/events/{eventId}/deliveries
Returns all delivery attempts for a webhook event, including HTTP status codes and response times.
Signatures
Nuntly.WebhooksEvents.list_webhook_event_deliveries(client, id, event_id, opts \\ [])
MyApp.Nuntly.list_webhook_event_deliveries(id, event_id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string.event_id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.WebhooksEvents.list_webhook_event_deliveries(client, "id", "event-id")Configured-module example
MyApp.Nuntly.list_webhook_event_deliveries("id", "event-id")list_webhooks_events — List Webhooks Events
HTTP: GET /webhooks/events
Returns recent webhook events across all registered endpoints.
Signatures
Nuntly.WebhooksEvents.list_webhooks_events(client, params \\ %{}, opts \\ [])
MyApp.Nuntly.list_webhooks_events(params \\ %{}, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.params— Optional map of query parameters:"cursor"— Optional query parameter, string. Pagination cursor from a previous response"limit"— Optional query parameter, integer. Maximum number of items to return Defaults to30.
opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.WebhooksEvents.list_webhooks_events(
client,
%{
"cursor" => "cursor",
"limit" => 30
}
)Configured-module example
MyApp.Nuntly.list_webhooks_events(
%{
"cursor" => "cursor",
"limit" => 30
}
)replay_webhook_event — Replay Webhook Event
HTTP: POST /webhooks/{id}/events/{eventId}/replay
Re-deliver a webhook event to its endpoint. Useful for retrying failed deliveries.
Signatures
Nuntly.WebhooksEvents.replay_webhook_event(client, id, event_id, opts \\ [])
MyApp.Nuntly.replay_webhook_event(id, event_id, opts \\ [])Arguments
client— ANuntly.Clientreturned byNuntly.new/1.id— Required path parameter, string.event_id— Required path parameter, string.opts— Optional keyword list passed to Req for this request.
For the configured signature, omit client; it is supplied by client/0.
Explicit-client example
client = Nuntly.new(api_key: "ntly_...")
Nuntly.WebhooksEvents.replay_webhook_event(client, "id", "event-id")Configured-module example
MyApp.Nuntly.replay_webhook_event("id", "event-id")