OpenVibe.Mail API

Generated at from openvibe-contracts v0.419.0 and openvibe-sdk v0.161.0.

Server https://openvibe.email. 16 routes performing 5 capabilities. OpenAPI 3.1 document.

GET /api/v1/agent-inboxes

Read what arrived for a person's addresses: the addresses they own with their state and counts, and the metadata of a mask's, burner's or agent inbox's messages (sender, subject, time) plus the newest

Capabilities
mail.messages.read
Visibility
first-party
Response
—
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.messages.read</strong> (first-party): Read what arrived for a person&#39;s addresses: the addresses they own with their state and counts, and the metadata of a mask&#39;s, burner&#39;s or agent inbox&#39;s messages (sender, subject, time) plus the newest verification code in a burner. Never a message body, and never another person&#39;s mail. The caller must act for the person (on_behalf_of), except a burner read with the one-time token its create call returned.</p>

POST /api/v1/agent-inboxes

Make and retire the addresses OpenVibe.Mail hands out for a person: a mask (a per-site address that delivers into their OpenVibe mailbox and nowhere else) and an agent inbox (<agent>.<user>@openvibe.e

Capabilities
mail.addresses.write
Visibility
first-party
Response
—
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.addresses.write</strong> (first-party): Make and retire the addresses OpenVibe.Mail hands out for a person: a mask (a per-site address that delivers into their OpenVibe mailbox and nowhere else) and an agent inbox (&lt;agent&gt;.&lt;user&gt;@openvibe.email). Turning a mask off makes its address bounce. The caller must act for the person (on_behalf_of); it never sends mail.</p>

GET /api/v1/agent-inboxes/{id}/answering

Read and set whether an agent answers the mail sent to its own address: GET /api/v1/agent-inboxes/:id/answering and PUT /api/v1/agent-inboxes/:id/answering, both mail.inbox-answering@1.

Capabilities
mail.agent.answering
Visibility
first-party
Parameters
  • id (path, required)
  • agent_id (query, required) — The agent's name in the address.
  • address (query, required) — The agent's inbox address.
  • owner (query, required) — The Network subject of the person whose switch it is.
  • enabled (query, required) — True when the agent answers the mail sent to this address. Off unless the person turned it on.
  • changed_at (query, required) — When the person last turned it on or off; null when they never have (it has been off since the address was made).
Input
mail.inbox-answering@1
Response
application/json mail.inbox-answering@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.agent.answering</strong> (first-party): Read and set whether an agent answers the mail sent to its own address: GET /api/v1/agent-inboxes/:id/answering and PUT /api/v1/agent-inboxes/:id/answering, both mail.inbox-answering@1. It is OFF by default and per agent; turning it on is what makes Mail publish mail.agent_inbox.received for that address at all. The caller must act for the person (on_behalf_of), and another person&#39;s inbox is the same 404 as one that does not exist. Mail still publishes nothing for a sender on the person&#39;s block list or for a message the mail server marked as spam.</p>

PUT /api/v1/agent-inboxes/{id}/answering

Read and set whether an agent answers the mail sent to its own address: GET /api/v1/agent-inboxes/:id/answering and PUT /api/v1/agent-inboxes/:id/answering, both mail.inbox-answering@1.

Capabilities
mail.agent.answering
Visibility
first-party
Parameters
  • id (path, required)
Request body
application/json mail.inbox-answering@1
Response
application/json mail.inbox-answering@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.agent.answering</strong> (first-party): Read and set whether an agent answers the mail sent to its own address: GET /api/v1/agent-inboxes/:id/answering and PUT /api/v1/agent-inboxes/:id/answering, both mail.inbox-answering@1. It is OFF by default and per agent; turning it on is what makes Mail publish mail.agent_inbox.received for that address at all. The caller must act for the person (on_behalf_of), and another person&#39;s inbox is the same 404 as one that does not exist. Mail still publishes nothing for a sender on the person&#39;s block list or for a message the mail server marked as spam.</p>

GET /api/v1/agent-inboxes/{id}/messages

Read what arrived for a person's addresses: the addresses they own with their state and counts, and the metadata of a mask's, burner's or agent inbox's messages (sender, subject, time) plus the newest

Capabilities
mail.messages.read
Visibility
first-party
Parameters
  • id (path, required)
Response
—
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.messages.read</strong> (first-party): Read what arrived for a person&#39;s addresses: the addresses they own with their state and counts, and the metadata of a mask&#39;s, burner&#39;s or agent inbox&#39;s messages (sender, subject, time) plus the newest verification code in a burner. Never a message body, and never another person&#39;s mail. The caller must act for the person (on_behalf_of), except a burner read with the one-time token its create call returned.</p>

GET /api/v1/burners

Read what arrived for a person's addresses: the addresses they own with their state and counts, and the metadata of a mask's, burner's or agent inbox's messages (sender, subject, time) plus the newest

Capabilities
mail.messages.read
Visibility
first-party
Response
—
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.messages.read</strong> (first-party): Read what arrived for a person&#39;s addresses: the addresses they own with their state and counts, and the metadata of a mask&#39;s, burner&#39;s or agent inbox&#39;s messages (sender, subject, time) plus the newest verification code in a burner. Never a message body, and never another person&#39;s mail. The caller must act for the person (on_behalf_of), except a burner read with the one-time token its create call returned.</p>

GET /api/v1/burners/{id}/code

Read what arrived for a person's addresses: the addresses they own with their state and counts, and the metadata of a mask's, burner's or agent inbox's messages (sender, subject, time) plus the newest

Capabilities
mail.messages.read
Visibility
first-party
Parameters
  • id (path, required)
Response
—
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.messages.read</strong> (first-party): Read what arrived for a person&#39;s addresses: the addresses they own with their state and counts, and the metadata of a mask&#39;s, burner&#39;s or agent inbox&#39;s messages (sender, subject, time) plus the newest verification code in a burner. Never a message body, and never another person&#39;s mail. The caller must act for the person (on_behalf_of), except a burner read with the one-time token its create call returned.</p>

GET /api/v1/burners/{id}/messages

Read what arrived for a person's addresses: the addresses they own with their state and counts, and the metadata of a mask's, burner's or agent inbox's messages (sender, subject, time) plus the newest

Capabilities
mail.messages.read
Visibility
first-party
Parameters
  • id (path, required)
Response
—
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.messages.read</strong> (first-party): Read what arrived for a person&#39;s addresses: the addresses they own with their state and counts, and the metadata of a mask&#39;s, burner&#39;s or agent inbox&#39;s messages (sender, subject, time) plus the newest verification code in a burner. Never a message body, and never another person&#39;s mail. The caller must act for the person (on_behalf_of), except a burner read with the one-time token its create call returned.</p>

GET /api/v1/masks

Read what arrived for a person's addresses: the addresses they own with their state and counts, and the metadata of a mask's, burner's or agent inbox's messages (sender, subject, time) plus the newest

Capabilities
mail.messages.read
Visibility
first-party
Response
—
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.messages.read</strong> (first-party): Read what arrived for a person&#39;s addresses: the addresses they own with their state and counts, and the metadata of a mask&#39;s, burner&#39;s or agent inbox&#39;s messages (sender, subject, time) plus the newest verification code in a burner. Never a message body, and never another person&#39;s mail. The caller must act for the person (on_behalf_of), except a burner read with the one-time token its create call returned.</p>

POST /api/v1/masks

Make and retire the addresses OpenVibe.Mail hands out for a person: a mask (a per-site address that delivers into their OpenVibe mailbox and nowhere else) and an agent inbox (<agent>.<user>@openvibe.e

Capabilities
mail.addresses.write
Visibility
first-party
Response
—
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.addresses.write</strong> (first-party): Make and retire the addresses OpenVibe.Mail hands out for a person: a mask (a per-site address that delivers into their OpenVibe mailbox and nowhere else) and an agent inbox (&lt;agent&gt;.&lt;user&gt;@openvibe.email). Turning a mask off makes its address bounce. The caller must act for the person (on_behalf_of); it never sends mail.</p>

GET /api/v1/masks/{id}

Read what arrived for a person's addresses: the addresses they own with their state and counts, and the metadata of a mask's, burner's or agent inbox's messages (sender, subject, time) plus the newest

Capabilities
mail.messages.read
Visibility
first-party
Parameters
  • id (path, required)
Response
—
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.messages.read</strong> (first-party): Read what arrived for a person&#39;s addresses: the addresses they own with their state and counts, and the metadata of a mask&#39;s, burner&#39;s or agent inbox&#39;s messages (sender, subject, time) plus the newest verification code in a burner. Never a message body, and never another person&#39;s mail. The caller must act for the person (on_behalf_of), except a burner read with the one-time token its create call returned.</p>

DELETE /api/v1/masks/{id}

Make and retire the addresses OpenVibe.Mail hands out for a person: a mask (a per-site address that delivers into their OpenVibe mailbox and nowhere else) and an agent inbox (<agent>.<user>@openvibe.e

Capabilities
mail.addresses.write
Visibility
first-party
Parameters
  • id (path, required)
Response
—
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.addresses.write</strong> (first-party): Make and retire the addresses OpenVibe.Mail hands out for a person: a mask (a per-site address that delivers into their OpenVibe mailbox and nowhere else) and an agent inbox (&lt;agent&gt;.&lt;user&gt;@openvibe.email). Turning a mask off makes its address bounce. The caller must act for the person (on_behalf_of); it never sends mail.</p>

POST /api/v1/masks/{id}/disable

Make and retire the addresses OpenVibe.Mail hands out for a person: a mask (a per-site address that delivers into their OpenVibe mailbox and nowhere else) and an agent inbox (<agent>.<user>@openvibe.e

Capabilities
mail.addresses.write
Visibility
first-party
Parameters
  • id (path, required)
Response
—
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.addresses.write</strong> (first-party): Make and retire the addresses OpenVibe.Mail hands out for a person: a mask (a per-site address that delivers into their OpenVibe mailbox and nowhere else) and an agent inbox (&lt;agent&gt;.&lt;user&gt;@openvibe.email). Turning a mask off makes its address bounce. The caller must act for the person (on_behalf_of); it never sends mail.</p>

GET /api/v1/me/mail

Read what arrived for a person's addresses: the addresses they own with their state and counts, and the metadata of a mask's, burner's or agent inbox's messages (sender, subject, time) plus the newest

Capabilities
mail.messages.read
Visibility
first-party
Response
—
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.messages.read</strong> (first-party): Read what arrived for a person&#39;s addresses: the addresses they own with their state and counts, and the metadata of a mask&#39;s, burner&#39;s or agent inbox&#39;s messages (sender, subject, time) plus the newest verification code in a burner. Never a message body, and never another person&#39;s mail. The caller must act for the person (on_behalf_of), except a burner read with the one-time token its create call returned.</p>

GET /internal/mail/agents/{agent_id}/messages/{message_id}

Read one message sent to an agent's own address, in full plain text, as that agent acting for the person whose mailbox received it.

Capabilities
mail.agent.read
Visibility
first-party
Parameters
  • agent_id (path, required)
  • message_id (path, required)
Response
application/json mail.agent-inbox-message@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.agent.read</strong> (first-party): Read one message sent to an agent&#39;s own address, in full plain text, as that agent acting for the person whose mailbox received it. GET /internal/mail/agents/:agent_id/messages/:message_id answers mail.agent-inbox-message@1: the sender, the addresses the mail server stamped at delivery, the subject, the text cut to 4000 characters, and the two threading headers a reply needs. Never the HTML and never an attachment. The token must name the person (on_behalf_of), the agent must be one of that person&#39;s inboxes, and the message must have been delivered to that address; anything else is the same 404 as a message that does not exist. Loopback only; granted to OpenVibe.Actor alone, which reads a letter and answers it under the person&#39;s approval policy.</p>

POST /internal/mail/agents/{agent_id}/reply

Send a reply FROM an agent's own address, as that agent acting for the person whose mailbox receives its mail.

Capabilities
mail.agent.reply
Visibility
first-party
Parameters
  • agent_id (path, required)
Request body
application/json mail.agent-reply-request@1
Response
application/json mail.agent-reply-result@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>mail.agent.reply</strong> (first-party): Send a reply FROM an agent&#39;s own address, as that agent acting for the person whose mailbox receives its mail. POST /internal/mail/agents/:agent_id/reply takes mail.agent-reply-request@1 and answers mail.agent-reply-result@1. The reply is plain text, comes from &lt;agent&gt;.&lt;user&gt;@openvibe.email and from nothing else, and carries In-Reply-To and References so it stays in the thread; the recipient is the sender of the message being answered, or the same address named in <code>to</code>, and never a stranger the message did not come from. The recipient is therefore never new: this is an answer, not a first letter. The token must name the person (on_behalf_of) and the agent must be one of their inboxes. Loopback only; granted to OpenVibe.Actor alone, which sends the reply the person approved.</p>