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 onboarding document uploads

Testing Env
https://api.uat.sokin.com
Testing Env
https://api.uat.sokin.com
POST
/corporates/documents
Use this API to request pre-signed upload URLs for supporting documents required during corporate onboarding.
Typical documents include Certificates of Incorporation, Articles of Association, and other compliance-related files.
After submitting your request, the system will generate pre-signed URLs that must be used to upload the documents externally.
You’ll need to specify the number of files you intend to upload for each document type using the field no_of_documents.
Once the request is submitted, the system will generate and return the same number of pre-signed URLs as specified in no_of_documents (provided the request is valid and error-free).
Each pre-signed URL can then be used to upload one document.
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 (application/pdf, pdf)
Images (e.g. PNG, JPG, JPEG)
.zip for bundles
Don't forget to include the corporate_external_reference to correctly associate the generated URLs with the relevant onboarding application.
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/documents' \
--header 'x-api-version;' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "documentType": "string",
    "noOfDocuments": 1,
    "contentType": "string",
    "corporateExternalReference": "string",
    "otherDocumentType": "string"
}'
Response Response Example
201 - Example 1
{
    "message": "string",
    "data": {
        "urls": [
            {
                "url": "string",
                "fields": {}
            }
        ]
    }
}
Modified at 2026-04-20 12:34:43
Previous
Add an associate to a corporate onboarding request
Next
Request pre-signed URLs for parent entity document uploads
Built with