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

Step 5: Upload associate documents

Once associates have been added, you must upload their required identity and address verification documents.
Document uploads are completed using secure pre-signed URLs generated by Sokin.
POST
/corporates/associates/documents

What this step does#

This endpoint:
Validates the associateId
Determines required documents based on the assigned due diligence model
Generates secure, time-limited upload URLs
Prepares the documents for compliance review
All uploaded documents are reviewed as part of Sokin’s compliance process.
The onboarding application cannot proceed until required documents are uploaded.

What you need before calling this endpoint#

Ensure you have:
A valid associateId returned when the associate was created
The document details you intend to upload (ID type, address proof type, file format)
Each request must be linked to a valid associateId.

Successful response#

On success, the API returns:
A confirmation of success
A presignedResponse containing upload URL details
These pre-signed URLs are used to upload the files externally.
Store the response details securely. If a URL expires, you must request a new one.

How pre-signed URLs work#

Each generated URL:
Remains valid for 10 minutes
Allows a single file upload
Overwrites the previous file if reused
Accepts files up to 20 MB
Supports PDF and image formats
If the selected ID type only requires a single document (for example, Passport), the response will include a pre-signed URL for the required file type only.
Please review the detailed guide on how to upload documents via presigned URLs.

Important considerations#

Documents must be uploaded using the returned URLs.
Expired URLs cannot be reused.
All required associate documents must be uploaded before the onboarding request can be finalised.
Document requirements vary depending on the assigned due diligence model and ownership structure.

What this step does — and does not do#

At this stage:
Associate documents are securely stored
The application will not proceed to review until:
All required associate documents are uploaded
Any required corporate or parent entity documents are submitted
The onboarding request is finalised

Next steps#

After uploading all required associate documents:
Upload corporate documents
Upload parent entity documents (if applicable)
Finalise the onboarding request
Refer to:
Corporate document uploads
Parent entity document uploads
Finalise onboarding guide
Modified at 2026-02-19 09:40:45
Previous
Step 4: Upload company documents
Next
Real-time Status Updates via Webhook
Built with