Act! CRM · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for act.web.api Notes API

17 actions 17 updates phrasing extends openapi/act-notes-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Act! CRM's API. It is a proposal applied on top of the contract, not a document Act! CRM publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 17 · first 16 shown; the file carries all of them

$.info
$.paths['/api/notes/{id}'].get
$.paths['/api/notes/{id}'].put
$.paths['/api/notes/{id}'].delete
$.paths['/api/notes/{id}'].patch
$.paths['/api/contacts/{contactId}/notes/{id}'].delete
$.paths['/api/notes/{id}/contacts/{contactId}'].put
$.paths['/api/notes/{id}/contacts/{contactId}'].post
$.paths['/api/notes/{id}/contacts/{contactId}'].delete
$.paths['/api/notes'].get
$.paths['/api/notes'].post
$.paths['/api/companies/{id}/notes'].get
$.paths['/api/contacts/{id}/notes'].get
$.paths['/api/group/{id}/notes'].get
$.paths['/api/groups/{id}/notes'].get
$.paths['/api/opportunity/{id}/notes'].get

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 act.web.api Notes API
  version: 1.0.0
extends: openapi/act-notes-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: 16
- target: $.paths['/api/notes/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a note
      effect: read
      questions:
      - How do I open a single note by its id?
      - Can I get a note's text back as plain text instead of rich text?
      instructions:
      - text: Fetch note {id}.
        slots:
          id: path.id
      - text: Show note {id} with its text in {format} format.
        slots:
          id: path.id
          format: query.format
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/notes/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a note
      effect: write
      questions:
      - How do I overwrite a whole note, including its links to contacts and companies?
      - Can I resend a full note to change its text and associations?
      instructions:
      - text: Replace note {id} with the text {noteText}.
        slots:
          id: path.id
          noteText: requestBody.noteText
      - text: Fully update note {id} so it is linked to contacts {contacts}.
        slots:
          id: path.id
          contacts: requestBody.contacts
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/notes/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a note
      effect: destructive
      questions:
      - How do I permanently delete a note everywhere it appears?
      - Can a deleted note be recovered?
      instructions:
      - text: Delete note {id}.
        slots:
          id: path.id
      - text: Remove note {id} from the database entirely.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/notes/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit part of a note
      effect: write
      questions:
      - Can I change a note's text without touching its note type?
      - What happens if I pass an invalid note type when editing a note?
      instructions:
      - text: Change the text of note {id} to {noteText}.
        slots:
          id: path.id
          noteText: requestBody.noteText
      - text: Set note {id} to note type {noteTypeID}.
        slots:
          id: path.id
          noteTypeID: requestBody.noteTypeID
      - text: 'Mark note {id} as private: {isPrivate}.'
        slots:
          id: path.id
          isPrivate: requestBody.isPrivate
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/contacts/{contactId}/notes/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a contact's note
      effect: destructive
      questions:
      - How do I delete a note through a specific contact's notes?
      - Can I remove a note that belongs to one contact?
      instructions:
      - text: Delete note {id} from contact {contactId}'s notes.
        slots:
          id: path.id
          contactId: path.contactId
      - text: Remove contact {contactId}'s note {id}.
        slots:
          contactId: path.contactId
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/notes/{id}/contacts/{contactId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Attach a contact to a note
      effect: write
      questions:
      - How do I link an extra contact to an existing note?
      - Will adding a contact to a note duplicate it if it is already linked?
      instructions:
      - text: Attach contact {contactId} to note {id}.
        slots:
          contactId: path.contactId
          id: path.id
      - text: Add contact {contactId} to the people on note {id}.
        slots:
          contactId: path.contactId
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/notes/{id}/contacts/{contactId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Detach a contact from a note (deprecated POST)
      effect: destructive
      questions:
      - Is there still a legacy POST route that detaches a contact from a note?
      - What replaced the deprecated POST endpoint for unlinking a note's contact?
      instructions:
      - text: Use the deprecated POST route to detach contact {contactId} from note {id}.
        slots:
          contactId: path.contactId
          id: path.id
      - text: Unlink contact {contactId} from note {id} via the old POST endpoint.
        slots:
          contactId: path.contactId
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/notes/{id}/contacts/{contactId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Detach a contact from a note
      effect: destructive
      questions:
      - How do I unlink a contact from a note without deleting the note?
      - Can I take one person off a shared note?
      instructions:
      - text: Detach contact {contactId} from note {id}.
        slots:
          contactId: path.contactId
          id: path.id
      - text: Take contact {contactId} off note {id} but keep the note.
        slots:
          contactId: path.contactId
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/notes'].get
  update:
    x-apievangelist-phrasing:
      intent: List or search all notes
      effect: read
      questions:
      - What notes exist across the whole database?
      - Can I search every note with an OData filter?
      instructions:
      - text: List all notes in the database.
      - text: Search every note and return the text as {format}.
        slots:
          format: query.format
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/notes'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a note
      effect: write
      questions:
      - How do I write a new note and attach it to a contact or company?
      - What note type does a new note get if I don't choose one?
      instructions:
      - text: Create a note saying {noteText} on contacts {contacts}.
        slots:
          noteText: requestBody.noteText
          contacts: requestBody.contacts
      - text: Add a note {noteText} to opportunities {opportunities}.
        slots:
          noteText: requestBody.noteText
          opportunities: requestBody.opportunities
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/companies/{id}/notes'].get
  update:
    x-apievangelist-phrasing:
      intent: List a company's notes
      effect: read
      questions:
      - What notes have been logged against a company?
      - Can I limit a company's notes to only those directly on the company?
      instructions:
      - text: Show the notes for company {id}.
        slots:
          id: path.id
      - text: List notes for company {id} filtered by association {showFor}.
        slots:
          id: path.id
          showFor: query.showFor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/contacts/{id}/notes'].get
  update:
    x-apievangelist-phrasing:
      intent: List a contact's notes
      effect: read
      questions:
      - What notes are on a particular contact?
      - Which notes have I written about this person?
      instructions:
      - text: Show the notes for contact {id}.
        slots:
          id: path.id
      - text: List contact {id}'s notes as {format}.
        slots:
          id: path.id
          format: query.format
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/group/{id}/notes'].get
  update:
    x-apievangelist-phrasing:
      intent: List a group's notes (deprecated route)
      effect: read
      questions:
      - Does the old singular group notes route still work?
      - What is the deprecated /group path for reading a group's notes?
      instructions:
      - text: Use the deprecated singular group route to list notes for group {id}.
        slots:
          id: path.id
      - text: Fetch group {id}'s notes through the legacy endpoint.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/groups/{id}/notes'].get
  update:
    x-apievangelist-phrasing:
      intent: List a group's notes
      effect: read
      questions:
      - What notes are attached to a group?
      - Can I narrow a group's notes to one kind of association?
      instructions:
      - text: Show the notes for group {id}.
        slots:
          id: path.id
      - text: List notes for group {id} filtered by association {showFor}.
        slots:
          id: path.id
          showFor: query.showFor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/opportunity/{id}/notes'].get
  update:
    x-apievangelist-phrasing:
      intent: List a deal's notes (deprecated route)
      effect: read
      questions:
      - Is the singular /opportunity notes route still supported?
      - What is the legacy path for reading a deal's notes?
      instructions:
      - text: Use the deprecated singular opportunity route to list notes for deal {id}.
        slots:
          id: path.id
      - text: Fetch opportunity {id}'s notes through the legacy endpoint.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/opportunities/{id}/notes'].get
  update:
    x-apievangelist-phrasing:
      intent: List an opportunity's notes
      effect: read
      questions:
      - What notes have been recorded on a deal?
      - Which notes are attached to this opportunity?
      instructions:
      - text: Show the notes for opportunity {id}.
        slots:
          id: path.id
      - text: List deal {id}'s notes as {format}.
        slots:
          id: path.id
          format: query.format
      method: generated
      generated: '2026-10-01'