> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pubrio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 클라우드 풋프린트 인사이트

> 기업 1곳의 클라우드 풋프린트 전체를 한 번의 호출로 확인하고, 이동한 호스트·새 클라우드·새 리전·테스트 환경 등 대응할 만한 변화를 플래그로 받습니다.

[클라우드 풋프린트 인사이트](/ko/api-reference/endpoint/companies/cloud_footprints_insights)는 기업 1곳을 받아 클라우드 풋프린트 전체를 반환합니다. 총계, 주요 제공업체·국가·리전, 주마다 새로 나타난 호스트 수, 최신 호스트, 그리고 대응할 만한 변화인 **플래그**가 담깁니다.

기업 목록을 만들 때는 [클라우드 풋프린트 검색](/ko/developer-guides/search/cloud-footprint-search)을 사용하세요. 그중 한 기업의 전체 그림이 필요할 때 인사이트를 사용하세요.

## 시작하기 전에

기업의 `domain_search_id`가 필요합니다. 클라우드 풋프린트 검색, 기업 검색, 기업 조회의 모든 행에 들어 있습니다.

```bash cURL theme={null}
curl -X POST https://api.pubrio.com/companies/cloud_footprints/search \
  -H "pubrio-api-key: $PUBRIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "domains": ["platform9.com"], "per_page": 1 }'
```

첫 번째 행에서 `domain_search_id`를 가져오세요.

## 요청

```bash cURL theme={null}
curl -X POST https://api.pubrio.com/companies/cloud_footprints/insights \
  -H "pubrio-api-key: $PUBRIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "domain_search_id": "a8064391-03c6-4ed2-91b0-217a9f89d418" }'
```

| 키 | 필수 | 의미 |
| - | - | - |
| `domain_search_id` | 예 | 대상 기업. |
| `date_from` | 아니요 | 기간 시작일, `YYYY-MM-DD`. |
| `date_to` | 아니요 | 기간 종료일, `YYYY-MM-DD`. |

날짜를 지정하지 않으면 최근 90일이 기간입니다. 플랜에 따라 `date_from`으로 거슬러 올라갈 수 있는 범위가 제한될 수 있습니다.

## 응답 내용

| 키 | 내용 | 기간 적용 여부 |
| - | - | - |
| `totals` | 호스트, 서버, 제공업체, 국가, 크로스보더 국가, 리전 | `new_hosts`만 |
| `providers` | 상위 제공업체 8곳 | 아니요 |
| `countries` | 상위 국가 8곳, 각각 `evidence_url` 포함 | 아니요 |
| `regions` | 상위 클라우드 리전 8곳 | 아니요 |
| `weekly_series` | 주마다 처음 확인된 호스트 수 | 예 |
| `recent_hosts` | 최신 호스트 최대 12개, 호스트당 한 항목 | 예 |
| `window_days` | 기간의 일수, 시작일과 종료일 모두 포함 | — |
| `flags` | 대응할 만한 변화 | 예 |

**호스트**는 `api.example.com`처럼 기업이 운영하는 이름 있는 주소입니다. **서버**는 그 호스트들 뒤에 있는 고유 IP 주소입니다. 상위 목록은 서버 수, 다음으로 호스트 수 순으로 정렬됩니다.

`weekly_series`의 주는 워크스페이스 시간대 기준 월요일에 시작합니다.

## 플래그

플래그는 풋프린트를 바로 대응할 수 있는 정보로 바꿔 줍니다. 목록은 다섯 가지입니다. 각 목록은 최대 8개 항목이며 최신순이고, 각 항목에는 직접 확인할 수 있는 실제 호스트가 들어 있습니다.

| 플래그 | 의미 | 중요한 이유 |
| - | - | - |
| `moved_hosts` | 호스트가 이제 다른 제공업체·국가·리전에서 응답합니다. | 기업이 마이그레이션하거나 이전하는 중입니다. |
| `twin_hosts` | 같은 서비스가 두 클라우드에서 동시에 운영되며, 그중 하나가 최근에 추가되었습니다. | 멀티 클라우드 도입이나 마이그레이션이 진행 중입니다. |
| `test_hosts` | 기업의 주 클라우드가 아닌 곳에 새로 생긴 개발·테스트·스테이징·개념 증명(PoC) 호스트입니다. | 기업이 새 클라우드를 시험하고 있습니다. 가장 이른 신호입니다. |
| `new_providers` | 기업이 이전에 쓰지 않던 제공업체입니다. | 새로운 공급업체와의 관계입니다. |
| `new_regions` | 기업이 이미 쓰던 제공업체의 새 리전 또는 새 국가입니다. | 새로운 지역으로의 성장입니다. |

모든 플래그는 요청할 때마다 다시 확인합니다. 이후 되돌려진 변화는 목록에서 빠집니다.

### 이동한 호스트

```json theme={null}
{
  "host": "onemindservices-new-jersey-prod.app.pcd.platform9.com",
  "is_provider_change": true,
  "from": { "provider": "AWS", "country_code": "US", "cloud_region": "us-west-2", "city": "Portland", "region_name": "Oregon", "first_seen_at": "2026-07-22T12:07:12.918787", "last_seen_at": "2026-07-22T12:19:41.499986" },
  "to": { "provider": "OCI", "country_code": "US", "cloud_region": "us-phoenix-1", "city": "Phoenix", "region_name": "Phoenix", "first_seen_at": "2026-09-13T16:07:26.248556", "last_seen_at": "2026-09-14T09:41:19.500363" },
  "is_live_confirmed": true
}
```

이 프로덕션 호스트는 오리건의 AWS를 떠나 이제 피닉스의 Oracle Cloud에서 운영됩니다.

* `is_provider_change`는 제공업체가 바뀌면 `true`입니다. 국가나 리전만 바뀌면 `false`입니다.
* `is_live_confirmed`는 호스트가 지금 `to`에서 응답하면 `true`입니다. 호스트가 `from`을 떠났지만 새 위치를 확인하지 못하면 `false`입니다.

### 쌍둥이 호스트

```json theme={null}
{
  "service": "du.testbed.only.app.pcd",
  "providers": ["AWS", "OCI"],
  "new_provider": "AWS",
  "first_seen_at": "2026-07-21T11:59:25.286744",
  "new_provider_first_seen_at": "2026-09-10T09:23:35.767165",
  "hosts": [
    { "host": "test-du-testbed-only-5113915.app.qa-pcd.platform9.com", "provider": "AWS", "country_code": "US", "cloud_region": "us-west-2", "city": "Portland", "region_name": "Oregon", "first_seen_at": "2026-09-10T09:23:35.767165" },
    { "host": "test-du-testbed-only-5114083.app.qa-pcd.platform9.com", "provider": "OCI", "country_code": "US", "cloud_region": "us-phoenix-1", "city": "Phoenix", "region_name": "Phoenix", "first_seen_at": "2026-09-10T11:53:10.757998" }
  ]
}
```

* `service`는 호스트들이 공유하는 이름입니다.
* `providers`는 서비스가 운영 중인 클라우드이며 최신순입니다. `new_provider`가 가장 새로운 클라우드입니다.
* `hosts`는 클라우드마다 운영 중인 호스트를 1개씩, 최대 3개 보여 줍니다.

### 테스트 호스트

```json theme={null}
{
  "host": "iam-dev.platform.ea.com",
  "tags": ["dev"],
  "is_poc": false,
  "primary_provider": "AWS",
  "first_seen_at": "2026-09-06T08:13:54.048967",
  "places": [
    { "provider": "GCP", "country_code": "US", "cloud_region": "us-central1", "city": "Council Bluffs", "region_name": "Iowa" }
  ]
}
```

AWS를 쓰는 기업이 Google Cloud에 새 개발 호스트를 만든 예입니다.

* `tags`는 호스트 이름에서 비프로덕션임을 나타내는 단어입니다.
* `is_poc`는 이름이 개념 증명(PoC)이나 파일럿을 나타내면 `true`입니다. 이 항목이 먼저 나옵니다.
* `places`는 호스트가 지금 운영 중인 곳입니다. `primary_provider`는 절대 포함되지 않습니다.

### 새 제공업체

```json theme={null}
{
  "provider": "Equinix Metal",
  "first_seen_at": "2026-09-14T02:08:27.707494",
  "host_count": 1,
  "hosts": [
    { "host": "hnjobs.cncf.io", "provider": "Equinix Metal", "country_code": "US", "cloud_region": null, "city": "Parsippany", "region_name": null, "first_seen_at": "2026-09-14T02:08:27.707494" }
  ]
}
```

* `host_count`는 기업이 지금 이 제공업체에 가진 호스트 수입니다.
* `hosts`는 근거로 운영 중인 호스트를 최대 3개 보여 줍니다.

### 새 리전

```json theme={null}
{
  "provider": "AWS",
  "country_code": "US",
  "cloud_region": "us-west-1",
  "city": "San Jose",
  "region_name": "N. California",
  "first_seen_at": "2026-09-09T22:44:04.868704",
  "host_count": 1,
  "hosts": [
    { "host": "mx.experience.zoom.us", "provider": "AWS", "country_code": "US", "cloud_region": "us-west-1", "city": "San Jose", "region_name": "N. California", "first_seen_at": "2026-09-09T22:44:04.868704" }
  ]
}
```

이 제공업체는 기간 이전부터 쓰던 곳이고, 리전만 새롭습니다. `cloud_region`이 `null`이면 이 제공업체의 새 국가를 뜻하는 플래그입니다.

### 플래그가 비어 있을 때

* **`flags`가 `null`입니다.** 이 기업의 플래그가 아직 준비되지 않았습니다. 나머지 응답은 그대로 완전합니다.
* **목록 하나가 `null`입니다.** 이번 호출에서 그 목록을 만들지 못했습니다. 다른 목록은 여전히 유효합니다. 나중에 다시 시도하세요.
* **`is_spam_flood`가 `true`입니다.** 기업의 호스트 이름에 잡음이 너무 많아 플래그를 만들 수 없으므로 모든 목록이 비어 있습니다.
* **목록이 `[]`입니다.** 기간 안에 해당하는 항목이 없습니다. `twin_hosts`, `test_hosts`, `new_providers`, `new_regions`는 Pubrio가 기업을 90일 동안 추적한 뒤에야 새 항목으로 셉니다. 따라서 최근에 추적을 시작한 기업은 빈 목록을 반환합니다.

## 레시피

<Tabs>
  <Tab title="클라우드를 떠나는 기업">
    ```bash cURL theme={null}
    curl -s -X POST https://api.pubrio.com/companies/cloud_footprints/insights \
      -H "pubrio-api-key: $PUBRIO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "domain_search_id": "a8064391-03c6-4ed2-91b0-217a9f89d418" }' \
    | jq '.data.flags.moved_hosts[] | select(.is_provider_change) | {host, from: .from.provider, to: .to.provider}'
    ```

    제공업체 간 이동만 남깁니다. 같은 제공업체에서 떠나는 이동이 많으면 마이그레이션을 뜻합니다.
  </Tab>

  <Tab title="지정한 기간의 변화">
    ```bash cURL theme={null}
    curl -s -X POST https://api.pubrio.com/companies/cloud_footprints/insights \
      -H "pubrio-api-key: $PUBRIO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "domain_search_id": "a8064391-03c6-4ed2-91b0-217a9f89d418",
        "date_from": "2026-08-01",
        "date_to": "2026-08-31"
      }'
    ```

    이제 `new_hosts`, `weekly_series`, `recent_hosts`와 모든 플래그가 8월만 다룹니다. 총계와 상위 목록은 바뀌지 않습니다.
  </Tab>

  <Tab title="플래그별 개수 세기">
    ```bash cURL theme={null}
    curl -s -X POST https://api.pubrio.com/companies/cloud_footprints/insights \
      -H "pubrio-api-key: $PUBRIO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "domain_search_id": "a8064391-03c6-4ed2-91b0-217a9f89d418" }' \
    | jq '.data.flags | if . == null then "not ready" else with_entries(select(.value | type == "array") | .value |= length) end'
    ```

    세부 내용을 읽기 전에 어떤 플래그에 항목이 있는지 빠르게 확인합니다.
  </Tab>
</Tabs>

## 알아둘 점

* 두 국가에서 운영하는 기업은 두 국가 항목에 모두 집계되므로, 상위 목록의 합계가 `totals`보다 클 수 있습니다.
* 본사가 확인되지 않은 기업은 `is_cross_border`가 `null`입니다. 국내라는 뜻이 아니라 미상입니다.

## 관련 문서

<CardGroup cols={2}>
  <Card title="클라우드 풋프린트 인사이트 레퍼런스" icon="code" href="/ko/api-reference/endpoint/companies/cloud_footprints_insights">
    모든 요청 키와 응답 필드.
  </Card>

  <Card title="클라우드 풋프린트 검색" icon="cloud" href="/ko/developer-guides/search/cloud-footprint-search">
    제공업체·국가·리전·규모로 기업 목록 만들기.
  </Card>

  <Card title="webhook 설정" icon="webhook" href="/ko/developer-guides/setting-up-webhooks">
    클라우드 풋프린트 변화를 webhook이나 이메일로 전송.
  </Card>
</CardGroup>
