Contacts APIs

The Contacts APIs provide a centralized way to manage users, their contact information, and communication history across multiple channels. These APIs are essential for building a unified customer or user communication system. They allow you to

Overview

The following APIs help you manage contact data and active conversations for your teams and channels.

1. Get Contact

  • Endpoint for Product: GET https://app-gateway.imbrace.co/v1/backend/contacts?limit=10&skip=0&sort=-created_at

  • Endpoint for Demo: GET https://app-gateway.demo.imbrace.co/v1/backend/contacts?limit=10&skip=0&sort=-created_at

  • Endpoint for Dev: GET https://app-gateway.dev.imbrace.co/v1/backend/contacts?limit=10&skip=0&sort=-created_at

  • Headers:

    • Content-Type: application/json

    • x-access-token: Your Access TokenYour Access Token

  • Body:

  • Result:

    • Status code: 200 OK

    {
        "object_name": "list",
        "data": [
            {
                "object_name": "contact",
                "id": "con_66d67483-8982-43d6-acbe-139568688add",
                "organization_id": "org_imbrace",
                "business_unit_id": "bu_imbrace_testing",
                "channel_id": "ch_2592e13f-c43f-48a2-a416-a7bb12a5caec",
                "channel_type": "web",
                "display_name": "UNK#DO1695",
                "avatar_url": "",
                "first_name": "",
                "last_name": "",
                "gender": "",
                "area_code": "",
                "phone_number": "",
                "language": "en",
                "email": "",
                "remark": "",
                "time_zone": "Asia/Saigon",
                "last_seen": "2025-10-15T10:07:59.066Z",
                "created_at": "2025-10-15T10:06:26.630Z",
                "updated_at": null,
                "odooContactID": "",
                "title": "",
                "birthday": "",
                "location": "",
                "company_name": "",
                "position": "",
                "whatsapp_id": "",
                "facebook_id": "",
                "messenger_id": "",
                "wechat_id": "",
                "line_id": "",
                "instagram_id": "",
                "additional_params": {}
            },
            {
                "object_name": "contact",
                "id": "con_56e4e804-30f7-497a-905d-dade09b561cc",
                "organization_id": "org_imbrace",
                "business_unit_id": "bu_imbrace_testing",
                "channel_id": "ch_2592e13f-c43f-48a2-a416-a7bb12a5caec",
                "channel_type": "web",
                "display_name": "UNK#DX2694",
                "avatar_url": "",
                "first_name": "",
                "last_name": "",
                "gender": "",
                "area_code": "",
                "phone_number": "",
                "language": "en",
                "email": "",
                "remark": "",
                "time_zone": "Asia/Saigon",
                "last_seen": "2025-10-15T05:09:29.391Z",
                "created_at": "2025-10-15T03:35:27.277Z",
                "updated_at": null,
                "odooContactID": "",
                "title": "",
                "birthday": "",
                "location": "",
                "company_name": "",
                "position": "",
                "whatsapp_id": "",
                "facebook_id": "",
                "messenger_id": "",
                "wechat_id": "",
                "line_id": "",
                "instagram_id": "",
                "additional_params": {}
            },
            {
                "object_name": "contact",
                "id": "con_1ae4ac42-173c-4549-b2ab-dff386bbe886",
                "organization_id": "org_imbrace",
                "business_unit_id": "bu_imbrace_testing",
                "channel_id": "ch_2592e13f-c43f-48a2-a416-a7bb12a5caec",
                "channel_type": "web",
                "display_name": "UNK#LO8002",
                "avatar_url": "",
                "first_name": "",
                "last_name": "",
                "gender": "",
                "area_code": "",
                "phone_number": "",
                "language": "en",
                "email": "",
                "remark": "",
                "time_zone": "Asia/Saigon",
                "last_seen": "2025-10-14T12:09:45.151Z",
                "created_at": "2025-10-14T08:38:49.111Z",
                "updated_at": null,
                "odooContactID": "",
                "title": "",
                "birthday": "",
                "location": "",
                "company_name": "",
                "position": "",
                "whatsapp_id": "",
                "facebook_id": "",
                "messenger_id": "",
                "wechat_id": "",
                "line_id": "",
                "instagram_id": "",
                "additional_params": {}
            },
            {
                "object_name": "contact",
                "id": "con_be4c69d0-bf0b-44e0-95e4-c0e5f66e446a",
                "organization_id": "org_imbrace",
                "business_unit_id": "bu_imbrace_testing",
                "channel_id": "ch_2592e13f-c43f-48a2-a416-a7bb12a5caec",
                "channel_type": "web",
                "display_name": "UNK#GV7261",
                "avatar_url": "",
                "first_name": "",
                "last_name": "",
                "gender": "",
                "area_code": "",
                "phone_number": "",
                "language": "en",
                "email": "",
                "remark": "",
                "time_zone": "Asia/Saigon",
                "last_seen": "2025-10-14T05:27:38.324Z",
                "created_at": "2025-10-14T04:01:52.524Z",
                "updated_at": null,
                "odooContactID": "",
                "title": "",
                "birthday": "",
                "location": "",
                "company_name": "",
                "position": "",
                "whatsapp_id": "",
                "facebook_id": "",
                "messenger_id": "",
                "wechat_id": "",
                "line_id": "",
                "instagram_id": "",
                "additional_params": {}
            },
            {
                "object_name": "contact",
                "id": "con_21f02e1d-ddcb-4e52-b95b-db94ef9a5e62",
                "organization_id": "org_imbrace",
                "business_unit_id": "bu_imbrace_testing",
                "channel_id": "ch_2592e13f-c43f-48a2-a416-a7bb12a5caec",
                "channel_type": "web",
                "display_name": "UNK#UC5549",
                "avatar_url": "",
                "first_name": "",
                "last_name": "",
                "gender": "",
                "area_code": "",
                "phone_number": "",
                "language": "en",
                "email": "",
                "remark": "",
                "time_zone": "Asia/Saigon",
                "last_seen": "2025-10-14T03:30:29.594Z",
                "created_at": "2025-10-14T03:27:35.939Z",
                "updated_at": null,
                "odooContactID": "",
                "title": "",
                "birthday": "",
                "location": "",
                "company_name": "",
                "position": "",
                "whatsapp_id": "",
                "facebook_id": "",
                "messenger_id": "",
                "wechat_id": "",
                "line_id": "",
                "instagram_id": "",
                "additional_params": {}
            },
            {
                "object_name": "contact",
                "id": "con_d33dfa92-2979-4621-9fd7-eb6731169abf",
                "organization_id": "org_imbrace",
                "business_unit_id": "bu_imbrace_testing",
                "channel_id": "ch_7eddc925-f8c0-409f-96b7-b88c0c013f6a",
                "channel_type": "web",
                "display_name": "VNM#HJ9208",
                "avatar_url": "",
                "first_name": "",
                "last_name": "",
                "gender": "",
                "area_code": "",
                "phone_number": "",
                "language": "en",
                "email": "",
                "remark": "",
                "time_zone": "Asia/Bangkok",
                "last_seen": "2025-10-14T11:13:22.833Z",
                "created_at": "2025-10-13T23:11:50.187Z",
                "updated_at": null,
                "odooContactID": "",
                "title": "",
                "birthday": "",
                "location": "",
                "company_name": "",
                "position": "",
                "whatsapp_id": "",
                "facebook_id": "",
                "messenger_id": "",
                "wechat_id": "",
                "line_id": "",
                "instagram_id": "",
                "additional_params": {}
            },
            {
                "object_name": "contact",
                "id": "con_bb32705f-b799-4989-b64a-a30131c9d835",
                "organization_id": "org_imbrace",
                "business_unit_id": "bu_imbrace_testing",
                "channel_id": "ch_3c172ef8-d417-4467-8c2c-4d98aeff9eed",
                "channel_type": "web",
                "display_name": "UNK#OZ2092",
                "avatar_url": "",
                "first_name": "",
                "last_name": "",
                "gender": "",
                "area_code": "",
                "phone_number": "",
                "language": "en",
                "email": "",
                "remark": "",
                "time_zone": "Asia/Saigon",
                "last_seen": "2025-10-13T00:53:16.542Z",
                "created_at": "2025-10-13T00:50:08.140Z",
                "updated_at": null,
                "odooContactID": "",
                "title": "",
                "birthday": "",
                "location": "",
                "company_name": "",
                "position": "",
                "whatsapp_id": "",
                "facebook_id": "",
                "messenger_id": "",
                "wechat_id": "",
                "line_id": "",
                "instagram_id": "",
                "additional_params": {}
            },
            {
                "object_name": "contact",
                "id": "con_a119565f-6c84-49ba-8c64-6da7772175e8",
                "organization_id": "org_imbrace",
                "business_unit_id": "bu_imbrace_testing",
                "channel_id": "ch_06d9eb49-acde-4d3e-b457-d7cb73b277b4",
                "channel_type": "web",
                "display_name": "UNK#EU0957",
                "avatar_url": "",
                "first_name": "",
                "last_name": "",
                "gender": "",
                "area_code": "",
                "phone_number": "",
                "language": "en",
                "email": "",
                "remark": "",
                "time_zone": "Asia/Saigon",
                "last_seen": "2025-10-13T08:48:08.659Z",
                "created_at": "2025-10-11T00:19:38.698Z",
                "updated_at": null,
                "odooContactID": "",
                "title": "",
                "birthday": "",
                "location": "",
                "company_name": "",
                "position": "",
                "whatsapp_id": "",
                "facebook_id": "",
                "messenger_id": "",
                "wechat_id": "",
                "line_id": "",
                "instagram_id": "",
                "additional_params": {}
            },
            {
                "object_name": "contact",
                "id": "con_3a99e79d-4d5d-44cf-b44f-50848e19a4ed",
                "organization_id": "org_imbrace",
                "business_unit_id": "bu_imbrace_testing",
                "channel_id": "ch_06d9eb49-acde-4d3e-b457-d7cb73b277b4",
                "channel_type": "web",
                "display_name": "UNK#WB7192",
                "avatar_url": "",
                "first_name": "",
                "last_name": "",
                "gender": "",
                "area_code": "",
                "phone_number": "",
                "language": "en",
                "email": "",
                "remark": "",
                "time_zone": "Asia/Saigon",
                "last_seen": "2025-10-10T08:05:17.772Z",
                "created_at": "2025-10-10T08:01:18.366Z",
                "updated_at": null,
                "odooContactID": "",
                "title": "",
                "birthday": "",
                "location": "",
                "company_name": "",
                "position": "",
                "whatsapp_id": "",
                "facebook_id": "",
                "messenger_id": "",
                "wechat_id": "",
                "line_id": "",
                "instagram_id": "",
                "additional_params": {}
            },
            {
                "object_name": "contact",
                "id": "con_a0c05c8e-d75e-4347-8bb0-bd9cd6ef26ba",
                "organization_id": "org_imbrace",
                "business_unit_id": "bu_imbrace_testing",
                "channel_id": "ch_06d9eb49-acde-4d3e-b457-d7cb73b277b4",
                "channel_type": "web",
                "display_name": "UNK#TL3680",
                "avatar_url": "",
                "first_name": "",
                "last_name": "",
                "gender": "",
                "area_code": "",
                "phone_number": "",
                "language": "en",
                "email": "",
                "remark": "",
                "time_zone": "Asia/Saigon",
                "last_seen": "2025-10-10T11:43:30.834Z",
                "created_at": "2025-10-10T07:47:44.199Z",
                "updated_at": null,
                "odooContactID": "",
                "title": "",
                "birthday": "",
                "location": "",
                "company_name": "",
                "position": "",
                "whatsapp_id": "",
                "facebook_id": "",
                "messenger_id": "",
                "wechat_id": "",
                "line_id": "",
                "instagram_id": "",
                "additional_params": {}
            }
        ],
        "nested": {},
        "has_more": true,
        "count": 65681,
        "total": 10
    }
  • Example:

    curl --location 'https://app-gateway.dev.imbrace.co/v1/backend/contacts?limit=10&skip=0&sort=-created_at' \
    --header 'X-Access-Token: acc_f7124766-e633-429c-b24a-ab0421a202e3' \
    --data ''

2. Get Contact by contact_id

Retrieve detailed contact information, including conversation history, associated teams, and the latest messages.

  • Endpoint for Product: GET https://app-gateway.imbrace.co/v1/backend/contacts/:contact_id/conversations?channel_types=web&channel_types=whatsapp&channel_types=facebook&channel_types=email&channel_types=wechat&channel_types=instagram&channel_types=line

  • Endpoint for Demo: GET https://app-gateway.demo.imbrace.co/v1/backend/contacts/:contact_id/conversations?channel_types=web&channel_types=whatsapp&channel_types=facebook&channel_types=email&channel_types=wechat&channel_types=instagram&channel_types=line

  • Endpoint for Dev: GET https://app-gateway.dev.imbrace.co/v1/backend/contacts/:contact_id/conversations?channel_types=web&channel_types=whatsapp&channel_types=facebook&channel_types=email&channel_types=wechat&channel_types=instagram&channel_types=line

  • Headers:

    • Content-Type: application/json

    • x-access-token: Your Access TokenYour Access Token

  • Params Path Variables

    • contact_id: con_32a507dd-dc57-49a9-8456-7fb9c48d2a41

  • Body:

  • Result:

    • Status code: 200 OK

    • Status code: 400 Not Found

  • Example:

3. Search Contact

  • Endpoint for Product: GET https://app-gateway.imbrace.co/v1/backend/contacts/_search?limit=10&skip=0&q=&type=text

  • Endpoint for Demo: GET https://app-gateway.demo.imbrace.co/v1/backend/contacts/_search?limit=10&skip=0&q=&type=text

  • Endpoint for Dev: GET https://app-gateway.dev.imbrace.co/v1/backend/contacts/_search?limit=10&skip=0&q=&type=text

  • Headers:

    • Content-Type: application/json

    • x-access-token: Your Access TokenYour Access Token

  • Params Path Variables

    • contact_id: con_32a507dd-dc57-49a9-8456-7fb9c48d2a41

  • Body:

  • Result:

    • Status code: 200 OK

  • Example:

4. Update Contact

  • Endpoint for Product: PUT https://app-gateway.imbrace.co/v1/backend/contacts/:contact_id

  • Endpoint for Demo: PUT https://app-gateway.demo.imbrace.co/v1/backend/contacts/:contact_id

  • Endpoint for Dev: PUT https://app-gateway.dev.imbrace.co/v1/backend/contacts/:contact_id

  • Headers:

    • Content-Type: application/json

    • x-access-token: Your Access TokenYour Access Token

  • Params Path Variables

    • contact_id: con_32a507dd-dc57-49a9-8456-7fb9c48d2a41

  • Body:

  • Result:

    • Status code: 200 OK

  • Example:

5. Get notification

Fetches a paginated list of notifications for the authenticated user, including unread/read state and a summary count. Use to render the notification center/badge, infinite-scroll lists, or to check how many items are unread.

  • Endpoint for Product: GET https://app-gateway.imbrace.co/v1/backend/notifications?limit=10&skip=0

  • Endpoint for Demo: GET https://app-gateway.demo.imbrace.co/v1/backend/notifications?limit=10&skip=0

  • Endpoint for Dev: GET https://app-gateway.dev.imbrace.co/v1/backend/notifications?limit=10&skip=0

  • Headers:

    • Content-Type: application/json

    • x-access-token: Your Access TokenYour Access Token

  • Body:

  • Result:

    • Status code: 200 OK

  • Example:

--header 'X-Access-Token: acc_87681c72-6dd9-4057-adce-f01c3bc6cfd8'

  • Result:

    • Status code: 200 OK

  • Example:

5. Deleted notification dismiss

Dismisses (removes) specific notifications from the user’s list. This is typically a soft delete from the client’s perspective. Use when the user explicitly dismisses one or multiple notifications (e.g., “Clear” button on an item).

  • Endpoint for Product: DELETE https://app-gateway.imbrace.co/v1/backend/notifications/dismiss

  • Endpoint for Demo: DELETE https://app-gateway.demo.imbrace.co/v1/backend/notifications/dismiss

  • Endpoint for Dev: DELETE https://app-gateway.dev.imbrace.co/v1/backend/notifications/dismiss

  • Headers:

    • Content-Type: application/json

    • x-access-token: Your Access TokenYour Access Token

  • Body:

  • Result:

    • Status code: 200 OK

  • Example:

6. Deleted notification all dismiss

Bulk-dismisses all notifications for a given category/type (or all, depending on server rules). Useful for “Clear all” actions. Use for one-click “Clear all notifications” in a specific section (e.g., conversations) or globally if supported.

  • Endpoint for Product: DELETE https://app-gateway.imbrace.co/v1/backend/notifications/dismiss/all

  • Endpoint for Demo: DELETE https://app-gateway.demo.imbrace.co/v1/backend/notifications/dismiss/all

  • Endpoint for Dev: DELETE https://app-gateway.dev.imbrace.co/v1/backend/notifications/dismiss/all

  • Headers:

    • Content-Type: application/json

    • x-access-token: Your Access TokenYour Access Token

  • Query Params

    • type:conversations

  • Body:

  • Result:

    • Status code: 200 OK

  • Example:

7. Get Contact Conversations by Channel Type

Retrieve contact conversations filtered by specific channel types.

  • Endpoint for Product: GET https://app-gateway.imbrace.co/v1/backend/contacts/{contact_id}/conversations?channel_types=web

  • Endpoint for Demo: GET https://app-gateway.demo.imbrace.co/v1/backend/contacts/{contact_id}/conversations?channel_types=web

  • Endpoint for Dev: GET https://app-gateway.dev.imbrace.co/v1/backend/contacts/{contact_id}/conversations?channel_types=web

  • Headers:

    • Content-Type: application/json

    • x-access-token: Your Access TokenYour Access Token

  • Path Parameters:

    • contact_id (string, required): The unique identifier of the contact

  • Query Parameters:

    • channel_types (string, required): The type of channel to filter conversations (e.g., "web", "whatsapp", "facebook", etc.)

  • Result:

    • Status code: 200 OK

  • Example:

8. Get Contact Comments

Retrieve comments associated with a specific contact and comment ID.

  • Endpoint for Product: GET https://app-gateway.imbrace.co/v1/backend/contacts/{contact_id}/comment/{comment_id}

  • Endpoint for Demo: GET https://app-gateway.demo.imbrace.co/v1/backend/contacts/{contact_id}/comment/{comment_id}

  • Endpoint for Dev: GET https://app-gateway.dev.imbrace.co/v1/backend/contacts/{contact_id}/comment/{comment_id}

  • Headers:

    • Content-Type: application/json

    • x-access-token: Your Access TokenYour Access Token

  • Path Parameters:

    • contact_id (string, required): The unique identifier of the contact

    • comment_id (string, required): The unique identifier of the comment

  • Result:

    • Status code: 200 OK

  • Example:

9. Upload Contact File

Upload a file associated with contacts. This API supports file uploads and returns a URL to the uploaded file.

  • Endpoint for Product: POST https://app-gateway.imbrace.co/v1/backend/contacts/_fileupload

  • Endpoint for Demo: POST https://app-gateway.demo.imbrace.co/v1/backend/contacts/_fileupload

  • Endpoint for Dev: POST https://app-gateway.dev.imbrace.co/v1/backend/contacts/_fileupload

  • Headers:

    • Content-Type: multipart/form-data

    • x-access-token: Your Access TokenYour Access Token

  • Body Parameters:

    • file (file, required): The file to upload

  • Result:

    • Status code: 200 OK

  • Example:

10. Get Contact Files

Retrieve all files associated with a specific contact.

  • Endpoint for Product: GET https://app-gateway.imbrace.co/v1/backend/contact/{contact_id}/files

  • Endpoint for Demo: GET https://app-gateway.demo.imbrace.co/v1/backend/contact/{contact_id}/files

  • Endpoint for Dev: GET https://app-gateway.dev.imbrace.co/v1/backend/contact/{contact_id}/files

  • Headers:

    • Content-Type: application/json

    • x-access-token: Your Access TokenYour Access Token

  • Path Parameters:

    • contact_id (string, required): The unique identifier of the contact

  • Result:

    • Status code: 200 OK

  • Example:

Last updated