Get Your API Key
애플리케이션이 INNORIX와 통신하려면 먼저 인증해야 합니다. Exacoola는 로그인으로 발급받은 액세스 토큰(JWT) 으로 인증합니다.
- 로그인 (
POST /api/auth/login) — 계정으로 로그인해 액세스 토큰과 리프레시 토큰을 발급받습니다. - 인증 API 키 (
POST /api/auth/generate-key) — 명령 자동화(command automation) 트리거에 사용하는 장기 API 키를 발급합니다.x-api-key헤더로 사용합니다.
인증이 필요한 API 호출에는 다음 두 헤더를 함께 보냅니다.
http
1
2
Authorization: Bearer <ACCESS_TOKEN>
x-workspace-id: <WORKSPACE_ID>
로그인
POST /api/auth/login — 사용자 로그인
bash
1
2
3
4
5
6
curl -X POST https://exacoola.innorix.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "<YOUR_EMAIL>",
"password": "<YOUR_PASSWORD>"
}'
응답:
json
1
2
3
4
5
6
7
8
9
10
11
12
{
"status_code": 200,
"message": "success",
"data": {
"user": {
"email": "user@example.com",
"name": "User Name",
"accessToken": "<ACCESS_TOKEN>",
"refreshToken": "<REFRESH_TOKEN>"
}
}
}
data.user.accessToken을 이후 요청의 Authorization: Bearer 헤더에 사용합니다. 액세스 토큰이 만료되면 GET /api/auth/get-token 또는 POST /api/auth/refresh-token으로 새 토큰을 발급받습니다.
인증 API 키 발급 (명령 자동화용)
POST /api/auth/generate-key — 로그인한 사용자의 API 키 생성
bash
1
2
curl -X POST https://exacoola.innorix.com/api/auth/generate-key \
-H "Authorization: Bearer <ACCESS_TOKEN>"
응답:
json
1
2
3
4
5
6
7
{
"status_code": 200,
"message": "success",
"data": {
"apiKey": "a3f2c1..."
}
}
발급된 apiKey는 명령 자동화 트리거 요청에서 x-api-key 헤더로 사용합니다. 키 폐기는 DELETE /api/auth/revoke-key로 합니다.
토큰 갱신 · 세션 관리
액세스 토큰이 만료되면 리프레시 토큰으로 새 토큰을 발급받습니다.
POST /api/auth/refresh-token — 세션 토큰 갱신
bash
1
2
curl -X POST https://exacoola.innorix.com/api/auth/refresh-token \
-H "X-Refresh-Token: <REFRESH_TOKEN>"
응답:
json
1
2
3
4
5
6
7
8
9
10
11
{
"status_code": 200,
"message": "success",
"data": {
"accessToken": "<NEW_ACCESS_TOKEN>",
"refreshToken": "<NEW_REFRESH_TOKEN>",
"userId": "usr_abc123",
"email": "user@example.com",
"userName": "User Name"
}
}
그 밖의 세션 관리 엔드포인트:
| 목적 | 메서드 · 경로 |
|---|---|
| 새 액세스 토큰 조회 | GET /api/auth/get-token |
| 로그아웃 | GET /api/auth/logout |
| API 키 폐기 | DELETE /api/auth/revoke-key (body: { "apiKey": "a3f2c1..." }) |