One REST API. One set of webhooks. One ICS calendar feed. Whether you're a law firm running Clio or an employer using Workday and Outlook — PermAd360 flows into your existing system without a portal migration.
{ "case_id": "RECR-2026-00253", "stage": "recruitment_review", "job_title": "Software Engineer", "worksite": "Edison, NJ", "deadlines": { "day_180": "2026-12-15", "filing_window": "2026-09-20" }, "compliance_report_url": "https://api…/pdf" }
Built to Integrate With
Case management systems pulling PERM data into existing case files.
HR systems, calendars, and messaging tools your team uses every day.
Designed to work with any system that can call a REST endpoint or subscribe to a calendar feed. Don't see your stack? Reach out — we'll confirm availability or fast-track the integration.
What's Included
Standard GET endpoints for cases, recruitment, proofs, applicants, and tasks. JSON responses, Bearer auth, OpenAPI 3.1 spec.
Real-time push events when case stage changes, proofs upload, tasks go overdue, or recruitment cycle closes. No polling.
Scoped Bearer tokens — your key only sees your firm's cases. Every call audit-logged with timestamp, IP, and endpoint.
The audit-ready PDF at recruitment close — fetched as a single API call. Drops into your case management as an I-140 supporting doc.
Subscribe-by-URL calendar — deadlines, Sunday newspaper dates, and screenshot due dates auto-appear in Outlook, Google, or Apple Calendar.
OpenAPI spec, copy-paste samples in cURL / JavaScript / Python, and a sandbox API key with seeded test data — live in an afternoon.
The Full Surface
Every endpoint is Bearer-authenticated and scoped to your firm or employer. Webhooks subscribed via the API admin console.
/api/v1/casesList all cases for your firm / company.
/api/v1/cases/{id}Case detail — stage, job title, worksite, wage, attorney, employer.
/api/v1/cases/{id}/timelineAuto-computed dates: 180-day deadline, quiet period, filing window.
/api/v1/cases/{id}/recruitment-stepsSunday newspaper, SWA, radio, job board, ethnic press steps with status.
/api/v1/cases/{id}/proofsTear sheets, screenshots, affidavits — JSON with signed download URLs.
/api/v1/cases/{id}/tasksPending, overdue, and completed tasks for one case.
/api/v1/tasks?status=pendingCross-case task feed — filter by status, due date, assignee.
/api/v1/cases/{id}/applicantsApplicant pipeline — applied → screened → interviewed → hired/rejected.
/api/v1/applicants/{id}Applicant detail including DOL rejection code, resume URL, decision audit log.
/api/v1/cases/{id}/compliance-report.pdfAudit-ready PERM Compliance Report — proofs + timeline + activity log + verification hash.
/api/v1/cases/{id}/recruitment-summaryJSON summary of recruitment cycle for ETA-9089 prep.
/api/v1/calendars/firm.icsCombined calendar — every case the firm manages, every deadline.
/api/v1/calendars/employer/{id}.icsEmployer-scoped — only this company's cases.
/api/v1/calendars/case/{id}.icsPer-case calendar — drop into a project channel or specific user's calendar.
/api/v1/employers/{id}/positionsEvery PERM position for the employer — one row per PWD, with ad-bundling strategy (standalone vs. multi-position ad) for audit truth.
/api/v1/embed/{employer_id}/jobs.jsonPublic job board feed — same data the iframe widget renders. Groups bundled positions into single postings. No authentication required.
case.createdA new PERM case was created for your firm/employer.
case.stage_changedCase moved between stages (draft → invoice → publishing → recruitment_review → completed).
recruitment.step_publishedAn ad ran — Sunday newspaper, SWA, radio, job board, etc.
recruitment.cycle_completeAll recruitment requirements met — Compliance Report ready to download.
proof.uploadedA tear sheet, screenshot, or affidavit was added to a case.
task.overdueA task missed its due date — Day 30 screenshot, vendor confirmation, etc.
applicant.addedA new applicant entered the pipeline.
applicant.decision_recordedAn applicant was screened / interviewed / hired / rejected with DOL code.
Webhook payloads are signed with HMAC-SHA256. Retry-with-backoff on non-2xx response (5 attempts over 24h).
Start Small, Win Fast
Compliance Report endpoint
One GET call returns the audit-ready PERM PDF. Auto-attach it to the case in Clio/MyCase at recruitment-cycle close. Your lawyers find their I-140 supporting doc waiting for them.
GET /api/v1/cases/{id}/compliance-report.pdfrecruitment.cycle_complete webhookICS calendar feed
Zero code, zero auth. HR subscribes once to a calendar URL — every deadline appears in Outlook or Google Calendar automatically. No portal login. No daily check-in.
GET /api/v1/calendars/employer/{id}.icsSetup in an Afternoon
Case management (Clio, MyCase, LawLogix), HRIS (Workday, BambooHR), or just Outlook — anything that speaks REST or accepts a calendar subscription.
Per-firm Bearer token plus a seeded sandbox so your team can build against realistic data without affecting live cases.
Most teams need 5-20 lines: one GET for case status, one for the Compliance Report PDF, or zero-code calendar subscription. We supply working samples.
Your existing portal or HR system shows live PERM advertising status — no separate login, no migration, no behavior change for your team.
Where We Are
Some of these endpoints are live today — case status, calendar feeds, and the PERM Compliance Report PDF are battle-tested against our agency-managed cases. Others are scoped and ready to prioritize as soon as a design partner confirms the need.
We don't want to oversell. If your team is serious about integrating, reach out — we'll tell you exactly what's available now versus what we'll build for you in the next 2–3 weeks.
Talk to us about your integration →Tell us your case-management or HR system and we'll send sample code, an OpenAPI spec, and a sandbox API key — usually within 1 business day.