# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Svix Stream Authentication API version: 1.0.0 extends: openapi/svix-stream-authentication-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/auth/stream-portal-access/{stream_id}'].post update: x-apievangelist-phrasing: intent: Get a magic link to the Stream Consumer Portal effect: write questions: - How do I give a customer a login link to their stream consumer portal? - Can I control how long a stream portal link stays valid? instructions: - text: Generate a stream portal magic link for stream {stream_id}. slots: stream_id: path.stream_id - text: Create a stream consumer portal login for {stream_id} that expires in {expiry} seconds. slots: stream_id: path.stream_id expiry: requestBody.expiry method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/stream-logout'].post update: x-apievangelist-phrasing: intent: Log out a stream token effect: destructive questions: - How do I log out a stream portal token when a user signs out? - Can stream logout invalidate tokens that aren't stream tokens? instructions: - text: Log out the stream token I'm using. - text: End this stream portal token's session. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/stream/{stream_id}/expire-all'].post update: x-apievangelist-phrasing: intent: Expire every token for a stream effect: destructive questions: - How do I revoke all portal tokens issued for a stream? - Can I expire only specific stream portal sessions? instructions: - text: Expire all tokens for stream {stream_id}. slots: stream_id: path.stream_id - text: Expire stream {stream_id} portal sessions {sessionIds}. slots: stream_id: path.stream_id sessionIds: requestBody.sessionIds method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token/rotate'].post update: x-apievangelist-phrasing: intent: Rotate a stream sink's poller token effect: write questions: - How do I rotate the token for polling events from a stream sink? - Can the previous stream poller token keep working briefly after rotation? instructions: - text: Rotate the poller token for sink {sink_id} on stream {stream_id}. slots: sink_id: path.sink_id stream_id: path.stream_id - text: Rotate stream {stream_id} sink {sink_id}'s poller token, keeping the old one for {oldTokenExpiry} seconds. slots: stream_id: path.stream_id sink_id: path.sink_id oldTokenExpiry: requestBody.oldTokenExpiry method: generated generated: '2026-09-26' - target: $.paths['/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token'].get update: x-apievangelist-phrasing: intent: Get a stream sink's current poller token effect: read questions: - Where do I find the current token for polling a stream sink? - Which poller token is active for my stream sink right now? instructions: - text: Get the current poller token for sink {sink_id} on stream {stream_id}. slots: sink_id: path.sink_id stream_id: path.stream_id - text: Show stream {stream_id} sink {sink_id}'s poller token without rotating it. slots: stream_id: path.stream_id sink_id: path.sink_id method: generated generated: '2026-09-26'