Merge · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Agent Handler Subpackage Access Keys API

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

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/api/v1/access-keys/'].get
$.paths['/api/v1/access-keys/'].post
$.paths['/api/v1/access-keys/{key_id}/'].get
$.paths['/api/v1/access-keys/{key_id}/regenerate/'].post
$.paths['/api/v1/access-keys/{key_id}/revoke/'].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 Agent Handler Subpackage Access Keys API
  version: 1.0.0
extends: openapi/merge-subpackage-accesskeys-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['/api/v1/access-keys/'].get
  update:
    x-apievangelist-phrasing:
      intent: List active access keys
      effect: read
      questions:
      - Which Agent Handler access keys are currently active for my organization?
      - Can I page through all the access keys we've issued?
      instructions:
      - text: List my organization's active access keys.
      - text: Show access keys, {page_size} per page.
        slots:
          page_size: query.page_size
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/access-keys/'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a scoped access key
      effect: write
      questions:
      - Can I create an access key limited to certain tool packs and registered users?
      - Is it possible to make a test key that expires automatically?
      instructions:
      - text: Create access key {name} scoped to tool packs {tool_pack_ids}.
        slots:
          name: requestBody.name
          tool_pack_ids: requestBody.tool_pack_ids
      - text: Create an access key for registered users {registered_user_ids} expiring at {expires_at}.
        slots:
          registered_user_ids: requestBody.registered_user_ids
          expires_at: requestBody.expires_at
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/access-keys/{key_id}/'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an access key
      effect: read
      questions:
      - What scopes and expiration does a specific access key have?
      - Can I look up one access key by its ID?
      instructions:
      - text: Get access key {key_id}.
        slots:
          key_id: path.key_id
      - text: Show the scope and expiry of key {key_id}.
        slots:
          key_id: path.key_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/access-keys/{key_id}/regenerate/'].post
  update:
    x-apievangelist-phrasing:
      intent: Rotate an access key's secret
      effect: destructive
      questions:
      - Can I rotate an access key's secret without changing its scopes or expiration?
      - What stays the same when I regenerate an access key?
      instructions:
      - text: Rotate the secret of access key {key_id}.
        slots:
          key_id: path.key_id
      - text: Regenerate key {key_id} keeping its scope.
        slots:
          key_id: path.key_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/access-keys/{key_id}/revoke/'].post
  update:
    x-apievangelist-phrasing:
      intent: Revoke an access key
      effect: destructive
      questions:
      - Can a revoked access key ever be restored?
      - How do I permanently disable a leaked access key?
      instructions:
      - text: Revoke access key {key_id}.
        slots:
          key_id: path.key_id
      - text: Permanently disable key {key_id}.
        slots:
          key_id: path.key_id
      method: generated
      generated: '2026-09-26'