> For the complete documentation index, see [llms.txt](https://talque.gitbook.io/public/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://talque.gitbook.io/public/deep-links/add-favorites-link/talque-org-favorite-redirector.md).

# Talque Org Favorite Redirector

## Set org favorites via deep link (redirect)

> Generates a deep link that marks items as favorites in an organization.\
> \
> Lectures, vendors, and products to favorite are each passed as query\
> parameters.  Every item type accepts two encoding forms that are collected\
> and merged:\
> \
> \*\*Repeated parameters (singular key)\*\*\
> \
> &#x20;   GET /go/org/{org\_id}/favorite\
> &#x20;       ?lecture=abc123\
> &#x20;       \&lecture=def456\
> &#x20;       \&vendor=uvw789\
> &#x20;       \&product=cat1:prod1\
> &#x20;       \&product=cat1:prod2\
> \
> \*\*Comma-separated string (plural key)\*\*\
> \
> &#x20;   GET /go/org/{org\_id}/favorite\
> &#x20;       ?lectures=abc123,def456\
> &#x20;       \&vendors=uvw789\
> &#x20;       \&products=cat1:prod1,cat1:prod2\
> \
> Both forms may appear together in the same request and will be merged\
> after deduplication.\
> \
> \*\*Product encoding\*\*\
> \
> Products are identified by both a catalog ID and a product ID, joined\
> with a colon: \`catalogId:productId\`.  The colon separates the two\
> components; neither ID contains a colon.\
> \
> \*\*Methods\*\*\
> \
> \`GET\` redirects the browser to the frontend deep-link handler URL.\
> \
> \`POST\` returns the parsed hyperlink as JSON so the frontend can\
> programmatically inspect the destination without following a redirect.<br>

```json
{"openapi":"3.0.3","info":{"title":"Talque Org Favorite Redirector","version":"1.0.0"},"paths":{"/go/org/{org_id}/favorite":{"get":{"summary":"Set org favorites via deep link (redirect)","description":"Generates a deep link that marks items as favorites in an organization.\n\nLectures, vendors, and products to favorite are each passed as query\nparameters.  Every item type accepts two encoding forms that are collected\nand merged:\n\n**Repeated parameters (singular key)**\n\n    GET /go/org/{org_id}/favorite\n        ?lecture=abc123\n        &lecture=def456\n        &vendor=uvw789\n        &product=cat1:prod1\n        &product=cat1:prod2\n\n**Comma-separated string (plural key)**\n\n    GET /go/org/{org_id}/favorite\n        ?lectures=abc123,def456\n        &vendors=uvw789\n        &products=cat1:prod1,cat1:prod2\n\nBoth forms may appear together in the same request and will be merged\nafter deduplication.\n\n**Product encoding**\n\nProducts are identified by both a catalog ID and a product ID, joined\nwith a colon: `catalogId:productId`.  The colon separates the two\ncomponents; neither ID contains a colon.\n\n**Methods**\n\n`GET` redirects the browser to the frontend deep-link handler URL.\n\n`POST` returns the parsed hyperlink as JSON so the frontend can\nprogrammatically inspect the destination without following a redirect.\n","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string"},"description":"Organization ID."},{"name":"lecture","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"description":"Lecture (event) IDs to favorite.  May be repeated: `?lecture=a&lecture=b`."},{"name":"lectures","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated lecture (event) IDs to favorite: `?lectures=a,b`."},{"name":"vendor","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"description":"Vendor IDs to favorite.  May be repeated: `?vendor=a&vendor=b`."},{"name":"vendors","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated vendor IDs to favorite: `?vendors=a,b`."},{"name":"product","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"description":"Products to favorite, each encoded as `catalogId:productId`.  May be repeated: `?product=cat1:prod1&product=cat1:prod2`."},{"name":"products","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated products to favorite, each encoded as `catalogId:productId`: `?products=cat1:prod1,cat1:prod2`."}],"responses":{"302":{"description":"Redirect to the frontend deep-link handler URL.","headers":{"Location":{"schema":{"type":"string"},"description":"Frontend URL containing the encoded hyperlink token."}}},"400":{"description":"Bad request — an ID could not be parsed."},"404":{"description":"Organization not found."}}}}}}
```

## Set org favorites via deep link (JSON)

> Same as GET but returns the hyperlink as JSON instead of redirecting.

```json
{"openapi":"3.0.3","info":{"title":"Talque Org Favorite Redirector","version":"1.0.0"},"paths":{"/go/org/{org_id}/favorite":{"post":{"summary":"Set org favorites via deep link (JSON)","description":"Same as GET but returns the hyperlink as JSON instead of redirecting.","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string"},"description":"Organization ID."},{"name":"lecture","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"description":"Lecture (event) IDs to favorite.  May be repeated: `?lecture=a&lecture=b`."},{"name":"lectures","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated lecture (event) IDs to favorite: `?lectures=a,b`."},{"name":"vendor","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"description":"Vendor IDs to favorite.  May be repeated: `?vendor=a&vendor=b`."},{"name":"vendors","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated vendor IDs to favorite: `?vendors=a,b`."},{"name":"product","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"style":"form","explode":true,"description":"Products to favorite, each encoded as `catalogId:productId`.  May be repeated: `?product=cat1:prod1&product=cat1:prod2`."},{"name":"products","in":"query","required":false,"schema":{"type":"string"},"description":"Comma-separated products to favorite, each encoded as `catalogId:productId`: `?products=cat1:prod1,cat1:prod2`."}],"responses":{"200":{"description":"Parsed hyperlink token.","content":{"application/json":{"schema":{"type":"object","properties":{"hyperlink":{"type":"string","description":"JWT-encoded hyperlink token."},"success":{"type":"boolean"},"reason":{"type":"string"},"reasonEnum":{"type":"string"}},"required":["hyperlink","success","reason","reasonEnum"]}}}},"400":{"description":"Bad request — an ID could not be parsed."},"404":{"description":"Organization not found."}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://talque.gitbook.io/public/deep-links/add-favorites-link/talque-org-favorite-redirector.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
