Skip to content

Fin Custom Helpdesk API (0.0.1)

The Fin Custom Helpdesk API allows you to integrate your custom helpdesk with Fin through a standardized set of API endpoints and webhooks.

Download OpenAPI description
Languages
Servers
Your Custom Helpdesk API (replace with your actual domain)
https://helpdesk.example.com/api/fin/

Users

Manage end-users in your helpdesk system

Operations

Get User

Request

Retrieve an end-user by their ID.

Used to load an end-user from the customer’s system. We will call this during synchronization to get the latest data about the end-user to drive the Fin workflows and tasks correctly. If using the Fin messenger with a logged in and verified end-user, we will load the end- user when they start a new conversation.

Security
BearerAuth
Query
user_idstring
curl -i -X GET \
  'https://helpdesk.example.com/api/fin/user?user_id=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

User found successfully

Bodyapplication/json
idstringrequired

Unique identifier for the user in your system

Example: "user_123456"
user_typestringrequired

Type of user

Value"end_user"
namestring or null

User's display name

Example: "Jane Doe"
emailstring or null(email)

User's email address

Example: "jane.doe@example.com"
photo_urlstring or null(uri)

URL to user's avatar/profile picture (displayed in Fin Messenger)

Example: "https://example.com/avatars/jane.jpg"
attributesobject or null

Attributes associated with the end-user

Example: {"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}
Response
application/json
{ "id": "user_123456", "user_type": "end_user", "name": "Jane Doe", "email": "jane.doe@example.com", "photo_url": "https://example.com/avatars/jane.jpg", "attributes": { "plan_type": "enterprise", "signup_date": "2024-01-15", "is_premium": true } }

Update User

Request

Update an end-user by their ID.

Security
BearerAuth
Bodyapplication/json
user_idstring

ID of the end-user in your system

Example: "user_123"
attributesobject

Attributes associated with the end-user

Example: {"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}
curl -i -X PUT \
  https://helpdesk.example.com/api/fin/user \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "user_id": "user_123",
    "attributes": {
      "plan_type": "enterprise",
      "signup_date": "2024-01-15",
      "is_premium": true
    }
  }'

Responses

User updated successfully

Bodyapplication/json
idstringrequired

Unique identifier for the user in your system

Example: "user_123456"
user_typestringrequired

Type of user

Value"end_user"
namestring or null

User's display name

Example: "Jane Doe"
emailstring or null(email)

User's email address

Example: "jane.doe@example.com"
photo_urlstring or null(uri)

URL to user's avatar/profile picture (displayed in Fin Messenger)

Example: "https://example.com/avatars/jane.jpg"
attributesobject or null

Attributes associated with the end-user

Example: {"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}
Response
application/json
{ "id": "user_123456", "user_type": "end_user", "name": "Jane Doe", "email": "jane.doe@example.com", "photo_url": "https://example.com/avatars/jane.jpg", "attributes": { "plan_type": "enterprise", "signup_date": "2024-01-15", "is_premium": true } }

Create User

Request

When an end-user starts a conversation in the Fin Messenger and there is no information about them in the third party we request a new record be created.

Security
BearerAuth
Bodyapplication/json
namestring or null

User's name (may not be known at creation time)

Example: "Jane Doe"
emailstring or null(email)

User's email (may not be known at creation time)

Example: "jane.doe@example.com"
object_idstring

Unique identifier for the user in our system

Example: "123456"
curl -i -X POST \
  https://helpdesk.example.com/api/fin/user \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Jane Doe",
    "email": "jane.doe@example.com",
    "object_id": "123456"
  }'

Responses

End-user created successfully

Bodyapplication/json
idstringrequired

Unique identifier for the user in your system

Example: "user_123456"
user_typestringrequired

Type of user

Value"end_user"
namestring or null

User's display name

Example: "Jane Doe"
emailstring or null(email)

User's email address

Example: "jane.doe@example.com"
photo_urlstring or null(uri)

URL to user's avatar/profile picture (displayed in Fin Messenger)

Example: "https://example.com/avatars/jane.jpg"
attributesobject or null

Attributes associated with the end-user

Example: {"plan_type":"enterprise","signup_date":"2024-01-15","is_premium":true}
Response
application/json
{ "id": "user_123456", "user_type": "end_user", "name": "Jane Doe", "email": "jane.doe@example.com", "photo_url": "https://example.com/avatars/jane.jpg", "attributes": { "plan_type": "enterprise", "signup_date": "2024-01-15", "is_premium": true } }

Agents

Manage agents in your helpdesk system

Operations

Conversations

Manage conversations between end-users and agents

Operations

Messages

Manage messages within conversations

Operations

Webhooks

Notify Fin when conversations change

Operations

Models

Schemas