{
    "info": {
        "description": "Deep link endpoints for products and catalogs in an org.",
        "title": "Talque Product Deep Link",
        "version": "1.0.0"
    },
    "paths": {
        "/go/org/{org_id}/product/{catalog_id}/{product_id}/{action}": {
            "get": {
                "summary": "Open a product via deep link (redirect)",
                "description": "Generates a deep link that opens a specific product in an organization.\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": "catalog_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Catalog ID."
                    },
                    {
                        "name": "product_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Product ID."
                    },
                    {
                        "name": "action",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "view",
                                "favorite"
                            ]
                        },
                        "description": "Action to perform on the product."
                    }
                ],
                "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 \u2014 an ID could not be parsed."
                    },
                    "404": {
                        "description": "Organization not found."
                    }
                }
            },
            "post": {
                "summary": "Open a product 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": "catalog_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Catalog ID."
                    },
                    {
                        "name": "product_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Product ID."
                    },
                    {
                        "name": "action",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "view",
                                "favorite"
                            ]
                        },
                        "description": "Action to perform on the product."
                    }
                ],
                "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 \u2014 an ID could not be parsed."
                    },
                    "404": {
                        "description": "Organization not found."
                    }
                }
            }
        },
        "/go/org/{org_id}/catalog/{catalog_id}/product/{product_id}/{action}": {
            "get": {
                "summary": "Open a product (alternate route) via deep link (redirect)",
                "description": "Generates a deep link that opens a specific product in an organization.\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": "catalog_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Catalog ID."
                    },
                    {
                        "name": "product_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Product ID."
                    },
                    {
                        "name": "action",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "view",
                                "favorite"
                            ]
                        },
                        "description": "Action to perform on the product."
                    }
                ],
                "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 \u2014 an ID could not be parsed."
                    },
                    "404": {
                        "description": "Organization not found."
                    }
                }
            },
            "post": {
                "summary": "Open a product (alternate route) 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": "catalog_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Catalog ID."
                    },
                    {
                        "name": "product_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Product ID."
                    },
                    {
                        "name": "action",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "view",
                                "favorite"
                            ]
                        },
                        "description": "Action to perform on the product."
                    }
                ],
                "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 \u2014 an ID could not be parsed."
                    },
                    "404": {
                        "description": "Organization not found."
                    }
                }
            }
        },
        "/go/org/{org_id}/catalog/{catalog_id}/{action}": {
            "get": {
                "summary": "Open a catalog via deep link (redirect)",
                "description": "Generates a deep link that opens a catalog-level view in an organization.\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": "catalog_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Catalog ID."
                    },
                    {
                        "name": "action",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "view",
                                "favorite"
                            ]
                        },
                        "description": "Action to perform on the catalog."
                    }
                ],
                "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 \u2014 an ID could not be parsed."
                    },
                    "404": {
                        "description": "Organization not found."
                    }
                }
            },
            "post": {
                "summary": "Open a catalog 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": "catalog_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Catalog ID."
                    },
                    {
                        "name": "action",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "view",
                                "favorite"
                            ]
                        },
                        "description": "Action to perform on the catalog."
                    }
                ],
                "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 \u2014 an ID could not be parsed."
                    },
                    "404": {
                        "description": "Organization not found."
                    }
                }
            }
        }
    },
    "openapi": "3.0.3"
}