# OidcApi

All URIs are relative to *http://localhost*

|Method | HTTP request | Description|
|------------- | ------------- | -------------|
|[**createOidcDynamicClient**](#createoidcdynamicclient) | **POST** /oauth2/register | Register OAuth2 Client using OpenID Dynamic Client Registration|
|[**createVerifiableCredential**](#createverifiablecredential) | **POST** /credentials | Issues a Verifiable Credential|
|[**deleteOidcDynamicClient**](#deleteoidcdynamicclient) | **DELETE** /oauth2/register/{id} | Delete OAuth 2.0 Client using the OpenID Dynamic Client Registration Management Protocol|
|[**discoverOidcConfiguration**](#discoveroidcconfiguration) | **GET** /.well-known/openid-configuration | OpenID Connect Discovery|
|[**getOidcDynamicClient**](#getoidcdynamicclient) | **GET** /oauth2/register/{id} | Get OAuth2 Client using OpenID Dynamic Client Registration|
|[**getOidcUserInfo**](#getoidcuserinfo) | **GET** /userinfo | OpenID Connect Userinfo|
|[**revokeOidcSession**](#revokeoidcsession) | **GET** /oauth2/sessions/logout | OpenID Connect Front- and Back-channel Enabled Logout|
|[**setOidcDynamicClient**](#setoidcdynamicclient) | **PUT** /oauth2/register/{id} | Set OAuth2 Client using OpenID Dynamic Client Registration|

# **createOidcDynamicClient**
> OAuth2Client createOidcDynamicClient(oAuth2Client)

This endpoint behaves like the administrative counterpart (`createOAuth2Client`) but is capable of facing the public internet directly and can be used in self-service. It implements the OpenID Connect Dynamic Client Registration Protocol. This feature needs to be enabled in the configuration. This endpoint is disabled by default. It can be enabled by an administrator.  Please note that using this endpoint you are not able to choose the `client_secret` nor the `client_id` as those values will be server generated when specifying `token_endpoint_auth_method` as `client_secret_basic` or `client_secret_post`.  The `client_secret` will be returned in the response and you will not be able to retrieve it later on. Write the secret down and keep it somewhere safe.

### Example

```typescript
import {
    OidcApi,
    Configuration,
    OAuth2Client
} from '@ory/hydra-client';

const configuration = new Configuration();
const apiInstance = new OidcApi(configuration);

let oAuth2Client: OAuth2Client; //Dynamic Client Registration Request Body

const { status, data } = await apiInstance.createOidcDynamicClient(
    oAuth2Client
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **oAuth2Client** | **OAuth2Client**| Dynamic Client Registration Request Body | |


### Return type

**OAuth2Client**

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**201** | oAuth2Client |  -  |
|**400** | Bad Request Error Response |  -  |
|**0** | Default Error Response |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **createVerifiableCredential**
> VerifiableCredentialResponse createVerifiableCredential()

This endpoint creates a verifiable credential that attests that the user authenticated with the provided access token owns a certain public/private key pair.  More information can be found at https://openid.net/specs/openid-connect-userinfo-vc-1_0.html.

### Example

```typescript
import {
    OidcApi,
    Configuration,
    CreateVerifiableCredentialRequestBody
} from '@ory/hydra-client';

const configuration = new Configuration();
const apiInstance = new OidcApi(configuration);

let createVerifiableCredentialRequestBody: CreateVerifiableCredentialRequestBody; // (optional)

const { status, data } = await apiInstance.createVerifiableCredential(
    createVerifiableCredentialRequestBody
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **createVerifiableCredentialRequestBody** | **CreateVerifiableCredentialRequestBody**|  | |


### Return type

**VerifiableCredentialResponse**

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | verifiableCredentialResponse |  -  |
|**400** | verifiableCredentialPrimingResponse |  -  |
|**0** | errorOAuth2 |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **deleteOidcDynamicClient**
> deleteOidcDynamicClient()

This endpoint behaves like the administrative counterpart (`deleteOAuth2Client`) but is capable of facing the public internet directly and can be used in self-service. It implements the OpenID Connect Dynamic Client Registration Protocol. This feature needs to be enabled in the configuration. This endpoint is disabled by default. It can be enabled by an administrator.  To use this endpoint, you will need to present the client\'s authentication credentials. If the OAuth2 Client uses the Token Endpoint Authentication Method `client_secret_post`, you need to present the client secret in the URL query. If it uses `client_secret_basic`, present the Client ID and the Client Secret in the Authorization header.  OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.

### Example

```typescript
import {
    OidcApi,
    Configuration
} from '@ory/hydra-client';

const configuration = new Configuration();
const apiInstance = new OidcApi(configuration);

let id: string; //The id of the OAuth 2.0 Client. (default to undefined)

const { status, data } = await apiInstance.deleteOidcDynamicClient(
    id
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **id** | [**string**] | The id of the OAuth 2.0 Client. | defaults to undefined|


### Return type

void (empty response body)

### Authorization

[bearer](../README.md#bearer)

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**204** | Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 204. |  -  |
|**0** | genericError |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **discoverOidcConfiguration**
> OidcConfiguration discoverOidcConfiguration()

A mechanism for an OpenID Connect Relying Party to discover the End-User\'s OpenID Provider and obtain information needed to interact with it, including its OAuth 2.0 endpoint locations.  Popular libraries for OpenID Connect clients include oidc-client-js (JavaScript), go-oidc (Golang), and others. For a full list of clients go here: https://openid.net/developers/certified/

### Example

```typescript
import {
    OidcApi,
    Configuration
} from '@ory/hydra-client';

const configuration = new Configuration();
const apiInstance = new OidcApi(configuration);

const { status, data } = await apiInstance.discoverOidcConfiguration();
```

### Parameters
This endpoint does not have any parameters.


### Return type

**OidcConfiguration**

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | oidcConfiguration |  -  |
|**0** | errorOAuth2 |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **getOidcDynamicClient**
> OAuth2Client getOidcDynamicClient()

This endpoint behaves like the administrative counterpart (`getOAuth2Client`) but is capable of facing the public internet directly and can be used in self-service. It implements the OpenID Connect Dynamic Client Registration Protocol.  To use this endpoint, you will need to present the client\'s authentication credentials. If the OAuth2 Client uses the Token Endpoint Authentication Method `client_secret_post`, you need to present the client secret in the URL query. If it uses `client_secret_basic`, present the Client ID and the Client Secret in the Authorization header.

### Example

```typescript
import {
    OidcApi,
    Configuration
} from '@ory/hydra-client';

const configuration = new Configuration();
const apiInstance = new OidcApi(configuration);

let id: string; //The id of the OAuth 2.0 Client. (default to undefined)

const { status, data } = await apiInstance.getOidcDynamicClient(
    id
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **id** | [**string**] | The id of the OAuth 2.0 Client. | defaults to undefined|


### Return type

**OAuth2Client**

### Authorization

[bearer](../README.md#bearer)

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | oAuth2Client |  -  |
|**0** | Default Error Response |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **getOidcUserInfo**
> OidcUserInfo getOidcUserInfo()

This endpoint returns the payload of the ID Token, including `session.id_token` values, of the provided OAuth 2.0 Access Token\'s consent request.  In the case of authentication error, a WWW-Authenticate header might be set in the response with more information about the error. See [the spec](https://datatracker.ietf.org/doc/html/rfc6750#section-3) for more details about header format.

### Example

```typescript
import {
    OidcApi,
    Configuration
} from '@ory/hydra-client';

const configuration = new Configuration();
const apiInstance = new OidcApi(configuration);

const { status, data } = await apiInstance.getOidcUserInfo();
```

### Parameters
This endpoint does not have any parameters.


### Return type

**OidcUserInfo**

### Authorization

[oauth2](../README.md#oauth2)

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | oidcUserInfo |  -  |
|**0** | errorOAuth2 |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **revokeOidcSession**
> revokeOidcSession()

This endpoint initiates and completes user logout at the Ory OAuth2 & OpenID provider and initiates OpenID Connect Front- / Back-channel logout:  https://openid.net/specs/openid-connect-frontchannel-1_0.html https://openid.net/specs/openid-connect-backchannel-1_0.html  Back-channel logout is performed asynchronously and does not affect logout flow.

### Example

```typescript
import {
    OidcApi,
    Configuration
} from '@ory/hydra-client';

const configuration = new Configuration();
const apiInstance = new OidcApi(configuration);

const { status, data } = await apiInstance.revokeOidcSession();
```

### Parameters
This endpoint does not have any parameters.


### Return type

void (empty response body)

### Authorization

No authorization required

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: Not defined


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**302** | Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 204. |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **setOidcDynamicClient**
> OAuth2Client setOidcDynamicClient(oAuth2Client)

This endpoint behaves like the administrative counterpart (`setOAuth2Client`) but is capable of facing the public internet directly to be used by third parties. It implements the OpenID Connect Dynamic Client Registration Protocol.  This feature is disabled per default. It can be enabled by a system administrator.  If you pass `client_secret` the secret is used, otherwise the existing secret is used. If set, the secret is echoed in the response. It is not possible to retrieve it later on.  To use this endpoint, you will need to present the client\'s authentication credentials. If the OAuth2 Client uses the Token Endpoint Authentication Method `client_secret_post`, you need to present the client secret in the URL query. If it uses `client_secret_basic`, present the Client ID and the Client Secret in the Authorization header.  OAuth 2.0 clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities.

### Example

```typescript
import {
    OidcApi,
    Configuration,
    OAuth2Client
} from '@ory/hydra-client';

const configuration = new Configuration();
const apiInstance = new OidcApi(configuration);

let id: string; //OAuth 2.0 Client ID (default to undefined)
let oAuth2Client: OAuth2Client; //OAuth 2.0 Client Request Body

const { status, data } = await apiInstance.setOidcDynamicClient(
    id,
    oAuth2Client
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **oAuth2Client** | **OAuth2Client**| OAuth 2.0 Client Request Body | |
| **id** | [**string**] | OAuth 2.0 Client ID | defaults to undefined|


### Return type

**OAuth2Client**

### Authorization

[bearer](../README.md#bearer)

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | oAuth2Client |  -  |
|**404** | Not Found Error Response |  -  |
|**0** | Default Error Response |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

