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