Clerk · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Clerk Backend Machines API

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

What the actions change

x-apievangelist-phrasing

Targets 10

$.info
$.paths['/machines'].get
$.paths['/machines'].post
$.paths['/machines/{machine_id}'].get
$.paths['/machines/{machine_id}'].delete
$.paths['/machines/{machine_id}'].patch
$.paths['/machines/{machine_id}/secret_key'].get
$.paths['/machines/{machine_id}/secret_key/rotate'].post
$.paths['/machines/{machine_id}/scopes'].post
$.paths['/machines/{machine_id}/scopes/{other_machine_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 Clerk Backend Machines API
  version: 1.0.0
extends: openapi/clerk-com-machines-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: 9
- target: $.paths['/machines'].get
  update:
    x-apievangelist-phrasing:
      intent: List machines in an instance
      effect: read
      questions:
      - Which machines have been set up for machine-to-machine auth in my instance?
      - Can I search machines by name and sort the results?
      instructions:
      - text: List all machines in my instance.
      - text: Search machines matching {query}.
        slots:
          query: query.query
      method: generated
      generated: '2026-09-26'
- target: $.paths['/machines'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a machine identity
      effect: write
      questions:
      - How do I register a new service as a machine for M2M tokens?
      - Can I set a default token lifetime when creating a machine?
      instructions:
      - text: Create a machine named {name}.
        slots:
          name: requestBody.name
      - text: Create machine {name} with default token TTL {default_token_ttl}.
        slots:
          name: requestBody.name
          default_token_ttl: requestBody.default_token_ttl
      method: generated
      generated: '2026-09-26'
- target: $.paths['/machines/{machine_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Retrieve a machine
      effect: read
      questions:
      - How do I see the details of one machine?
      - What is the configured default token TTL on a given machine?
      instructions:
      - text: Show machine {machine_id}.
        slots:
          machine_id: path.machine_id
      - text: Get the details of machine {machine_id}.
        slots:
          machine_id: path.machine_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/machines/{machine_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a machine
      effect: destructive
      questions:
      - How do I remove a machine that is no longer used?
      - Can I delete a machine identity for a decommissioned service?
      instructions:
      - text: Delete machine {machine_id}.
        slots:
          machine_id: path.machine_id
      - text: Remove decommissioned machine {machine_id}.
        slots:
          machine_id: path.machine_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/machines/{machine_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Rename or reconfigure a machine
      effect: write
      questions:
      - How do I rename an existing machine?
      - Can I change a machine's default token lifetime after creating it?
      instructions:
      - text: Rename machine {machine_id} to {name}.
        slots:
          machine_id: path.machine_id
          name: requestBody.name
      - text: Set the default token TTL of machine {machine_id} to {default_token_ttl}.
        slots:
          machine_id: path.machine_id
          default_token_ttl: requestBody.default_token_ttl
      method: generated
      generated: '2026-09-26'
- target: $.paths['/machines/{machine_id}/secret_key'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a machine's secret key
      effect: read
      questions:
      - Where do I find the secret key for a machine so my service can authenticate?
      - How do I read back the current secret of a machine?
      instructions:
      - text: Get the secret key for machine {machine_id}.
        slots:
          machine_id: path.machine_id
      - text: Show the current secret of machine {machine_id}.
        slots:
          machine_id: path.machine_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/machines/{machine_id}/secret_key/rotate'].post
  update:
    x-apievangelist-phrasing:
      intent: Rotate a machine's secret key
      effect: write
      questions:
      - How do I rotate a machine secret without breaking services immediately?
      - How long does the previous machine secret keep working after rotation?
      instructions:
      - text: Rotate the secret key of machine {machine_id}, keeping the old one valid for {previous_token_ttl} seconds.
        slots:
          machine_id: path.machine_id
          previous_token_ttl: requestBody.previous_token_ttl
      - text: Issue a fresh secret for machine {machine_id} with a {previous_token_ttl}-second grace period for the old one.
        slots:
          machine_id: path.machine_id
          previous_token_ttl: requestBody.previous_token_ttl
      method: generated
      generated: '2026-09-26'
- target: $.paths['/machines/{machine_id}/scopes'].post
  update:
    x-apievangelist-phrasing:
      intent: Allow one machine to access another
      effect: write
      questions:
      - How do I let one machine call another machine?
      - Is there a limit on how many scopes a machine can have?
      instructions:
      - text: Allow machine {machine_id} to access machine {to_machine_id}.
        slots:
          machine_id: path.machine_id
          to_machine_id: requestBody.to_machine_id
      - text: Grant machine {machine_id} a scope to call {to_machine_id}.
        slots:
          machine_id: path.machine_id
          to_machine_id: requestBody.to_machine_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/machines/{machine_id}/scopes/{other_machine_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove one machine's access to another
      effect: destructive
      questions:
      - How do I stop a machine from calling another machine?
      - Can I revoke a machine-to-machine scope between two services?
      instructions:
      - text: Remove machine {machine_id}'s access to machine {other_machine_id}.
        slots:
          machine_id: path.machine_id
          other_machine_id: path.other_machine_id
      - text: Delete the scope letting {machine_id} call {other_machine_id}.
        slots:
          machine_id: path.machine_id
          other_machine_id: path.other_machine_id
      method: generated
      generated: '2026-09-26'