1. v2025-12-01
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
  • Authentication
    • Get Token
      POST
    • Get Token on behalf of corporate
      POST
    • Schemas
      • TokenResponse
  • Corporates
    • v2025-12-01
      • Create a new Corporate
        POST
      • Add a parent entity (corporate associate) to an onboarding request
        POST
      • Add an associate to a corporate onboarding request
        POST
      • Request pre-signed URLs for onboarding document uploads
        POST
      • Request pre-signed URLs for parent entity document uploads
        POST
      • Request pre-signed URLs for associate document uploads
        POST
      • Finalise corporate onboarding submission
        POST
    • 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
      • CorporateCategories
      • AddIndividualAssociateResponse
      • CorporateAssociateType
      • AddParentEntityDocumentsRequest
      • AssociateDocumentPresignedUrlResponseItem
      • ApiResponse[AddParentEntityResponse]
      • AssociateIdentityType
      • ApiResponse[CorporateDetailResponse]
      • AddAssociateDocumentsRequest
      • CorporateDetailResponse
  • Corporate Currency Accounts
    • v2025-12-01
      • Get Corporate Currency Accounts
      • Get Corporate Currency Account By Reference
    • Schemas
      • PaginatedApiResponse[GetCCALedgerItemsResponseItem]
      • ErrorResponse
      • GetCCALedgerItemsResponseItem
      • PaginationInfo
      • ErrorDetail
      • ApiResponse[GetCCAByReferenceResponse]
      • GetCCAByReferenceResponse
      • GetCCAByReferenceResponsePayInDetail
      • GetCCAsResponseItem
      • PaginatedApiResponse[GetCCAsResponseItem]
  • Beneficiaries
    • v2025-12-01
      • Get Beneficiary Schema
      • Create Beneficiary
      • Get Beneficiary List
      • Get Beneficiary Details
      • Delete Beneficiary
      • Validate Beneficiary
      • List Financial Institutions
      • List Financial Institution Branches
    • Schemas
      • DestinationResponse
      • ErrorResponse
      • FieldType
      • PaymentMethodType
      • IdentifierType
      • AccountNumberType
      • TransactionTypeEnum
      • CompanyDetailsRequest
      • BeneficiaryType
      • RoutingCodeRequest
      • PaginatedApiResponse[FinancialInstitutionBranchReferenceResponse]
      • AccountType
      • ApiResponse[ValidateBeneficiaryResponse]
      • ApiResponse[BeneficiaryDetails]
      • ApiResponse[CreateExternalBeneficiaryData]
      • ApiResponse[DeleteBeneficiaryData]
      • ApiResponse[GetBeneficiaryFieldsResponse]
      • BeneficiaryField
      • BeneficiaryListItem
      • CreateExternalBeneficiaryData
      • CreateExternalBeneficiaryRequest
      • DeleteBeneficiaryData
      • GetBeneficiaryFieldsResponse
      • PaginatedApiResponse[BeneficiaryListItem]
      • StateOrProvince
      • AddressRequest
      • PaginationInfo
      • ValidateBeneficiaryResponse
      • PaginationInfo
      • FinancialInstitutionReferenceResponse
      • PaginatedBeneficiaryFieldsResponse
      • GetBeneficiarySchemaResponse
      • VirtualAccountDestinationRequest
      • BeneficiaryDestinationValidationResult
      • BeneficiarySchemaCondition
      • ErrorDetail
      • StateOrProvince
      • FinancialInstitutionRequest
      • BankAccountDestinationRequest
      • BeneficiaryDetails
      • CreateBeneficiaryRequest
      • ETransferDestinationRequest
      • StateOrProvince
      • BeneficiaryEntityType
      • RegionalHints
      • SchemaFieldType
      • BeneficiarySchemaField
      • ValidateBeneficiaryRequest
      • RoutingScheme
      • BeneficiaryValidationPayload
      • CompanyDetailsResponse
      • PaymentRail
      • ApiResponse[BeneficiaryResponse]
      • BankAccountCategory
      • ApiResponse[ListFinancialInstitutionsResponse]
      • ValidateBeneficiariesRequest
      • SokinInternalDestinationRequest
      • IndividualDetailsResponse
      • PageInfo
      • AddressResponse
      • BeneficiaryResponse
      • FinancialInstitutionBranchReferenceResponse
      • ListFinancialInstitutionsResponse
      • ValidateBatchBeneficiariesResponse
      • IndividualDetailsRequest
      • CurrencyCode
      • BeneficiaryStatus
      • PaginatedApiResponse[BeneficiaryResponse]
      • PaginationInfo
      • ApiResponse[ValidateBatchBeneficiariesResponse]
      • ApiResponse[GetBeneficiarySchemaResponse]
      • ApiResponse[list[FinancialInstitutionReferenceResponse]]
      • BeneficiaryValidationResultResponse
      • FieldErrorResponse
      • ValidationStatus
  • Instruction Requests
    • v2025-12-01
      • Create Payment Instruction Request
      • Create Fx Instruction Request
      • Create Fx Payment Instruction Request
      • Create Unfunded Payment Instruction Request
      • Create Unfunded Fx Payment Instruction Request
      • Get Instruction Request By Reference
    • 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
      • Update Subscription Status
      • Get Subscription By Id
      • Delete Subscription
      • Retry Notification
      • List Notification Logs
    • Schemas
      • PaginatedApiResponse[NotificationLogResponse]
      • ApiResponse[CreateSubscriptionResponse]
      • NotificationStatus
      • ApiResponse[NotificationLogList]
      • NotificationAttemptResponse
      • PageInfo
      • NotificationLogList
      • ApiResponse[UpdateSubscriptionResponse]
      • ErrorResponse
      • NotificationLogResponse
      • SubscriptionCreateOrUpdate
      • PaginationInfo
      • SubscriptionStatusUpdate
      • CreateSubscriptionResponse
      • PaginationInfo
      • UpdateSubscriptionResponse
      • InstructionCreated
      • PaginationInfo
      • ErrorDetail
      • InstructionReqeustRejected
      • InstructionProcessedWebhook
      • InstructionRejectedWebhook
      • OnboardingRequestApproved
      • OnboardingRequestRejected
      • CorporateActivated
      • CorporateDeactivated
      • CorporateCurrencyAccountFundingReceived
      • WebhookSubscription
      • WebhookNotificationLogs
  1. v2025-12-01

Request pre-signed URLs for associate document uploads

Testing Env
https://api.uat.sokin.com
Testing Env
https://api.uat.sokin.com
POST
/corporates/associates/documents
Use this endpoint to request pre-signed upload URLs for identity and address verification documents related to Directors, Ultimate Beneficial Owners (UBOs) and Corporate Directors. These documents are required for our compliance checks to confirm the individual’s identity and residential address.
After submitting your request, the system will generate pre-signed URLs based on the id_type and address_type you provide. The returned URLs must then be used to upload the corresponding files externally.
Each pre-signed URL:
Remains valid for 10 minutes
Allows one file upload (reusing it will overwrite the previous file)
Accepts files up to 20 MB in size
Accepted file formats include:
PDFs
Images (e.g. PNG, JPG, JPEG)
.zip for bundles
All uploads must be linked to the correct individual using a valid associateId or uboId.
Please refer to the Uploading Supporting Documents section for instructions on how to upload your documents using the pre-signed URLs.
Please note: For corporate entities based in Australia, Australian citizens/residents must provide either a passport or a driver's license. Non-residents must provide a passport.

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Header Params

Body Params application/jsonRequired

Examples

Responses

🟢201
application/json
Pre-signed URL for document upload.
Body

🟠400
🟠401
🟠403
🟠404
🟠422
🔴500
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.uat.sokin.com/corporates/associates/documents' \
--header 'x-api-version;' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "associateId": "string",
    "idType": "Passport",
    "idContentType": "string",
    "idNumber": "string",
    "issuedCountry": "string",
    "idExpiryDate": "string",
    "addressType": "Utility Bill",
    "addressContentType": "string",
    "documentName": "string"
}'
Response Response Example
201 - Example 1
{
    "message": "string",
    "data": {
        "status": "string",
        "success": true,
        "message": "string",
        "presignedResponse": {
            "idImageFront": {
                "url": "string",
                "fields": {}
            },
            "idImageBack": {
                "url": "string",
                "fields": {}
            },
            "addressImageFront": {
                "url": "string",
                "fields": {}
            },
            "addressImageBack": {
                "url": "string",
                "fields": {}
            }
        }
    }
}
Modified at 2026-04-20 12:34:41
Previous
Request pre-signed URLs for parent entity document uploads
Next
Finalise corporate onboarding submission
Built with