Authentication endpoints for obtaining access tokens and managing API keys.
Aiwyn API (1.0.0)
The Aiwyn API provides programmatic access to our comprehensive suite of financial automation tools. Build powerful integrations and automate your accounting workflows with our RESTful APIs.
- 🔐 Secure Authentication - Industry-standard OAuth 2.0 and API key authentication
- 📊 Real-time Data - Access up-to-date financial information
- 🚀 High Performance - Low latency, high throughput API infrastructure
- 📚 Comprehensive Coverage - Full access to clients, engagements, expenses, and more
- 🛠️ Developer-Friendly - Extensive documentation, SDKs, and code examples
We use URL versioning for our APIs. The current version is v1. All endpoints are prefixed with the version number.
Request
Retrieve all contacts with basic pagination support
Returns a paginated list of contacts. Default sort prioritizes last/first name.
Real Example:
curl --location 'https://{{host}}/v1/contacts' \
--header 'Authorization: bearer {{token}}' \
--header 'Content-Type: application/json' \
--data '{
"pageSize": 25,
"page": 0
}'- Mock serverhttps://api.doc.aiwyn.ai/_mock/bundle/gql/v1/contacts
- Sandboxhttps://demo.api.aiwyn.ai/gql/v1/contacts
- Staginghttps://staging.api.aiwyn.app/gql/v1/contacts
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.doc.aiwyn.ai/_mock/bundle/gql/v1/contacts \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"pageSize": 25,
"page": 0
}'Request
Advanced contact filtering with custom GraphQL where clauses and dynamic ordering
Filter contacts using boolean logic and relationship-aware fields from contact_info.
Real Example:
curl --location 'https://{{host}}/v1/contacts/search' \
--header 'Authorization: bearer {{token}}' \
--header 'Content-Type: application/json' \
--data '{
"pageSize": 1,
"where": {
"_and": [
{
"_or": [
{
"contact_info": {
"firstName": {
"_ilike": "%john%"
}
}
},
{
"contact_info": {
"lastName": {
"_ilike": "%doe%"
}
}
}
]
},
{
"active": {
"_eq": true
}
},
{
"createdAt": {
"_gte": "1900-01-01T00:00:00Z"
}
},
{
"contact_info": {
"email": {
"_ilike": "%@company.com%"
}
}
}
]
},
"orderBy": [
{
"contact_info": {
"lastName": "asc"
}
},
{
"createdAt": "desc"
}
]
}'GraphQL-style where clause for complex contact filtering
- Mock serverhttps://api.doc.aiwyn.ai/_mock/bundle/gql/v1/contacts/search
- Sandboxhttps://demo.api.aiwyn.ai/gql/v1/contacts/search
- Staginghttps://staging.api.aiwyn.app/gql/v1/contacts/search
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.doc.aiwyn.ai/_mock/bundle/gql/v1/contacts/search \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"pageSize": 1,
"where": {
"_and": [
{
"_or": [
{
"contact_info": {
"firstName": {
"_ilike": "%john%"
}
}
},
{
"contact_info": {
"lastName": {
"_ilike": "%doe%"
}
}
}
]
},
{
"active": {
"_eq": true
}
},
{
"createdAt": {
"_gte": "1900-01-01T00:00:00Z"
}
},
{
"contact_info": {
"email": {
"_ilike": "%@company.com%"
}
}
}
]
},
"orderBy": [
{
"contact_info": {
"lastName": "asc"
}
},
{
"createdAt": "desc"
}
]
}'Request
Retrieve a specific contact by its unique identifier
This endpoint provides detailed contact information including:
- Complete contact details and demographics
- Contact status and relationship information
- Client associations and roles
- Communication preferences and history
- Address and location information
- Professional and personal details
Contact Management Features:
- Contact lifecycle tracking
- Client relationship management
- Communication preference management
- Address and location tracking
- Professional information management
Contact Details Include:
- Contact name and demographics
- Contact status and type
- Client associations
- Communication preferences
- Address information
- Professional details
Business Applications:
- Contact relationship management
- Client communication planning
- Contact database maintenance
- Professional network management
- Communication preference tracking
Real Example:
curl --location 'https://{{host}}/v1/contact/23456' \
--header 'Authorization: bearer {{token}}' \
--header 'Content-Type: application/json'Response Example:
{
"id": 23456,
"firstName": "John",
"lastName": "Smith",
"email": "john.smith@acme.com",
"phone": "+1-555-0123",
"mobile": "+1-555-0456",
"title": "Chief Financial Officer",
"department": "Finance",
"status": "ACTIVE",
"type": "CLIENT_CONTACT",
"clientId": 789,
"clientName": "Acme Corporation",
"isPrimaryContact": true,
"address": {
"street": "123 Business Ave",
"city": "New York",
"state": "NY",
"zipCode": "10001",
"country": "USA"
},
"communicationPreferences": {
"preferredMethod": "EMAIL",
"emailFrequency": "WEEKLY",
"newsletterSubscription": true,
"marketingEmails": false
},
"notes": "Primary contact for all financial matters and audit communications",
"createdAt": "2023-01-15T10:00:00Z",
"updatedAt": "2024-11-20T14:30:00Z"
}- Mock serverhttps://api.doc.aiwyn.ai/_mock/bundle/gql/v1/contact/{id}
- Sandboxhttps://demo.api.aiwyn.ai/gql/v1/contact/{id}
- Staginghttps://staging.api.aiwyn.app/gql/v1/contact/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://api.doc.aiwyn.ai/_mock/bundle/gql/v1/contact/23456 \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "id": 23456, "firstName": "John", "lastName": "Smith", "email": "john.smith@acme.com", "phone": "+1-555-0123", "mobile": "+1-555-0456", "title": "Chief Financial Officer", "department": "Finance", "status": "ACTIVE", "type": "CLIENT_CONTACT", "clientId": 789, "clientName": "Acme Corporation", "isPrimaryContact": true, "address": { "street": "123 Business Ave", "city": "New York", "state": "NY", "zipCode": "10001", "country": "USA" }, "communicationPreferences": { "preferredMethod": "EMAIL", "emailFrequency": "WEEKLY", "newsletterSubscription": true, "marketingEmails": false }, "notes": "Primary contact for all financial matters and audit communications", "createdAt": "2023-01-15T10:00:00Z", "updatedAt": "2024-11-20T14:30:00Z" }
🗃️ Records
Create, update, and manage entity records across standard and custom record types.
The Records API provides:
- Record Operations - Create, update, and delete records for any entity type
- Schema Discovery - Query available entity types and their field definitions
- Custom Record Types - Define and manage custom record type schemas
🔔 Event Subscriptions
Create and manage webhook subscriptions for entity events.
The Event Subscriptions API provides:
- Webhook Management - Create, update, and deactivate webhook subscriptions
- Event Filtering - Subscribe to specific entity types and operations (CREATE, UPDATE, DELETE)
- Security - Retrieve webhook signing secrets for payload verification