Sentry · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Sentry Projects Client Keys API

6 actions 6 updates phrasing extends openapi/sentry-system-client-keys-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Sentry's API. It is a proposal applied on top of the contract, not a document Sentry publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/'].get
$.paths['/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/'].post
$.paths['/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/{key_id}/'].get
$.paths['/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/{key_id}/'].put
$.paths['/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/{key_id}/'].delete

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 Sentry Projects Client Keys API
  version: 1.0.0
extends: openapi/sentry-system-client-keys-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: 5
- target: $.paths['/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/'].get
  update:
    x-apievangelist-phrasing:
      intent: List a project's client keys (DSNs)
      effect: read
      questions:
      - Where do I find the DSN keys for my project?
      - Which client keys are bound to a given project?
      instructions:
      - text: List client keys for project {project} in {org}.
        slots:
          project: path.project_id_or_slug
          org: path.organization_id_or_slug
      - text: Show the DSNs configured on project {project}.
        slots:
          project: path.project_id_or_slug
      method: generated
      generated: '2026-09-26'
- target: $.paths['/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new client key
      effect: write
      questions:
      - How do I generate an additional DSN for a project?
      - Can I give a new client key a descriptive name?
      instructions:
      - text: Create a client key named {name} for project {project} in {org}.
        slots:
          name: requestBody.name
          project: path.project_id_or_slug
          org: path.organization_id_or_slug
      - text: Add a new DSN called {name} to project {project}.
        slots:
          name: requestBody.name
          project: path.project_id_or_slug
      method: generated
      generated: '2026-09-26'
- target: $.paths['/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/{key_id}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a single client key
      effect: read
      questions:
      - What are the details of one specific client key?
      - Can I look up a DSN by its key ID?
      instructions:
      - text: Show client key {key_id} for project {project} in {org}.
        slots:
          key_id: path.key_id
          project: path.project_id_or_slug
          org: path.organization_id_or_slug
      - text: Fetch the DSN details for key {key_id}.
        slots:
          key_id: path.key_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/{key_id}/'].put
  update:
    x-apievangelist-phrasing:
      intent: Rename or disable a client key
      effect: write
      questions:
      - Can I deactivate a DSN without deleting it?
      - How do I rename an existing client key?
      instructions:
      - text: Disable client key {key_id} on project {project} in {org} by setting active to {isActive}.
        slots:
          key_id: path.key_id
          project: path.project_id_or_slug
          org: path.organization_id_or_slug
          isActive: requestBody.isActive
      - text: Rename client key {key_id} to {name}.
        slots:
          key_id: path.key_id
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/projects/{organization_id_or_slug}/{project_id_or_slug}/keys/{key_id}/'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a client key
      effect: destructive
      questions:
      - What happens to events sent with a DSN after I delete its key?
      - How do I permanently remove a client key from a project?
      instructions:
      - text: Delete client key {key_id} from project {project} in {org}.
        slots:
          key_id: path.key_id
          project: path.project_id_or_slug
          org: path.organization_id_or_slug
      - text: Permanently remove DSN key {key_id}.
        slots:
          key_id: path.key_id
      method: generated
      generated: '2026-09-26'