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 parent entity document uploads

Testing Env
https://api.uat.sokin.com
Testing Env
https://api.uat.sokin.com
POST
/corporates/parent-entities/documents
This API allows you to request pre-signed upload URLs for official company documents related to a parent entity.
These documents help verify the legal status, ownership structure, and governance of the company acting as a director.
After submitting your request, the system will generate pre-signed URLs based on the no_of_documents value provided for each document type. 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 parent entity using a valid corporate_associate_id.
The document types you can upload are:
Certificate of Incorporation: Proof that a company is officially registered, showing its legal name, number, and incorporation date.
Articles of Association: Rules for how the company is run, including director and shareholder roles.
List of Directors: Names and details of the people managing the company.
Structure Chart (Optional): Diagram showing the company’s ownership and control relationships.
This process supports Sokin’s compliance and due diligence requirements for complex ownership structures involving legal entities.
Please refer to the Uploading Supporting Documents section for instructions on how to upload your documents using the pre-signed URLs.

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
List of pre-signed URLs 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/parent-entities/documents' \
--header 'x-api-version;' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "corporateAssociateId": "string",
    "documentType": "string",
    "noOfDocuments": 1,
    "contentType": "string",
    "corporateExternalReference": "string"
}'
Response Response Example
201 - Example 1
{
    "message": "string",
    "data": {
        "urls": [
            {
                "url": "string",
                "fields": {}
            }
        ]
    }
}
Modified at 2026-04-20 12:34:44
Previous
Request pre-signed URLs for onboarding document uploads
Next
Request pre-signed URLs for associate document uploads
Built with