Relevance AI · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Relevance AI Endpoints Services API
11 actions
11 updates
phrasing
extends
openapi/relevance-ai-services-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Relevance AI's API. It is a proposal applied on top of the contract, not a document Relevance AI publishes.
What the actions change
x-apievangelist-phrasing
Targets 11
$.info
$.paths['/slack/interactions'].post
$.paths['/organizations/{organization_id}/delivery_external_id'].get
$.paths['/google-calendar/events'].get
$.paths['/config-flags'].get
$.paths['/config-flags/public'].get
$.paths['/s/{short_url_key}'].get
$.paths['/datasets/{dataset_id}/get_file_upload_urls'].post
$.paths['/services/get_temporary_public_file_upload_url'].post
$.paths['/services/get_temporary_file_upload_url'].post
$.paths['/bugs/submit'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Relevance AI Endpoints Services API
version: 1.0.0
extends: openapi/relevance-ai-services-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 10
- target: $.paths['/slack/interactions'].post
update:
x-apievangelist-phrasing:
intent: Receive Slack approval interactions
effect: write
questions:
- How are agent approvals clicked in Slack sent back to the platform?
- Which endpoint receives Slack block kit button actions for approving or rejecting an agent?
instructions:
- text: 'Forward this Slack interaction payload for agent approval: {payload}.'
slots:
payload: requestBody.payload
- text: Submit the Slack block kit rejection payload {payload}.
slots:
payload: requestBody.payload
method: generated
generated: '2026-09-26'
- target: $.paths['/organizations/{organization_id}/delivery_external_id'].get
update:
x-apievangelist-phrasing:
intent: Get the AWS delivery external ID for an org
effect: read
questions:
- What external ID do I put in my AWS IAM trust policy for cross-account delivery?
- Can I get or create my organization's delivery external ID for AssumeRole?
instructions:
- text: Get the delivery external ID for organization {organization_id}.
slots:
organization_id: path.organization_id
- text: Give me the AssumeRole external ID for organization {organization_id}.
slots:
organization_id: path.organization_id
method: generated
generated: '2026-09-26'
- target: $.paths['/google-calendar/events'].get
update:
x-apievangelist-phrasing:
intent: List Google Calendar events in a time range
effect: read
questions:
- What's on my connected Google Calendar this week?
- Can I list events from a specific Google calendar ID?
instructions:
- text: List Google Calendar events from {start_datetime} to {end_datetime}.
slots:
start_datetime: query.start_datetime
end_datetime: query.end_datetime
- text: Show events on calendar {calendar_id} using account {oauth_account_id}.
slots:
calendar_id: query.calendar_id
oauth_account_id: query.oauth_account_id
method: generated
generated: '2026-09-26'
- target: $.paths['/config-flags'].get
update:
x-apievangelist-phrasing:
intent: Get all config flags for the app
effect: read
questions:
- Which feature flags are enabled for my signed-in app?
- Does the config flags response include a hash for caching?
instructions:
- text: Get all config flags for my authenticated app.
- text: Fetch the full feature flag set with its content hash.
method: generated
generated: '2026-09-26'
- target: $.paths['/config-flags/public'].get
update:
x-apievangelist-phrasing:
intent: Get public config flags without signing in
effect: read
questions:
- Which config flags can be read before a user logs in?
- Is there an unauthenticated way to fetch public feature flags?
instructions:
- text: Get the public config flags for the login page.
- text: Fetch only public-namespace flags without auth.
method: generated
generated: '2026-09-26'
- target: $.paths['/s/{short_url_key}'].get
update:
x-apievangelist-phrasing:
intent: Resolve a short URL
effect: read
questions:
- Where does a Relevance AI short link point to?
- Can I follow a short URL key to its original address?
instructions:
- text: Resolve short URL {short_url_key}.
slots:
short_url_key: path.short_url_key
- text: Follow the short link {short_url_key} to its original URL.
slots:
short_url_key: path.short_url_key
method: generated
generated: '2026-09-26'
- target: $.paths['/datasets/{dataset_id}/get_file_upload_urls'].post
update:
x-apievangelist-phrasing:
intent: Get upload URLs for files in a dataset
effect: write
questions:
- How do I upload files into a dataset?
- Are files uploaded to a dataset deleted when the dataset is deleted?
instructions:
- text: Get upload URLs for files {files} in dataset {dataset_id}.
slots:
files: requestBody.files
dataset_id: path.dataset_id
- text: Create upload links in dataset {dataset_id} for {files}, keeping the file path in the URL.
slots:
dataset_id: path.dataset_id
files: requestBody.files
method: generated
generated: '2026-09-26'
- target: $.paths['/services/get_temporary_public_file_upload_url'].post
update:
x-apievangelist-phrasing:
intent: Get a public one-hour file upload URL
effect: write
questions:
- Can someone without an account upload a file temporarily?
- How long does a public temporary upload last?
instructions:
- text: Give anyone, even without an account, a public upload URL for a {extension} file.
slots:
extension: requestBody.extension
- text: Create an unauthenticated one-hour upload link.
method: generated
generated: '2026-09-26'
- target: $.paths['/services/get_temporary_file_upload_url'].post
update:
x-apievangelist-phrasing:
intent: Get a temporary file upload URL
effect: write
questions:
- Where do I get a temporary upload URL for a file as a signed-in user?
- Can I set the file name when requesting a temporary upload link?
instructions:
- text: Get a temporary upload URL for file {filename}.
slots:
filename: requestBody.filename
- text: As a signed-in user, get a temporary upload URL for {filename} with extension {extension}.
slots:
extension: requestBody.extension
filename: requestBody.filename
method: generated
generated: '2026-09-26'
- target: $.paths['/bugs/submit'].post
update:
x-apievangelist-phrasing:
intent: Submit a bug report
effect: write
questions:
- How do I report a bug I found in the app?
- What details are required when submitting a bug report?
instructions:
- text: 'Submit a {category} bug report for project {project} in region {region}: {message}.'
slots:
category: requestBody.category
project: requestBody.project
region: requestBody.region
message: requestBody.message
- text: File a bug from source {source} saying {message} for project {project}, category {category}, region {region}.
slots:
source: requestBody.source
message: requestBody.message
project: requestBody.project
category: requestBody.category
region: requestBody.region
method: generated
generated: '2026-09-26'