Skip to content
Basenet
🇳🇱 Nederlands
Esc
↑↓navigate↵open⌘Jpreview

Create an agent proposal without mutating business data (scope proposals:write)

POST/api/v1/proposals
Authorization
AuthorizationBearer token · headerrequired

Scoped API token (bnx_…). Required scopes are noted per operation.

Request body
application/json
capabilityIdstringrequired
min length 1
inputobjectrequired
rationalestring
max length 4000
evidencestring[]
max items 50
riskFlagsstring[]
max items 20
expiresAtstring<date-time>
Responses
201

Proposal created

proposalobjectrequired
Show properties
idstringrequired
capabilityIdstringrequired
statusstringrequired
Allowed:openacceptedcommittedcancelledexpired
versionintegerrequired
inputobjectrequired
rationalestring | nullrequired
evidenceany
metadataobjectrequired
Show properties
duplicateMatchesobject[]
Show properties
Array of object
idstringrequired
labelstring
reasonstringrequired
Allowed:kvkemailname_birthdaycompany_name
scorenumberrequired
confirmDuplicatesboolean
Allowed:true
riskFlagsstring[] | nullrequired
expiresAtstring | nullrequired
createdAtstringrequired
updatedAtstringrequired
400

Invalid request

errorstringrequired
codestringrequired
rulestring
401

Unauthenticated

errorstringrequired
codestringrequired
rulestring
403

Forbidden (missing scope or permission)

errorstringrequired
codestringrequired
rulestring
429

Rate limited

errorstringrequired
codestringrequired
rulestring
Request
curl -X POST '/api/v1/proposals' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "capabilityId": "string",
  "input": {
    "property1": null,
    "property2": null
  },
  "rationale": "string",
  "evidence": [
    "string"
  ],
  "riskFlags": [
    "string"
  ],
  "expiresAt": "2019-08-24T14:15:22Z"
}'
Response
{
  "proposal": {
    "id": "string",
    "capabilityId": "string",
    "status": "open",
    "version": 1,
    "input": {
      "property1": null,
      "property2": null
    },
    "rationale": "string",
    "evidence": null,
    "metadata": {
      "duplicateMatches": [
        {
          "id": "string",
          "label": "string",
          "reason": "kvk",
          "score": 0
        }
      ],
      "confirmDuplicates": true
    },
    "riskFlags": [
      "string"
    ],
    "expiresAt": "string",
    "createdAt": "string",
    "updatedAt": "string"
  }
}