Novicap Dynamic Discounting API
Dynamic discounting suppliers, invoices, payment instructions and adjustments.
Dynamic discounting suppliers, invoices, payment instructions and adjustments.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/novicap-dynamic-discounting-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Novicap Confirming Standard Dynamic Discounting API
version: v1
description: Novicap working-capital API. Transcribed faithfully from the published API Reference at https://developer.novicap.com/ (operations, paths, methods, parameters, auth scheme and documented HTTP error codes). Request/response property schemas are only partially documented by the provider; bodies are modelled as open objects and MUST NOT be treated as an authoritative field contract. Provider does not publish an OpenAPI document; this is an API Evangelist generation from the public docs.
contact:
name: Novicap Support
email: support@novicap.com
url: https://developer.novicap.com/
servers:
- url: https://api.novicap.com/v1
description: Production
security:
- bearerAuth: []
tags:
- name: Dynamic Discounting
description: Dynamic discounting suppliers, invoices, payment instructions and adjustments.
paths:
/dynamic_discounting/suppliers:
post:
tags:
- Dynamic Discounting
operationId: addDynamicDiscountingSuppliers
summary: Add dynamic discounting suppliers
parameters:
- $ref: '#/components/parameters/ProductId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SupplierInput'
responses:
'200':
$ref: '#/components/responses/Success'
'201':
$ref: '#/components/responses/Created'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
get:
tags:
- Dynamic Discounting
operationId: retrieveDynamicDiscountingSuppliers
summary: Retrieve dynamic discounting suppliers
parameters:
- $ref: '#/components/parameters/ProductId'
responses:
'200':
$ref: '#/components/responses/Success'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
/dynamic_discounting/invoices:
post:
tags:
- Dynamic Discounting
operationId: addDynamicDiscountingInvoices
summary: Add dynamic discounting invoices
description: Invoices with a matching supplier and reference that are not yet part of a payment instruction are updated rather than duplicated.
parameters:
- $ref: '#/components/parameters/ProductId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/InvoiceInput'
responses:
'200':
$ref: '#/components/responses/Success'
'201':
$ref: '#/components/responses/Created'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
get:
tags:
- Dynamic Discounting
operationId: retrieveDynamicDiscountingInvoices
summary: Retrieve dynamic discounting invoices
parameters:
- $ref: '#/components/parameters/ProductId'
responses:
'200':
$ref: '#/components/responses/Success'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
/dynamic_discounting/invoices/{transaction_id}:
delete:
tags:
- Dynamic Discounting
operationId: deleteDynamicDiscountingInvoice
summary: Delete a dynamic discounting invoice
parameters:
- $ref: '#/components/parameters/ProductId'
- $ref: '#/components/parameters/TransactionId'
responses:
'200':
$ref: '#/components/responses/Success'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerError'
/dynamic_discounting/payment_instructions:
post:
tags:
- Dynamic Discounting
operationId: createDynamicDiscountingPaymentInstruction
summary: Create a dynamic discounting payment instruction
parameters:
- $ref: '#/components/parameters/ProductId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentInstructionInput'
responses:
'200':
$ref: '#/components/responses/Success'
'201':
$ref: '#/components/responses/Created'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
get:
tags:
- Dynamic Discounting
operationId: retrieveDynamicDiscountingPaymentInstructions
summary: Retrieve dynamic discounting payment instructions
parameters:
- $ref: '#/components/parameters/ProductId'
responses:
'200':
$ref: '#/components/responses/Success'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
/dynamic_discounting/payment_adjustments:
post:
tags:
- Dynamic Discounting
operationId: createDynamicDiscountingPaymentAdjustment
summary: Create a dynamic discounting payment adjustment
parameters:
- $ref: '#/components/parameters/ProductId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentAdjustmentInput'
responses:
'200':
$ref: '#/components/responses/Success'
'201':
$ref: '#/components/responses/Created'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
get:
tags:
- Dynamic Discounting
operationId: retrieveDynamicDiscountingPaymentAdjustments
summary: Retrieve dynamic discounting payment adjustments
parameters:
- $ref: '#/components/parameters/ProductId'
responses:
'200':
$ref: '#/components/responses/Success'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
/dynamic_discounting/payment_adjustments/{transaction_id}:
delete:
tags:
- Dynamic Discounting
operationId: deleteDynamicDiscountingPaymentAdjustment
summary: Delete a dynamic discounting payment adjustment
parameters:
- $ref: '#/components/parameters/ProductId'
- $ref: '#/components/parameters/TransactionId'
responses:
'200':
$ref: '#/components/responses/Success'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerError'
components:
responses:
Forbidden:
description: Forbidden — the endpoint is not enabled for this account. Contact support@novicap.com to request access.
Unauthorized:
description: Unauthorized — missing or invalid API key.
Created:
description: Resource created (application/json).
content:
application/json:
schema:
type: object
additionalProperties: true
NotFound:
description: Not Found — the referenced resource does not exist.
BadRequest:
description: Bad Request — the request was malformed or invalid.
Success:
description: Successful response (application/json).
content:
application/json:
schema:
type: object
additionalProperties: true
ServerError:
description: Server error (500 / 502 / 503 / 504).
schemas:
PaymentAdjustmentInput:
type: object
description: Payment adjustment payload. Field contract is only partially documented.
additionalProperties: true
PaymentInstructionInput:
type: object
description: Payment instruction payload. Field contract is only partially documented.
additionalProperties: true
SupplierInput:
type: object
description: Supplier payload. Field contract is only partially documented by the provider.
additionalProperties: true
InvoiceInput:
type: object
description: Invoice payload. Documented deduplication key is (supplier, reference). Remaining fields are only partially documented by the provider.
additionalProperties: true
properties:
supplier:
type: string
description: Supplier reference the invoice belongs to.
reference:
type: string
description: Invoice reference used for deduplication.
parameters:
TransactionId:
name: transaction_id
in: path
required: true
description: Transaction identifier of the resource (e.g. DDI-ABCD, I-ABCD).
schema:
type: string
ProductId:
name: product_id
in: query
required: true
description: Identifier of the Novicap product the request operates against.
schema:
type: integer
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'API key issued from the Novicap user profile, sent as "Authorization: Bearer {api_key}". The key may alternatively be supplied as an "api_key" field in the JSON payload. OAuth 2.0 is available on request. A "product_id" is required on every request.'
x-provenance:
generated: '2026-07-20'
method: generated
source: https://developer.novicap.com/