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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'