Skip to main content
Holdings (see Investor Holdings) are built from the reports CAMS and KFintech email to your registered mailback address. Mailback automation only asks CAMS for those reports on a schedule (or on demand), so nobody has to log in to CAMS and request them by hand. It does not receive anything: the report still arrives by email, and getting it into holdings needs the email forwarding below.
Set up email forwarding first — holdings depend on it. Mailback automation (and KFintech’s own report subscription) only makes the registrar send an email. For that email to reach this platform, the mailbox registered with the registrars must automatically forward every CAMS and KFintech report email to [email protected]. Without the forwarding rule, requests succeed but no holdings are ever updated. See Email forwarding below.
Mailback automation is switched on per account by your administrator. Until it is, every endpoint below returns 403 FORBIDDEN. It also needs your mailback email and CAMS report password to be configured on the account — the automation logs in to CAMS with them. They are never returned by any endpoint.
Only CAMS is supported today; the source in each path is always cams.

Email forwarding (required for holdings)

CAMS and KFintech never send files to an API; they email a download link for a password-protected report to the distributor’s registered email address. The platform picks those emails up from a single inbound address: Set this up once per account, for both CAMS and KFintech mail, whether the CAMS reports are requested by the automation, by hand on CAMS Online, or by KFintech’s own report subscription (KFintech reports are not requested by this automation — keep requesting them at KFintech):
  1. Make sure the registered email is configured on your account. It is the mailback email your administrator set on the account, and it must be the address CAMS and KFintech actually send to. Emails are matched to your account by that address.
  2. In that mailbox, create an automatic forwarding rule that forwards the registrar report emails to [email protected]. Forward (do not just redirect or copy by hand) so the original recipient address stays in the message headers. A filter on the sender domains (camsonline.com, kfintech.com) or on the subject (“Report No”) keeps unrelated mail out; adjust it to what your mailbox really receives.
  3. Confirm the forwarding address if your mail provider asks you to (many send a verification message to the new address). Ask your Atlas administrator for that verification message — it arrives on the platform side.
  4. Check it end to end: request a WBR4 report with IMMEDIATE timing (below; WBR53 can only run overnight), wait for the CAMS email, and confirm it arrives in your mailbox and is forwarded. Folio contacts then appear on holdings after the next daily ingestion.
The CAMS report password you give your administrator must match the one the reports are protected with — it is what unlocks the file after it is received. Only the WBR53 (holdings) and WBR4 (folio contacts) CAMS reports, and KFintech’s MFSD203, are ingested; other CAMS reports requested through the API just land in your mailbox.

How it works

  1. You ask for a report — now (POST …/requests) or by saving a schedule (PUT …/config).
  2. The request is queued and the API answers immediately. status is QUEUED; it only means the request was accepted for processing.
  3. CAMS is asked for the report. It then emails the report to your mailback address — within minutes for IMMEDIATE, later for OVERNIGHT. Your forwarding rule passes it on to the platform.
  4. WBR53 and WBR4 are ingested automatically and appear in holdings. Other reports are only emailed to you. There is no API call that returns the report file itself.
status: FAILED means the request could not be queued at all; request it again.

Reports and timing

Request a report now

Response 202:

Schedule

Each account has one schedule for the source. Read it:
Save it (this replaces the schedule):
Response 200:
With no schedule saved, GET returns a disabled default (OVERNIGHT, 02:00).

Request history

Returns the account’s requests, newest first — both on-demand (trigger: ON_DEMAND) and from the schedule (trigger: SCHEDULED) — with next_cursor for the next page (pass it as cursor). A FAILED request carries an error message.