{
  "id": "7b0d353e-cade-48a2-8a6f-cf012403615b",
  "slug": "ref/manual/bizspring-air-api-auth-token-인증-토큰-발행",
  "doc_type": "ref",
  "title": "Auth Token(인증 토큰) 발행 — BizSpring AIR™ API",
  "title_en": null,
  "one_liner": " description: BizSpring AIR™ API를 사용하는 클라이언트 인증을 통해 API 사용 자격을 획득합니다. Auth Token(인증 토큰) 발행 인증 토큰 발행하기 인증 토큰은 Growth Platform™ API를 사용하기 위해 먼저 발행해야 하는 항목입니다. 토큰은",
  "summary_bullets": [
    "Growth Platform™ API 사용 전 인증 토큰을 발행받는 방법을 설명한다.",
    "https://growthplatform.ai/auth/signin 에 username, password를 JSON으로 POST하여 토큰을 발급받는다.",
    "발급된 토큰은 API 요청 헤더에 Authorization: Bearer {ACCESS_TOKEN} 형태로 포함해야 한다.",
    "응답 결과에는 token_type(Bearer 고정)과 만료 기간이 있는 token 값이 포함된다.",
    "400/401/403/429 등 오류 코드와 각 상황(파라미터 누락, 인증 오류, 권한 없음, 요청 한도 초과)이 정의되어 있다."
  ],
  "body_md": "---\ndescription: BizSpring AIR™ API를 사용하는 클라이언트 인증을 통해 API 사용 자격을 획득합니다.\n---\n\n# Auth Token(인증 토큰) 발행\n\n## 인증 토큰 발행하기\n\n인증 토큰은 Growth Platform™ API를 사용하기 위해 먼저 발행해야 하는 항목입니다.\n\n* 토큰은 API 요청을 보낼 때 클라이언트를 인증하는데 사용되며, 각 요청 시 헤더에 포함되어야 합니다.\n* 요청 성공 시 응답은 토큰과 토큰 정보를 포함합니다.\n\n{% hint style=\"info\" %}\nAPI 사용을 위해서는 활성화된 API 사용 권한을 보유한 Growth Platform™ 계정이 필요합니다.\n\n계정 생성 또는 API 사용 권한이 있는지 확인이 필요한 경우 [growth-platform-tm](../getting-started/growth-platform-tm \"mention\")을 참고합니다.\n{% endhint %}\n\n### 인증 방식\n\n모든 API 요청 헤더에 포함:\n\nhttp\n\n```http\nAuthorization: Bearer {ACCESS_TOKEN}\n```\n\n### **요청 URL**\n\n아래 요청 URL로 계정 정보를 함께 요청하는 것으로서 인증 토큰을 발행 받고 획득하게 됩니다.\n\n<pre class=\"language-http\"><code class=\"lang-http\"><strong>https://growthplatform.ai/auth/signin\n</strong></code></pre>\n\n### 프로토콜\n\nHTTPS\n\n### **HTTP 메서드**\n\nPOST\n\n### Request Body\n\nRequest Body를 JSON 형식으로 전달(요청) 합니다.\n\n<table><thead><tr><th width=\"210\" align=\"center\">키</th><th width=\"113\" align=\"center\">타입</th><th>설명</th></tr></thead><tbody><tr><td align=\"center\">username</td><td align=\"center\">string</td><td>사용자 계정의 고유 아이디를 의미합니다.</td></tr><tr><td align=\"center\">password</td><td align=\"center\">string</td><td>사용자 계정의 고유 비밀번호를 의미합니다.</td></tr></tbody></table>\n\n### 요청 예\n\n```http\nPOST /auth/signin\nHEADER\nContent-Type: application/json\n\nBODY\n{\n  \"username\": \"{ADMIN_ID}\",\n  \"password\": \"{ADMIN_PW}\"\n}\n\n\n# JavaScript JQuery \nconst sendData = {\n  'username': \"{username}\",\n  'password': \"{password}\"\n};\n\nlet token;\n$.ajax({\n  url: 'https://growthplatform.ai/auth/signin',\n  method: 'POST',\n  contentType: 'application/json; charset=utf-8',\n  data: JSON.stringify(sendData),\n  success: function (data) {\n    // success\n    token = data.token;\n  },\n  error: function (error) {\n    // error\n  }\n});\n```\n\n### 응답 결과  데이터&#x20;\n\n응답에 성공하면 JSON 형식으로 결과값이 반환됩니다.\n\n<table><thead><tr><th width=\"169\" align=\"center\">파라미터</th><th width=\"153\" align=\"center\">타입</th><th>설명</th></tr></thead><tbody><tr><td align=\"center\">token_type</td><td align=\"center\">string</td><td>발행된 토큰의 타입. Bearer 로 고정</td></tr><tr><td align=\"center\">token</td><td align=\"center\">string</td><td>리포트 데이터 요청 시 사용되는 만료 기간이 있는 토큰</td></tr></tbody></table>\n\n### 응답 예\n\n<pre class=\"language-http\"><code class=\"lang-http\"><strong>HTTP/1.1 200 OK\n</strong>Content-Type: application/json;charset=UTF-8\n\n<strong>{\n</strong>  \"token_type\": \"Bearer\",\n  \"token\": \"eyJraWQiOiI0ZGE2YmYxNy0wYTZmL....SrYiSAX7lZhc-rxKbrooQ8KQ-Dq7CV1tA\"\n}\n</code></pre>\n\n{% hint style=\"info\" %}\nHTTP Request에 대한 200 OK 응답이 아닌 경우는 username 및 password의 오류가 아닌,  클라이언트-API서버와의 통신문제이거나 기타 문제입니다.\n\n이 경우에는 HTTP 표준 응답 코드를 참고하시기 바랍니다.\n{% endhint %}\n\n### 오류 코드\n\n| HTTP | 오류 코드               | 설명                   |\n| ---- | ------------------- | -------------------- |\n| 400  | invalid\\_request    | 필수 파라미터 누락           |\n| 401  | invalid\\_client     | client\\_id/secret 오류 |\n| 403  | access\\_denied      | 접근 권한 없음             |\n| 429  | too\\_many\\_requests | 요청 한도 초과             |\n\n***\n\n### 추가 예시\n\n#### 토큰 발행 — cURL\n\n{% tabs %}\n{% tab title=\"bash\" %}\n```bash\ncurl -X POST https://api.bizspring.co.kr/air/v1/auth/token \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"client_id\": \"your_client_id\",\n    \"client_secret\": \"your_client_secret\",\n    \"grant_type\": \"client_credentials\"\n  }'\n```\n{% endtab %}\n\n{% tab title=\"python\" %}\n```python\nimport requests\n\ndef get_access_token(client_id: str, client_secret: str) -> str:\n    url = \"https://api.bizspring.co.kr/air/v1/auth/token\"\n    payload = {\n        \"client_id\": client_id,\n        \"client_secret\": client_secret,\n        \"grant_type\": \"client_credentials\"\n    }\n    response = requests.post(url, json=payload)\n    response.raise_for_status()\n    return response.json()[\"access_token\"]\n\ntoken = get_access_token(\"your_client_id\", \"your_client_secret\")\n```\n{% endtab %}\n\n{% tab title=\"javascript\" %}\n```javascript\nasync function getAccessToken(clientId, clientSecret) {\n  const response = await axios.post(\n    'https://api.bizspring.co.kr/air/v1/auth/token',\n    { client_id: clientId, client_secret: clientSecret, grant_type: 'client_credentials' }\n  );\n  return response.data.access_token;\n}\n```\n{% endtab %}\n{% endtabs %}\n\n#### 응답 예시\n\njson\n\n```json\n{\n  \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n  \"token_type\": \"Bearer\",\n  \"expires_in\": 86400\n}\n```\n",
  "related_slugs": [],
  "faq": [
    {
      "a": "먼저 Growth Platform™ API 사용을 위한 인증 토큰을 발행받아야 합니다. 이를 위해서는 활성화된 API 사용 권한을 보유한 Growth Platform™ 계정이 필요합니다.",
      "q": "API를 사용하려면 뭐가 먼저 필요한가요?"
    },
    {
      "a": "https://growthplatform.ai/auth/signin 으로 username과 password를 JSON 형식의 Request Body에 담아 POST 요청을 보내면 됩니다. 요청이 성공하면 token_type과 token 값이 담긴 JSON 응답을 받습니다.",
      "q": "토큰은 어떻게 발급받나요?"
    },
    {
      "a": "모든 API 요청의 헤더에 Authorization: Bearer {ACCESS_TOKEN} 형태로 포함시켜야 합니다.",
      "q": "발급받은 토큰은 어떻게 사용하나요?"
    },
    {
      "a": "아닙니다. 200 OK가 아닌 응답은 username/password 오류가 아니라 클라이언트-API서버 간 통신 문제이거나 기타 문제일 수 있습니다. 이 경우 HTTP 표준 응답 코드를 참고해야 합니다.",
      "q": "요청이 200 OK로 안 오면 아이디/비밀번호가 틀린 건가요?"
    },
    {
      "a": "400 invalid_request(필수 파라미터 누락), 401 invalid_client(client_id/secret 오류), 403 access_denied(접근 권한 없음), 429 too_many_requests(요청 한도 초과)가 정의되어 있습니다.",
      "q": "오류가 나면 어떤 코드들을 확인해야 하나요?"
    }
  ],
  "jsonld": null,
  "keywords": [],
  "source_id": "gitbook:UJ9uzvHT9r6QImnjP8p4:UStLvmGyPcHeKP8Ts6zB",
  "video_url": null,
  "duration_sec": null,
  "thumbnail_url": null,
  "image_url": null,
  "caption": null,
  "solution_slug": null,
  "captured_at": null,
  "width": null,
  "height": null,
  "created_at": "2026-08-23T14:32:38.444294+00:00",
  "updated_at": "2026-08-28T09:46:59.075+00:00",
  "visibility": "public",
  "source_stage": "1",
  "anonymized": true,
  "source_key": "gitbook-manuals",
  "origin": "ingest",
  "locked": false,
  "locked_by": null,
  "locked_at": null,
  "gate_state": {
    "g1": {
      "hits": [],
      "pass": true
    },
    "g2": {
      "pass": false,
      "total": 33,
      "issues": [
        "숫자·규격 같은 검증 가능한 구체가 부족합니다",
        "다른 문서와 겹치는 말이 대부분입니다",
        "핵심 요약 불릿이 3개 미만입니다",
        "Q&A 쌍이 3개 미만입니다"
      ],
      "applies": true
    },
    "g3": {
      "pass": true,
      "required": false
    },
    "stage": "1",
    "decided_at": "2026-08-23T14:32:37.773Z"
  },
  "raw_id": "10b99797-8c51-491d-a7a0-9ba72c0a2fcb",
  "search_text": "Auth Token(인증 토큰) 발행 — BizSpring AIR™ API   description: BizSpring AIR™ API를 사용하는 클라이언트 인증을 통해 API 사용 자격을 획득합니다. Auth Token(인증 토큰) 발행 인증 토큰 발행하기 인증 토큰은 Growth Platform™ API를 사용하기 위해 먼저 발행해야 하는 항목입니다. 토큰은  ---\ndescription: BizSpring AIR™ API를 사용하는 클라이언트 인증을 통해 API 사용 자격을 획득합니다.\n---\n\n# Auth Token(인증 토큰) 발행\n\n## 인증 토큰 발행하기\n\n인증 토큰은 Growth Platform™ API를 사용하기 위해 먼저 발행해야 하는 항목입니다.\n\n* 토큰은 API 요청을 보낼 때 클라이언트를 인증하는데 사용되며, 각 요청 시 헤더에 포함되어야 합니다.\n* 요청 성공 시 응답은 토큰과 토큰 정보를 포함합니다.\n\n{% hint style=\"info\" %}\nAPI 사용을 위해서는 활성화된 API 사용 권한을 보유한 Growth Platform™ 계정이 필요합니다.\n\n계정 생성 또는 API 사용 권한이 있는지 확인이 필요한 경우 [growth-platform-tm](../getting-started/growth-platform-tm \"mention\")을 참고합니다.\n{% endhint %}\n\n### 인증 방식\n\n모든 API 요청 헤더에 포함:\n\nhttp\n\n```http\nAuthorization: Bearer {ACCESS_TOKEN}\n```\n\n### **요청 URL**\n\n아래 요청 URL로 계정 정보를 함께 요청하는 것으로서 인증 토큰을 발행 받고 획득하게 됩니다.\n\n<pre class=\"language-http\"><code class=\"lang-http\"><strong>https://growthplatform.ai/auth/signin\n</strong></code></pre>\n\n### 프로토콜\n\nHTTPS\n\n### **HTTP 메서드**\n\nPOST\n\n### Request Body\n\nRequest Body를 JSON 형식으로 전달(요청) 합니다.\n\n<table><thead><tr><th width=\"210\" align=\"center\">키</th><th width=\"113\" align=\"center\">타입</th><th>설명</th></tr></thead><tbody><tr><td align=\"center\">username</td><td align=\"center\">string</td><td>사용자 계정의 고유 아이디를 의미합니다.</td></tr><tr><td align=\"center\">password</td><td align=\"center\">string</td><td>사용자 계정의 고유 비밀번호를 의미합니다.</td></tr></tbody></table>\n\n### 요청 예\n\n```http\nPOST /auth/signin\nHEADER\nContent-Type: application/json\n\nBODY\n{\n  \"username\": \"{ADMIN_ID}\",\n  \"password\": \"{ADMIN_PW}\"\n}\n\n\n# JavaScript JQuery \nconst sendData = {\n  'username': \"{username}\",\n  'password': \"{password}\"\n};\n\nlet token;\n$.ajax({\n  url: 'https://growthplatform.ai/auth/signin',\n  method: 'POST',\n  contentType: 'application/json; charset=utf-8',\n  data: JSON.stringify(sendData),\n  success: function (data) {\n    // success\n    token = data.token;\n  },\n  error: function (error) {\n    // error\n  }\n});\n```\n\n### 응답 결과  데이터&#x20;\n\n응답에 성공하면 JSON 형식으로 결과값이 반환됩니다.\n\n<table><thead><tr><th width=\"169\" align=\"center\">파라미터</th><th width=\"153\" align=\"center\">타입</th><th>설명</th></tr></thead><tbody><tr><td align=\"center\">token_type</td><td align=\"center\">string</td><td>발행된 토큰의 타입. Bearer 로 고정</td></tr><tr><td align=\"center\">token</td><td align=\"center\">string</td><td>리포트 데이터 요청 시 사용되는 만료 기간이 있는 토큰</td></tr></tbody></table>\n\n### 응답 예\n\n<pre class=\"language-http\"><code class=\"lang-http\"><strong>HTTP/1.1 200 OK\n</strong>Content-Type: application/json;charset=UTF-8\n\n<strong>{\n</strong>  \"token_type\": \"Bearer\",\n  \"token\": \"eyJraWQiOiI0ZGE2YmYxNy0wYTZmL....SrYiSAX7lZhc-rxKbrooQ8KQ-Dq7CV1tA\"\n}\n</code></pre>\n\n{% hint style=\"info\" %}\nHTTP Request에 대한 200 OK 응답이 아닌 경우는 username 및 password의 오류가 아닌,  클라이언트-API서버와의 통신문제이거나 기타 문제입니다.\n\n이 경우에는 HTTP 표준 응답 코드를 참고하시기 바랍니다.\n{% endhint %}\n\n### 오류 코드\n\n| HTTP | 오류 코드               | 설명                   |\n| ---- | ------------------- | -------------------- |\n| 400  | invalid\\_request    | 필수 파라미터 누락           |\n| 401  | invalid\\_client     | client\\_id/secret 오류 |\n| 403  | access\\_denied      | 접근 권한 없음             |\n| 429  | too\\_many\\_requests | 요청 한도 초과             |\n\n***\n\n### 추가 예시\n\n#### 토큰 발행 — cURL\n\n{% tabs %}\n{% tab title=\"bash\" %}\n```bash\ncurl -X POST https://api.bizspring.co.kr/air/v1/auth/token \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"client_id\": \"your_client_id\",\n    \"client_secret\": \"your_client_secret\",\n    \"grant_type\": \"client_credentials\"\n  }'\n```\n{% endtab %}\n\n{% tab title=\"python\" %}\n```python\nimport requests\n\ndef get_access_token(client_id: str, client_secret: str) -> str:\n    url = \"https://api.bizspring.co.kr/air/v1/auth/token\"\n    payload = {\n        \"client_id\": client_id,\n        \"client_secret\": client_secret,\n        \"grant_type\": \"client_credentials\"\n    }\n    response = requests.post(url, json=payload)\n    response.raise_for_status()\n    return response.json()[\"access_token\"]\n\ntoken = get_access_token(\"your_client_id\", \"your_client_secret\")\n```\n{% endtab %}\n\n{% tab title=\"javascript\" %}\n```javascript\nasync function getAccessToken(clientId, clientSecret) {\n  const response = await axios.post(\n    'https://api.bizspring.co.kr/air/v1/auth/token',\n    { client_id: clientId, client_secret: clientSecret, grant_type: 'client_credentials' }\n  );\n  return response.data.access_token;\n}\n```\n{% endtab %}\n{% endtabs %}\n\n#### 응답 예시\n\njson\n\n```json\n{\n  \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n  \"token_type\": \"Bearer\",\n  \"expires_in\": 86400\n}\n```\n",
  "embedding": null,
  "embedded_at": null,
  "embedding_hash": null,
  "map_x": null,
  "map_y": null,
  "backlinks": [],
  "html_url": "https://bizspring.ai/kb/ref/manual/bizspring-air-api-auth-token-인증-토큰-발행",
  "markdown_url": "https://bizspring.ai/kb/ref/manual/bizspring-air-api-auth-token-인증-토큰-발행.md"
}