Insider Connect API (1.0)
Download Postman collection:
Token
Get Token
POST
/connect/token
Authenticates the client and retrieves a bearer token for accessing protected API endpoints.
Example Request
curl --location --request POST 'https://your-api-domain.com/connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=YOUR_CLIENT_ID' \
--data-urlencode 'client_secret=YOUR_CLIENT_SECRET'
Request Body (urlencoded)
| Parameter | Type | Description | Required |
|---|---|---|---|
grant_type | string | Must be set to client_credentials. | Yes |
client_id | string | Your unique client identifier. | Yes |
client_secret | string | Your client secret for authentication. | Yes |
Responses
Success Response (200 OK)
{
"access_token": "eyJhbGciOiJSUz...In0.hMl1zM...Vlkg.irswp...",
"token_type": "Bearer",
"expires_in": 3599,
"scope": "feedback.read feedback.write"
}
Failed Response (400 Bad Request)
{
"error": "invalid_client",
"error_description": "Bad client credentials. Please check your client_id and client_secret."
}
Feedbacks
Create Feedback
POST
/api/client/feedbacks
Creates a new feedback entry. The response will include the ID of the newly created feedback, which can be used to attach files.
Example Request
curl --location --request POST 'https://your-api-domain.com/api/client/feedbacks' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"description": "The new interface is much more intuitive.",
"submittedByEmail": "user@example.com",
"sentimentRating": true,
"contactConsent": true
}'
Request Body (JSON)
| Field | Type | Description | Required |
|---|---|---|---|
description | string | A detailed description of the feedback. Maximum length is 1000 characters. | No |
submittedByEmail | string | The email address of the person submitting the feedback. | Yes |
sentimentRating | boolean | The sentiment of the feedback. Use true for positive and false for negative. | No |
contactConsent | boolean | Indicates if the user consents to be contacted for follow-up. | Yes |
Responses
Success Response (201 Created)
{
"isSuccess": true,
"data": 32,
"errors": null,
"requestId": "982e7534-2f5b-4b41-a35b-0112ba17be14"
}
Failed Response (400 Bad Request)
{
"isSuccess": false,
"data": null,
"errors": [
"Contact Consent is required."
],
"requestId": "c1a69019-e3de-4158-8785-18fede028e37"
}
Attach Files to Feedback
POST
/api/client/feedbacks/{feedbackId}/attachments
Attaches one or more files to an existing feedback entry. This endpoint accepts `multipart/form-data`.
Constraints: Maximum file size: 4MB. Allowed types: image/jpeg, image/png, application/pdf.
Example Request
curl --location --request POST 'https://your-api-domain.com/api/client/feedbacks/32/attachments' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--form 'files=@"/path/to/your/image.png"' \
--form 'files=@"/path/to/your/document.pdf"'
URL Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
feedbackId | integer | The ID of the feedback to which files will be attached. | Yes |
Request Body (form-data)
| Field | Type | Description | Required |
|---|---|---|---|
files | file | The file(s) to be uploaded. Can send multiple files with the same key. | Yes |
Responses
Success Response (200 OK)
{
"isSuccess": true,
"data": 27,
"errors": null,
"requestId": "edf4dd0e-cb09-4c06-8276-ab7739805250"
}
Failed Response (400 Bad Request)
{
"isSuccess": false,
"data": null,
"errors": [
"File size cannot exceed 4MB."
],
"requestId": "e2cedcaf-eb31-42f2-9205-e566a705955f"
}