naftiko: 1.0.0-alpha2 info: label: QuickBooks Online Accounting API — Customers description: 'QuickBooks Online Accounting API — Customers. 4 operations. Lead operation: Create a Customer. Self-contained Naftiko capability covering one Intuit business surface.' tags: - Intuit - Customers created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: INTUIT_API_KEY: INTUIT_API_KEY capability: consumes: - type: http namespace: quickbooks-accounting-customers baseUri: https://quickbooks.api.intuit.com/v3/company/{realmId} description: QuickBooks Online Accounting API — Customers business capability. Self-contained, no shared references. resources: - name: customer path: /customer operations: - name: createcustomer method: POST description: Create a Customer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: customer-customerId path: /customer/{customerId} operations: - name: readcustomer method: GET description: Read a Customer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatecustomer method: POST description: Update a Customer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sparse in: query type: boolean description: Set to true for a sparse (partial) update - name: body in: body type: object description: Request body (JSON). required: true - name: query path: /query operations: - name: queryentities method: GET description: Query Entities outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string description: 'A SQL-like query string. For example: SELECT * FROM Invoice WHERE TotalAmt > ''100.00'' ORDERBY TxnDate' required: true authentication: type: bearer token: '{{env.INTUIT_API_KEY}}' exposes: - type: rest namespace: quickbooks-accounting-customers-rest port: 8080 description: REST adapter for QuickBooks Online Accounting API — Customers. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/customer name: customer description: REST surface for customer. operations: - method: POST name: createcustomer description: Create a Customer call: quickbooks-accounting-customers.createcustomer with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/customer/{customerid} name: customer-customerid description: REST surface for customer-customerId. operations: - method: GET name: readcustomer description: Read a Customer call: quickbooks-accounting-customers.readcustomer outputParameters: - type: object mapping: $. - method: POST name: updatecustomer description: Update a Customer call: quickbooks-accounting-customers.updatecustomer with: sparse: rest.sparse body: rest.body outputParameters: - type: object mapping: $. - path: /v1/query name: query description: REST surface for query. operations: - method: GET name: queryentities description: Query Entities call: quickbooks-accounting-customers.queryentities with: query: rest.query outputParameters: - type: object mapping: $. - type: mcp namespace: quickbooks-accounting-customers-mcp port: 9090 transport: http description: MCP adapter for QuickBooks Online Accounting API — Customers. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-customer description: Create a Customer hints: readOnly: false destructive: false idempotent: false call: quickbooks-accounting-customers.createcustomer with: body: tools.body outputParameters: - type: object mapping: $. - name: read-customer description: Read a Customer hints: readOnly: true destructive: false idempotent: true call: quickbooks-accounting-customers.readcustomer outputParameters: - type: object mapping: $. - name: update-customer description: Update a Customer hints: readOnly: false destructive: false idempotent: false call: quickbooks-accounting-customers.updatecustomer with: sparse: tools.sparse body: tools.body outputParameters: - type: object mapping: $. - name: query-entities description: Query Entities hints: readOnly: true destructive: false idempotent: true call: quickbooks-accounting-customers.queryentities with: query: tools.query outputParameters: - type: object mapping: $.