DKBSignDocs

API reference

PATCHRequires Bearer token

Update profile

/api/v1/profile/{user}/update

Self-service only. Partial update. Use `multipart/form-data` when uploading seal; otherwise JSON.

  • MFA cannot be toggled here — use /api/v1/mfa/*.
  • signature_mentions.mentions is a closed vocabulary of at most 4 keys: fullName, jobTitle, company, email, signedAt, provider.
  • locale is fr, en, or null (clears the preference; emails fall back to the request locale then French).

Path parameters

FieldTypeDescription
user
Required
stringPath parameter user.

Query parameters

This endpoint has no query parameters.

Request body

Send as multipart/form-data.

FieldTypeDescription
first_name
stringFirst name.
e.g. "Jane"
last_name
stringLast name.
e.g. "Doe"
email
stringAccount email (unique).
e.g. "jane@acme.test"
card_id_number
stringNational ID card number.
e.g. "CI123456789"
phone_number
stringPhone in E.164 (+…).
e.g. "+2250700000001"
address
stringStreet address.
e.g. "12 Rue de la Paix"
city
stringCity.
e.g. "Abidjan"
country
stringCountry.
e.g. "Côte d'Ivoire"
job_title
stringJob title shown under the signature (max 120).
e.g. "Chief Financial Officer"
locale
stringEmail language: fr, en, or null to reset.
e.g. "fr"
seal
stringSeal image (png/jpg, max 20 MB). Replaces the previous file.
signature_mentions
objectAppearance block rendered under the signature.
e.g. {"enabled":true,"frame":false,"mentions":["fullName","signedAt"]}

Responses

StatusMeaning
200User updated successfully
401Missing or invalid Bearer token.

Request

curl
curl -X PATCH 'https://api.dkbsigns.com/api/v1/profile/user/update' \
  -H 'Authorization: Bearer $DKBSIGN_TOKEN' \
  -H 'Accept: application/json' \
  -F 'first_name=Jane' \
  -F 'last_name=Doe' \
  -F 'email=jane@acme.test' \
  -F 'card_id_number=CI123456789' \
  -F 'phone_number=+2250700000001' \
  -F 'address=12 Rue de la Paix' \
  -F 'city=Abidjan' \
  -F 'country=Côte d'Ivoire' \
  -F 'job_title=Chief Financial Officer' \
  -F 'locale=fr' \
  -F 'seal=seal' \
  -F 'signature_mentions={"enabled":true,"frame":false,"mentions":["fullName","signedAt"]}'

Response 200

json
{
  "status": "success",
  "message": "User updated successfully",
  "data": {
    "id": 4,
    "first_name": "Jane",
    "last_name": "Doe",
    "email": "user@acme.test",
    "role": "user",
    "company_id": 1,
    "job_title": "Chief Financial Officer",
    "locale": "fr",
    "seal": null,
    "signature_mentions": {
      "enabled": true,
      "frame": false,
      "mentions": [
        "fullName",
        "jobTitle"
      ]
    },
    "is_available": true
  }
}