{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/api-reference/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["api-container","endpoint"]},"redocly_category":"API Reference","searchWeight":120,"type":"markdown"},"seo":{"title":"Request Access Through a Dead Share Link","description":"Complete API reference and documentation for Freddy AI-powered backend system by Aitronos","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"request-access-through-a-dead-share-link","__idx":0},"children":["Request Access Through a Dead Share Link"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Asks a chat's owner to let the caller back in after the share link they were given stopped working. Call it with the slug of a link that answered ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/shared-threads/get-shared-thread#when-a-link-stops-working"},"children":["Get Shared Thread"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["share_revoked"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["share_expired"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["details.can_request_access: true"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The first call files one request and notifies the owner with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["thread.access_requested"]}," notification. A repeat call while that request is still pending returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["200"]}," with the same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," and notifies nobody again, so a double-press is harmless."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The owner answers from ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/threads/list-access-requests"},"children":["List Access Requests"]},":"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/threads/grant-access-request"},"children":["Grant"]}," creates a new ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["explicit"]}," share link naming only the caller. The caller receives the usual ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["thread.shared"]}," notification carrying the new link."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/threads/dismiss-access-request"},"children":["Dismiss"]}," closes the request. The caller is not notified, and may not ask again for 24 hours."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sharing the chat with the caller again through ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/threads/create-share-link"},"children":["Create Share Link"]}," also answers the request as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["granted"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The request's current state is returned as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["details.access_request"]}," whenever the dead link is opened again, so the dead-link screen can show \"Request sent\" without a separate lookup."]},{"$$mdtype":"Tag","name":"ApiContainer","attributes":{},"children":[{"$$mdtype":"Tag","name":"Endpoint","attributes":{"method":"POST","path":"https://api.aitronos.com/v1/shared-threads/{slug}/access-requests"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"authentication","__idx":1},"children":["Authentication"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Requires ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["user"]}," authentication (Bearer token). API-key authentication is rejected with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["403"]},". A share link names people, and an API key is never a person."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"path-parameters","__idx":2},"children":["Path Parameters"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["slug"]}]}," string ",{"$$mdtype":"Tag","name":"em","attributes":{"style":{"color":"#ef4444 !important","fontWeight":"600 !important","fontStyle":"normal !important"}},"children":["required"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The slug of the share link that stopped working."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"body-parameters","__idx":3},"children":["Body Parameters"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The body is optional. Send no body, or send ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{}"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["message"]}]}," string | null ",{"$$mdtype":"Tag","name":"em","attributes":{"style":{"color":"#6b7280 !important","fontWeight":"400 !important","fontStyle":"normal !important"}},"children":["optional"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A note to the owner, up to 1000 characters. A longer note is refused with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]},"; it is never shortened. The owner's notification quotes the first 200 characters."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"returns","__idx":4},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["201 Created"]}," when this call filed the request. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["200 OK"]}," when a pending request already existed. Both return the same shape:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["id"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]},": the access request ID (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tsar_…"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["status"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["granted"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dismissed"]},". A new request is always ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["created_at"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]},": when the request was filed (ISO 8601 UTC)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["decided_at"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string | null"]},": when it was granted or dismissed. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," while pending."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["retry_after"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["integer | null"]},": seconds until the caller may ask again. Set only on a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dismissed"]}," request whose 24-hour cooldown is still running."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["created"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["boolean"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["201"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["200"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"the-owners-notification","__idx":5},"children":["The owner's notification"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The chat's owner receives one notification per request:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["event_type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["thread.access_requested"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["title"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{requester} asked for access to “{chat title}”"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["body"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Their share link no longer works. Grant access to send {requester} a new link."]}," If the requester left a note, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["They wrote: “…”"]}," is appended."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["link"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]},". Open the chat from ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payload.thread_id"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["actor_user_id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The requester."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payload"]},":"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["request_id"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]},": pass it to ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/threads/grant-access-request"},"children":["Grant"]}," or ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/threads/dismiss-access-request"},"children":["Dismiss"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["thread_id"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]},": the chat."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["thread_title"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string | null"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["link_id"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string | null"]},": the dead link the requester asked through."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["access_level"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string | null"]},": that link's level (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["view"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fork"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["live"]},"). A grant reuses it by default."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["requester_user_id"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["requester_name"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string | null"]},": a display name, never an email address."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["message"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["string | null"]},": the requester's note, at most 200 characters."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The notification is resolved (moved to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responded"]},") as soon as the request is granted or dismissed by anyone with edit access, or answered by a re-share, so it never lingers as an open action."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"code-examples","__idx":6},"children":["Code Examples"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"curl","__idx":7},"children":["cURL"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST https://api.aitronos.com/v1/shared-threads/abc123slug/access-requests \\\n  -H \"Authorization: Bearer YOUR_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"message\": \"I was reviewing this for the board meeting.\"}'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"python-requests","__idx":8},"children":["Python (requests)"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"python","header":{"controls":{"copy":{}}},"source":"import requests\n\nresponse = requests.post(\n    \"https://api.aitronos.com/v1/shared-threads/abc123slug/access-requests\",\n    headers={\"Authorization\": \"Bearer YOUR_TOKEN\"},\n    json={\"message\": \"I was reviewing this for the board meeting.\"},\n)\nprint(response.status_code, response.json())  # 201 on the first press, 200 after\n","lang":"python"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"javascript","__idx":9},"children":["JavaScript"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"const response = await fetch(\n  \"https://api.aitronos.com/v1/shared-threads/abc123slug/access-requests\",\n  {\n    method: \"POST\",\n    headers: {\n      Authorization: \"Bearer YOUR_TOKEN\",\n      \"Content-Type\": \"application/json\",\n    },\n    body: JSON.stringify({ message: \"I was reviewing this for the board meeting.\" }),\n  },\n);\nconst request = await response.json();\n","lang":"javascript"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"response-examples","__idx":10},"children":["Response Examples"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"filed-201","__idx":11},"children":["Filed (201)"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"tsar_5b1f0c2d9e8a4b7c9d6e5f4a3b2c1d0e\",\n  \"status\": \"pending\",\n  \"created_at\": \"2026-09-30T17:48:02Z\",\n  \"decided_at\": null,\n  \"retry_after\": null,\n  \"created\": true\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"already-pending-200","__idx":12},"children":["Already pending (200)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The same request, with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["created: false"]},". Nobody is notified again."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"tsar_5b1f0c2d9e8a4b7c9d6e5f4a3b2c1d0e\",\n  \"status\": \"pending\",\n  \"created_at\": \"2026-09-30T17:48:02Z\",\n  \"decided_at\": null,\n  \"retry_after\": null,\n  \"created\": false\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"error-not-found-404","__idx":13},"children":["Error: not found (404)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This is the uniform body the share resolver uses. It is returned for every caller the link was not given to: an unknown slug, a member who was never granted an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["explicit"]}," link, and a former member of the organization. It is also returned for a chat that was deleted. It never reveals whether the slug exists."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RESOURCE_NOT_FOUND\",\n    \"message\": \"The requested resource could not be found.\",\n    \"system_message\": \"Share link not found\",\n    \"type\": \"client_error\",\n    \"status\": 404,\n    \"details\": {},\n    \"trace_id\": \"...\",\n    \"timestamp\": \"...\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"error-asking-would-change-nothing-409","__idx":14},"children":["Error: asking would change nothing (409)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["THREAD_ACCESS_REQUEST_NOT_NEEDED"]},". ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["details.reason"]}," is one of:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["link_active"]},": the link works again."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["caller_is_owner"]},": the caller owns the chat."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["has_other_access"]},": another share link or a space still opens the chat for the caller."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["details.thread_id"]}," is included with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["caller_is_owner"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["has_other_access"]},", because the caller can already open the chat."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"THREAD_ACCESS_REQUEST_NOT_NEEDED\",\n    \"message\": \"You can already open this chat, so there is nothing to ask for.\",\n    \"system_message\": \"The caller can already open this chat\",\n    \"type\": \"client_error\",\n    \"status\": 409,\n    \"details\": { \"reason\": \"has_other_access\", \"thread_id\": \"thread_8f3c\" },\n    \"trace_id\": \"...\",\n    \"timestamp\": \"...\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"error-the-owner-can-no-longer-be-asked-409","__idx":15},"children":["Error: the owner can no longer be asked (409)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["THREAD_ACCESS_REQUEST_OWNER_UNAVAILABLE"]},". The owner's account is deactivated, or the owner left the organization."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"THREAD_ACCESS_REQUEST_OWNER_UNAVAILABLE\",\n    \"message\": \"The owner of this chat can no longer be asked for access.\",\n    \"system_message\": \"The chat's owner can no longer be asked for access\",\n    \"type\": \"client_error\",\n    \"status\": 409,\n    \"details\": { \"reason\": \"owner_inactive\" },\n    \"trace_id\": \"...\",\n    \"timestamp\": \"...\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"error-dismissed-recently-429","__idx":16},"children":["Error: dismissed recently (429)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["THREAD_ACCESS_REQUEST_COOLDOWN"]},". The caller's last request for this chat was dismissed less than 24 hours ago. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["details.retry_after"]}," is in seconds and is rounded up."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"THREAD_ACCESS_REQUEST_COOLDOWN\",\n    \"message\": \"Your last request for this chat was dismissed. You can ask again later.\",\n    \"system_message\": \"A dismissed access request may not be re-filed yet\",\n    \"type\": \"client_error\",\n    \"status\": 429,\n    \"details\": { \"retry_after\": 86217 },\n    \"trace_id\": \"...\",\n    \"timestamp\": \"...\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"error-rate-limited-429","__idx":17},"children":["Error: rate limited (429)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RATE_LIMIT_EXCEEDED"]},". The caller made more than 10 requests to this route within 60 seconds, across all slugs."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"RATE_LIMIT_EXCEEDED\",\n    \"message\": \"...\",\n    \"system_message\": \"Rate limit exceeded\",\n    \"type\": \"client_error\",\n    \"status\": 429,\n    \"details\": { \"limit\": 10, \"window_seconds\": 60, \"retry_after\": 41 },\n    \"trace_id\": \"...\",\n    \"timestamp\": \"...\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-resources","__idx":18},"children":["Related Resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/shared-threads/get-shared-thread#when-a-link-stops-working"},"children":["Get Shared Thread"]},": the dead-link reasons and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["details.access_request"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/threads/list-access-requests"},"children":["List Access Requests"]},": the owner's view"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/threads/grant-access-request"},"children":["Grant Access Request"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-reference/threads/dismiss-access-request"},"children":["Dismiss Access Request"]}]}]}]}]},"headings":[{"value":"Request Access Through a Dead Share Link","id":"request-access-through-a-dead-share-link","depth":1},{"value":"Authentication","id":"authentication","depth":2},{"value":"Path Parameters","id":"path-parameters","depth":2},{"value":"Body Parameters","id":"body-parameters","depth":2},{"value":"Returns","id":"returns","depth":2},{"value":"The owner's notification","id":"the-owners-notification","depth":2},{"value":"Code Examples","id":"code-examples","depth":2},{"value":"cURL","id":"curl","depth":3},{"value":"Python (requests)","id":"python-requests","depth":3},{"value":"JavaScript","id":"javascript","depth":3},{"value":"Response Examples","id":"response-examples","depth":2},{"value":"Filed (201)","id":"filed-201","depth":3},{"value":"Already pending (200)","id":"already-pending-200","depth":3},{"value":"Error: not found (404)","id":"error-not-found-404","depth":3},{"value":"Error: asking would change nothing (409)","id":"error-asking-would-change-nothing-409","depth":3},{"value":"Error: the owner can no longer be asked (409)","id":"error-the-owner-can-no-longer-be-asked-409","depth":3},{"value":"Error: dismissed recently (429)","id":"error-dismissed-recently-429","depth":3},{"value":"Error: rate limited (429)","id":"error-rate-limited-429","depth":3},{"value":"Related Resources","id":"related-resources","depth":2}],"frontmatter":{"title":"Request Access Through a Dead Share Link","seo":{"title":"Request Access Through a Dead Share Link"}},"lastModified":"2026-10-26T18:32:31.653Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/api-reference/shared-threads/request-access","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}