dotCMS · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for dotCMS REST Dot Auth API
16 actions
16 updates
phrasing
extends
openapi/dotcms-dotauth-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for dotCMS's API. It is a proposal applied on top of the contract, not a document dotCMS publishes.
What the actions change
x-apievangelist-phrasing
Targets 16
$.info
$.paths['/api/v1/dotauth/oauth/exchange'].post
$.paths['/api/v1/dotauth/oauth/exchange'].options
$.paths['/api/v1/dotauth/sites/{hostId}'].get
$.paths['/api/v1/dotauth/sites/{hostId}'].put
$.paths['/api/v1/dotauth/sites/{hostId}'].delete
$.paths['/api/v1/dotauth/headless'].put
$.paths['/api/v1/dotauth/headless'].delete
$.paths['/api/v1/dotauth/discover/oidc'].post
$.paths['/api/v1/dotauth/export'].post
$.paths['/api/v1/dotauth/fetch/saml-metadata'].post
$.paths['/api/v1/dotauth/saml/metadata/{hostId}'].get
$.paths['/api/v1/dotauth/import'].post
$.paths['/api/v1/dotauth/sites'].get
$.paths['/api/v1/dotauth/sessionrefs/revoke'].post
$.paths['/api/v1/dotauth/oauth/session'].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 dotCMS REST Dot Auth API
version: 1.0.0
extends: openapi/dotcms-dotauth-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: 15
- target: $.paths['/api/v1/dotauth/oauth/exchange'].post
update:
x-apievangelist-phrasing:
intent: Exchange an OIDC ID token for a session-ref
effect: write
questions:
- How do I turn an OIDC id_token into a dotCMS session for a headless app?
- Will a user be created automatically if they sign in via token exchange for the first time?
- Can I control how many days the returned session-ref stays valid?
instructions:
- text: Exchange ID token {idToken} with nonce {nonce} for a dotAuth session-ref.
slots:
idToken: requestBody.idToken
nonce: requestBody.nonce
- text: Trade id_token {idToken} (nonce {nonce}) for a session-ref valid for {expirationDays} days.
slots:
idToken: requestBody.idToken
nonce: requestBody.nonce
expirationDays: requestBody.expirationDays
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/oauth/exchange'].options
update:
x-apievangelist-phrasing:
intent: Preflight the token exchange endpoint for CORS
effect: read
questions:
- Does the OIDC token exchange endpoint answer CORS preflight requests?
- Which options does a browser see before calling the dotAuth exchange?
instructions:
- text: Send a CORS preflight OPTIONS request to the token exchange endpoint.
- text: Check the preflight response for the dotAuth OIDC exchange.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/sites/{hostId}'].get
update:
x-apievangelist-phrasing:
intent: Get a site's SSO configuration
effect: read
questions:
- What OAuth or SAML settings are stored for a site?
- Is a site inheriting its single sign-on setup from the system default?
instructions:
- text: Show the dotAuth SSO configuration for site {hostId}.
slots:
hostId: path.hostId
- text: Get the global default SSO config stored under {hostId}, with secrets masked.
slots:
hostId: path.hostId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/sites/{hostId}'].put
update:
x-apievangelist-phrasing:
intent: Save a site's SSO configuration
effect: write
questions:
- How do I configure OAuth or SAML sign-in for a specific site?
- Does saving SAML settings for a site remove its OAuth settings?
instructions:
- text: Save {protocol} SSO settings {values} for site {hostId}.
slots:
protocol: requestBody.protocol
values: requestBody.values
hostId: path.hostId
- text: Upsert the dotAuth configuration values {values} on host {hostId}.
slots:
values: requestBody.values
hostId: path.hostId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/sites/{hostId}'].delete
update:
x-apievangelist-phrasing:
intent: Clear a site's SSO configuration
effect: destructive
questions:
- How do I remove single sign-on settings from a site?
- What happens to a site's SSO after I clear its own configuration?
instructions:
- text: Clear the OAuth and SAML configuration for site {hostId}.
slots:
hostId: path.hostId
- text: Delete dotAuth secrets on host {hostId} so it falls back to the system default.
slots:
hostId: path.hostId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/headless'].put
update:
x-apievangelist-phrasing:
intent: Save the headless token-exchange configuration
effect: write
questions:
- Where do I configure headless token exchange for the whole system?
- Is the headless exchange setting per site or system-wide?
instructions:
- text: Save the system-wide headless token-exchange configuration.
- text: Update the headless dotAuth settings on the system host.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/headless'].delete
update:
x-apievangelist-phrasing:
intent: Clear the headless token-exchange configuration
effect: destructive
questions:
- How do I turn off headless token exchange?
- Will clearing the headless config also wipe my SSO settings?
instructions:
- text: Delete the headless token-exchange configuration.
- text: Remove system-level headless dotAuth settings, leaving SSO untouched.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/discover/oidc'].post
update:
x-apievangelist-phrasing:
intent: Fetch an OIDC discovery document
effect: read
questions:
- Can dotCMS read an identity provider's openid-configuration to fill in issuer and JWKS?
- How do I pull endpoints and algorithms from an OIDC well-known URL?
instructions:
- text: Fetch and parse the OIDC discovery document at this .well-known URL.
- text: Look up the issuer, endpoints and JWKS from my provider's openid-configuration.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/export'].post
update:
x-apievangelist-phrasing:
intent: Export all dotAuth secrets
effect: read
questions:
- How do I back up my OAuth, SAML and headless sign-in secrets?
- Can I export dotAuth settings to move them to another environment?
instructions:
- text: Export all dotAuth AppSecrets to an encrypted file.
- text: Create an encrypted export of the OAuth, SAML and headless secrets.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/fetch/saml-metadata'].post
update:
x-apievangelist-phrasing:
intent: Fetch SAML IdP metadata from a URL
effect: read
questions:
- Can dotCMS download my identity provider's SAML metadata XML for review?
- How do I pull IdP metadata from its URL before saving SAML settings?
instructions:
- text: Fetch the SAML IdP metadata XML from this metadata URL.
- text: Retrieve my identity provider's SAML metadata so I can review it.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/saml/metadata/{hostId}'].get
update:
x-apievangelist-phrasing:
intent: Download a site's SAML SP metadata
effect: read
questions:
- Where do I get the service provider metadata XML to give my SAML IdP?
- What entity ID and ACS URL does a site advertise for SAML?
instructions:
- text: Download the SAML service provider metadata for site {hostId}.
slots:
hostId: path.hostId
- text: Generate SP metadata XML for host {hostId}.
slots:
hostId: path.hostId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/import'].post
update:
x-apievangelist-phrasing:
intent: Import dotAuth secrets
effect: write
questions:
- How do I restore dotAuth sign-in settings from an export file?
- Can I import only OAuth, SAML and headless secrets from an encrypted file?
instructions:
- text: Import dotAuth AppSecrets from this encrypted export file.
- text: Restore OAuth, SAML and headless secrets from my dotAuth export.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/sites'].get
update:
x-apievangelist-phrasing:
intent: List sites with their SSO status
effect: read
questions:
- Which sites have their own SSO configured and which inherit the default?
- Are any of my sites left without sign-on configuration?
instructions:
- text: List every site with its dotAuth SSO status.
- text: Show which sites are configured, inherited or unconfigured for SSO.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/sessionrefs/revoke'].post
update:
x-apievangelist-phrasing:
intent: Revoke all session-refs
effect: destructive
questions:
- How do I invalidate every headless session-ref at once?
- Does flushing session-refs log out existing browser sessions?
instructions:
- text: Revoke all dotAuth session-refs.
- text: Flush the dotAuth session-ref cache.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/dotauth/oauth/session'].delete
update:
x-apievangelist-phrasing:
intent: Sign out a session-ref
effect: destructive
questions:
- How do I end my own headless session-ref on sign-out?
- Is it safe to call sign-out when the session-ref is already gone?
instructions:
- text: Invalidate my current dotAuth session-ref.
- text: Sign me out by removing the session-ref in my bearer header.
method: generated
generated: '2026-09-26'