# Authentication Source: https://dex-docs.mintlify.dev/docs/api-reference/authentication This guide covers how to use specific headers for authentication and authorization. ## Base URL ```javascript Base URL https://api.getdex.com/api/rest ``` ## Headers These are included in all requests. ```javascript Content-Type Content-Type: application/json ``` ```javascript API Key x-hasura-dex-api-key: your-api-key ``` The `x-hasura-dex-api-key` header should contain the user's API key. This key is used for identifying the user and further processing the request. To use it, include the `x-hasura-dex-api-key` header with the value being your personal API key in your API requests. ## Your Personal API Key You can find your API Key on the [API page](https://getdex.com/appv3/settings/api) within your Dex account. ![](https://mintlify.s3.us-west-1.amazonaws.com/dex-docs/api-reference/api-key.png) Do not share your API key! # Delete Contact Source: https://dex-docs.mintlify.dev/docs/api-reference/contacts/delete DELETE /contacts/{id} ## `DELETE` contact Deletes a specific contact by its ID. `DELETE` `https://api.getdex.com/api/rest/contacts/{contactId}` The ID of the contact to be deleted # Fetch Contacts Source: https://dex-docs.mintlify.dev/docs/api-reference/contacts/get GET /contacts The Contacts feature is the cornerstone of the Dex application. This section provides detailed instructions on how to fetch contacts using either their email address or unique ID. ## `GET` contacts Fetch a list of contacts. `GET` `https://api.getdex.com/api/rest/contacts?limit=2&offset=0` ### Path Parameters Set a limit of possible records for the result (Default:10) Set an offset of records, util for pagination (Default:0) ### 200: OK Response body ``` { "contacts": [ { "id": "8df02237-532e-4307-a611-1ddab4307690", "first_name": "Kavya", "last_name": "Shankar", "job_title": null, "description": null, "emails": [], "phones": [], "education": null, "image_url": "https://storage.googleapis.com/dex-staging.appspot.com/contacts/prh1HWo44ibdMHUGZ3Xsa7XpnEZ2/9915d5ff-3f57-469a-892d-6ff01279bf85/avatar.jpeg", "linkedin": null, "facebook": "kavyashankar", "twitter": null, "instagram": null, "telegram": null, "birthday_current_year": null, "last_seen_at": null, "next_reminder_at": null }, { "id": "0a95f830-e40d-428b-91d1-b891c0106c28", "first_name": "Kay", "last_name": "Ag-hee", "job_title": null, "description": null, "emails": [], "phones": [], "education": null, "image_url": "https://storage.googleapis.com/dex-staging.appspot.com/contacts/prh1HWo44ibdMHUGZ3Xsa7XpnEZ2/4ac5772f-f298-409b-b18b-ed35e1f9cd79/avatar.jpeg", "linkedin": null, "facebook": "phdawl", "twitter": null, "instagram": null, "telegram": null, "birthday_current_year": null, "last_seen_at": null, "next_reminder_at": null } ], "pagination": { "total": { "count": 2682 } } } ``` ## `GET` a contact by ID Pass a contact id and fetches the full contact information. `GET` `https://api.getdex.com/api/rest/contacts/{contactId}` ### 200: OK Response body ``` { "contacts": [ { "id": "8df02237-532e-4307-a611-1ddab4307690", "first_name": "Kavya", "last_name": "Shankar", "job_title": null, "description": null, "emails": [], "phones": [], "education": null, "image_url": "https://storage.googleapis.com/dex-staging.appspot.com/contacts/prh1HWo44ibdMHUGZ3Xsa7XpnEZ2/9915d5ff-3f57-469a-892d-6ff01279bf85/avatar.jpeg", "linkedin": null, "facebook": "kavyashankar", "twitter": null, "instagram": null, "telegram": null, "birthday_current_year": null, "last_seen_at": null, "next_reminder_at": null } ] } ``` ## `GET` a contact by email address Fetches a contact matching with the email provided. `GET` `https://api.getdex.com/api/rest/search/contacts?email=mikesuper@example.co` ### Path Parameters Email address of the contact ### 200: OK Response body ``` { "search_contacts_by_exact_email": [ { "id": "8df02237-532e-4307-a611-1ddab4307690", "first_name": "Kavya", "last_name": "Shankar", "job_title": null, "description": null, "emails": [ { "email": "sjai60@gmail.com" } ], "phones": [ { "phone_number": "9660077249" } ], "education": null, "image_url": "https://storage.googleapis.com/dex-staging.appspot.com/contacts/prh1HWo44ibdMHUGZ3Xsa7XpnEZ2/9915d5ff-3f57-469a-892d-6ff01279bf85/avatar.jpeg", "linkedin": null, "facebook": "kavyashankar", "twitter": null, "instagram": null, "telegram": null, "birthday_current_year": null, "last_seen_at": null, "next_reminder_at": null } ] } ``` # Create a Contact Source: https://dex-docs.mintlify.dev/docs/api-reference/contacts/post POST /contacts ## `POST` a contact Creates a new contact `POST` `https://api.getdex.com/api/rest/contacts` ### 201: Created Request Body ``` { "contact": { "first_name": "", "last_name": "", "job_title": null, "description": null, "contact_emails": {"data": {"email": "@gmail.com"}}, "contact_phone_numbers": {"data": {"phone_number": ""}}, "education": null, "image_url": "https://storage.googleapis.com/dex-staging.appspot.com/contacts/prh1HWo44ibdMHUGZ3Xsa7XpnEZ2/9915d5ff-3f57-469a-892d-6ff01279bf85/avatar.jpeg", "linkedin": null, "twitter": null, "instagram": null, "telegram": null, "birthday_year": null, "last_seen_at": null, "next_reminder_at": null } } ``` # Update Contacts Source: https://dex-docs.mintlify.dev/docs/api-reference/contacts/put PUT /contacts ## `PUT` for updating a contact Updates an existing contact by its ID `PUT` `https://api.getdex.com/api/rest/contacts/{contactId}` ### Path Parameters The ID of the contact to be updated ### Request Body ``` { "update_contact_phone_numbers": true, "contact_phone_numbers": [ { "contact_id": "8df02237-532e-4307-a611-1ddab4307690", "phone_number": "9660077249" } ], "update_contact_emails": true, "contact_emails": [ { "contact_id": "8df02237-532e-4307-a611-1ddab4307690", "email": "sjai60@gmail.com" } ], "contactId": "8df02237-532e-4307-a611-1ddab4307690", "changes": { "first_name": "Kavya", "last_name": "Shankar", "job_title": null, "description": null, "education": null, "image_url": "https://storage.googleapis.com/dex-staging.appspot.com/contacts/prh1HWo44ibdMHUGZ3Xsa7XpnEZ2/9915d5ff-3f57-469a-892d-6ff01279bf85/avatar.jpeg", "linkedin": null, "facebook": "kavyashankar", "twitter": null, "instagram": null, "telegram": null, "last_seen_at": null, "next_reminder_at": null } } ``` * You can use the variable `update_contact_phone_numbers` in the API to decide whether you want to update the phone numbers associated with the contact or not. * You can use the variable `update_contact_emails` in the API to decide whether you want to update the emails associated with the contact or not. # Delete a Note Source: https://dex-docs.mintlify.dev/docs/api-reference/notes/delete DELETE /contacts/{id} ## `DELETE` a note Deletes a specific note by its ID `DELETE` `https://api.getdex.com/api/rest/timeline_items/{timelineItemId}` The ID of the timeline\_item to be deleted # Fetch all Notes Source: https://dex-docs.mintlify.dev/docs/api-reference/notes/get GET /contacts ## `GET` all notes Fetch all notes `GET` `https://api.getdex.com/api/rest/timeline_items?limit=2&offset=0` ### Path Parameters ### 200: OK Array of timeline item objects ``` { "timeline_items": [ { "id": "7a581ccc-440c-4659-a17b-8409ed8b4af3", "note": "first note", "event_time": "2023-05-19T01:03:27.083+00:00", "contacts": [ { "contact_id": "75b7bc73-7be0-41a6-960a-183555c80976" } ] }, { "id": "6fc50cea-e00a-49f8-b5a1-3f6dbbcd1b4a", "note": "first note", "event_time": "2023-05-19T01:03:27.083+00:00", "contacts": [] } ], "pagination": { "total": { "count": 19 } } } ``` ## `GET` notes by Contact ID Fetch notes by contact ID `GET` `https://api.getdex.com/api/rest/timeline_items/contacts/:contactId` ### Path Parameters # Create a Note Source: https://dex-docs.mintlify.dev/docs/api-reference/notes/post POST /contacts ## `POST` a note Creates a new note `POST` `https://api.getdex.com/api/rest/timeline_items` ### 201:Created Request Body ``` { "timeline_event": { "note": "write your note here...", "event_time": "2023-05-19T01:03:27.083Z", "meeting_type": "note" "timeline_items_contacts": { "data": [{"contact_id" : "75b7bc73-7be0-41a6-960a-183555c80976"}] } } } ``` # Update a Note Source: https://dex-docs.mintlify.dev/docs/api-reference/notes/put PUT /contacts ## `PUT` for updating a note Updates an existing note by its ID `PUT` `https://api.getdex.com/api/rest/timeline_items/{timelineItemId}` ### Path Parameters The ID of the timeline\_item to be updated ### Request Body ``` { "changes": { "note": "", "custom_emoji": "", "event_time": "2023-05-19T01:03:27.083Z", "meeting_type_id": "4e826a0b-d58f-43bf-90d4-7a0d53c88b9f" }, "timeline_items_contacts": [ { "timeline_item_id": "7a581ccc-440c-4659-a17b-8409ed8b4af3", "contact_id": "75b7bc73-7be0-41a6-960a-183555c80976" } ], "update_contacts": true } ``` # Delete a Reminder Source: https://dex-docs.mintlify.dev/docs/api-reference/reminders/delete DELETE /contacts/{id} ## `DELETE` a reminder Deletes a specific reminder by its ID `DELETE` `https://api.getdex.com/api/rest/reminders/{reminderId}` The ID of the reminder to be deleted # Fetch all Reminders Source: https://dex-docs.mintlify.dev/docs/api-reference/reminders/get GET /contacts ## `GET` all reminders Fetch all reminders `GET` `https://api.getdex.com/api/rest/reminders` ### Path Parameters ### 200:OK Response Body ``` { "reminders": [ { "id": "178bcd37-a845-4afe-81fe-10d1b577918e", "body": "sample reminder", "is_complete": false, "due_at_time": null, "due_at_date": "2023-02-02", "contact_ids": [] }, { "id": "6d89a6b1-d980-4ce9-bcd8-f8ed80e4c9ad", "body": "adding sample reminder", "is_complete": false, "due_at_time": null, "due_at_date": "2023-06-01", "contact_ids": [ { "contact_id": "2a6102bc-972b-46da-8d3d-4eea17a757ce" }, { "contact_id": "75b7bc73-7be0-41a6-960a-183555c80976" } ] }, ], "total": { "aggregate": { "count": 2 } } } ``` # Create a Reminder Source: https://dex-docs.mintlify.dev/docs/api-reference/reminders/post POST /contacts ## `POST` a reminder Creates a new reminder `POST` `https://api.getdex.com/api/rest/reminders` ### 201: Created Request Body ``` { "reminder": { "title": "sample title", "text": "adding sample reminder", "is_complete": false, "due_at_date": "2023-06-01", "reminders_contacts": {"data": [ {"email": "75b7bc73-7be0-41a6-960a-183555c80976"}, {"contact_id": "2a6102bc-972b-46da-8d3d-4eea17a757ce"} ] } } } ``` # Update a Reminder Source: https://dex-docs.mintlify.dev/docs/api-reference/reminders/put PUT /contacts ## `PUT` for updating a reminder Updates an existing reminder by its ID `PUT` `https://api.getdex.com/api/rest/reminders/{reminderId}` The ID of the reminder to be updated ### 200:OK Request Body ``` { "changes": { "text": "", "is_complete": false, "due_at_time": null, "due_at_date": "2024-05-17" }, "reminders_contacts": [ { "reminder_id": "374e36cd-74b5-4f6e-9196-65c3e5ee9f08", "contact_id": "75b7bc73-7be0-41a6-960a-183555c80976" } ], "update_contacts": false } ``` You can use the variable `update_contacts` in the API to decide whether if you want to update the contacts associated with the reminder or not. # Changelog Source: https://dex-docs.mintlify.dev/docs/changelog/changelog ## February 2025: AI Autotag Updates 🪄🏷️