How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

WaterrAI API API

REST API for the WaterrAI meeting platform — create scenarios, spin up AI-driven meetings, fetch transcripts and analyses.

WaterrAI API API is one of 2 APIs that waterr-ai publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 6 JSON Schema definitions.

The published artifact set on APIs.io includes an OpenAPI specification and 6 JSON Schemas.

This API exposes 69 operations across 42 paths, organized into 15 resource areas, and defines 17 schemas. It is described by OpenAPI 3.0.0, at version 1.0.0.

Requests are made against a single base URL, https://api.waterr.ai/v1.

69 operations 42 paths 17 schemas 11 DELETE31 GET5 PATCH16 POST6 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
1.0.0
Base URL
https://api.waterr.ai/v1
Authentication
HTTP Bearer
Contact
Resource Areas
15

Authentication & Security 1

WaterrAI API API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (wai_...) (apiKeyAuth). By default, every request must be authenticated.

  • apiKeyAuth — API key from waterr.ai/settings?tab=api-keys. Send as Authorization: Bearer wai .

Paths & Operations 69

Across 42 paths, the API surfaces 69 operations — 11 DELETE, 31 GET, 5 PATCH, 16 POST, 6 PUT. They span 15 resource areas, including Analyses, Goals, Meetings, Avatars, Personas, Recordings, Scenarios, Transcripts, and 7 more. Each is listed below with its method, path, parameters, and response codes.

Analyses 3
GET
/analyses/{id}
Get an analysis by ID
1 param → 200404500
GET
/analyses/meeting/{meetingId}
Get analysis by meeting ID
1 param → 200404500
POST
/analyses/trigger/{meetingId}
Trigger manual analysis for a meeting
1 param → 200400404500
Goals 4
GET
/goals
Get all goals
→ 200500
POST
/goals
Create a new goal
body → 201400500
PUT
/goals/{id}
Update a goal
1 param body → 200404500
DELETE
/goals/{id}
Delete a goal
1 param → 204404500
Meetings 8
GET
/meetings
Get all meetings
→ 200401500
POST
/meetings
Create a new meeting
body → 201400401403413500
GET
/meetings/{id}
Get a meeting by ID
1 param → 200401404500
GET
/meetings/{id}/events
A meeting's event log
ListMeetingEvents 4 params → 200400401404
POST
/meetings/{id}/actions
Push an action into a live meeting
ApplyMeetingAction 1 param body → 202400401403404409422429
PUT
/meetings/{meetingId}
Update a meeting
1 param body → 200401404500
DELETE
/meetings/{meetingId}
Delete a meeting
1 param → 204401404500
PUT
/meetings/{meetingId}/end
End a meeting
1 param body → 200401404500
Avatars 3
GET
/avatars
List the avatar catalog
5 params → 200500
GET
/avatars/{id}
Get an avatar by ID
1 param → 200404500
PUT
/personas/{id}/avatar
Set a persona's avatar
1 param body → 200400404500
Personas 5
GET
/personas
Get all personas
→ 200500
POST
/personas
Create a new persona
body → 201400500
GET
/personas/{id}
Get a persona by ID
1 param → 200404500
PUT
/personas/{id}
Update a persona
1 param body → 200404500
DELETE
/personas/{id}
Delete a persona
1 param → 204404500
Recordings 2
GET
/recordings/url-with-thumbnail/{meetingId}
Get recording CloudFront URL with thumbnail by Daily meeting ID
1 param → 200404500
GET
/recordings/meeting/{meetingId}
Get recordings by meeting ID
1 param → 200500
Scenarios 6
GET
/scenarios
Get all scenarios
→ 200500
POST
/scenarios
Create a new scenario
body → 201400500
PUT
/scenarios/{id}
Update a scenario
1 param body → 200404500
DELETE
/scenarios/{id}
Delete a scenario
1 param → 204404500
GET
/scenarios/{id}/export
Export a scenario as JSON
1 param → 200403404500
GET
/scenarios/membership/{membershipId}/meetings
Get all meetings for all scenarios of a user
1 param → 200500
Transcripts 2
GET
/transcripts/{id}
Get a transcript by ID
1 param → 200404500
GET
/transcripts/meeting/{meetingId}
Get transcripts by meeting ID
1 param → 200500
Voices 1
GET
/voices
List available voices
→ 200401500
Tools 5

Account-scoped custom function (tool) definitions the LLM can call mid-meeting.

GET
/custom-functions
List tools
ListTools → 200401500
POST
/custom-functions
Create a tool
CreateTool body → 201400401409500
GET
/custom-functions/{id}
Get a tool
GetTool 1 param → 200401404
PATCH
/custom-functions/{id}
Update a tool
UpdateTool 1 param body → 200400401404409
DELETE
/custom-functions/{id}
Delete a tool
DeleteTool 1 param → 204401404
Skill Packages 11

Register a waterr-skill.json manifest version and install it — skill, tools, renderers and events endpoint in one call.

POST
/skill-packages
Register a skill package version
RegisterSkillPackage body → 201200400409
GET
/skill-packages
List registered packages
ListSkillPackages → 200
POST
/skill-installs
Install a package
InstallSkillPackage body → 201400404409
GET
/skill-installs
List installs
ListSkillInstalls → 200
GET
/skill-installs/{id}
One install, with what it materialised and its keys
GetSkillInstall 1 param → 200404
PATCH
/skill-installs/{id}
Update config, secrets or status
UpdateSkillInstall 1 param body → 200
DELETE
/skill-installs/{id}
Uninstall — removes every row the install created
UninstallSkillPackage 1 param → 200
POST
/skill-installs/{id}/upgrade
Move an install to another registered version
UpgradeSkillInstall 1 param body → 200400409
POST
/skill-installs/{id}/keys
Mint a wsk key bound to the install (shown once)
CreateSkillInstallKey 1 param body → 201
POST
/scenarios/{scenarioId}/skill-installs/{id}/attach
Attach an installed skill to a scenario
AttachSkillInstall 2 params → 201200
DELETE
/scenarios/{scenarioId}/skill-installs/{id}/attach
Detach an installed skill from a scenario
DetachSkillInstall 2 params → 200
Stage Tokens 1

Verify the signed token a screen app (presented page) received for the meeting it was opened in.

POST
/stage-tokens/introspect
Introspect a stage token
IntrospectStageToken body → 200400401
Guardrails 5

Account-scoped named prompt fragments appended to a scenario's system prompt.

GET
/guardrails
List guardrails
ListGuardrails → 200401500
POST
/guardrails
Create a guardrail
CreateGuardrail body → 201400401409
GET
/guardrails/{id}
Get a guardrail
GetGuardrail 1 param → 200401404
PATCH
/guardrails/{id}
Update a guardrail
UpdateGuardrail 1 param body → 200400401404409
DELETE
/guardrails/{id}
Delete a guardrail
DeleteGuardrail 1 param → 204401404
Meeting Skills 5

Account-scoped invokable instruction packs the agent loads mid-meeting.

GET
/skills
List skills
ListSkills → 200401500
POST
/skills
Create a skill
CreateSkill body → 201400401409
GET
/skills/{id}
Get a skill
GetSkill 1 param → 200401404
PATCH
/skills/{id}
Update a skill
UpdateSkill 1 param body → 200400401404409
DELETE
/skills/{id}
Delete a skill
DeleteSkill 1 param → 204401404
Memories 8

Facts your agents remember, in containers named by usermemorytag and shared across agents.

GET
/memories
List the memories under a tag
ListMemories 2 params → 200400401
POST
/memories
Add memories
ImportMemories body → 201400401404
GET
/memories/tags
List memory containers
ListMemoryContainers 1 param → 200401
GET
/memories/tags/{tag}
Get a memory container
GetMemoryContainer 1 param → 200401404
DELETE
/memories/tags/{tag}
Delete a memory container
DeleteMemoryContainer 1 param → 204401404
GET
/memories/{id}
Get a memory
GetMemory 1 param → 200401404
PATCH
/memories/{id}
Update a memory
UpdateMemory 1 param body → 200400401404409
DELETE
/memories/{id}
Delete a memory
DeleteMemory 1 param → 204401404

Schemas 17

The contract defines 17 schemas that model the data the API accepts and returns. The most detailed are MeetingControls (18 properties), Avatar (17 properties), CustomFunction (16 properties), Analysis (14 properties). Each schema is shown below with its type and property counts.

GoalResult
object
7 properties
Analysis
object
14 properties
User
object
6 properties
AuthResponse
object
3 properties
ErrorResponse
object
3 properties
MeetingControls
object
18 properties
Scenario
object
13 properties
Voice
object
7 properties
Avatar
object
A catalog avatar — the visual identity a persona presents in prejoin cards and meetings. Global curated avatars have ownermembershipid: null; avatars you gener…
17 properties
CustomFunction
object
A tool the LLM can call mid-meeting. Defined once on your account, attached to one or more scenarios.
16 properties 8 required
ScenarioCustomFunctionAttachment
object
Links a tool to a scenario. The tool is advertised to the LLM only when active = true.
8 properties 4 required
Guardrail
object
A named prompt fragment. Every guardrail attached to a scenario is appended to that scenario's system prompt as a bullet under a Guardrails heading, so the per…
8 properties 4 required
ScenarioGuardrailAttachment
object
Links a guardrail to a scenario. The rule enters the system prompt only when active = true.
8 properties 4 required
Skill
object
An invokable instruction pack. Only the one-line trigger sits in the agent's prompt each turn; the full instructions load when the agent invokes the skill mid-…
10 properties 5 required
ScenarioSkillAttachment
object
Links a skill to a scenario. The trigger reaches the agent only when active = true.
8 properties 4 required
Memory
object
One remembered fact, held in the container named by its usermemorytag. Every agent with memory on that runs a call under that tag is told it at the start of th…
9 properties
MemoryContainer
object
Every memory under one usermemorytag in your workspace.
7 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

waterr-ai-api-openapi.yml Raw ↑

Other APIs waterr-ai publishes across the network.

WaterrAI API
Where this information came from

This is an independent, third-party profile of WaterrAI API API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.