approveOAuthAuthorization
POST
/api/v1/oauth/authorizations/{authorization_id}/approve
const url = 'https://dev.api.endueos.com/api/v1/oauth/authorizations/oaz_01J9ZK3Q8M4XW7D2N5R6T0V1BC/approve';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"station_id":"stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://dev.api.endueos.com/api/v1/oauth/authorizations/oaz_01J9ZK3Q8M4XW7D2N5R6T0V1BC/approve \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "station_id": "stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC" }'허용 — grant 를 만들고 인가 코드(osac_…, 5분·1회)를 낸다.
Station 에 권한이 없으면 404 STATION_NOT_FOUND. 이미 결정된 요청이면 409.
파라미터
섹션 제목: “파라미터”경로 파라미터
섹션 제목: “경로 파라미터”authorization_id
필수
인가 요청 하나 — /oauth/authorize 가 만들고 console 동의 화면이 읽는다. 수명 10분.
string
예시
oaz_01J9ZK3Q8M4XW7D2N5R6T0V1BC요청 본문필수
섹션 제목: “요청 본문필수”Media typeapplication/json
object
station_id
필수
연결할 Station 하나. 부른 사람이 소유자이거나 그 조직의 멤버여야 한다.
string
예시
stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC200
섹션 제목: “200”성공.
Media typeapplication/json
object
data
필수
Console 이 location.assign 할 곳.
object
redirect_to
필수
허용: {redirect_uri}?code=osac_…&state=…
거부: {redirect_uri}?error=access_denied&state=…
string format: uri
meta
필수
object
request_id
필수
string
timestamp
필수
string format: date-time
duration
서버 처리 시간(ms).
integer format: int32
예시자동 생성
{ "data": { "redirect_to": "https://example.com" }, "meta": { "request_id": "example", "timestamp": "2026-04-15T12:00:00Z", "duration": 1 }}400
섹션 제목: “400”요청 형식이 틀렸다 — VALIDATION_ERROR(details.errors[]) 또는 BAD_REQUEST. 본문은 오류 봉투.
401
섹션 제목: “401”인증이 없거나 무효다 — UNAUTHORIZED. 본문은 오류 봉투.
403
섹션 제목: “403”이 인증 수단으로는 못 하는 일이다 — FORBIDDEN (예: API 키로 클라우드 기기 만들기). 본문은 오류 봉투.
404
섹션 제목: “404”없거나 내 것이 아니다 — *_NOT_FOUND. 본문은 오류 봉투.
409
섹션 제목: “409”지금 상태와 충돌한다 — 코드는 위 설명을 본다. 본문은 오류 봉투.
410
섹션 제목: “410”보관 기간이 지났다 — OUTPUT_EXPIRED. 본문은 오류 봉투.
429
섹션 제목: “429”한도를 넘었다 — Retry-After 초 뒤에 다시. 본문은 오류 봉투.
500
섹션 제목: “500”서버 오류 — INTERNAL_ERROR. 본문은 오류 봉투.
503
섹션 제목: “503”의존 서비스에 닿지 못했다 — 잠시 뒤 다시. 본문은 오류 봉투.