reamaze.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
Articles
create
articles.create
Create a help center article under a topic
Risk: write
topic, with the payload wrapped in article. The numeric status is 0 published, 1 draft or 4 internal.
Output
topic full type
topic full type
get
articles.get
Read one help center article by slug
Risk: read
author and topic objects.
Output
topic full type
topic full type
list
articles.list
List help center articles, filtered by status or search text
Risk: read
{ articles, page_size, page_count, total_count }. The status filter takes published, draft or internal, and omitting it returns published articles only.
Output
articles full type
articles full type
update
articles.update
Change an article title, body, status or topic
Risk: write
article wrapper.
Output
topic full type
topic full type
Channels
get
channels.get
Read one channel by slug
Risk: read
brand object. settings_reply_from_name is channel, brand or staff.
Output
brand full type
brand full type
list
channels.list
List the brand channels, optionally by type
Risk: read
{ channels, total_count } with no page_size or page_count. The channel filter takes email, facebook, twitter or chat, and each channel carries a numeric channel type.
Output
channels full type
channels full type
Contacts
create
contacts.create
Create a contact for the account
Risk: write
contact and answers { contact }. Pass an email or a mobile number in E.164 form; other contact types cannot be created. notes is an array of note bodies attached at creation, and data becomes the customer data attributes.
Output
contact full type
contact full type
list
contacts.list
List contacts, filtered by search text, type or data attributes
Risk: read
{ contacts, page_size, page_count, total_count }. Contacts belong to the account rather than a brand. type takes email or mobile, and data filters the same way it does on conversations.
Output
contacts full type
contacts full type
update
contacts.update
Change a contact name, friendly name, avatar or data attributes, and append notes
Risk: write
contact wrapper, and the identifier stays in the path only because Re:amaze cannot change an email, mobile number or other identifier. notes appends notes; editing one goes through the notes endpoints.
Output
contact full type
contact full type
Conversations
create
conversations.create
Create a conversation on behalf of a customer, with its first message
Risk: write
conversation and answers the created conversation. category is a channel slug, and the nested message is the first message in the thread.
message full type
message full type
user full type
user full type
message full type
message full type
last_staff_message full type
last_staff_message full type
last_customer_message full type
last_customer_message full type
assignee full type
assignee full type
category full type
category full type
followers full type
followers full type
get
conversations.get
Read one conversation by slug, reference id, or origin id within a channel
Risk: read
id_type to ref to look up by reference id, or to origin with category to look up by an origin id within a channel.
Output
message full type
message full type
last_staff_message full type
last_staff_message full type
last_customer_message full type
last_customer_message full type
assignee full type
assignee full type
category full type
category full type
followers full type
followers full type
list
conversations.list
List conversations, filtered by status, assignee, tag, channel, origin or date
Risk: read
{ conversations, page_size, page_count, total_count }. filter takes archived, open, unassigned or all; omitting it returns unarchived conversations only. data is sent as one data[key]=value entry per key, so data: { plan: 'pro' } becomes data[plan]=pro.
Output
conversations full type
conversations full type
update
conversations.update
Change a conversation status, tags, assignee, data attributes or channel
Risk: write
conversation wrapper. Only assignee, tag_list, status, hold_until, data, category and brand can change; category must be an email channel, and brand is only used when moving a conversation to another brand.
assignee full type
assignee full type
message full type
message full type
last_staff_message full type
last_staff_message full type
last_customer_message full type
last_customer_message full type
assignee full type
assignee full type
category full type
category full type
followers full type
followers full type
Identities
create
identities.create
Attach an identity to a contact. An identity already on another contact is moved here with its messages
Risk: write
identity and answers the contact’s full identity list. An identity already attached to another contact is moved here, along with its messages and data.
Output
identities full type
identities full type
list
identities.list
List the emails, handles and phone numbers attached to a contact
Risk: read
{ identities: [{ type, identifier }] }. The type is one of email, twitter, facebook, instagram, igsid or mobile.
Output
identities full type
identities full type
Incidents
create
incidents.create
Create a status page incident with its first update, which shows on the public status page
Risk: write
incident. Each update status is investigating, identified, monitoring or resolved; each system status is operational, degraded_performance, partial_outage, major_outage or under_maintenance.
updates_attributes full type
updates_attributes full type
incidents_systems_attributes full type
incidents_systems_attributes full type
updates full type
updates full type
incidents_systems full type
incidents_systems full type
get
incidents.get
Read one status page incident by id
Risk: read
updates and incidents_systems arrays.
Output
updates full type
updates full type
incidents_systems full type
incidents_systems full type
list
incidents.list
List status page incidents
Risk: read
{ incidents }. A brand with no incidents answers [].
Output
incidents full type
incidents full type
update
incidents.update
Change a status page incident and append an update, which shows on the public status page
Risk: write
incident wrapper. The vendor’s curl example shows -X POST, but a POST to this path is answered as an unknown route. New updates_attributes are appended to the incident.
updates_attributes full type
updates_attributes full type
incidents_systems_attributes full type
incidents_systems_attributes full type
updates full type
updates full type
incidents_systems full type
incidents_systems full type
Messages
create
messages.create
Send a reply in a conversation. It goes out to the real customer and the other participants unless suppress_notifications is set. visibility 1 posts an internal note only staff see
Risk: write
suppress_notifications is true. visibility: 1 posts an internal note that only staff see. The conversation slug is a path segment, so it never appears in the body, and the payload is wrapped in message. origin_id lets Re:amaze discard a duplicate send.
user full type
user full type
user full type
user full type
recipients full type
recipients full type
attachments full type
attachments full type
conversation full type
conversation full type
list
messages.list
List messages across the brand, filtered by sender, tag, channel or date
Risk: read
{ messages, page_size, page_count, total_count }, newest first. include: 'original_body' adds the message HTML when the brand stored it.
Output
messages full type
messages full type
Notes
create
notes.create
Add a note to one contact
Risk: write
{ body }. creator_email credits a staff member instead of the caller, and created_at defaults to now.
Output
notes full type
notes full type
delete
notes.delete
Delete one contact note. Re:amaze keeps no undo and the note text is not returned anywhere afterwards
Risk: destructive · Irreversible
{ deleted, contact, id }. The note text is gone; there is no undo.
Output
list
notes.list
List the notes on one contact
Risk: read
{ notes }. There is no paging on this route. A body that is not an array throws rather than reading as an empty list.
Output
notes full type
notes full type
update
notes.update
Replace the text of one contact note
Risk: write
{ body }. The creator is only replaced when creator_email is sent, and created_at is kept when it is omitted.
Output
notes full type
notes full type
Reports
channelSummary
reports.channelSummary
Per-channel response counts, response time, satisfaction and thread size
Risk: read
{ channels, start_date, end_date }, keyed by channel id. Each entry carries staff and customer response counts, average response time, appreciations, open and resolved counts, average satisfaction and average thread size.
Output
responseTime
reports.responseTime
Daily first-response time in seconds, with averages and ratios
Risk: read
{ response_times, summary, start_date, end_date }. Response times are seconds keyed by date, and summary carries averages, trends and ratios.
Output
staff
reports.staff
Per-staff response counts, response time and appreciations
Risk: read
{ report, start_date, end_date }, keyed by each staff member’s display name. Each entry has a response count, a response time and a per-day trend.
Output
tags
reports.tags
Tag usage counts over a date range
Risk: read
{ tags, start_date, end_date }, where tags is a map of tag name to count, not an array. Iterate it with Object.entries.
Output
volume
reports.volume
Daily conversation volume over a date range
Risk: read
{ conversation_counts, start_date, end_date }, where conversation_counts is a map of YYYY-MM-DD to a count. Dates default to the last 30 days, and a window must be between 1 day and 1 year.
Output
Response Templates
create
responseTemplates.create
Create a response template
Risk: write
response_template. is_personal: 1 creates a personal template when the caller’s role allows one.
Output
response_template_group full type
response_template_group full type
get
responseTemplates.get
Read one response template by id
Risk: read
response_template_group.
Output
response_template_group full type
response_template_group full type
list
responseTemplates.list
List response templates, filtered by search text
Risk: read
{ response_templates, page_size, page_count, total_count } and includes personal templates the caller’s role can see.
Output
response_templates full type
response_templates full type
update
responseTemplates.update
Change a response template name or body
Risk: write
response_template wrapper.
Output
response_template_group full type
response_template_group full type
Satisfaction
list
satisfaction.list
List satisfaction survey ratings, filtered by brand, rating or date
Risk: read
{ satisfaction_ratings, page_size, page_count, total_count }. The route needs the access_reports permission, so a user without it gets a 403. rating is 1 to 5, and brand accepts all_brands.
Output
satisfaction_ratings full type
satisfaction_ratings full type
Staff
create
staff.create
Create a staff user, which counts toward the monthly subscription. No invite email is sent
Risk: write
staff and answers the created user. This counts toward the monthly subscription, no invite email is sent, and the user must change the password at first login.
Output
list
staff.list
List staff users, oldest first
Risk: read
{ staff, page_size, page_count, total_count }, oldest first. The role hash is documented as unstable, so treat it as informational.
Output
staff full type
staff full type
Systems
list
systems.list
List the status page systems and their current status
Risk: read
{ systems }. Each system carries its current status and any active incidents.
Output
systems full type
systems full type