contacts

Create

Creates either a LINKED contact (pass contact_account_id — must be a discoverable account per the same rules as suggestions/lookup, or 403/404) or a CUSTOM one (omit it; requires at least one of name/email/phone/wallet — 400 bad_request otherwise). Duplicate detection is per-field: a repeat contact_account_id, custom_email, or custom_wallet_address returns 409 rather than a second row — scanning the same payment QR twice is expected to resolve to the existing contact. custom_wallet_address must be a validly-shaped address (400 invalid_wallet_address otherwise) and becomes the contact's pay-to destination.

post/contacts

Request

  • Base URL: https://api.instruxi.dev/api/v1/enforcer
  • URL: https://api.instruxi.dev/api/v1/enforcer/contacts
  • Auth: one of:
    • API key in header Authorization
    • API key in header X-API-Key

Request body

contact_account_idstring
custom_avatar_urlstring

CustomAvatarURL is this owner's private picture override for the contact — a CDN URL previously returned by an enforcer-files image upload. Set on a LINKED contact it shadows that person's own profile picture, for this owner only; on a custom contact it is the only picture available. Must be https and, when the deployment configures an allowlist, on an approved CDN host.

custom_emailstring
custom_first_namestring
custom_last_namestring
custom_phone_numberstring
custom_wallet_addressstring

CustomWalletAddress is the pay-to wallet for a custom (off-platform) contact — the QR-scan flow's payload. Previously ABSENT from this struct: the client sent it, the server silently dropped it, and wallet-only contacts landed unpayable and un-dedupable.

descriptionstring
namestring

Response

Created

successboolean

Example response

{
  "success": true
}

Changes

No recorded changes to this operation across all 1 revision of this API.