Appearance
Quick Reference Guide
Essential Information
Base Configuration
Base URL: https://engagifii-prod-event.azurewebsites.net
API Version: 1.0
Auth Type: OAuth 2.0 Bearer Token
Content Type: application/jsonRequired Headers (All Requests)
http
Authorization: Bearer {access_token}
api-version: 1.0
tenant-code: {tenant_code}
Content-Type: application/jsonAuthentication Quick Start
Get Access Token
bash
curl -X POST "{IDENTITY_SERVER_URL}/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_id={CLIENT_ID}" \
-d "client_secret={CLIENT_SECRET}" \
-d "grant_type=client_credentials" \
-d "scope=EventsApi"Most Common Endpoints
Events
| Action | Method | Endpoint | Description |
|---|---|---|---|
| List Events | POST | /api/1.0/event/list | Get paginated event list |
| Get Event | GET | /api/1.0/event/{id} | Get event details |
| Create Event | POST | /api/1.0/event/save | Create new event |
| Update Event | POST | /api/1.0/event/save | Update existing (include id) |
| Check Name | POST | /api/1.0/event/CheckEventName | Verify name availability |
Registrations
| Action | Method | Endpoint | Description |
|---|---|---|---|
| List Registrations | POST | /api/1.0/event/registration/GetEventRegistrations | Get event registrations |
| Create Registration | POST | /api/1.0/event/registration/save | Register for event |
| Get Registration | GET | /api/1.0/event/registration/GetById/{id} | Get registration details |
| Approve Registration | POST | /api/1.0/event/registration/ApproveRequest | Process approval |
| Cancel Registration | POST | /api/1.0/event/registration/cancel | Cancel registration |
Booth Management
| Action | Method | Endpoint | Description |
|---|---|---|---|
| List Booths | POST | /api/1.0/event/boothconfiguration/GetAllBoothconfigurations | Get booth list |
| Check Availability | POST | /api/1.0/event/boothconfiguration/boothAvailable | Check booth status |
| Submit Preference | POST | /api/1.0/event/boothconfiguration/submitPreference | Submit booth choices |
Bundles
| Action | Method | Endpoint | Description |
|---|---|---|---|
| List Bundles | POST | /api/1.0/eventBundle/list | Get event bundles |
| Get Bundle | GET | /api/1.0/eventBundle/GetBundleDetails/{id} | Bundle details |
| Create Bundle | POST | /api/1.0/eventBundle/save | Create new bundle |
Common Request Patterns
Paginated List Request
json
{
"filter": {
"searchText": "conference",
"onlyUpcoming": true
},
"pageNumber": 1,
"pageSize": 20,
"sortBy": "startDateTime",
"sortOrder": "ASC"
}Create Event (Minimal)
json
{
"name": "Tech Conference 2024",
"startDateTime": "2024-06-15T09:00:00Z",
"endDateTime": "2024-06-16T18:00:00Z",
"isFreeEvent": false,
"defaultPrice": 299.99,
"registrantsCapacity": 500,
"isRegistrationOn": true
}Register for Event
json
{
"eventId": "event-guid",
"memberId": "member-guid",
"registrationType": 1,
"bundleIds": ["bundle-guid"],
"notifyMe": true
}Status Codes Quick Reference
| Code | Meaning | Action |
|---|---|---|
| 200 | Success | Process response |
| 201 | Created | New resource created |
| 400 | Bad Request | Fix request format |
| 401 | Unauthorized | Refresh token |
| 403 | Forbidden | Check permissions |
| 404 | Not Found | Verify resource ID |
| 429 | Rate Limited | Wait and retry |
| 500 | Server Error | Retry with backoff |
Common Filter Parameters
Event Filters
json
{
"searchText": "string",
"eventTypeIds": [1, 2],
"startDateFrom": "2024-01-01",
"startDateTo": "2024-12-31",
"onlyUpcoming": true,
"eventStatus": ["Published"],
"tags": ["technology"]
}Registration Filters
json
{
"eventId": "guid",
"registrationType": 1,
"registrationStatus": [5],
"searchText": "john",
"organizationIds": ["org-guid"]
}Enums Quick Reference
EventRegistrationStatus
1 = InProgress
2 = ApprovalPending
3 = EligibleButApprovalPending
4 = ApprovalDenied
5 = ApprovalComplete
6 = Cancelled
7 = BoothAssignmentPendingEventRegistrationType
0 = All
1 = Member
2 = ExhibitorEventExhibitorBoothStatus
1 = PreAssigned
2 = Available
3 = SoldAssignedType
0 = None
1 = Person
2 = OrganizationQuick Code Examples
JavaScript - List Events
javascript
const response = await fetch('https://engagifii-prod-event.azurewebsites.net/api/1.0/event/list', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'api-version': '1.0',
'tenant-code': tenantCode,
'Content-Type': 'application/json'
},
body: JSON.stringify({
pageNumber: 1,
pageSize: 10,
filter: { onlyUpcoming: true }
})
});
const events = await response.json();Python - Get Event Details
python
import requests
response = requests.get(
f'https://engagifii-prod-event.azurewebsites.net/api/1.0/event/{event_id}',
headers={
'Authorization': f'Bearer {token}',
'api-version': '1.0',
'tenant-code': tenant_code
}
)
event = response.json()cURL - Create Registration
bash
curl -X POST "https://engagifii-prod-event.azurewebsites.net/api/1.0/event/registration/save" \
-H "Authorization: Bearer {TOKEN}" \
-H "api-version: 1.0" \
-H "tenant-code: {TENANT}" \
-H "Content-Type: application/json" \
-d '{
"eventId": "event-guid",
"memberId": "member-guid",
"registrationType": 1,
"bundleIds": ["bundle-guid"]
}'Common Troubleshooting
Problem: 401 Unauthorized
Solution:
- Check token expiration
- Verify token format (Bearer prefix)
- Refresh token if expired
Problem: 400 Bad Request
Solution:
- Validate JSON format
- Check required fields
- Verify data types match spec
Problem: 404 Not Found
Solution:
- Verify endpoint URL
- Check resource ID exists
- Confirm correct API version
Problem: 429 Rate Limited
Solution:
- Check Retry-After header
- Implement exponential backoff
- Cache responses when possible
Useful Patterns
Retry with Backoff
javascript
async function retryRequest(fn, retries = 3) {
for (let i = 0; i < retries; i++) {
try {
return await fn();
} catch (error) {
if (error.status !== 429 && error.status < 500) throw error;
await new Promise(r => setTimeout(r, Math.pow(2, i) * 1000));
}
}
throw new Error('Max retries exceeded');
}Token Refresh
javascript
let token = null;
let tokenExpiry = null;
async function getValidToken() {
if (token && tokenExpiry > Date.now()) return token;
const response = await fetch(TOKEN_URL, {
method: 'POST',
body: new URLSearchParams({
client_id: CLIENT_ID,
client_secret: CLIENT_SECRET,
grant_type: 'client_credentials',
scope: 'EventsApi'
})
});
const data = await response.json();
token = data.access_token;
tokenExpiry = Date.now() + (data.expires_in * 1000) - 60000;
return token;
}Pagination Helper
python
async def get_all_items(endpoint, filter_obj):
all_items = []
page = 1
while True:
response = await client.post(endpoint, {
'filter': filter_obj,
'pageNumber': page,
'pageSize': 100
})
all_items.extend(response['data'])
if len(response['data']) < 100:
break
page += 1
await asyncio.sleep(0.1) # Rate limiting
return all_itemsRate Limits
- Default: 1000 requests/minute
- Burst: 100 concurrent requests
- File Upload: 10 MB max
- Batch Operations: 100 items max
Check headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 950
X-RateLimit-Reset: 1705316400Environment URLs
| Environment | Base URL |
|---|---|
| Production | https://engagifii-prod-event.azurewebsites.net |
| Staging | Contact support for URL |
| Development | Contact support for URL |
Support Contacts
- Email: api-support@engagifii.com
- Status: https://status.engagifii.com
- Docs: https://developers.engagifii.com
- Forum: https://community.engagifii.com
Postman Collection
Import this collection for quick testing:
json
{
"info": {
"name": "Engagifii Events API",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{access_token}}",
"type": "string"
}
]
},
"variable": [
{
"key": "baseUrl",
"value": "https://engagifii-prod-event.azurewebsites.net"
},
{
"key": "apiVersion",
"value": "1.0"
},
{
"key": "tenantCode",
"value": "YOUR_TENANT_CODE"
}
]
}Health Check
Quick API health check:
bash
curl -X POST "https://engagifii-prod-event.azurewebsites.net/api/1.0/event/list" \
-H "Authorization: Bearer {TOKEN}" \
-H "api-version: 1.0" \
-H "tenant-code: {TENANT}" \
-H "Content-Type: application/json" \
-d '{"pageNumber":1,"pageSize":1}'Success = API is operational
