naftiko: 1.0.0-alpha2 info: label: MongoDB Atlas Administration API — Invoices description: 'MongoDB Atlas Administration API — Invoices. 9 operations. Lead operation: Create One Cost Explorer Query Process. Self-contained Naftiko capability covering one Mongodb business surface.' tags: - Mongodb - Invoices created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MONGODB_API_KEY: MONGODB_API_KEY capability: consumes: - type: http namespace: atlas-invoices baseUri: https://cloud.mongodb.com description: MongoDB Atlas Administration API — Invoices business capability. Self-contained, no shared references. resources: - name: api-atlas-v2-orgs-orgId-billing-costExplorer-usage path: /api/atlas/v2/orgs/{orgId}/billing/costExplorer/usage operations: - name: createorgbillingcostexplorerusageprocess method: POST description: Create One Cost Explorer Query Process outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-atlas-v2-orgs-orgId-billing-costExplorer-usage-token path: /api/atlas/v2/orgs/{orgId}/billing/costExplorer/usage/{token} operations: - name: getorgbillingcostexplorerusage method: GET description: Return Usage Details for One Cost Explorer Query outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: path type: string description: Unique 64 digit string that identifies the Cost Explorer query. required: true - name: api-atlas-v2-orgs-orgId-invoices path: /api/atlas/v2/orgs/{orgId}/invoices operations: - name: listorginvoices method: GET description: Return All Invoices for One Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: viewLinkedInvoices in: query type: boolean description: Flag that indicates whether to return linked invoices in the `linkedInvoices` field. - name: statusNames in: query type: array description: Statuses of the invoice to be retrieved. Omit to return invoices of all statuses. - name: fromDate in: query type: string description: Retrieve the invoices the `startDates` of which are greater than or equal to the `fromDate`. If omit, the invoices return will go back to earliest `startDate`. - name: toDate in: query type: string description: Retrieve the invoices the `endDates` of which are smaller than or equal to the `toDate`. If omit, the invoices return will go further to latest `endDate`. - name: sortBy in: query type: string description: Field used to sort the returned invoices by. Use in combination with `orderBy` parameter to control the order of the result. - name: orderBy in: query type: string description: Field used to order the returned invoices by. Use in combination of `sortBy` parameter to control the order of the result. - name: api-atlas-v2-orgs-orgId-invoices-pending path: /api/atlas/v2/orgs/{orgId}/invoices/pending operations: - name: listorginvoicepending method: GET description: Return All Pending Invoices for One Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-atlas-v2-orgs-orgId-invoices-invoiceId path: /api/atlas/v2/orgs/{orgId}/invoices/{invoiceId} operations: - name: getorginvoice method: GET description: Return One Invoice for One Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: invoiceId in: path type: string description: Unique 24-hexadecimal digit string that identifies the invoice submitted to the specified organization. Charges typically post the next day. required: true - name: api-atlas-v2-orgs-orgId-invoices-invoiceId-csv path: /api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/csv operations: - name: getorginvoicecsv method: GET description: Return One Invoice as CSV for One Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: invoiceId in: path type: string description: Unique 24-hexadecimal digit string that identifies the invoice submitted to the specified organization. Charges typically post the next day. required: true - name: api-atlas-v2-orgs-orgId-invoices-invoiceId-lineItems:search path: /api/atlas/v2/orgs/{orgId}/invoices/{invoiceId}/lineItems:search operations: - name: searchorginvoicelineitems method: GET description: Return All Line Items for One Invoice by Invoice ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: invoiceId in: path type: string description: Unique 24-hexadecimal digit string that identifies the invoice submitted to the specified organization. Charges typically post the next day. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-atlas-v2-skus path: /api/atlas/v2/skus operations: - name: listskus method: GET description: Return All Stock Keeping Units outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-atlas-v2-skus-skuId path: /api/atlas/v2/skus/{skuId} operations: - name: getsku method: GET description: Return One Stock Keeping Unit outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: skuId in: path type: string description: Unique identifier of the SKU to retrieve. required: true authentication: type: bearer token: '{{env.MONGODB_API_KEY}}' exposes: - type: rest namespace: atlas-invoices-rest port: 8080 description: REST adapter for MongoDB Atlas Administration API — Invoices. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/atlas/v2/orgs/{orgid}/billing/costexplorer/usage name: api-atlas-v2-orgs-orgid-billing-costexplorer-usage description: REST surface for api-atlas-v2-orgs-orgId-billing-costExplorer-usage. operations: - method: POST name: createorgbillingcostexplorerusageprocess description: Create One Cost Explorer Query Process call: atlas-invoices.createorgbillingcostexplorerusageprocess with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/orgs/{orgid}/billing/costexplorer/usage/{token} name: api-atlas-v2-orgs-orgid-billing-costexplorer-usage-token description: REST surface for api-atlas-v2-orgs-orgId-billing-costExplorer-usage-token. operations: - method: GET name: getorgbillingcostexplorerusage description: Return Usage Details for One Cost Explorer Query call: atlas-invoices.getorgbillingcostexplorerusage with: token: rest.token outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/orgs/{orgid}/invoices name: api-atlas-v2-orgs-orgid-invoices description: REST surface for api-atlas-v2-orgs-orgId-invoices. operations: - method: GET name: listorginvoices description: Return All Invoices for One Organization call: atlas-invoices.listorginvoices with: viewLinkedInvoices: rest.viewLinkedInvoices statusNames: rest.statusNames fromDate: rest.fromDate toDate: rest.toDate sortBy: rest.sortBy orderBy: rest.orderBy outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/orgs/{orgid}/invoices/pending name: api-atlas-v2-orgs-orgid-invoices-pending description: REST surface for api-atlas-v2-orgs-orgId-invoices-pending. operations: - method: GET name: listorginvoicepending description: Return All Pending Invoices for One Organization call: atlas-invoices.listorginvoicepending outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/orgs/{orgid}/invoices/{invoiceid} name: api-atlas-v2-orgs-orgid-invoices-invoiceid description: REST surface for api-atlas-v2-orgs-orgId-invoices-invoiceId. operations: - method: GET name: getorginvoice description: Return One Invoice for One Organization call: atlas-invoices.getorginvoice with: invoiceId: rest.invoiceId outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/orgs/{orgid}/invoices/{invoiceid}/csv name: api-atlas-v2-orgs-orgid-invoices-invoiceid-csv description: REST surface for api-atlas-v2-orgs-orgId-invoices-invoiceId-csv. operations: - method: GET name: getorginvoicecsv description: Return One Invoice as CSV for One Organization call: atlas-invoices.getorginvoicecsv with: invoiceId: rest.invoiceId outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/orgs/{orgid}/invoices/{invoiceid}/lineitems-search name: api-atlas-v2-orgs-orgid-invoices-invoiceid-lineitems-search description: REST surface for api-atlas-v2-orgs-orgId-invoices-invoiceId-lineItems:search. operations: - method: GET name: searchorginvoicelineitems description: Return All Line Items for One Invoice by Invoice ID call: atlas-invoices.searchorginvoicelineitems with: invoiceId: rest.invoiceId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/skus name: api-atlas-v2-skus description: REST surface for api-atlas-v2-skus. operations: - method: GET name: listskus description: Return All Stock Keeping Units call: atlas-invoices.listskus outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/skus/{skuid} name: api-atlas-v2-skus-skuid description: REST surface for api-atlas-v2-skus-skuId. operations: - method: GET name: getsku description: Return One Stock Keeping Unit call: atlas-invoices.getsku with: skuId: rest.skuId outputParameters: - type: object mapping: $. - type: mcp namespace: atlas-invoices-mcp port: 9090 transport: http description: MCP adapter for MongoDB Atlas Administration API — Invoices. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-one-cost-explorer-query description: Create One Cost Explorer Query Process hints: readOnly: true destructive: false idempotent: false call: atlas-invoices.createorgbillingcostexplorerusageprocess with: body: tools.body outputParameters: - type: object mapping: $. - name: return-usage-details-one-cost description: Return Usage Details for One Cost Explorer Query hints: readOnly: true destructive: false idempotent: true call: atlas-invoices.getorgbillingcostexplorerusage with: token: tools.token outputParameters: - type: object mapping: $. - name: return-all-invoices-one-organization description: Return All Invoices for One Organization hints: readOnly: true destructive: false idempotent: true call: atlas-invoices.listorginvoices with: viewLinkedInvoices: tools.viewLinkedInvoices statusNames: tools.statusNames fromDate: tools.fromDate toDate: tools.toDate sortBy: tools.sortBy orderBy: tools.orderBy outputParameters: - type: object mapping: $. - name: return-all-pending-invoices-one description: Return All Pending Invoices for One Organization hints: readOnly: true destructive: false idempotent: true call: atlas-invoices.listorginvoicepending outputParameters: - type: object mapping: $. - name: return-one-invoice-one-organization description: Return One Invoice for One Organization hints: readOnly: true destructive: false idempotent: true call: atlas-invoices.getorginvoice with: invoiceId: tools.invoiceId outputParameters: - type: object mapping: $. - name: return-one-invoice-csv-one description: Return One Invoice as CSV for One Organization hints: readOnly: true destructive: false idempotent: true call: atlas-invoices.getorginvoicecsv with: invoiceId: tools.invoiceId outputParameters: - type: object mapping: $. - name: return-all-line-items-one description: Return All Line Items for One Invoice by Invoice ID hints: readOnly: true destructive: false idempotent: true call: atlas-invoices.searchorginvoicelineitems with: invoiceId: tools.invoiceId body: tools.body outputParameters: - type: object mapping: $. - name: return-all-stock-keeping-units description: Return All Stock Keeping Units hints: readOnly: true destructive: false idempotent: true call: atlas-invoices.listskus outputParameters: - type: object mapping: $. - name: return-one-stock-keeping-unit description: Return One Stock Keeping Unit hints: readOnly: true destructive: false idempotent: true call: atlas-invoices.getsku with: skuId: tools.skuId outputParameters: - type: object mapping: $.