SFTP Setup and Cutover
Last updated: August 28, 2026
Everything to stand up the SFTP connection and take it live. Pairs with the CSV Schema articles (field specs) and Testing & Go-Live Readiness.
How It Works
Housing.Cloud hosts a secure SFTP repository for your tenant on AWS. Your account has two folders:
- ingress — files from you (profiles, charge codes, meal plans), for a Housing.Cloud process to ingest.
- egress — files from Housing.Cloud (occupancy, transactions, meal-plan assignments, applications), for your process to ingest.
Your campus initiates every transfer — you push to ingress and pull from egress. Housing.Cloud never pushes onto your servers. Every export is a full file, not a delta.
Connection Details
| Setting | Value |
|---|---|
| Access endpoint | Your Integrations Specialist provides the exact endpoint to allow-list. |
| Load-balancer IP (allow-list) | Your Integrations Specialist provides the exact IP to allow-list. |
| Username | your tenant subdomain (e.g. sftp-demo) |
| Auth | 4096-bit RSA public key (no password) |
| File type | CSV only |
Multiple campuses each get their own tenant/subdomain, user, and folders. If your institution separates non-production and production keys, provide both and we set up two accounts.
Filenames
Format: {short}_yyyy_mm_dd_{uuid}.csv. The prefix is required — the backend picks files up by it. Names are case-sensitive.
| Prefix | Data | Direction |
|---|---|---|
sis |
Profiles | Ingress |
cc |
Charge Codes | Ingress |
mealplans |
Meal Plans (definitions) | Ingress |
furniture |
Furniture | Ingress |
occupancy |
Occupancies | Egress |
transactions |
Transactions | Egress |
mealplanassignments |
Meal Plan Assignments | Egress |
Optional configs (Integration Config → Data Mappings): useStaticFileName = TRUE drops the timestamp (e.g. occupancy.csv) — use it if your loader can't parse a timestamp; omitHeaderRow = TRUE produces the file without a header.
Sandbox vs. Production
In the sandbox, syncs are manual — you trigger Import/Export Sync. In production, they run on a cron (typically ~30 minutes after your nightly push; mind UTC/DST). The sandbox persists for ongoing testing.
Connection Test (Per Campus)
- Your Specialist places a test file in your egress folder.
- You pull it → confirm success and that you see the file.
- You push a test file to ingress → your Specialist confirms receipt.
Production Cutover Checklist
Run as a scheduled joint session, after UAT sign-off (see Testing & Go-Live Readiness).
- Confirm UAT signed off; latest profile + occupancy (+ meal-plan) files ready.
- Housing.Cloud switches the integration from sandbox to production (the
stage → broadpath repoint; host + key unchanged). - Update your client/scheduler to the production user (per campus).
- Test file each direction, each campus → confirm success.
- Stop the sandbox automated jobs.
- Housing.Cloud sets up the production jobs/schedule.
- Re-point your automated jobs; confirm first live run.
- Verify a real record round-trips correctly in your SIS.
- Monitor first-week runs for silent failures (no file = investigate).
Common pitfalls: wrong filename prefix or case → the file is silently not picked up; not flagging two keys (non-prod/prod) at setup → rework later; firewall lead time (open the ticket in week one and allow-list 52.55.181.1); and "no new file" is a failure signal — monitor for absence, not just errors.