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)

ParameterTypeDescriptionRequired
grant_typestringMust be set to client_credentials.Yes
client_idstringYour unique client identifier.Yes
client_secretstringYour 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)

FieldTypeDescriptionRequired
descriptionstringA detailed description of the feedback. Maximum length is 1000 characters.No
submittedByEmailstringThe email address of the person submitting the feedback.Yes
sentimentRatingbooleanThe sentiment of the feedback. Use true for positive and false for negative.No
contactConsentbooleanIndicates 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

ParameterTypeDescriptionRequired
feedbackIdintegerThe ID of the feedback to which files will be attached.Yes

Request Body (form-data)

FieldTypeDescriptionRequired
filesfileThe 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"
}