Authentication endpoints for obtaining access tokens and managing API keys.
- Get webhook signing secret
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.
🗃️ 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
- Mock serverhttps://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions/catalog
- Sandboxhttps://demo.api.aiwyn.ai/api/v1/event-subscriptions/catalog
- Staginghttps://staging.api.aiwyn.app/api/v1/event-subscriptions/catalog
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions/catalog \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{}
Request
Create a webhook subscription for entity events
Subscribe to receive webhook notifications when entities are created, updated, or deleted. The webhook URL must use HTTPS and will receive POST requests with event data.
Business Applications:
- Real-time integrations
- Event-driven workflows
- System synchronization
Real Example:
curl --location 'https://{{host}}/api/v1/event-subscriptions' \
--header 'Authorization: bearer {{token}}' \
--header 'Content-Type: application/json' \
--data '{
"entityType": example value,
"operation": example value,
"deliveryUrl": "example value"
}'- Mock serverhttps://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions
- Sandboxhttps://demo.api.aiwyn.ai/api/v1/event-subscriptions
- Staginghttps://staging.api.aiwyn.app/api/v1/event-subscriptions
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"entityType": {},
"operation": {},
"deliveryUrl": "string",
"filterExpression": "string",
"description": "string"
}'{ "data": { "subscription": {}, "webhookSecret": "string", "webhookSecretInstructions": "string" }, "error": {}, "meta": { "success": true, "message": "string", "timestamp": "2019-08-24T14:15:22Z", "version": "string" } }
- Mock serverhttps://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions/{id}
- Sandboxhttps://demo.api.aiwyn.ai/api/v1/event-subscriptions/{id}
- Staginghttps://staging.api.aiwyn.app/api/v1/event-subscriptions/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
'https://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions/{id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"entityType": {},
"operation": {},
"deliveryUrl": "string",
"filterExpression": "string",
"description": "string",
"active": true
}'{ "data": { "id": 0, "staffId": 0, "entityType": {}, "operation": {}, "deliveryUrl": "string", "description": "string", "filterExpression": "string", "active": true, "status": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "isInternal": true }, "error": {}, "meta": { "success": true, "message": "string", "timestamp": "2019-08-24T14:15:22Z", "version": "string" } }
- Mock serverhttps://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions/{id}
- Sandboxhttps://demo.api.aiwyn.ai/api/v1/event-subscriptions/{id}
- Staginghttps://staging.api.aiwyn.app/api/v1/event-subscriptions/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X DELETE \
'https://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions/{id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Request
Reactivate a webhook subscription
Reactivates a previously deactivated subscription.
Business Applications:
- Restore webhook integrations
- Resume event notifications
Real Example:
curl --location 'https://{{host}}/api/v1/event-subscriptions/{id}/reactivate' \
--header 'Authorization: bearer {{token}}' \
--header 'Content-Type: application/json' \- Mock serverhttps://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions/{id}/reactivate
- Sandboxhttps://demo.api.aiwyn.ai/api/v1/event-subscriptions/{id}/reactivate
- Staginghttps://staging.api.aiwyn.app/api/v1/event-subscriptions/{id}/reactivate
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions/{id}/reactivate' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "data": { "id": 0, "staffId": 0, "entityType": {}, "operation": {}, "deliveryUrl": "string", "description": "string", "filterExpression": "string", "active": true, "status": "string", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "isInternal": true }, "error": {}, "meta": { "success": true, "message": "string", "timestamp": "2019-08-24T14:15:22Z", "version": "string" } }
Request
Retrieve webhook delivery attempts for a subscription
Returns a paginated list of delivery attempts for webhook events for the given subscription. Supports filtering by HTTP status code and time range.
Business Applications:
- Webhook troubleshooting
- Delivery monitoring
- Operational auditing
- Mock serverhttps://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions/{id}/deliveries
- Sandboxhttps://demo.api.aiwyn.ai/api/v1/event-subscriptions/{id}/deliveries
- Staginghttps://staging.api.aiwyn.app/api/v1/event-subscriptions/{id}/deliveries
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions/{id}/deliveries' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{}
- Mock serverhttps://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions/webhook/secret
- Sandboxhttps://demo.api.aiwyn.ai/api/v1/event-subscriptions/webhook/secret
- Staginghttps://staging.api.aiwyn.app/api/v1/event-subscriptions/webhook/secret
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://api.doc.aiwyn.ai/_mock/bundle/api/v1/event-subscriptions/webhook/secret \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{}
Request
Generate a signed test webhook payload
Generates a signature for an arbitrary JSON payload using the provided secret. This is intended for debugging webhook integrations.
Business Applications:
- Webhook troubleshooting
- Signature validation testing
Real Example:
curl --location 'https://{{host}}/api/v1/webhook/test/generate' \
--header 'Authorization: bearer {{token}}' \
--header 'Content-Type: application/json' \- Mock serverhttps://api.doc.aiwyn.ai/_mock/bundle/api/v1/webhook/test/generate
- Sandboxhttps://demo.api.aiwyn.ai/api/v1/webhook/test/generate
- Staginghttps://staging.api.aiwyn.app/api/v1/webhook/test/generate
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.doc.aiwyn.ai/_mock/bundle/api/v1/webhook/test/generate \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "data": { "isValid": true, "payload": {}, "signature": "string", "secret": "string" }, "error": {}, "meta": { "success": true, "message": "string", "timestamp": "2019-08-24T14:15:22Z", "version": "string" } }
Request
Validate a webhook signature
Verifies that the provided signature matches the payload and secret. This is intended for debugging webhook integrations.
Business Applications:
- Webhook troubleshooting
- Signature validation testing
Real Example:
curl --location 'https://{{host}}/api/v1/webhook/test/validate' \
--header 'Authorization: bearer {{token}}' \
--header 'Content-Type: application/json' \- Mock serverhttps://api.doc.aiwyn.ai/_mock/bundle/api/v1/webhook/test/validate
- Sandboxhttps://demo.api.aiwyn.ai/api/v1/webhook/test/validate
- Staginghttps://staging.api.aiwyn.app/api/v1/webhook/test/validate
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.doc.aiwyn.ai/_mock/bundle/api/v1/webhook/test/validate \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{}