API Documentation
Public REST API for Irish company formation. JSON over HTTPS. No auth for read endpoints, magic link session for write endpoints.
Base URL
https://getirishcompany.com/api
Authentication
Most read endpoints are public. Write endpoints (profile, journey, reminders, sign) require a session cookie obtained via magic link:
POST /api/auth/magic-link
Content-Type: application/json
{"email": "[email protected]"}
Click the link in the email → cookie gic_session set for 30 days.
Public endpoints
Wizard recommendation
POST /api/wizard
{
"resident": "non_eea",
"businessType": "saas",
"founders": 2,
"needVat": true,
"needPayroll": false,
"needIrishBank": true
}
Country advisor
POST /api/advisor
{
"businessType": "saas",
"resident": "non_eea",
"needEuAccess": true,
"needStripe": true,
"estimatedTurnover": 180000,
"retainProfits": false
}
Name check
POST /api/name-check
{"name": "MyStartup Tech Ltd"}
CRO database search
GET /api/cro-search?q=MyStartup
Provider recommender
POST /api/recommend
{
"kind": "bank",
"resident": "non_eea",
"businessType": "saas",
"turnover": 180000
}
kind: bank | office | phone | secretary
Cost calculator
POST /api/cost-calculator
{
"resident": "non_eea",
"founders": 2,
"needVirtualOffice": true,
"needAccountant": true,
"city": "dublin",
"plan": "premium"
}
Rejection Fixer (text)
POST /api/rejection-fix
{
"rejectionText": "Dear Applicant, your Form A1...",
"plan": "premium"
}
Rejection Fixer (image upload)
POST /api/rejection-fix-upload Content-Type: multipart/form-data file:plan: premium
Public status
GET /api/status
Authenticated endpoints
Require gic_session cookie.
GET /api/portal/me— your profile snapshotGET /api/portal/export— full GDPR data export ZIPPOST /api/portal/delete-account— wipe all dataGET/POST /api/profile— company profileGET /api/profiles— list all your companiesPOST /api/profile/new— create new companyPOST /api/profile/generate-pack— regenerate pack from profileGET/POST /api/journey— incorporation journeyGET/POST /api/reminders— compliance remindersGET /api/portal/calendar.ics— reminders as iCalPOST /api/sign/request— single signerPOST /api/sign/multi— sequential multi-signerPOST /api/sign/bulk— CSV upload bulk recipientsGET/POST /api/portal/domain— custom white-label domain
Embed signing widget
Embed the e-signature flow in your own site as an iframe:
<iframe src="https://getirishcompany.com/embed/sign/<TOKEN>"
width="100%" height="700"
frameborder="0">
</iframe>
Rate limits
60 requests per minute per IP for public endpoints. Higher limits on request — email [email protected].
Webhook (Stripe)
POST /api/webhook/stripe
Stripe-Signature: t=...,v1=...
{Stripe event JSON}
Future: customer-defined webhooks for sign events.
Examples
Quick check a name + get advisor verdict:
curl -X POST https://getirishcompany.com/api/name-check \
-H "Content-Type: application/json" \
-d '{"name":"MyStartup Tech Ltd"}'
curl -X POST https://getirishcompany.com/api/advisor \
-H "Content-Type: application/json" \
-d '{"businessType":"saas","resident":"non_eea","needEuAccess":true,"needStripe":true}'
Build with us
Free for personal use. Email [email protected] for partnership or higher rate limits.