Guides

Create an Organization

📘

Note

This tutorial assumes you are can operate using the Custodial operating model. Please see the Custody Models documentation for more information on which custody model is right for you.

An Organization represents your end users—the individuals or businesses who own the funds for which you are facilitating payments. In order to make payments on behalf of organizations, you must first create an organization and complete the associated KYC form.

Create an Organization

Example request

curl --request POST \
     --url http://api.muralpay.com/api/organizations \
     --header 'accept: application/json' \
     --header 'authorization: Bearer $API_KEY' \
     --header 'content-type: application/json' \
     --data '
{
  "type": "business",
  "businessName": "Sun Tree Capital LLC",
  "email": "[email protected]"
}
'

Example response

{
    "type": "business",
    "name": "Sun Tree Capital LLC",
    "id": "807742f0-e76c-44cd-bbe9-30b02e0060f4",
    "createdAt": "2025-04-04T16:32:17.074Z",
    "updatedAt": "2025-04-04T16:32:17.074Z",
    "kycStatus": "PENDING",
    "currencyCapabilities": []
}

Get a KYC Link

After creating an Organization, you can fetch the KYC link for performing KYC. The KYC must be completed and approved before an Account or Transfers can be created.

It is recommended to iFrame this KYC link into your application such that your end users can complete the appropriate KYC steps.


Example request

curl --request GET \
     --url https://api.muralpay.com/api/organizations/807742f0-e76c-44cd-bbe9-30b02e0060f4/kyc-link \
     --header 'accept: application/json' \
     --header 'authorization: Bearer $API-KEY'

Example response

{
  "kycLink": "https://app.muralpay.com/organization-verification/4ba621accb9af2871c0a7693:71ae21312ff6d2f1b5c8e991efc9977ae92f14cfdbf19ad7034716adc19a0b1ff461311e:3f329f03785458c4a52298d9cb5c8951"
}