naftiko: 1.0.0-alpha2 info: label: Pipedrive API v2 — DealInstallments description: 'Pipedrive API v2 — DealInstallments. 4 operations. Lead operation: List installments added to a list of deals. Self-contained Naftiko capability covering one Pipedrive business surface.' tags: - Pipedrive - DealInstallments created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PIPEDRIVE_API_KEY: PIPEDRIVE_API_KEY capability: consumes: - type: http namespace: v2-dealinstallments baseUri: https://api.pipedrive.com/api/v2 description: Pipedrive API v2 — DealInstallments business capability. Self-contained, no shared references. resources: - name: deals-installments path: /deals/installments operations: - name: getinstallments method: GET description: List installments added to a list of deals outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: deal_ids in: query type: array description: An array of integers with the IDs of the deals for which the attached installments will be returned. A maximum of 100 deal IDs can be provided. required: true - name: cursor in: query type: string description: For pagination, the marker (an opaque string value) representing the first item on the next page - name: limit in: query type: integer description: For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed. - name: sort_by in: query type: string description: 'The field to sort by. Supported fields: `id`, `billing_date`, `deal_id`.' - name: sort_direction in: query type: string description: 'The sorting direction. Supported values: `asc`, `desc`.' - name: deals-id-installments path: /deals/{id}/installments operations: - name: postinstallment method: POST description: Add an installment to a deal outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The ID of the deal required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deals-id-installments-installment_id path: /deals/{id}/installments/{installment_id} operations: - name: updateinstallment method: PATCH description: Update an installment added to a deal outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The ID of the deal required: true - name: installment_id in: path type: integer description: The ID of the installment required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deleteinstallment method: DELETE description: Delete an installment from a deal outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: The ID of the deal required: true - name: installment_id in: path type: integer description: The ID of the installment required: true authentication: type: bearer token: '{{env.PIPEDRIVE_API_KEY}}' exposes: - type: rest namespace: v2-dealinstallments-rest port: 8080 description: REST adapter for Pipedrive API v2 — DealInstallments. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/deals/installments name: deals-installments description: REST surface for deals-installments. operations: - method: GET name: getinstallments description: List installments added to a list of deals call: v2-dealinstallments.getinstallments with: deal_ids: rest.deal_ids cursor: rest.cursor limit: rest.limit sort_by: rest.sort_by sort_direction: rest.sort_direction outputParameters: - type: object mapping: $. - path: /v1/deals/{id}/installments name: deals-id-installments description: REST surface for deals-id-installments. operations: - method: POST name: postinstallment description: Add an installment to a deal call: v2-dealinstallments.postinstallment with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/deals/{id}/installments/{installment-id} name: deals-id-installments-installment-id description: REST surface for deals-id-installments-installment_id. operations: - method: PATCH name: updateinstallment description: Update an installment added to a deal call: v2-dealinstallments.updateinstallment with: id: rest.id installment_id: rest.installment_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteinstallment description: Delete an installment from a deal call: v2-dealinstallments.deleteinstallment with: id: rest.id installment_id: rest.installment_id outputParameters: - type: object mapping: $. - type: mcp namespace: v2-dealinstallments-mcp port: 9090 transport: http description: MCP adapter for Pipedrive API v2 — DealInstallments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-installments-added-list-deals description: List installments added to a list of deals hints: readOnly: true destructive: false idempotent: true call: v2-dealinstallments.getinstallments with: deal_ids: tools.deal_ids cursor: tools.cursor limit: tools.limit sort_by: tools.sort_by sort_direction: tools.sort_direction outputParameters: - type: object mapping: $. - name: add-installment-deal description: Add an installment to a deal hints: readOnly: false destructive: false idempotent: false call: v2-dealinstallments.postinstallment with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: update-installment-added-deal description: Update an installment added to a deal hints: readOnly: false destructive: false idempotent: true call: v2-dealinstallments.updateinstallment with: id: tools.id installment_id: tools.installment_id body: tools.body outputParameters: - type: object mapping: $. - name: delete-installment-deal description: Delete an installment from a deal hints: readOnly: false destructive: true idempotent: true call: v2-dealinstallments.deleteinstallment with: id: tools.id installment_id: tools.installment_id outputParameters: - type: object mapping: $.