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 2: Add associates

Use this endpoint to add individual associates (natural persons, not legal entities) to an existing corporate onboarding request.
POST
/corporates/associates
This step links required individuals to the corporate profile created in Step 1.
You must include the previously returned externalReference to associate the individual with the correct onboarding session.

What this step does#

This endpoint allows you to:
Specify the associate type (Director, Beneficial Owner, Partner, Sole Trader, etc.)
Define ownership type and ownership percentage (where applicable)
Provide personal identification and contact details
Declare PEP (Politically Exposed Person) status and submit supporting information if required
Submit residential address and nationality using valid ISO country codes
All associate data is validated against:
The declared legal entity type
Ownership thresholds
Residency and jurisdiction rules
The assigned due diligence model

Successful response#

On success, the API returns a unique:
associateId
This ID represents the individual associate within the onboarding session.
You must store each associateId securely. It is required to upload documents for that associate.
Use the associateId to:
Upload Proof of Identity (POI)
Upload Proof of Address (POA), where applicable
Without the correct associateId, associate documents cannot be linked to the onboarding application.

Important: Associate structure rules#

Associate requirements depend on the legal entity type declared during corporate creation (see Create Onboarding Request).
For example:
LTD / LLC / PLC / Pty Ltd
Minimum: 1 Director and 1 Beneficial Owner
(Or 1 individual performing both roles)
LLP
Minimum: 2 Partners
OR 1 Partner and 1 Corporate Partner
Sole Trader
Exactly 1 Sole Trader
No additional associates permitted

Ownership threshold requirement#

All individuals with 25% or more ownership must be included in the onboarding application.
Associates with less than 25% ownership may be included but are not mandatory unless required by structure.
Failure to include mandatory ownership-level associates will prevent the application from progressing.

What this step does — and does not do#

At this stage:
The associate is linked to the onboarding application
Ownership structure is incrementally built
Model eligibility may be re-evaluated
The onboarding remains in DRAFT status until:
All required associates are added
Required documents are uploaded
The application is finalised

Next steps#

After adding all required associates:
Upload associate documents using the returned associateId
Add parent entities (if layered ownership applies)
Finalise the onboarding request
Refer to:
Document requirements by model
Parent entity onboarding guide
Finalise onboarding guide
Modified at 2026-02-23 07:52:17
Previous
Step 1: Create a corporate profile
Next
Step 3: Add a parent entity (if applicable)
Built with