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