Sokin Embedded API
  1. Corporate Onboarding
Sokin Embedded API
  • Getting Started
    • Sokin Definitions
    • Guides
      • Authentication
      • Receiving Payments
      • FX Payments
      • Payments
      • Unfunded Payments
      • Unfunded FX Payments
      • Corporate Onboarding
        • Data Requirements
        • Step 1: Create a corporate profile
        • Step 2: Add associates
        • Step 3: Add a parent entity (if applicable)
        • Step 4: Upload company documents
        • Step 5: Upload associate documents
        • Real-time Status Updates via Webhook
        • Conditional Step: Upload Parent Entity documents (if applicable)
        • Step 6: Finalise onboarding submission
        • Uploading supporting documents using Pre-signed URLs
        • Onboarding Reference Data
        • Onboarding Models
          • Data-Only model
          • Supported Jurisdictions & National ID Requirements
      • Payments Reference Data
        • Purpose of Payment
        • Transfer Reasons
        • Beneficiary Fields
  • Authentication
    • Get Token
      POST
    • Get Token on behalf of corporate
      POST
    • Schemas
      • TokenResponse
  • Corporates
    • v2025-12-01
      • Create a new Corporate
      • Add a parent entity (corporate associate) to an onboarding request
      • Add an associate to a corporate onboarding request
      • Request pre-signed URLs for onboarding document uploads
      • Request pre-signed URLs for parent entity document uploads
      • Request pre-signed URLs for associate document uploads
      • Finalise corporate onboarding submission
    • Schemas
      • NumericRange
      • ApiResponse[AddIndividualAssociateResponse]
      • ApiResponse[AddAssociateDocumentsResponse]
      • ApiResponse[AddOnboardingDocumentsResponse]
      • AddOnboardingDocumentsResponse
      • AssociateDocumentPresignedUrlResponse
      • AssociateType
      • ErrorResponse
      • MessageResponse
      • FinaliseSubmissionResponse
      • AddParentEntityRequest
      • MoneyRange
      • AddOnboardingDocumentsRequest
      • ApiResponse[CreateCorporateResponse]
      • CreateCorporateRequest
      • CreateCorporateResponse
      • FinaliseSubmissionRequest
      • PresignedUrlResponse
      • AddressTypeEnum
      • OwnershipType
      • AddAssociateDocumentsResponse
      • ErrorDetail
      • AddIndividualAssociateRequest
      • UboDetails
      • AddParentEntityResponse
      • AddIndividualAssociateResponse
      • CorporateAssociateType
      • AddParentEntityDocumentsRequest
      • AssociateDocumentPresignedUrlResponseItem
      • ApiResponse[AddParentEntityResponse]
      • AssociateIdentityType
      • AddAssociateDocumentsRequest
  • Corporate Currency Accounts
    • v2025-12-01
      • Get Corporate Currency Accounts
      • Get Corporate Currency Account By Reference
    • Schemas
      • ErrorResponse
      • PaginationInfo
      • ErrorDetail
      • ApiResponse[GetCCAByReferenceResponse]
      • GetCCAByReferenceResponse
      • GetCCAByReferenceResponsePayInDetail
      • GetCCAsResponseItem
      • PaginatedApiResponse[GetCCAsResponseItem]
  • Beneficiaries
    • v2025-12-01
      • Get Beneficiary Fields
      • Create External Beneficiary
      • Get Beneficiary List
      • Get Beneficiary Details
      • Delete Beneficiary
    • Schemas
      • ErrorResponse
      • FieldType
      • IdentifierType
      • TransactionTypeEnum
      • BeneficiaryType
      • AccountType
      • ApiResponse[BeneficiaryDetails]
      • ApiResponse[CreateExternalBeneficiaryData]
      • ApiResponse[DeleteBeneficiaryData]
      • ApiResponse[GetBeneficiaryFieldsResponse]
      • BeneficiaryField
      • BeneficiaryListItem
      • CreateExternalBeneficiaryData
      • CreateExternalBeneficiaryRequest
      • DeleteBeneficiaryData
      • GetBeneficiaryFieldsResponse
      • PaginatedApiResponse[BeneficiaryListItem]
      • StateOrProvince
      • PaginationInfo
      • PaginatedBeneficiaryFieldsResponse
      • ErrorDetail
      • BeneficiaryDetails
  • Instruction Requests
    • v2025-12-01
      • Get Instruction Request By Reference
      • Create Payment Instruction Request
      • Create Fx Instruction Request
      • Create Fx Payment Instruction Request
      • Create Unfunded Payment Instruction Request
      • Create Unfunded Fx Payment Instruction Request
    • Schemas
      • ErrorResponse
      • ApiResponse[CreateInstructionRequestResponse]
      • ErrorDetail
      • ApiResponse[GetInstructionRequestResponse]
      • CreateFXInstructionRequest
      • CreateFxPaymentInstructionRequest
      • CreateInstructionRequestResponse
      • CreatePaymentInstructionRequest
      • CreateUnfundedFxPaymentInstructionRequest
      • CreateUnfundedPaymentInstructionRequest
      • GetInstructionRequestResponse
  • Instructions
    • v2025-12-01
      • Get Instruction By Reference
    • Schemas
      • ErrorDetail
      • ErrorResponse
      • ApiResponse[GetInstructionResponse]
      • GetInstructionResponse
  • Foreign Exchange
    • v2025-12-01
      • Get Fx Rate
    • Schemas
      • ErrorResponse
      • FxRateData
      • FixedSide
      • ApiResponse[FxRateData]
      • ErrorDetail
      • FxRateRequest
  • Webhooks
    • Webhooks
    • v2025-12-01
      • Create Subscription
      • Update Subscription Status
      • Update Subscription
      • Delete Subscription
      • Get Subscription By Id
      • List Notification Logs
      • Retry Notification
    • Schemas
      • ApiResponse[CreateSubscriptionResponse]
      • NotificationStatus
      • ApiResponse[NotificationLogList]
      • NotificationAttemptResponse
      • ApiResponse[UpdateSubscriptionResponse]
      • NotificationLogList
      • ErrorResponse
      • NotificationLogResponse
      • SubscriptionCreateOrUpdate
      • SubscriptionStatusUpdate
      • CreateSubscriptionResponse
      • UpdateSubscriptionResponse
      • InstructionCreated
      • ErrorDetail
      • InstructionReqeustRejected
      • InstructionProcessedWebhook
      • InstructionRejectedWebhook
      • OnboardingRequestApproved
      • OnboardingRequestRejected
      • CorporateActivated
      • CorporateDeactivated
      • CorporateCurrencyAccountFundingReceived
      • WebhookSubscription
      • WebhookNotificationLogs
  1. Corporate Onboarding

Conditional Step: Upload Parent Entity documents (if applicable)

If a layered ownership structure exists and a Parent Entity (corporate associate) has been added, additional document uploads may be required.
This step is only necessary where a Parent Entity forms part of the ownership or control structure of the onboarding company.
Document requirements for Parent Entities are model-dependent and may vary based on the assigned due diligence framework.

A) Upload Parent Entity (company-level) documents#

POST
/corporates/parent-entities/documents
Use this endpoint to request pre-signed URLs for Parent Entity corporate documents, where required.
You must provide:
corporateAssociateId (returned when the Parent Entity was created)
corporateExternalReference(reference of the onboarding request)
documentType
noOfDocuments
contentType
Accepted document types include:
Certificate of Incorporation
Articles of Association
List of Directors
Structure Chart
The response returns a list of pre-signed URLs, one per requested document.
Each URL:
Is valid for 10 minutes
Allows one file upload
Accepts files up to 20 MB

Important#

Under full-document due diligence models (e.g., Non-Reliance and Semi-Reliance), Parent Entity corporate documents are typically required.
Under streamlined models, Parent Entity corporate documents may not be required at submission stage. However, risk-based review still applies, and additional documentation may be requested if necessary.

B) Upload Parent Entity associate documents#

If the Parent Entity includes UBOs, Directors, or controlling individuals, their identity documents must also be uploaded.
Use the associate document endpoint:
POST
/corporates/associates/documents
When calling this endpoint for a Parent Entity associate:
Pass the returned uboId in the associateId field
Provide the required identity document details (idType, idContentType)
Include address document details where applicable
The process mirrors the upload flow for primary associates.
Each generated pre-signed URL:
Is valid for 10 minutes
Allows one upload
Accepts files up to 20 MB
Identity documentation for controlling individuals remains subject to compliance validation regardless of model.

Final note#

If a Parent Entity exists:
All required Parent Entity and associated individual documents must be uploaded before finalisation.
Requirements depend on the assigned due diligence model and ownership structure.
Applications may be escalated to a full-document review if risk thresholds are triggered.
For upload mechanics and pre-signed URL usage, refer to:
Uploading Supporting Documents Guide
Modified at 2026-02-19 10:47:31
Previous
Real-time Status Updates via Webhook
Next
Step 6: Finalise onboarding submission
Built with