---
id: config-passwordless-login-issue-authenticator-sse
title: "Stream Authenticator issuance status (SSE)"
description: "Establishes a Server-Sent Events (SSE) connection to monitor the iGrant.io Authenticator credential issuance. The connection stays alive with `: keep-alive` comments and closes automatically on success or timeout."
sidebar_label: "Stream Authenticator issuance status (SSE)"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "get api-method"
info_path: docs/openid4vc-api/igrant-io-api-documentation
custom_edit_url: null
---

> **Build this with an AI coding agent.** Install the iGrant.io Agent Skills, then ask your agent to build the integration:
>
> ```bash
> npx skills add L3-iGrant/skills
> ```


import ApiTabs from "@theme/ApiTabs";
import DiscriminatorTabs from "@theme/DiscriminatorTabs";
import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes";
import MimeTabs from "@theme/MimeTabs";
import ParamsItem from "@theme/ParamsItem";
import ResponseSamples from "@theme/ResponseSamples";
import SchemaItem from "@theme/SchemaItem";
import SchemaTabs from "@theme/SchemaTabs";
import Markdown from "@theme/Markdown";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";

<h1 className={"openapi__heading"}>Stream Authenticator issuance status (SSE)</h1>

<MethodEndpoint method={"get"} path={"/v3/config/admin/authentication/oidc/user/authenticator/sse"}></MethodEndpoint>



Establishes a Server-Sent Events (SSE) connection to monitor the iGrant.io Authenticator credential issuance. The connection stays alive with `: keep-alive` comments and closes automatically on success or timeout.

## Request

<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Query Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"description":"One-time ticket for a client that cannot send the `Authorization` header, for example the browser `EventSource` API. Get the ticket with `POST /v2/config/sse-ticket`, sent with the `Authorization` header and the body `{\"path\": \"/v3/config/admin/authentication/oidc/user/authenticator/sse\"}`. The ticket is valid for 30 seconds and for one request to this path. An unknown, used or expired ticket gives 401. A request with the `Authorization` header needs no ticket.","in":"query","name":"ticket","required":false,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

SSE connection established.

</div><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"text/event-stream"} value={"text/event-stream"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem","marginLeft":"1rem"}}>

string

</div></ul></details></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"400"} value={"400"}><div>

Bad request

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"401"} value={"401"}><div>

Unauthorized

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

Internal server error

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      