Skip to main content
POST
/
customer-offers
/
manual
Create manual Customer Offer
curl --request POST \
  --url https://api.mijnklantportaal.nl/v1/customer-offers/manual \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "customerId": "cst_abc12345def678",
  "offerNumber": "2014-001",
  "issuedAt": "2025-04-14",
  "expiresAt": "2025-04-31",
  "sendNotification": true,
  "lines": [
    {
      "description": "Website template",
      "amountExclVat": "12.95",
      "vatRate": 21
    }
  ]
}'
{
  "id": "off_abc12345def678",
  "customerId": "cst_abc12345def678",
  "offerNumber": "2024-001",
  "issuedAt": "2024-04-29",
  "expiresAt": "2024-05-29",
  "currency": "EUR",
  "amount": "12.95",
  "acceptedAt": "2024-05-14T21:00:00+02:00",
  "acceptedViaIp": "123.456.7.8.9",
  "acceptedViaUserAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36",
  "acceptanceSignature": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAA...",
  "rejectedAt": "2024-05-14T21:00:00+02:00",
  "createdAt": "2024-04-29T21:00:00+02:00",
  "links": {
    "customer": {
      "href": "https://api.mijnklantportaal.nl/v1/customers/cst_abc12345def678",
      "type": "<string>"
    }
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
customerId
string
required

ID of the customer this offer is meant for

Example:

"cst_abc12345def678"

offerNumber
string
required

Number of the offer, as string

Example:

"2014-001"

issuedAt
string
required

Date when the offer is issued, in YYYY-mm-dd format

Example:

"2025-04-14"

expiresAt
string
required

Date when the offer expires, in YYYY-mm-dd format

Example:

"2025-04-31"

lines
object[]
required

Line in this offer

sendNotification
boolean

Indicates if MijnKlantportaal should send out the notification to inform the customer about the new offer

Example:

true

Response

Getting the created Customer Offer

Customer Offer

id
string

ID of the offer, always starting with off_.

Example:

"off_abc12345def678"

customerId
string

ID of the customer which the offer belongs to.

Example:

"cst_abc12345def678"

offerNumber
string

Number of the offer as string.

Example:

"2024-001"

issuedAt
string

Issue date of the offer. Formatted as YYYY-mm-dd.

Example:

"2024-04-29"

expiresAt
string

Date on which the the offer expires. Formatted as YYYY-mm-dd.

Example:

"2024-05-29"

currency
string

Currency of the offer amount.

Example:

"EUR"

amount
string

Invoice offer as string.

Example:

"12.95"

acceptedAt
string | null

Date and time the offer is marked as accepted. Written in ATOM format.

Example:

"2024-05-14T21:00:00+02:00"

acceptedViaIp
string | null

IP address from which the offer was accepted.

Example:

"123.456.7.8.9"

acceptedViaUserAgent
string | null

User-Agent which is used to accept the offer.

Example:

"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"

acceptanceSignature
string | null

base64 data string of the signature as PNG.

Example:

"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAA..."

rejectedAt
string | null

Date and time the offer is marked as rejected. Written in ATOM format.

Example:

"2024-05-14T21:00:00+02:00"

createdAt
string

Date and time when the offer was added to MijnKlantportaal. Written in ATOM format.

Example:

"2024-04-29T21:00:00+02:00"

I