Phase 2 — Customer Registration & Positions
Steps 3–7 of reseller onboarding — register directors, owners, and UBOs, upload their KYC documents, and link them to the organisation.
Part of Merchant Acquiring Reseller — Phase 2 of 6 · Actor: ResellerRegister each person behind the business, upload their KYC documents, and assign their position in the organisation. The KYB ruleset later runs KYC on every positional holder, so complete identity data here is essential.
Step 03 — Check if customer already exists
Avoid duplicate records — check by ID number, email, or passport before creating. Repeat for every director, owner, and UBO.
Actor: Reseller
HEAD /eclipse-conductor/rest/v1/tenants/{tenantId}/customers
📎 API reference: Check if a customer exists
A 200 response means the customer exists — reuse the returned customerId and skip Step 04. A 404 means proceed to create.
| Query parameter | Notes |
|---|---|
nationalIdentityNumber | SA ID number |
passportNumber | Foreign passport number |
email | Email address |
phone1 | Mobile number |
identity | Login identity username |
asylumRefNumber | Asylum reference number |
Pass at least one of the above.
Step 04 — Create customer
Register each director, owner, and UBO as a customer. Minimum KYC fields must be populated at creation — the KYB ruleset runs KYC on every positional holder later, and incomplete identity data will cause that step to fail.
Actor: Reseller
POST /eclipse-conductor/rest/v1/tenants/{tenantId}/customers
📎 API reference: Register a new customer
Minimum fields for KYC
| Field | Notes |
|---|---|
externalUniqueId | Your unique reference for this customer (6–100 chars) |
firstName | Legal first name (2–50 chars) |
lastName | Legal surname (2–50 chars) |
dateOfBirth | Format: yyyyMMdd e.g. 19850214 |
nationalIdentityNumber | SA ID number (5–20 chars) |
nationalIdentityCountryOfIssuance | ISO alpha-2 e.g. ZA |
nationalIdentityDateOfIssuance | Format: yyyyMMdd — not required for SA ID (derived from ID number); required for foreign ID / passport |
nationalIdentityExpiry | Format: yyyyMMdd — not required for SA ID (SA ID does not expire); required for foreign ID / passport |
Additional fields for foreign nationals (use instead of national ID)
| Field | Notes |
|---|---|
passportNumber | Passport number (5–20 chars) |
passportCountry | ISO alpha-2 country of issue |
passportDateOfIssuance | Format: yyyyMMdd |
passportExpiry | Format: yyyyMMdd |
passportPlaceOfIssuance | City or office of issuance |
nationality | Country of nationality |
Step 05 — Upload customer KYC documents
Upload supporting identity documents for each customer registered in Step 04. One call per document type. Repeat for every director, owner, and UBO.
Actor: Reseller
POST /eclipse-conductor/rest/v1/tenants/{tenantId}/customers/{customerId}/documents
📎 API reference: Add a new document against the customer
| Field | Notes |
|---|---|
documentType | See supported types below |
base64EncodedDocument | Base64-encoded file content |
mediaType | image/jpeg · image/png · application/pdf |
performOcr | Query param — enables OCR on upload |
validateDocType | Query param — verifies content matches the declared type (requires performOcr=true) |
Mandatory — Green Book (SA ID Book)
NATIONAL_IDENTITY
Mandatory — Smart ID Card (both sides required)
NATIONAL_IDENTITY · BACK_OF_NATIONAL_IDENTITY
Optional — supported document types
PASSPORT · DRIVERS_LICENSE · BACK_OF_DRIVERS_LICENSE · TEMPORARY_IDENTITY · TEMPORARY_IDENTITY_RECEIPT · BIRTH_CERTIFICATE · FACIAL_PHOTO · ENHANCED_DUE_DILIGENCE · ASYLUM_PAPERS · VISA · WORK_PERMIT · TEMP_RESIDENCY_PERMIT · PERMIT · PROOF_OF_ADDRESS · BANK_STATEMENT · PROOF_OF_FUNDS · TAX · AFFIDAVIT · FOREIGN_CERTIFICATE
See the full list in the quick reference.
Step 06 — Create customer identity (login)
Provision portal access credentials for the merchant admin user. Only required for individuals who need portal or API access — not required for silent directors or UBOs.
Actor: Reseller
POST /eclipse-conductor/rest/v1/tenants/{tenantId}/customers/{customerId}/identities
HEAD /eclipse-conductor/rest/v1/tenants/{tenantId}/customers/{customerId}/identities
GET /eclipse-conductor/rest/v1/tenants/{tenantId}/customers/{customerId}/identities/{identity}
📎 API reference: Create a username/password for a customer · Check if a customer has any identities · Get a specific customer identity
| Field | Notes |
|---|---|
identity | Username for login (3–40 chars) — typically the customer's email address |
password | Leave unset — trigger a password-set email via Step 07 instead |
totpEnabled | true to require TOTP MFA — response returns the QR seed |
changeAfter | ISO 8601 — force password reset after this date |
Do not set a password at creationIssuing a password in the API call means the reseller has handled the credential. Defer to the password-set email triggered in Step 07 so the customer sets their own credential — least-privilege handling for authentication material.
Step 07 — Assign customer position in organisation
Links the customer to the organisation. The KYB ruleset checks every positional holder for KYC compliance.
Actor: Reseller
POST /eclipse-conductor/rest/v1/tenants/{tenantId}/customers/{customerId}/positions
📎 API reference: Add a position held by the customer
| Field | Notes |
|---|---|
organisationId | The org this position belongs to |
position | See position types below |
Available position types
DIRECTOR · HEAD · OWNER · MANAGER · PARTNER · MEMBER · EMPLOYEE · PRIMARY_CONTACT
At least oneDIRECTORis required for company structuresThe KYB ruleset iterates all
DIRECTORpositions and runs KYC on each one. If no directors are assigned the ruleset fails immediately. For Sole Proprietors useHEADorMANAGER— the ruleset will check whichever positional holders apply to the business structure. AssignPRIMARY_CONTACTto the main point of contact in all cases.
After position assignment — send the welcome email
Trigger a password-set link to the customer. This sends the welcome email with a one-time link for the customer to set their own password.
POST /eclipse-conductor/rest/v1/global/identities/{identity}/password-change-init
{ "type": "LINK" }| Field | Notes |
|---|---|
type | LINK — sends a password-reset / set email to the customer's registered address |
Navigation
- ◀ Previous: Phase 1 — Organisation Setup
- ▲ Overview: Merchant Acquiring Reseller
- ▶ Next: Phase 3 — Organisation Documents & T&Cs
