Getting Started
Welcome to the Assist Insurances Developer Portal. This guide will help you get up and running with our APIs in minutes.
Overview
Assist Insurances provides two API environments:
- Production API (
api.assistinsurances.ie) - For Insly integration with quote pricing and lookups - Test API (
apim-assist-test-ne.azure-api.net) - For Applied Systems integration with full quote lifecycle
Both APIs use OAuth 2.0 client credentials flow for authentication.
Prerequisites
Before you begin, you'll need:
- API credentials (client ID and client secret)
- A development environment with support for HTTP requests
- Basic understanding of REST APIs and OAuth 2.0
Contact neil.reilly@assistinsurances.ie to obtain your API credentials.
Quick Start: 5-Minute Integration
Step 1: Get an Access Token
Choose your preferred method:
- cURL
- JavaScript
- Python
- C#
curl -X POST "https://api.assistinsurances.ie/auth/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "scope=api://1c15f5fa-f434-401b-b4ec-ab3ea75d48bb/assist-api-gateway/.default" \
-d "grant_type=client_credentials"
const response = await fetch('https://api.assistinsurances.ie/auth/token', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: new URLSearchParams({
client_id: 'YOUR_CLIENT_ID',
client_secret: 'YOUR_CLIENT_SECRET',
scope: 'api://1c15f5fa-f434-401b-b4ec-ab3ea75d48bb/assist-api-gateway/.default',
grant_type: 'client_credentials',
}),
});
const { access_token } = await response.json();
console.log('Access Token:', access_token);
import requests
response = requests.post(
'https://api.assistinsurances.ie/auth/token',
data={
'client_id': 'YOUR_CLIENT_ID',
'client_secret': 'YOUR_CLIENT_SECRET',
'scope': 'api://1c15f5fa-f434-401b-b4ec-ab3ea75d48bb/assist-api-gateway/.default',
'grant_type': 'client_credentials',
}
)
access_token = response.json()['access_token']
print(f'Access Token: {access_token}')
using System;
using System.Net.Http;
using System.Collections.Generic;
using System.Text.Json;
var client = new HttpClient();
var content = new FormUrlEncodedContent(new Dictionary<string, string>
{
{ "client_id", "YOUR_CLIENT_ID" },
{ "client_secret", "YOUR_CLIENT_SECRET" },
{ "scope", "api://1c15f5fa-f434-401b-b4ec-ab3ea75d48bb/assist-api-gateway/.default" },
{ "grant_type", "client_credentials" }
});
var response = await client.PostAsync(
"https://api.assistinsurances.ie/auth/token",
content
);
var jsonDoc = JsonDocument.Parse(await response.Content.ReadAsStringAsync());
var accessToken = jsonDoc.RootElement.GetProperty("access_token").GetString();
Console.WriteLine($"Access Token: {accessToken}");
Response:
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGc...",
"token_type": "Bearer",
"expires_in": 3599
}
Access tokens are valid for 1 hour (3599 seconds). Implement token caching and refresh logic in your application.
Step 2: Make Your First API Call
- cURL
- JavaScript
- Python
- C#
curl -X POST "https://api.assistinsurances.ie/priceQuote" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"data": {
"in_policy.dateInception": "2025-10-02T00:00:00+01:00",
"in_customer.dateOfBirth": "1987-09-18",
"in_dts.raterCover": "Comprehensive"
}
}'
const quoteResponse = await fetch('https://api.assistinsurances.ie/priceQuote', {
method: 'POST',
headers: {
'Authorization': `Bearer ${access_token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
data: {
'in_policy.dateInception': '2025-10-02T00:00:00+01:00',
'in_customer.dateOfBirth': '1987-09-18',
'in_dts.raterCover': 'Comprehensive',
},
}),
});
const quote = await quoteResponse.json();
console.log('Quote:', quote);
import requests
quote_response = requests.post(
'https://api.assistinsurances.ie/priceQuote',
headers={
'Authorization': f'Bearer {access_token}',
'Content-Type': 'application/json',
},
json={
'data': {
'in_policy.dateInception': '2025-10-02T00:00:00+01:00',
'in_customer.dateOfBirth': '1987-09-18',
'in_dts.raterCover': 'Comprehensive',
}
}
)
quote = quote_response.json()
print(f'Quote: {quote}')
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", accessToken);
var quoteData = new
{
data = new
{
in_policy.dateInception = "2025-10-02T00:00:00+01:00",
in_customer.dateOfBirth = "1987-09-18",
in_dts.raterCover = "Comprehensive"
}
};
var response = await client.PostAsync(
"https://api.assistinsurances.ie/priceQuote",
new StringContent(
JsonSerializer.Serialize(quoteData),
Encoding.UTF8,
"application/json"
)
);
var quote = await response.Content.ReadAsStringAsync();
Console.WriteLine($"Quote: {quote}");
Response:
{
"rater.Comp.GrossPrem": 372.5,
"rater.Comp.PolFee": 60.0,
"rater.Comp.PremAfterPolFee": 426.0
}
Next Steps
Now that you've made your first API call, explore:
- Authentication Guide - Deep dive into OAuth 2.0 implementation
- Insly Integration - Complete guide for Insly system integration
- Applied Systems Integration - Full quote lifecycle management
- API Reference - Detailed endpoint documentation
- Error Handling - Best practices for error handling
Rate Limits
All APIs have a rate limit of 100 requests per minute per IP address. Rate limit information is included in response headers:
X-RateLimit-Limit- Maximum requests per minuteX-RateLimit-Remaining- Remaining requests in current windowX-RateLimit-Reset- Unix timestamp when the rate limit resets
If you exceed the rate limit, you'll receive a 429 Too Many Requests response. Implement exponential backoff in your application.
Need Help?
- Technical Support: neil.reilly@assistinsurances.ie
- API Status: Check service status and uptime
- Changelog: Review recent API updates and changes
Best Practices
-
Token Management
- Cache access tokens and reuse them until expiry
- Implement automatic token refresh before expiry
- Never expose credentials in client-side code
-
Error Handling
- Always check HTTP status codes
- Implement retry logic with exponential backoff
- Log errors for debugging
-
Performance
- Use connection pooling for HTTP clients
- Implement request timeouts (recommended: 30 seconds)
- Cache lookup results where appropriate
-
Security
- Store credentials securely (use environment variables or secret management)
- Use HTTPS for all API calls
- Rotate credentials periodically