Skip to content

AMC Folio Transaction Webhooks

AMC folio transaction webhooks notify you as the registrar (RTA) opens a folio and allots units for an investor's purchase. They apply to capital markets merchants only. One folio transaction is one request to the RTA: a prospect folio, a fresh purchase or an additional purchase.

Note: The sample payloads on this page are pretty-printed. The body Glomo sends is the RFC 8785 canonical form of the same object, and the X-Glomopay-Signature header is computed over those bytes. See Webhook Authentication & Security.

Event TypeDescription
allotment_pending The folio transaction has been created and is waiting for the RTA.
folio_allotted The RTA has allotted the folio number.
units_allotted The RTA has allotted the units. units, nav and nav_date are now sent.
failed The folio transaction failed. See error_code and error_message.

Sample Payload

{
  "entity_type": "amc_folio_transaction",
  "event_type": "units_allotted",
  "data": {
    "folio_transaction_id": "amcftxn_6a1f3c20Qm8Tz",
    "rta_request_type": "fresh_purchase",
    "status": "units_allotted",
    "amc": "AMC01",
    "folio_id": "amcfolio_6a1f3c1eKd2Rw",
    "folio_number": "12345678",
    "customer_id": "cust_6a1f3a90Lp4Xn",
    "units": "85.945",
    "nav": "110.5432",
    "nav_date": "2026-10-28",
    "error_code": null,
    "error_message": null,
    "payment_session_id": "psess_6a1f3a12Hv7Yc",
    "investor_email": "investor@example.com",
    "scheme_name": "Global Equity Fund",
    "scheme_plan": "REGULAR",
    "distributor_code": "ABCDEFGH1234",
    "ria_code": null,
    "sub_distributor_code": "SUB00123",
    "distributor_email": "distributor@example.com",
    "distributor_rm_email": "distributor.rm@example.com",
    "amc_rm_email": null,
    "invested_amount": 950053,
    "invested_currency": "USD",
    "payment_id": "payt_6a1f3b40Tn5Wq"
  }
}

Sample Payload — Failed

{
  "entity_type": "amc_folio_transaction",
  "event_type": "failed",
  "data": {
    "folio_transaction_id": "amcftxn_6a1f3c20Qm8Tz",
    "rta_request_type": "fresh_purchase",
    "status": "failed",
    "amc": "AMC01",
    "folio_id": "amcfolio_6a1f3c1eKd2Rw",
    "folio_number": null,
    "customer_id": "cust_6a1f3a90Lp4Xn",
    "units": null,
    "nav": null,
    "nav_date": null,
    "error_code": "AMC_FOLIO_TRANSACTION_FAILED",
    "error_message": "Folio transaction failed. Please contact support.",
    "payment_session_id": "psess_6a1f3a12Hv7Yc",
    "investor_email": "investor@example.com",
    "scheme_name": "Global Equity Fund",
    "scheme_plan": "DIRECT",
    "distributor_code": null,
    "ria_code": "INA000012345",
    "sub_distributor_code": null,
    "distributor_email": null,
    "distributor_rm_email": null,
    "amc_rm_email": "amc.rm@example.com",
    "invested_amount": 500000,
    "invested_currency": "USD",
    "payment_id": "payt_6a1f3b40Tn5Wq"
  }
}

Every field is sent on every event. A field that has no value is sent as null. The samples show which fields go together: a regular plan carries the distributor fields and no ria_code; a direct plan carries ria_code and no distributor fields. Fields marked "sent when available" are nullable: they carry a value only when the investor's purchase or KYC recorded one, so handle null for each of them.

FieldDescription
folio_transaction_idFolio transaction identifier, starting with amcftxn_.
rta_request_typeThe request sent to the RTA: prospect (folio opened before the money arrives), fresh_purchase (new folio and units) or additional_purchase (units on an existing folio).
statusCurrent status: pending, folio_allotted, units_allotted or failed.
amcThe AMC code of the scheme.
folio_idGlomo identifier of the folio, starting with amcfolio_.
folio_numberFolio number assigned by the RTA. null until the folio is allotted.
customer_idIdentifier of the investor's customer record.
unitsUnits allotted, as a string. null until units are allotted.
navNAV the units were allotted at, as a string. null until units are allotted.
nav_dateNAV date (YYYY-MM-DD). null until units are allotted.
error_codeAMC_FOLIO_TRANSACTION_FAILED when the status is failed, otherwise null.
error_messageDescription of the failure when the status is failed, otherwise null.
payment_session_idThe payment session the folio transaction belongs to. null if it was not created from a payment session.
investor_emailThe investor's email address.
scheme_nameName of the scheme the investor bought.
scheme_planThe scheme's plan: DIRECT or REGULAR.
distributor_codeThe distributor code sent to the RTA: the code you passed, without your distributor code prefix. Nullable, sent when available: regular plans only.
ria_codeThe RIA (investment adviser) registration code. Nullable, sent when available: direct plans sourced by an RIA only.
sub_distributor_codeThe sub-distributor code, as you passed it. Nullable, sent when available.
distributor_emailThe distributor's email address. Nullable, sent when available.
distributor_rm_emailEmail address of the distributor's relationship manager, as the investor entered it during KYC. Nullable, sent when available.
amc_rm_emailEmail address of the AMC's relationship manager, as the investor entered it during KYC. Nullable, sent when available: usually direct plans only, and often empty.
invested_amountAmount invested, in the smallest currency unit (cents for USD). Nullable, sent when available.
invested_currencyCurrency of invested_amount. Nullable, sent when available.
payment_idThe payment that funded this purchase. Nullable, sent when available.