FOCUS(FinOps Open Cost and Usage Specification)는 기술 청구 데이터 세트에 대한 균일한 요구 사항을 설정합니다. MongoDB Atlas 청구 비용 및 사용량 데이터를 FOCUS.1 3 형식으로 제공합니다.Invoices Atlas 콘솔의 페이지 또는 FOCUS 데이터 API 사용하여 FOCUS 보고서를 생성할 수 있습니다.
FOCUS 정보
지금까지 Atlas 청구 데이터는 MongoDB 전용 형식으로 제공되었습니다. Atlas 고객, 특히 대규모 엔터프라이즈 및 파트너는 Atlas 크레딧 단위(ACU)를 청구 통화로 변환하기 위해 수작업을 해야 합니다.
FOCUS는 공통 어휘 및 청구 구조를 제공하여 Atlas 청구 데이터를 이해하고, 재무 운영 및 크로스벤더 비용 관리 도구와 통합하고, 조정하는 데 도움이 됩니다.
PDF 및 CSV 사용 요약은 MongoDB 전용 형식으로 청구서를 표시합니다. FOCUS 비용 및 사용량 보고서는 동일한 청구 기간을 표준화된 FOCUS 형식으로 표시합니다. Atlas 콘솔의 Invoices 페이지에서 세 가지를 모두 다운로드 할 수 있습니다.
FOCUS 데이터 API 기능
FOCUS 데이터 API FOCUS 형식의 비용 및 사용량 데이터에 프로그래밍 방식으로 액세스 제공합니다.
FOCUS 데이터 API 사용하면 다음을 수행할 수 있습니다.
청구 통화로 비용 보기:
BilledCostEffectiveCost수동으로 변환할 필요 없이 청구 통화로 직접 및 에 액세스합니다.크레딧 유형 식별: 필드 통해 크레딧 이 선불, 프로모션 또는 탄력적 크레딧인지
Contract Applied확인합니다.전체 컨텍스트로 비용
RegionUsageDate분석:,, 등의 필드를ServiceCategory사용하여 세부적인 비용 분석을 수행할 수 있습니다.표준 업계 용어 사용:
SubAccountName와 같은 내부 API 용어 대신 및 기타 직관적인 FOCUS 용어를groupName사용합니다.
FOCUS 열 참조
다음 표에는 FOCUS 데이터 API 응답에서 반환되는 열과 이에 해당하는 레거시 청구 필드가 나열되어 있습니다.
FOCUS 1.3 열 ID | 정의 | 현재 CSV 해당하는 필드 | 현재 JSON 해당하는 필드 |
|---|---|---|---|
| 현재 청구 기간 동안 청구된 청구 통화 단위의 비용. | N/A | N/A |
| 이 청구서의 Atlas 조직 ID . | 조직 ID | N/A |
| 이 청구서의 Atlas 조직 이름입니다. | 조직 이름 | N/A |
| 이 요금에 대한 청구 통화입니다. | N/A | N/A |
| 청구 기간의 종료 날짜입니다. 청구 기간에는 종료일이 포함되지 않습니다. | N/A | "endDate" (인보이스) |
| 청구 기간의 시작 날짜입니다. 청구 기간에는 시작일이 포함됩니다. | N/A | "created" (인보이스) |
| 청구 방식의 특성에 따른 요금 분류입니다. 예시: "사용" 는 소비된 서비스 또는 리소스 의 양에 따른 요금을 나타냅니다. | N/A | N/A |
| 요금에 대한 상위 수준 컨텍스트입니다. | 설명 | N/A |
| 요금이 발생한 기간의 종료일입니다. 청구 기간에는 종료일이 포함되지 않습니다. | N/A | "endDate" (lineItems) |
| 요금이 발생한 기간의 시작일입니다. 청구 기간에는 시작일이 포함됩니다. | 사용 날짜 | "startDate" (lineItems) |
| 소비된 단위를 기준으로 사용된 리소스 또는 서비스와 연결된 특정 SKU의 볼륨입니다. | 수량 | "수량" |
| 특정 SKU를 측정하는 데 사용되는 단위입니다. | 단위 | "unit" |
| 요금을 하나 이상의 계약 약정과 연결하는 속성 설정하다 입니다. 소비된 사용량을 충당하는 데 사용된 Atlas 크레딧의 이름을 식별합니다. | N/A | N/A |
| 약정 단가와 해당 가격 수량을 곱하여 계산한 비용 나타냅니다. 이 필드 청구 통화로 표시됩니다. | N/A | N/A |
| 할인을 포함한 관련 SKU의 단일 가격 책정 단위에 대해 합의된 단가입니다. 이 가격은 청구 통화로 표시됩니다. | N/A | N/A |
| 할인된 요금과 할인을 모두 적용한 후 상각된 비용 나타냅니다. 이 필드 청구 통화로 표시됩니다. | N/A | N/A |
| 서비스 제공자 리소스와 서비스를 배포하는 기본 인프라를 제공하는 엔터티의 이름입니다. 예시 들어, AWS, Azure, GCP 있습니다. | N/A | N/A |
| 소비된 리소스 또는 서비스에 대한 청구서를 담당하는 엔티티입니다. 예시 를 들어, MongoDB 로 직접 거래하는 고객에게는 MongoDB 를, 마켓플레이스를 통해 Atlas 로 거래하는 고객에게는 마켓플레이스를 사용할 수 있습니다. | N/A | N/A |
| 정가와 해당 가격 수량을 곱하여 계산한 비용 나타냅니다. 이 필드 청구 통화로 표시됩니다. | N/A | N/A |
| 관련 SKU의 단일 가격 단위에 대해 제공자가 게시한 제안 단가(할인 제외)입니다. 이 가격은 청구 통화로 표시됩니다. | N/A | N/A |
| 이 요금에 대한 측정 통화( 예시: Atlas 크레딧)입니다. | N/A | N/A |
| 할인을 포함한 관련 SKU의 단일 가격 책정 단위에 대해 합의된 단가입니다. 이 가격은 가격 책정 통화로 표시됩니다. | N/A | N/A |
| 할인된 요금과 할인을 모두 적용한 후 상각된 비용 나타냅니다. 이 필드 가격 통화로 표시됩니다. | 금액 | "totalPriceCents" |
| 정가와 해당 가격 수량을 곱하여 계산한 비용 나타냅니다. 이 필드 가격 통화로 표시됩니다. | 단위 가격 | "unitPriceDollars" |
| 가격 단위를 기준으로 사용되거나 구매한 리소스 또는 서비스와 관련된 특정 SKU의 볼륨을 나타냅니다. | N/A | N/A |
| 단가를 결정하는 단위를 나타냅니다( 예시: GB-시간). | N/A | N/A |
| 리소스 가 프로비저닝되거나 서비스가 제공되는 격리된 지리적 영역에 대한 식별자입니다. 예시: | N/A | N/A |
| 리소스 가 프로비저닝되거나 서비스가 제공되는 격리된 지리적 영역의 이름입니다. 예시: | 리전 | N/A |
| Atlas 의 경우 이 이름이 클러스터 이름입니다. | 클러스터 | "clusterName" |
| FOCUS에서 정의한 최상위 분류입니다. 다음은 "데이터베이스" MongoDB Atlas 의 경우 . | N/A | N/A |
| MongoDB Atlas 와 예시 서비스 제공자 로부터 구매할 수 있는 제품을 나타냅니다. | N/A | N/A |
| 사용하거나 구매할 수 있는 리소스 또는 서비스를 제공하는 엔터티의 이름입니다. 예시 를 들어 MongoDB. | N/A | N/A |
| 고유한 청구 가능 구성을 나타내는 SKU(Stock Keeping Unit)의 고유 식별자입니다. | N/A | N/A |
| 연결된 SKU의 측정 단위로, 측정 중인 항목을 나타냅니다( 예시: | N/A | N/A |
| 요금이 청구된 점 의 가격 차원으로, JSON 의 키-값 쌍으로 표시됩니다. 요금에 점 없거나 가격에 차원 점 지정되지 않은 경우 이 열은 비어 있습니다. | N/A | N/A |
| 요금이 청구된 점 의 고유 식별자입니다. | N/A | N/A |
| 조직 구성을 기반으로 한 그룹인 하위 계정에 할당된 식별자입니다. 이는 MongoDB Atlas 의 프로젝트와 동일합니다. | 프로젝트 ID | "groupId" |
| 하위 계정의 표시 이름입니다. 이는 MongoDB Atlas 의 프로젝트와 동일합니다. | 프로젝트 | "groupName" |
| 연결된 리소스에 할당된 태그입니다. | 태그/ 애플리케이션 | "tags" |
| 청구 중인 Atlas SKU입니다. | SKU | "sku" |
| MongoDB 요금을 청구한 기간이 종료됩니다. | 날짜 | "created" (lineItems) |
| MongoDB 요금을 청구한 기간의 시작일입니다. | N/A | N/A |
| "price" Atlas 크레딧. 청구 통화로 표시된 Atlas 크레딧의 비용 찾으려면 이 비율을 적용합니다. | N/A | N/A |
| 연결된 Atlas SKU에 대한 최상위 분류입니다. 예시 들어 | N/A | N/A |
엔드포인트
FOCUS 데이터 API Atlas 관리 API 세 개의 엔드포인트로 확장합니다.
조직에 대한 청구서 목록에는 조직 에 대해 사용 가능한 청구서가 나열됩니다.
FOCUS 보고서 요청은 FOCUS 형식의 청구 보고서 생성을 요청합니다.
FOCUS 보고서 조회는 해당 보고서의 상태를 반환하고, 보고서가 준비되면 보고서를 다운로드 할 수 있는 URL 반환합니다.
참고
모든 Organization Billing Admin 엔드포인트에는, Organization Owner 또는 역할 Organization Billing Viewer 필요합니다.
조직의 청구서 나열
사용 가능한 청구서 ID 목록을 조회합니다. 조직 간 청구의 경우 이 엔드포인트는 연결된 모든 조직에 대한 청구서를 식별합니다.
기본 URL: /api/atlas/v2/orgs/{orgId}/associatedInvoices
GET /api/atlas/v2/orgs/{orgId}/associatedInvoices
요청 경로 매개변수
이름 | 유형 | 필요성 | 설명 |
|---|---|---|---|
| 문자열 | 필수 사항 | 조직을 식별하는 고유한 24자리 16진수 문자열입니다. |
요청 쿼리 매개변수
다음 쿼리 매개변수는 선택 사항입니다.
이름 | 유형 | 필요성 | 설명 | 기본값 |
|---|---|---|---|---|
| integer | 옵션 | 조회 할 청구서의 월(1-12)입니다. | 이번 달 |
| integer | 옵션 | 조회 할 청구서의 연도입니다. >= 2000이어야 합니다. | 현재 연도 |
| 부울 | 옵션 | 연결된 조직의 청구서를 포함할지 여부를 나타내는 플래그입니다. |
|
요청 예시
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \ --digest \ --header "Accept: application/vnd.atlas.2025-03-12+json" \ --request GET "https://cloud.mongodb.com/api/atlas/v2/orgs/{orgId}/associatedInvoices"
응답
{ "associatedInvoices": [ { "invoiceId": "string", "orgId": "string" } ], "month": "06", "year": "2026" }
응답 요소
이름 | 유형 | 설명 |
|---|---|---|
| 배열 | 지정된 기간 동안 조직 과 연결된 청구서 목록입니다. |
| 문자열 | 청구서의 고유한 24-16진수 식별자입니다. |
| 문자열 | 조직 의 고유한 24-16진수 식별자입니다. |
| 문자열 | 연결된 청구서의 월을 나타내는 두 자리 숫자( 예시: |
| 문자열 | 연결된 청구서의 연도를 나타내는 4자리 숫자( 예시: |
FOCUS 보고서 요청
FOCUS 표준 형식의 청구 보고서 생성을 요청합니다. Atlas 보고서를 비동기적으로 생성하고 보고서 상태를 폴링하는 데 사용하는 보고서 ID 반환합니다.
기본 URL: /api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/reports
POST /api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/reports
요청 경로 매개변수
이름 | 유형 | 필요성 | 설명 |
|---|---|---|---|
| 문자열 | 필수 사항 | 조직을 식별하는 고유한 24자리 16진수 문자열입니다. |
| 문자열 | 필수 사항 | 고유한 24-인보이스를 식별하는 16진수 문자열입니다. |
요청 본문 매개변수
이름 | 유형 | 필요성 | 설명 |
|---|---|---|---|
| 문자열 | 필수 사항 | 생성할 보고서 유형입니다. |
| 문자열 | 필수 사항 | 보고서의 형식입니다. 허용되는 값: |
| 문자열 | 옵션 | 보고서 형식 사양의 버전( 예시: |
요청 예시
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \ --digest \ --header "Accept: application/vnd.atlas.2025-03-12+json" \ --header "Content-Type: application/json" \ --request POST "https://cloud.mongodb.com/api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/reports" \ --data '{ "reportType": "FOCUS", "reportFormat": "CSV", "formatSpecVersion": "1.3" }'
응답
성공 하면 보고서 ID 및 보고서의 초기 상태 포함된 201 Created를 반환합니다.
{ "invoiceId": "32b6e34b3d91647abb20e7b8", "reportFormat": "CSV", "reportId": "5f5f4c9e2b8f4b3a1c2d3e4f", "reportType": "FOCUS", "state": "PENDING" }
보고서를 다운로드 하려면 반환된 를 reportId 조회 엔드포인트에 전달합니다.
FOCUS 보고서 조회
요청한 FOCUS 보고서의 상태 및 세부 정보를 반환합니다. state가 SUCCEEDED 또는 FAILED가 될 때까지 이 엔드포인트를 폴링합니다.
5초에 한 번 이하로 폴링합니다. 보고서를 생성하는 데 시간이 더 오래 걸리는 경우 요청 사이의 간격을 기하급수적으로 늘리세요. 대부분의 보고서는 몇 초 내에 완료되지만 대용량 청구서에 대한 보고서는 몇 분 정도 걸릴 수 있습니다.
기본 URL: /api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/reports/{reportId}
GET /api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/reports/{reportId}
요청 경로 매개변수
이름 | 유형 | 필요성 | 설명 |
|---|---|---|---|
| 문자열 | 필수 사항 | 조직을 식별하는 고유한 24자리 16진수 문자열입니다. |
| 문자열 | 필수 사항 | 고유한 24-인보이스를 식별하는 16진수 문자열입니다. |
| 문자열 | 필수 사항 | 보고서를 식별하는 고유한 24-16진수 문자열입니다. |
요청 예시
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \ --digest \ --header "Accept: application/vnd.atlas.2025-03-12+json" \ --request GET "https://cloud.mongodb.com/api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/reports/{reportId}"
응답
성공 하면 보고서의 현재 상태 와 함께 200 OK를 반환합니다. state가 SUCCEEDED인 경우 응답에는 다운로드 URL 과 만료 시간도 포함됩니다.
{ "downloadUrl": "https://<presigned-url>", "expiresAt": "2026-08-17T18:30:00Z", "formatSpecVersion": "1.3", "invoiceId": "32b6e34b3d91647abb20e7b8", "reportFormat": "CSV", "reportId": "5f5f4c9e2b8f4b3a1c2d3e4f", "reportType": "FOCUS", "state": "SUCCEEDED" }
보고서 상태
상태 | 설명 |
|---|---|
| Atlas 요청 수락했지만 보고서 생성을 시작하지 않았습니다. |
| Atlas 에서 보고서를 생성하는 중입니다. |
| 보고서가 준비되었습니다. 응답에는 |
| Atlas 보고서를 생성할 수 없습니다. 응답에 |
응답 요소
이름 | 유형 | 설명 |
|---|---|---|
| 문자열 | 보고서를 다운로드 할 수 있는 URL . 응답에는 |
| 문자열 |
|
| 문자열 | 보고서가 실패한 이유입니다. 응답에는 |
| 문자열 | 보고서 형식 사양의 버전입니다. |
| 문자열 | 고유한 24-인보이스를 식별하는 16진수 문자열입니다. |
| 문자열 | 생성된 보고서의 형식입니다. |
| 문자열 | 보고서를 식별하는 고유한 24-16진수 문자열입니다. |
| 문자열 | 생성된 보고서의 유형입니다. |
| 문자열 | 보고서 생성의 현재 상태 . |
가용성 보고
각 downloadUrl는 15 분 동안 유효합니다. URL 이 만료된 후 보고서를 다운로드 하려면 동일한 reportId를 사용하여 이 엔드포인트를 다시 호출합니다. Atlas 새 downloadUrl 및 새 expiresAt 시간을 반환합니다.
보고서는 요청 후 7일 동안 사용할 수 있습니다. 7일 후 새 보고서를 요청 동일한 청구서 데이터를 다운로드 .
데이터 동작 및 성능
다음 섹션에서는 FOCUS 데이터 API 보류 중인 데이터 및 대규모 보고서 생성을 처리하는 방법을 설명합니다.
보류 중인 월 가시성
" 쿼리 중" (현재) 월입니다. Atlas 사용량을 실시간 으로 크레딧과 연결하여 비용 추정치를 제공하지만, 이 값은 청구서가 마감될 때까지 not final 입니다. 월이 마감된 후에 데이터를 다시 가져와서 최종 청구 금액을 확인합니다.
대용량 데이터를 위한 파일 처리
FOCUS 데이터 API 대규모 청구 데이터를 처리하다 하도록 설계된 방식으로 보고서를 생성하고 제공합니다.
비동기생성: 보고서 생성 시 요청 이 차단 되지 않습니다. 요청
reportId엔드포인트는 즉시 을(를) 반환하고 사용자는 보고서 상태 에 대한 조회 엔드포인트를 폴링합니다.CSV 형식: 보고서가 CSV 파일로 생성됩니다.
시간 제한이 있는 다운로드 URL: 보고서가 성공하면 조회 엔드포인트가
downloadUrl15 분 동안 유효한 을 반환합니다. 보고서는 7일 동안 계속 사용할 수 있습니다. 만료된 URL 새로 고치는 방법을 학습 가용성 보고를 참조하세요.단일 조직 범위: 각 요청 은 하나의 조직 에 대한 데이터를 반환합니다. 조직 간 청구를 사용하는 경우
invoiceId목록 엔드포인트에서 반환된 각 에 대해 하나의 보고서를 요청 .
제한 사항
엔드포인트는 사용량 기반 비용만 처리합니다. 현재 다음은 포함되지 않습니다.
부족 요금(월별/Flex 약정 차이).
세금 항목.
조정 또는 환불.
Atlas 콘솔에서 전체 청구서를 보려면 청구서 관리를 참조하세요.
지원 및 피드백
FOCUS 데이터 API 에 대한 질문은 MongoDB 계정 팀 문의 . 동료 개발자에게 질문하고 토론에 참여하려면 Stack Overflow 또는 Reddit에서 MongoDB 커뮤니티를 참조하세요.