Skip to main content

📄 Guide

These questions come from partners’ most frequent enquiries during integration and operations. If yours is not here, contact the DCS team.

Frequently asked questions

Q1. How long does company onboarding take after submission? Complete KYB first, then call the endpoint to create the company. Onboarding is asynchronous: the endpoint returns only the application ID and PENDING synchronously. The result arrives as ORGANIZATION_CREATED / ORGANIZATION_REJECTED, and can also be polled by application ID. Acceptance is not approval — after receiving the application ID, do not issue cards straight away; once the company is created, follow the flow in the Quickstart. Q2. Can a rejected KYB / KYC be submitted again? Yes. Use resubmit under the same application ID, with corrections. It is allowed only while the current state is REJECTED; an in-flight or already-approved application returns a state conflict. Q3. Can emails and phone numbers be reused? No. Within one partner, company emails, employee emails, employee phone numbers and company registration numbers are all unique, and once taken they are not released even after a rejection. To change them, go through resubmit or the employee-update endpoint — do not reapply under a new external ID. Q4. Does renaming an employee re-trigger KYC? Yes. If a KYC is already in flight the call returns KYC_IN_REVIEW; retry after the result lands. Q5. How many cards can a company / employee hold? There are caps at two levels — per company and per holder — counting live cards and in-flight applications together; exceeding them returns CARD_LIMIT_EXCEEDED. Confirm the exact numbers with your support contact during onboarding. Q6. When do I get the card number? Can I get the full PAN? Query as soon as card creation succeeds (CARD_CREATED), but regular endpoints return only the first 6 and last 4 digits. For the full PAN / CVV2 / expiry, use the retrieve-secure-card endpoint — which requires PCI DSS certification. Q7. Why must a company card name a custodian? The custodian is the card’s contact person and must be an active employee of the company. They are contacted when something is wrong with the card, and complete verification when a purchase triggers a 3DS challenge. Q8. After a virtual-to-physical upgrade, do my card IDs and targets change? No. The upgrade keeps the same number: cardId, PAN, expiry and CVV2 all stay the same — it is the same card object throughout. After activation, the physical card takes effect. Q9. Company pool or dedicated balance — which should a customer pick? For “many cards spending together, centralised bookkeeping”, the company pool; for “one budget per card, stop when it runs out, isolated books”, dedicated-balance cards. Q10. How do I learn about a low balance first? Configure the company’s low-balance alert: a threshold per currency; crossing it pushes LOW_BALANCE (and an email, if a mailbox is configured); once per day until the balance recovers. Q11. How do I get the final result of an asynchronous call? Use both channels: webhooks as the primary, and the query endpoints — polled by application ID or your external identifier — as the fallback. Anything that returns PENDING / PROCESSING synchronously goes into your local to-do queue for scheduled polling; a fund transfer returning PROCESSING must be confirmed by polling. Q12. What if a webhook never arrives? The retry window is only about 3 minutes (at most 4 deliveries); if your receiver is down longer, events will be missed — always back yourself up with the query endpoints. Events carry no ordering guarantee; go by webhookId (a monotonically increasing snowflake ID) plus the resource’s current state. Q13. How do I debug a signature failure? Locate by error code. The most common cause is a wrongly assembled string to sign: GET uses the raw query string (empty string if none), POST uses the request body verbatim (do not re-serialise), concatenated as apiKey + timestamp + nonce + payload, with the HMAC in lowercase hex. Webhook verification is a separate scheme (sort field names lexicographically first, then compact-serialise).

Next steps