# Deep Linking Guide

Use deep links to send users directly to specific content inside the Circle mobile app — from push notifications, emails, or any external surface.

All routes support both the **app scheme** and **universal links** (HTTPS).

| Format         | Example                                     |
| -------------- | ------------------------------------------- |
| App scheme     | `yourapp://messages`                        |
| Universal link | `https://yourcommunity.domain.com/messages` |

***

### Routes

#### Home & Navigation

| URL                       | Opens                |
| ------------------------- | -------------------- |
| `yourapp://`              | Home feed            |
| `yourapp://search`        | Search               |
| `yourapp://notifications` | Notifications        |
| `yourapp://messages`      | Direct messages list |

***

#### Spaces & Content

| URL                                           | Opens              |
| --------------------------------------------- | ------------------ |
| `yourapp://c/:spaceSlug`                      | A space            |
| `yourapp://c/:spaceSlug/:postSlug`            | A specific post    |
| `yourapp://c/:spaceSlug/:postSlug/:commentId` | A specific comment |

**Course spaces:**

| URL                                                                     | Opens                       |
| ----------------------------------------------------------------------- | --------------------------- |
| `yourapp://c/:spaceSlug/sections/:sectionId/lessons/:lessonId`          | A course lesson             |
| `yourapp://c/:spaceSlug/sections/:sectionId/lessons/:lessonId/comments` | Comments on a course lesson |

***

#### Direct Messages

| URL                                                                 | Opens                                       |
| ------------------------------------------------------------------- | ------------------------------------------- |
| `yourapp://messages/:chatRoomUuid`                                  | A chat room                                 |
| `yourapp://messages/:chatRoomUuid?message_id=X`                     | A chat room, scrolled to a specific message |
| `yourapp://messages/:chatRoomUuid?thread_message_id=X&message_id=Y` | A chat room with a thread open              |
| `yourapp://messages/:chatRoomUuid/invite_member`                    | A chat room (user is auto-joined)           |

***

#### Members

| URL                     | Opens              |
| ----------------------- | ------------------ |
| `yourapp://u/:memberId` | A member's profile |
| `yourapp://connections` | Connections panel  |

***

#### Other

| URL                                    | Opens                         |
| -------------------------------------- | ----------------------------- |
| `yourapp://join`                       | Join via invitation link      |
| `yourapp://live/:liveName`             | A live stream                 |
| `yourapp://checkout/:id`               | A paywall / checkout page     |
| `yourapp://cab/screen/:orphanScreenId` | A custom page (orphan screen) |

***

### Parameters

| Parameter           | Used in                          | Description                                                  |
| ------------------- | -------------------------------- | ------------------------------------------------------------ |
| `message_id`        | Messages, course lesson comments | Scrolls to a specific message                                |
| `thread_message_id` | Messages                         | Opens a thread at a specific message (use with `message_id`) |

***

### URL Parameters Reference

Replace placeholders with real values:

| Placeholder       | What to use                                        |
| ----------------- | -------------------------------------------------- |
| `:spaceSlug`      | The space's slug (visible in the space URL on web) |
| `:postSlug`       | The post's slug (visible in the post URL on web)   |
| `:commentId`      | The comment's numeric ID                           |
| `:chatRoomUuid`   | The chat room's UUID                               |
| `:memberId`       | The member's numeric ID                            |
| `:sectionId`      | The course section ID                              |
| `:lessonId`       | The course lesson ID                               |
| `:liveName`       | The live stream name/slug                          |
| `:id`             | The paywall/checkout ID                            |
| `:orphanScreenId` | The custom page (orphan screen) ID                 |

***

### Examples

```
# Open a post
yourapp://c/announcements/welcome-to-the-community

# Open a course lesson
yourapp://c/foundations-course/sections/12/lessons/34

# Open a DM and scroll to a message
yourapp://messages/a1b2c3d4-e5f6-7890-abcd-ef1234567890?message_id=9876543

# Open a member profile
yourapp://u/42
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://api.circle.so/apis/circle-plus/deep-linking-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
