Zendesk · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Zendesk Tickets API

36 actions 36 updates phrasing extends openapi/zendesk-tickets-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Zendesk's API. It is a proposal applied on top of the contract, not a document Zendesk publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

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

$.info
$.paths['/api/v2/problems/autocomplete'].post
$.paths['/api/v2/deleted_tickets'].get
$.paths['/api/v2/deleted_tickets/{ticket_id}'].delete
$.paths['/api/v2/deleted_tickets/{ticket_id}/restore'].put
$.paths['/api/v2/deleted_tickets/destroy_many'].delete
$.paths['/api/v2/deleted_tickets/restore_many'].put
$.paths['/api/v2/problems'].get
$.paths['/api/v2/tickets/{ticket_id}/tags'].get
$.paths['/api/v2/tickets/{ticket_id}/tags'].put
$.paths['/api/v2/tickets/{ticket_id}/tags'].post
$.paths['/api/v2/tickets/{ticket_id}/tags'].delete
$.paths['/api/v2/tickets'].get
$.paths['/api/v2/tickets'].post
$.paths['/api/v2/tickets/{ticket_id}'].get
$.paths['/api/v2/tickets/{ticket_id}'].put

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 Zendesk Tickets API
  version: 1.0.0
extends: openapi/zendesk-tickets-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: 35
- target: $.paths['/api/v2/problems/autocomplete'].post
  update:
    x-apievangelist-phrasing:
      intent: Find problem tickets by subject text
      effect: read
      questions:
      - Which problem tickets have a subject containing a word I type?
      - Can I look up problem-type tickets by partial subject to link an incident to one?
      instructions:
      - text: Autocomplete problem tickets whose subject contains {text}.
        slots:
          text: query.text
      - text: Suggest problem tickets matching {text}, sending the text in the request body.
        slots:
          text: requestBody.text
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/deleted_tickets'].get
  update:
    x-apievangelist-phrasing:
      intent: List soft-deleted tickets
      effect: read
      questions:
      - Where can I see tickets that were deleted but not yet purged?
      - Is there a way to review recently deleted tickets before they are scrubbed for good?
      instructions:
      - text: Show me the tickets sitting in the deleted tickets view.
      - text: List soft-deleted tickets that can still be restored.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/deleted_tickets/{ticket_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Permanently delete a soft-deleted ticket
      effect: destructive
      questions:
      - Can I erase a ticket that is already in the deleted view for GDPR reasons?
      - What happens when I purge a previously deleted ticket for good?
      instructions:
      - text: Permanently purge the soft-deleted ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      - text: Scrub already-deleted ticket {ticket_id} so it can never be recovered.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/deleted_tickets/{ticket_id}/restore'].put
  update:
    x-apievangelist-phrasing:
      intent: Restore a deleted ticket
      effect: write
      questions:
      - Can I bring back a ticket someone deleted by mistake?
      - Is it possible to undelete a single ticket from the deleted tickets view?
      instructions:
      - text: Restore deleted ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      - text: Undelete ticket {ticket_id} and put it back in the queue.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/deleted_tickets/destroy_many'].delete
  update:
    x-apievangelist-phrasing:
      intent: Permanently delete many soft-deleted tickets
      effect: destructive
      questions:
      - Can I purge up to 100 already-deleted tickets in one request?
      - What is the batch way to scrub a set of deleted tickets for good?
      instructions:
      - text: Permanently purge this batch of soft-deleted tickets.
      - text: Scrub every deleted ticket in this list of ids so none can be restored.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/deleted_tickets/restore_many'].put
  update:
    x-apievangelist-phrasing:
      intent: Restore many deleted tickets at once
      effect: write
      questions:
      - Can I undelete a whole batch of tickets in a single call?
      - Is there a bulk restore for tickets deleted by accident?
      instructions:
      - text: Restore all of these deleted tickets together.
      - text: Bring back this batch of soft-deleted tickets in one go.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/problems'].get
  update:
    x-apievangelist-phrasing:
      intent: List problem tickets
      effect: read
      questions:
      - Which tickets are marked as problems in my help desk?
      - Can I see all problem tickets ordered by most recently updated?
      instructions:
      - text: List every problem ticket, newest updates first.
      - text: Show me the open problem tickets that incidents can be linked to.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}/tags'].get
  update:
    x-apievangelist-phrasing:
      intent: List a ticket's tags
      effect: read
      questions:
      - What tags are currently on a particular ticket?
      - Can I read just the tags of a ticket without fetching the whole record?
      instructions:
      - text: Show the tags on ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      - text: List which tags ticket {ticket_id} carries.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}/tags'].put
  update:
    x-apievangelist-phrasing:
      intent: Add tags to a ticket
      effect: write
      questions:
      - Can I append tags to a ticket while keeping the ones it already has?
      - Does adding a tag to a ticket support safe updates to avoid collisions?
      instructions:
      - text: Add these tags to ticket {ticket_id} without removing existing ones.
        slots:
          ticket_id: path.ticket_id
      - text: Append a vip tag to ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}/tags'].post
  update:
    x-apievangelist-phrasing:
      intent: Replace all tags on a ticket
      effect: write
      questions:
      - Can I overwrite a ticket's tag list with a completely new set?
      - What call sets a ticket's tags to exactly the list I provide?
      instructions:
      - text: Replace every tag on ticket {ticket_id} with this new set.
        slots:
          ticket_id: path.ticket_id
      - text: Set the tags of ticket {ticket_id} to exactly billing and urgent.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}/tags'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove tags from a ticket
      effect: destructive
      questions:
      - Can I strip specific tags off a ticket?
      - Is removing tags from a ticket protected against concurrent edits?
      instructions:
      - text: Remove the spam tag from ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      - text: Take these tags off ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets'].get
  update:
    x-apievangelist-phrasing:
      intent: List tickets via the v2 endpoint
      effect: read
      questions:
      - Can I find a ticket by the external id my own system assigned it?
      - Which call lists all tickets in my account through the v2 API?
      instructions:
      - text: Find the ticket with external id {external_id} using the v2 tickets list.
        slots:
          external_id: query.external_id
      - text: List all tickets in the account from the v2 endpoint.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a ticket via the v2 endpoint
      effect: write
      questions:
      - What is the v2 API call to open a single new support ticket?
      - Can I open a ticket on behalf of a customer through the v2 tickets endpoint?
      instructions:
      - text: Open a new support ticket through the v2 tickets endpoint.
      - text: File a v2 ticket for the customer's login problem.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a ticket's properties (v2)
      effect: read
      questions:
      - Does fetching a ticket in v2 include its comments or just its properties?
      - Where do I read the status, priority and assignee of one ticket in the v2 API?
      instructions:
      - text: Get the properties of ticket {ticket_id} from the v2 API.
        slots:
          ticket_id: path.ticket_id
      - text: Look up status and assignee for v2 ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a ticket via the v2 endpoint
      effect: write
      questions:
      - Which v2 call changes fields on an existing ticket?
      - Can I reassign a ticket through the v2 update endpoint?
      instructions:
      - text: Update v2 ticket {ticket_id} with the new assignee.
        slots:
          ticket_id: path.ticket_id
      - text: Edit the fields of ticket {ticket_id} through the v2 update call.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Soft-delete a ticket (v2)
      effect: destructive
      questions:
      - Who is allowed to delete a ticket through the v2 API?
      - If I delete a ticket in v2, does it go to the deleted tickets view first?
      instructions:
      - text: Delete ticket {ticket_id} into the deleted tickets view.
        slots:
          ticket_id: path.ticket_id
      - text: Soft-delete v2 ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}/collaborators'].get
  update:
    x-apievangelist-phrasing:
      intent: List a ticket's collaborators
      effect: read
      questions:
      - Who has been added as a collaborator on a ticket?
      - Can I see every collaborator attached to one ticket?
      instructions:
      - text: List the collaborators on ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      - text: Show who is collaborating on ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}/email_ccs'].get
  update:
    x-apievangelist-phrasing:
      intent: List users CC'd on a ticket
      effect: read
      questions:
      - Which people are copied on the emails for a ticket?
      - Does listing email CCs require the CCs and Followers feature?
      instructions:
      - text: List the users cc'd on ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      - text: Show the email CCs for ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}/followers'].get
  update:
    x-apievangelist-phrasing:
      intent: List a ticket's followers
      effect: read
      questions:
      - Which agents are following a ticket for updates?
      - Can I see who follows a ticket without being cc'd on it?
      instructions:
      - text: List the followers of ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      - text: Show which users follow ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}/incidents'].get
  update:
    x-apievangelist-phrasing:
      intent: List incidents linked to a problem ticket
      effect: read
      questions:
      - What incident tickets are attached to a given problem?
      - Can I page through all incidents linked to one problem ticket?
      instructions:
      - text: List the incidents linked to problem ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      - text: Show every incident filed under problem {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}/mark_as_spam'].put
  update:
    x-apievangelist-phrasing:
      intent: Mark a ticket as spam and suspend its requester
      effect: destructive
      questions:
      - Can I flag one ticket as spam and block the person who sent it?
      - What happens to the requester when a ticket is marked as spam?
      instructions:
      - text: Mark ticket {ticket_id} as spam and suspend the requester.
        slots:
          ticket_id: path.ticket_id
      - text: Flag ticket {ticket_id} as spam.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}/merge'].post
  update:
    x-apievangelist-phrasing:
      intent: Merge tickets into another ticket
      effect: destructive
      questions:
      - Can I combine duplicate tickets into a single ticket?
      - What rules apply when merging several tickets into one target?
      instructions:
      - text: Merge these duplicate tickets into ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      - text: Fold the other open tickets into target ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/{ticket_id}/related'].get
  update:
    x-apievangelist-phrasing:
      intent: Get related information for a ticket
      effect: read
      questions:
      - What related data, like incident counts or linked topics, exists for a ticket?
      - Can I see how many incidents and followups relate to a ticket?
      instructions:
      - text: Get the related information for ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      - text: Show what is related to ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count tickets in the account
      effect: read
      questions:
      - Roughly how many tickets does my account have?
      - How fresh is the ticket count when there are more than 100,000 tickets?
      instructions:
      - text: Count the tickets in my account.
      - text: Give me the approximate total number of tickets.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/create_many'].post
  update:
    x-apievangelist-phrasing:
      intent: Create up to 100 tickets at once
      effect: write
      questions:
      - Can I create a batch of tickets in one request?
      - Will bulk-created tickets trigger business rules and email end users?
      instructions:
      - text: Create these 50 tickets in one batch.
      - text: Bulk create tickets from this list of customer issues.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/destroy_many'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete many tickets at once
      effect: destructive
      questions:
      - Can I delete up to 100 tickets by id in one call?
      - Who has permission to bulk delete tickets?
      instructions:
      - text: Delete all of these tickets by id in one request.
      - text: Bulk delete the test tickets in this id list.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/mark_many_as_spam'].put
  update:
    x-apievangelist-phrasing:
      intent: Mark many tickets as spam
      effect: destructive
      questions:
      - Can I mark a whole batch of tickets as spam in one go?
      - Does marking many tickets as spam run as a background job?
      instructions:
      - text: Mark all of these tickets as spam and suspend their requesters.
      - text: Flag this list of ticket ids as spam in bulk.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/show_many'].get
  update:
    x-apievangelist-phrasing:
      intent: Get several tickets by id
      effect: read
      questions:
      - Can I fetch a handful of specific tickets by id in one request?
      - What is the most tickets I can retrieve with a comma-separated id list?
      instructions:
      - text: Fetch the tickets with these ids.
      - text: Show me tickets 12, 15 and 21 together.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v2/tickets/update_many'].put
  update:
    x-apievangelist-phrasing:
      intent: Update many tickets at once
      effect: write
      questions:
      - Can I change the status of up to 100 tickets in one request?
      - Is there a bulk update that applies the same change to a list of ticket ids?
      instructions:
      - text: Apply the same update to tickets {ids}.
        slots:
          ids: query.ids
      - text: Set tickets {ids} to solved in bulk.
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tickets'].get
  update:
    x-apievangelist-phrasing:
      intent: List tickets with sorting and page size
      effect: read
      questions:
      - Can I sort the ticket list and choose how many come back per page?
      - Are tickets listed oldest-created first by default on the unversioned endpoint?
      instructions:
      - text: List tickets sorted by {sort_by} in {sort_order} order.
        slots:
          sort_by: query.sort_by
          sort_order: query.sort_order
      - text: Show page {page} of tickets with {per_page} per page.
        slots:
          page: query.page
          per_page: query.per_page
      - text: Find tickets whose external id is {external_id}, sideloading users and groups.
        slots:
          external_id: query.external_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tickets'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a ticket with full details
      effect: write
      questions:
      - Can I set requester, priority, tags and custom fields while creating a ticket?
      - Is it possible to add a first comment in the same request that opens a ticket?
      instructions:
      - text: 'Create a ticket with these requester, subject and priority details: {ticket}.'
        slots:
          ticket: requestBody.ticket
      - text: 'Open a high-priority ticket with custom fields and an opening comment: {ticket}.'
        slots:
          ticket: requestBody.ticket
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tickets/{ticket_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Show a ticket's details
      effect: read
      questions:
      - Where can I see all the details of one ticket?
      - Can I retrieve one specific ticket by its number?
      instructions:
      - text: Show me ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      - text: Retrieve the full details of ticket number {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tickets/{ticket_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update, solve or close a ticket
      effect: write
      questions:
      - Can I mark a ticket solved or closed while adding a comment?
      - Which fields can I change on a ticket, like priority, assignee or tags?
      instructions:
      - text: 'Set ticket {ticket_id} to solved with this change: {ticket}.'
        slots:
          ticket_id: path.ticket_id
          ticket: requestBody.ticket
      - text: Change the priority and assignee of ticket {ticket_id} to {ticket}.
        slots:
          ticket_id: path.ticket_id
          ticket: requestBody.ticket
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tickets/{ticket_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Permanently delete a ticket
      effect: destructive
      questions:
      - Is deleting a ticket through the unversioned endpoint reversible?
      - Can I remove a ticket so it is gone for good in one step?
      instructions:
      - text: Delete ticket {ticket_id} permanently, with no recovery.
        slots:
          ticket_id: path.ticket_id
      - text: Irreversibly remove ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tickets/{ticket_id}/comments'].get
  update:
    x-apievangelist-phrasing:
      intent: List the comments on a ticket
      effect: read
      questions:
      - What has been said in the conversation on a ticket?
      - Can I read a ticket's comments newest first?
      instructions:
      - text: List the comments on ticket {ticket_id}.
        slots:
          ticket_id: path.ticket_id
      - text: Show page {page} of comments on ticket {ticket_id} in {sort_order} order.
        slots:
          page: query.page
          ticket_id: path.ticket_id
          sort_order: query.sort_order
      method: generated
      generated: '2026-09-26'