# Wallet Provider API 가이드

## 도메인 정보

&#x20;아래는 프로바이더 서비스 도메인 정보입니다.

* **테스트넷 API:** <https://dev-api-wprovider.symverse.com/>
* **메인넷 API:** <https://api-wprovider.symverse.com/>

## API 정보

## Access Token 기반 로그인 체크 API

<mark style="color:blue;">`GET`</mark> `/did/user/profile`

인증 시 전달받은 Access Token 기반으로 **유저의 SymID 정보**를 호출합니다

#### Headers

| Name                                            | Type   | Description |
| ----------------------------------------------- | ------ | ----------- |
| Authorization<mark style="color:red;">\*</mark> | String | Bearer 토큰   |

{% tabs %}
{% tab title="200: OK 성공" %}

```javascript
{
    "symId": "string"
}
```

{% endtab %}

{% tab title="401: Unauthorized 인증 실패" %}

{% endtab %}
{% endtabs %}

## Refresh Token 기반 재발급 API

<mark style="color:green;">`POST`</mark> `/did/token/refresh`

Refresh Token과 Dapp Client 정보를 통해 **Access Toke**n과 **Refresh token**을 재발급 받습니다

#### Request Body

| Name                                           | Type   | Description              |
| ---------------------------------------------- | ------ | ------------------------ |
| clientId<mark style="color:red;">\*</mark>     | String | dapp client ID           |
| clientSecret<mark style="color:red;">\*</mark> | String | dapp client Secret의 해시값  |
| refreshToken<mark style="color:red;">\*</mark> | String | 인증 시 전달받은 refreshToken 값 |

{% tabs %}
{% tab title="200: OK 성공" %}

```javascript
{
  "accessToken": "string",
  "accessTokenExpiresIn": "number",
  "grantType": "string",
  "refreshToken": "string",
  "refreshTokenExpiresIn": "number",
  "scope": "string",
  "symId": "string"
}
```

{% endtab %}

{% tab title="503: Service Unavailable 토큰 재발급 실패" %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}
