Ortto · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Ortto People API
5 actions
5 updates
phrasing
extends
openapi/ortto-people-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Ortto's API. It is a proposal applied on top of the contract, not a document Ortto publishes.
What the actions change
x-apievangelist-phrasing
Targets 5
$.info
$.paths['/person/merge'].post
$.paths['/person/get'].post
$.paths['/person/get-by-ids'].post
$.paths['/person/delete'].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 Ortto People API
version: 1.0.0
extends: openapi/ortto-people-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 4
- target: $.paths['/person/merge'].post
update:
x-apievangelist-phrasing:
intent: Create or update contacts
effect: write
questions:
- How do I sync contacts from my app into Ortto without creating duplicates?
- Can I only update people who already exist and skip new ones?
- What's the maximum number of people I can upsert in one call?
- Can large contact imports be queued to process in the background?
instructions:
- text: Create or update these contacts {people}, matching existing records by {merge_by}.
slots:
people: requestBody.people
merge_by: requestBody.merge_by
- text: Update only existing contacts from {people} matched on {merge_by}, skipping anyone new ({skip_non_existing}).
slots:
people: requestBody.people
merge_by: requestBody.merge_by
skip_non_existing: requestBody.skip_non_existing
- text: Queue an async upsert of {people} by {merge_by} with merge strategy {merge_strategy}.
slots:
people: requestBody.people
merge_by: requestBody.merge_by
merge_strategy: requestBody.merge_strategy
method: generated
generated: '2026-10-01'
- target: $.paths['/person/get'].post
update:
x-apievangelist-phrasing:
intent: Search contacts with a filter
effect: read
questions:
- How can I find all contacts matching a condition, like a certain city or tag?
- Can I page through my contact list and sort it by a field?
- Which contact fields can I choose to return when searching people?
instructions:
- text: Find contacts matching filter {filter} and return fields {fields}.
slots:
filter: requestBody.filter
fields: requestBody.fields
- text: List {limit} contacts starting at offset {offset}, sorted by {sort_by_field_id} {sort_order}.
slots:
limit: requestBody.limit
offset: requestBody.offset
sort_by_field_id: requestBody.sort_by_field_id
sort_order: requestBody.sort_order
method: generated
generated: '2026-10-01'
- target: $.paths['/person/get-by-ids'].post
update:
x-apievangelist-phrasing:
intent: Look up contacts by their contact IDs
effect: read
questions:
- I already have Ortto contact IDs; how do I fetch those exact people?
- Can I retrieve several known contact records at once and pick which fields come back?
instructions:
- text: Fetch the contacts with IDs {contact_ids}.
slots:
contact_ids: requestBody.contact_ids
- text: Get fields {fields} for contact IDs {contact_ids}.
slots:
fields: requestBody.fields
contact_ids: requestBody.contact_ids
method: generated
generated: '2026-10-01'
- target: $.paths['/person/delete'].post
update:
x-apievangelist-phrasing:
intent: Delete contacts
effect: destructive
questions:
- How do I permanently remove contacts from my Ortto account?
- Can I delete several people in a single request?
instructions:
- text: 'Delete these contacts: {people}.'
slots:
people: requestBody.people
- text: Permanently remove person records {people} from the customer database.
slots:
people: requestBody.people
method: generated
generated: '2026-10-01'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/ortto-people-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.