naftiko: 1.0.0-alpha2 info: label: Endpoints — subpackage_invoiceAdjustments description: 'Endpoints — subpackage_invoiceAdjustments. 7 operations. Lead operation: Invoice line items by contract. Self-contained Naftiko capability covering one Deel business surface.' tags: - Deel - subpackage_invoiceAdjustments created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: DEEL_API_KEY: DEEL_API_KEY capability: consumes: - type: http namespace: platform-endpoints-subpackage-invoiceadjustments baseUri: https://api.letsdeel.com/rest/v2 description: Endpoints — subpackage_invoiceAdjustments business capability. Self-contained, no shared references. resources: - name: contracts-contract_id-invoice-adjustments path: /contracts/{contract_id}/invoice-adjustments operations: - name: getcontractinvoiceadjustments method: GET description: Invoice line items by contract outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: contract_id in: path type: string description: Deel contract id. required: true - name: contract_types in: query type: string description: types of contracts to filter - name: types in: query type: string description: types of invoice adjustments to filter - name: statuses in: query type: string description: statuses of invoice adjustment to filter - name: invoice_id in: query type: string description: ID of an existing invoice - name: reporter_id in: query type: string description: ID of an existing profile - name: date_from in: query type: string description: 'To get invoice adjustments submitted on or after given start date (inclusive). Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31.' - name: date_to in: query type: string description: To get invoice adjustments submitted before given end date (excludes records submitted on this date). Short date in format ISO-8601 (YYYY-MM-DD). For example - name: limit in: query type: string description: 'Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings' - name: offset in: query type: string description: 'Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings' - name: Authorization in: header type: string description: '## Authentication' required: true - name: invoice-adjustments path: /invoice-adjustments operations: - name: createinvoiceadjustment method: POST description: Create an invoice adjustment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: recurring in: query type: string description: Add this invoice adjustment as recurring - name: Authorization in: header type: string description: '## Authentication' required: true - name: body in: body type: object description: Request body (JSON). required: false - name: getinvoiceadjustments method: GET description: List invoice adjustments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: contract_id in: query type: string description: Id of an Deel contract. - name: contract_types in: query type: string description: types of contracts to filter - name: types in: query type: string description: types of invoice adjustments to filter - name: statuses in: query type: string description: statuses of invoice adjustment to filter - name: invoice_id in: query type: string description: ID of an existing invoice - name: reporter_id in: query type: string description: ID of an existing profile - name: date_from in: query type: string description: 'To get invoice adjustments submitted on or after given start date (inclusive). Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31.' - name: date_to in: query type: string description: 'To get invoice adjustments submitted before given end date (excludes records submitted on this date). Short date in format ISO-8601 (YYYY-MM-DD). For example: 2' - name: limit in: query type: string description: 'Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings' - name: offset in: query type: string description: 'Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings' - name: Authorization in: header type: string description: '## Authentication' required: true - name: invoice-adjustments-id path: /invoice-adjustments/{id} operations: - name: deleteinvoiceadjustment method: DELETE description: Delete adjustment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Invoice adjustment id. required: true - name: Authorization in: header type: string description: '## Authentication' required: true - name: getinvoiceadjustmentbyid method: GET description: Invoice line item by Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: ID of an existing invoice required: true - name: Authorization in: header type: string description: '## Authentication' required: true - name: updateinvoiceadjustment method: PATCH description: Update an invoice adjustment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Invoice adjustment id. required: true - name: Authorization in: header type: string description: '## Authentication' required: true - name: body in: body type: object description: Request body (JSON). required: false - name: invoice-adjustments-id-reviews path: /invoice-adjustments/{id}/reviews operations: - name: createinvoiceadjustmentreview method: POST description: Review a single invoice adjustment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: ID of an existing invoice adjustment. required: true - name: Authorization in: header type: string description: '## Authentication' required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: bearer token: '{{env.DEEL_API_KEY}}' exposes: - type: rest namespace: platform-endpoints-subpackage-invoiceadjustments-rest port: 8080 description: REST adapter for Endpoints — subpackage_invoiceAdjustments. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/contracts/{contract-id}/invoice-adjustments name: contracts-contract-id-invoice-adjustments description: REST surface for contracts-contract_id-invoice-adjustments. operations: - method: GET name: getcontractinvoiceadjustments description: Invoice line items by contract call: platform-endpoints-subpackage-invoiceadjustments.getcontractinvoiceadjustments with: contract_id: rest.contract_id contract_types: rest.contract_types types: rest.types statuses: rest.statuses invoice_id: rest.invoice_id reporter_id: rest.reporter_id date_from: rest.date_from date_to: rest.date_to limit: rest.limit offset: rest.offset Authorization: rest.Authorization outputParameters: - type: object mapping: $. - path: /v1/invoice-adjustments name: invoice-adjustments description: REST surface for invoice-adjustments. operations: - method: POST name: createinvoiceadjustment description: Create an invoice adjustment call: platform-endpoints-subpackage-invoiceadjustments.createinvoiceadjustment with: recurring: rest.recurring Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getinvoiceadjustments description: List invoice adjustments call: platform-endpoints-subpackage-invoiceadjustments.getinvoiceadjustments with: contract_id: rest.contract_id contract_types: rest.contract_types types: rest.types statuses: rest.statuses invoice_id: rest.invoice_id reporter_id: rest.reporter_id date_from: rest.date_from date_to: rest.date_to limit: rest.limit offset: rest.offset Authorization: rest.Authorization outputParameters: - type: object mapping: $. - path: /v1/invoice-adjustments/{id} name: invoice-adjustments-id description: REST surface for invoice-adjustments-id. operations: - method: DELETE name: deleteinvoiceadjustment description: Delete adjustment call: platform-endpoints-subpackage-invoiceadjustments.deleteinvoiceadjustment with: id: rest.id Authorization: rest.Authorization outputParameters: - type: object mapping: $. - method: GET name: getinvoiceadjustmentbyid description: Invoice line item by Id call: platform-endpoints-subpackage-invoiceadjustments.getinvoiceadjustmentbyid with: id: rest.id Authorization: rest.Authorization outputParameters: - type: object mapping: $. - method: PATCH name: updateinvoiceadjustment description: Update an invoice adjustment call: platform-endpoints-subpackage-invoiceadjustments.updateinvoiceadjustment with: id: rest.id Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - path: /v1/invoice-adjustments/{id}/reviews name: invoice-adjustments-id-reviews description: REST surface for invoice-adjustments-id-reviews. operations: - method: POST name: createinvoiceadjustmentreview description: Review a single invoice adjustment call: platform-endpoints-subpackage-invoiceadjustments.createinvoiceadjustmentreview with: id: rest.id Authorization: rest.Authorization body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: platform-endpoints-subpackage-invoiceadjustments-mcp port: 9090 transport: http description: MCP adapter for Endpoints — subpackage_invoiceAdjustments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: invoice-line-items-contract description: Invoice line items by contract hints: readOnly: true destructive: false idempotent: true call: platform-endpoints-subpackage-invoiceadjustments.getcontractinvoiceadjustments with: contract_id: tools.contract_id contract_types: tools.contract_types types: tools.types statuses: tools.statuses invoice_id: tools.invoice_id reporter_id: tools.reporter_id date_from: tools.date_from date_to: tools.date_to limit: tools.limit offset: tools.offset Authorization: tools.Authorization outputParameters: - type: object mapping: $. - name: create-invoice-adjustment description: Create an invoice adjustment hints: readOnly: false destructive: false idempotent: false call: platform-endpoints-subpackage-invoiceadjustments.createinvoiceadjustment with: recurring: tools.recurring Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $. - name: list-invoice-adjustments description: List invoice adjustments hints: readOnly: true destructive: false idempotent: true call: platform-endpoints-subpackage-invoiceadjustments.getinvoiceadjustments with: contract_id: tools.contract_id contract_types: tools.contract_types types: tools.types statuses: tools.statuses invoice_id: tools.invoice_id reporter_id: tools.reporter_id date_from: tools.date_from date_to: tools.date_to limit: tools.limit offset: tools.offset Authorization: tools.Authorization outputParameters: - type: object mapping: $. - name: delete-adjustment description: Delete adjustment hints: readOnly: false destructive: true idempotent: true call: platform-endpoints-subpackage-invoiceadjustments.deleteinvoiceadjustment with: id: tools.id Authorization: tools.Authorization outputParameters: - type: object mapping: $. - name: invoice-line-item-id description: Invoice line item by Id hints: readOnly: true destructive: false idempotent: true call: platform-endpoints-subpackage-invoiceadjustments.getinvoiceadjustmentbyid with: id: tools.id Authorization: tools.Authorization outputParameters: - type: object mapping: $. - name: update-invoice-adjustment description: Update an invoice adjustment hints: readOnly: false destructive: false idempotent: true call: platform-endpoints-subpackage-invoiceadjustments.updateinvoiceadjustment with: id: tools.id Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $. - name: review-single-invoice-adjustment description: Review a single invoice adjustment hints: readOnly: false destructive: false idempotent: false call: platform-endpoints-subpackage-invoiceadjustments.createinvoiceadjustmentreview with: id: tools.id Authorization: tools.Authorization body: tools.body outputParameters: - type: object mapping: $.