Returns a paginated list of the workspaces that both the caller and another user are in — their workspaces in common. Requires an authenticated user. Each row carries reasons: the caller’s standing on it.
The other user’s Sublay ID. Mutual workspaces are computed between this user and the caller. An ID that matches no user returns an empty page. Your own ID returns your own workspaces, as List Workspaces would.
reachable (the default): each user can open the workspace, by any reason — owner, member, owner of an ancestor, or a capability that reaches down from an ancestor.
direct: each user owns the workspace or has a member row on it.
Left out or sent empty: reachable. Values match exactly. null and undefined are refused with 400 workspace/unsupported-param (see Saying “no value”); any other value returns 400 workspace/invalid-query.
The order, by creation time: desc (the default) newest first, asc oldest first, which lists every parent before its children. Rows created at the same moment are ordered by id in the same direction, so pages neither repeat nor skip a row.Left out or sent empty: desc. Case is ignored (DESC works). null and undefined are refused with 400 workspace/unsupported-param; any other value returns 400 workspace/invalid-query.
Include flags, as a comma-separated value or repeated params. The only value is memberCount: it adds each workspace’s direct member count as memberCount. Matching ignores case; an unknown value returns 400 workspace/invalid-query.
Service key only, and required with one: the user this request acts as, whose workspaces are compared with the user in the path and whose reasons each row carries. A user token always acts as its own user and must not send it (400 workspace/acting-user-not-allowed).
The workspaces both users are in (Workspace). Each row’s reasons is the caller’s standing on it, the same entries the authority read returns; the other user’s standing isn’t included.
Returned when userId isn’t a valid UUID. Checked before sign-in and the endpoint’s other checks.
{ "error": "Invalid user id: expected a UUID.", "code": "workspace/invalid-params" }
Missing User — 400
A service key sent no actingUserId.
{ "error": "A service key must send actingUserId: the user this request acts as.", "code": "workspace/missing-user-id" }
Unsupported relation or sortDir value — 400
null and undefined as the value of relation or sortDir are rejected with code workspace/unsupported-param, naming the values to use instead. To use a default, leave the parameter out.
Invalid query — 400
Returned with code workspace/invalid-query for an unknown include, relation or sortDir value, or a query parameter this route doesn’t declare (parentWorkspaceId included).
A user token sent actingUserId, even naming its own user. Only a service key names the user it acts as; a user token always acts as its own user.
{ "error": "actingUserId is only accepted with a service key. A user's own token always acts as that user.", "code": "workspace/acting-user-not-allowed" }
User Not Found — 404
Returned when a service key names an actingUserId that isn’t a user in this project.
{ "error": "No user with this actingUserId exists in this project.", "code": "workspace/user-not-found" }
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Sublay Documentation","colors":{"primary":"#D22F55","light":"#F06789","dark":"#9E1E3E"},"logo":{"light":"https://mintcdn.com/replyke/v1bBipIMITFr7df3/logo/wordmark-dark.png?fit=max\u0026auto=format\u0026n=v1bBipIMITFr7df3\u0026q=85\u0026s=b95cabb32c98884aa4bca294b07238cc","dark":"https://mintcdn.com/replyke/v1bBipIMITFr7df3/logo/wordmark-light.png?fit=max\u0026auto=format\u0026n=v1bBipIMITFr7df3\u0026q=85\u0026s=871e10ec08b164c26f260e845b44c5c5"},"favicon":"https://mintcdn.com/replyke/v1bBipIMITFr7df3/favicon.svg?fit=max\u0026auto=format\u0026n=v1bBipIMITFr7df3\u0026q=85\u0026s=4988ad1acfb2c3909d214fd1ea72e5d8","api":{"playground":{"display":"none"},"mdx":{"auth":{"method":"bearer"},"server":"https://api.sublay.io"}},"navbar":{"links":[{"href":"https://dash.sublay.io","label":"Dashboard"}]},"footer":{"socials":{"github":"https://github.com/sublay-io"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"replyke","hasAudioNarration":false,"actualSubdomain":"replyke","customDomains":["docs.sublay.io"],"gitSource":{"type":"github","owner":"sublay-io","repo":"monorepo","deployBranch":"v8","contentDirectory":"docs","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae07330d674d5fcdf0fa86d","collectionId":"5553c988-f1bf-4c7b-b6b9-4f7930d52b36","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae07330d674d5fcdf0fa86d"},"entitlements":{},"buildId":"6ae089eccdcf99f97c310417","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"API Reference","count":520},{"language":"default","tag":"Hooks Reference","count":484},{"language":"default","tag":"SDK Reference","count":145},{"language":"default","tag":"Components","count":92},{"language":"default","tag":"Modules","count":84},{"language":"default","tag":"Spaces","count":67},{"language":"default","tag":"Data Models","count":55},{"language":"default","tag":"Models","count":55},{"language":"default","tag":"Workspaces","count":48},{"language":"default","tag":"JS SDK","count":44}]},"assistantConfig":{"enableStarterQuestions":false},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"v8/api-reference/workspaces/fetch-mutual-workspaces","slug":"/v8/api-reference/workspaces/fetch-mutual-workspaces","pageMetadata":{"title":"Fetch Mutual Workspaces","api":"GET /v8/:projectId/workspaces/mutual/:userId","description":"List the workspaces both the caller and another user can open","href":"/v8/api-reference/workspaces/fetch-mutual-workspaces"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"List the workspaces both the caller and another user can open\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,CodeBlock,Heading,ParamField,ResponseField}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Returns a paginated list of the workspaces that both the caller and another user are in — their workspaces in common. Requires an authenticated user. Each row carries `,_jsx(_components.code,{children:`reasons`}),`: the `,_jsx(_components.strong,{children:`caller’s`}),` standing on it.`]}),`\n`,_jsx(Heading,{level:`2`,id:`path-parameters`,children:`Path Parameters`}),`\n`,_jsx(ParamField,{path:`userId`,type:`string`,required:true,id:`param-user-id`,children:_jsxs(_components.p,{children:[`The other user’s Sublay ID. Mutual workspaces are computed between this user and the caller. An ID that matches no user returns an empty page. Your own ID returns your own workspaces, as `,_jsx(_components.a,{href:`/v8/api-reference/workspaces/fetch-workspaces`,children:`List Workspaces`}),` would.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`query-parameters`,children:`Query Parameters`}),`\n`,_jsxs(ParamField,{query:`relation`,type:`string`,id:`param-relation`,children:[_jsx(_components.p,{children:`What “in a workspace” means, for both users:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`reachable`}),` (the default): each user can open the workspace, by any reason — owner, member, owner of an ancestor, or a capability that reaches down from an ancestor.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`direct`}),`: each user owns the workspace or has a member row on it.`]}),`\n`]}),_jsxs(_components.p,{children:[`Left out or sent empty: `,_jsx(_components.code,{children:`reachable`}),`. Values match exactly. `,_jsx(_components.code,{children:`null`}),` and `,_jsx(_components.code,{children:`undefined`}),` are refused with `,_jsx(_components.code,{children:`400 workspace/unsupported-param`}),` (see `,_jsx(_components.a,{href:`/v8/authentication#saying-no-value`,children:`Saying “no value”`}),`); any other value returns `,_jsx(_components.code,{children:`400 workspace/invalid-query`}),`.`]})]}),`\n`,_jsxs(ParamField,{query:`sortDir`,type:`string`,id:`param-sort-dir`,children:[_jsxs(_components.p,{children:[`The order, by creation time: `,_jsx(_components.code,{children:`desc`}),` (the default) newest first, `,_jsx(_components.code,{children:`asc`}),` oldest first, which lists every parent before its children. Rows created at the same moment are ordered by id in the same direction, so pages neither repeat nor skip a row.`]}),_jsxs(_components.p,{children:[`Left out or sent empty: `,_jsx(_components.code,{children:`desc`}),`. Case is ignored (`,_jsx(_components.code,{children:`DESC`}),` works). `,_jsx(_components.code,{children:`null`}),` and `,_jsx(_components.code,{children:`undefined`}),` are refused with `,_jsx(_components.code,{children:`400 workspace/unsupported-param`}),`; any other value returns `,_jsx(_components.code,{children:`400 workspace/invalid-query`}),`.`]})]}),`\n`,_jsx(ParamField,{query:`page`,type:`number`,id:`param-page`,children:_jsxs(_components.p,{children:[`Page number. Defaults to `,_jsx(_components.code,{children:`1`}),`.`]})}),`\n`,_jsx(ParamField,{query:`limit`,type:`number`,id:`param-limit`,children:_jsxs(_components.p,{children:[`Results per page. Defaults to `,_jsx(_components.code,{children:`20`}),`.`]})}),`\n`,_jsx(ParamField,{query:`include`,type:`string`,id:`param-include`,children:_jsxs(_components.p,{children:[`Include flags, as a comma-separated value or repeated params. The only value is `,_jsx(_components.code,{children:`memberCount`}),`: it adds each workspace’s `,_jsx(_components.strong,{children:`direct`}),` member count as `,_jsx(_components.code,{children:`memberCount`}),`. Matching ignores case; an unknown value returns `,_jsx(_components.code,{children:`400 workspace/invalid-query`}),`.`]})}),`\n`,_jsx(ParamField,{query:`actingUserId`,type:`string`,id:`param-acting-user-id`,children:_jsxs(_components.p,{children:[`Service key only, and required with one: the user this request acts as, whose workspaces are compared with the user in the path and whose `,_jsx(_components.code,{children:`reasons`}),` each row carries. A user token always acts as its own user and must not send it (`,_jsx(_components.code,{children:`400 workspace/acting-user-not-allowed`}),`).`]})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsx(ResponseField,{name:`data`,type:`Workspace[]`,id:`param-data`,children:_jsxs(_components.p,{children:[`The workspaces both users are in (`,_jsx(_components.a,{href:`/v8/data-models/workspace`,children:`Workspace`}),`). Each row’s `,_jsx(_components.code,{children:`reasons`}),` is the caller’s standing on it, the same entries the `,_jsx(_components.a,{href:`/v8/api-reference/workspaces/fetch-authority`,children:`authority read`}),` returns; the other user’s standing isn’t included.`]})}),`\n`,_jsx(ResponseField,{name:`pagination`,type:`object`,id:`param-pagination`,children:_jsxs(_components.p,{children:[`Standard pagination metadata (`,_jsx(_components.code,{children:`page`}),`, `,_jsx(_components.code,{children:`pageSize`}),`, `,_jsx(_components.code,{children:`totalPages`}),`, `,_jsx(_components.code,{children:`totalItems`}),`, `,_jsx(_components.code,{children:`hasMore`}),`).`]})}),`\n`,_jsx(Heading,{level:`2`,id:`error-responses`,children:`Error Responses`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Invalid Id — 400`,id:`invalid-id-400`,children:[_jsxs(_components.p,{children:[`Returned when `,_jsx(_components.code,{children:`userId`}),` isn’t a valid UUID. Checked before sign-in and the endpoint’s other checks.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Invalid user id: expected a UUID.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"workspace/invalid-params\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`Missing User — 400`,id:`missing-user-400`,children:[_jsxs(_components.p,{children:[`A service key sent no `,_jsx(_components.code,{children:`actingUserId`}),`.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"A service key must send actingUserId: the user this request acts as.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"workspace/missing-user-id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})})]}),_jsx(Accordion,{title:`Unsupported relation or sortDir value — 400`,id:`unsupported-relation-or-sortdir-value-400`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`null`}),` and `,_jsx(_components.code,{children:`undefined`}),` as the value of `,_jsx(_components.code,{children:`relation`}),` or `,_jsx(_components.code,{children:`sortDir`}),` are rejected with code `,_jsx(_components.code,{children:`workspace/unsupported-param`}),`, naming the values to use instead. To use a default, leave the parameter out.`]})}),_jsxs(Accordion,{title:`Invalid query — 400`,id:`invalid-query-400`,children:[_jsxs(_components.p,{children:[`Returned with code `,_jsx(_components.code,{children:`workspace/invalid-query`}),` for an unknown `,_jsx(_components.code,{children:`include`}),`, `,_jsx(_components.code,{children:`relation`}),` or `,_jsx(_components.code,{children:`sortDir`}),` value, or a query parameter this route doesn’t declare (`,_jsx(_components.code,{children:`parentWorkspaceId`}),` included).`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:'\"include: Unknown include `members`. Allowed: memberCount.\"'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"workspace/invalid-query\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`Acting User Not Allowed — 400`,id:`acting-user-not-allowed-400`,children:[_jsxs(_components.p,{children:[`A user token sent `,_jsx(_components.code,{children:`actingUserId`}),`, even naming its own user. Only a service key names the user it acts as; a user token always acts as its own user.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"actingUserId is only accepted with a service key. A user's own token always acts as that user.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"workspace/acting-user-not-allowed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`User Not Found — 404`,id:`user-not-found-404`,children:[_jsxs(_components.p,{children:[`Returned when a service key names an `,_jsx(_components.code,{children:`actingUserId`}),` that isn’t a user in this project.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"No user with this actingUserId exists in this project.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"workspace/user-not-found\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})})]})]}),`\n`,_jsxs(_components.p,{children:[`See also: `,_jsx(_components.a,{href:`/v8/hooks/workspaces/use-fetch-mutual-workspaces`,children:`useFetchMutualWorkspaces`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Fetch Mutual Workspaces","api":"GET /v8/:projectId/workspaces/mutual/:userId","description":"List the workspaces both the caller and another user can open","href":"/v8/api-reference/workspaces/fetch-mutual-workspaces"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Path Parameters","slug":"path-parameters","depth":2,"children":[]},{"title":"Query Parameters","slug":"query-parameters","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Error Responses","slug":"error-responses","depth":2,"children":[]}],"codeExamples":{},"endpoint":{"title":"Fetch Mutual Workspaces","path":"/v8/:projectId/workspaces/mutual/:userId","servers":[{"url":"https://api.sublay.io"}],"method":"get","request":{"security":[{"title":"Bearer Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}},"query":{},"cookie":{}}}],"parameters":{"query":{"relation":{"schema":[{"type":"string","description":"What “in a workspace” means, for both users: `reachable` (the default): each user can open the workspace, by any reason — owner, member, owner of an ancestor, or a capability that reaches down from an ancestor. `direct` : each user owns the workspace or has a member row on it. Left out or sent empty: `reachable` . Values match exactly. `null` and `undefined` are refused with `400 workspace/unsupported-param` (see Saying “no value” ); any other value returns `400 workspace/invalid-query` ."}]},"sortDir":{"schema":[{"type":"string","description":"The order, by creation time: `desc` (the default) newest first, `asc` oldest first, which lists every parent before its children. Rows created at the same moment are ordered by id in the same direction, so pages neither repeat nor skip a row. Left out or sent empty: `desc` . Case is ignored ( `DESC` works). `null` and `undefined` are refused with `400 workspace/unsupported-param` ; any other value returns `400 workspace/invalid-query` ."}]},"page":{"schema":[{"type":"number","description":"Page number. Defaults to `1` ."}]},"limit":{"schema":[{"type":"number","description":"Results per page. Defaults to `20` ."}]},"include":{"schema":[{"type":"string","description":"Include flags, as a comma-separated value or repeated params. The only value is `memberCount` : it adds each workspace’s direct member count as `memberCount` . Matching ignores case; an unknown value returns `400 workspace/invalid-query` ."}]},"actingUserId":{"schema":[{"type":"string","description":"Service key only, and required with one: the user this request acts as, whose workspaces are compared with the user in the path and whose `reasons` each row carries. A user token always acts as its own user and must not send it ( `400 workspace/acting-user-not-allowed` )."}]}},"header":{},"cookie":{},"path":{"userId":{"schema":[{"type":"string","description":"The other user’s Sublay ID. Mutual workspaces are computed between this user and the caller. An ID that matches no user returns an empty page. Your own ID returns your own workspaces, as List Workspaces would.","required":true}]}}},"body":{}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"data":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"The workspaces both users are in ( Workspace ). Each row’s `reasons` is the caller’s standing on it, the same entries the authority read returns; the other user’s standing isn’t included."}],"pagination":[{"type":"object","properties":{},"description":"Standard pagination metadata ( `page` , `pageSize` , `totalPages` , `totalItems` , `hasMore` )."}]}}],"examples":{"example":{"value":{"data":[{}],"pagination":{}}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"replyke","siteName":"Sublay Documentation","title":"Fetch Mutual Workspaces - Sublay Documentation","navMaps":{"firstHrefInVersion":{"8.0.0":{"href":"/v8/api-reference/workspaces/fetch-mutual-workspaces","matchLevel":0},"7.0.0":{"href":"/v7/api-reference/workspaces/create-workspace","matchLevel":2},"6.0.0":{"href":"/v6","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-10-27T09:48:03.852Z","originalFileLocation":"v8/api-reference/workspaces/fetch-mutual-workspaces.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"List the workspaces both the caller and another user can open\">\u003cmeta data-mint-head name=\"application-name\" content=\"Sublay Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/replyke/a1LNRWO56FGzWHgw/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/replyke/a1LNRWO56FGzWHgw/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/replyke/a1LNRWO56FGzWHgw/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/replyke/a1LNRWO56FGzWHgw/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/replyke/a1LNRWO56FGzWHgw/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/replyke/a1LNRWO56FGzWHgw/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/replyke/a1LNRWO56FGzWHgw/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/replyke/a1LNRWO56FGzWHgw/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/replyke/a1LNRWO56FGzWHgw/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Fetch Mutual Workspaces - Sublay Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"List the workspaces both the caller and another user can open\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sublay Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sublay.io/v8/api-reference/workspaces/fetch-mutual-workspaces\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://replyke.mintlify.app/_mintlify/api/og/v2?division=Workspace+Endpoints\u0026amp;title=Fetch+Mutual+Workspaces\u0026amp;description=List+the+workspaces+both+the+caller+and+another+user+can+open\u0026amp;theme=2a716669c033a50b125cdbc9\u0026amp;signature=42a2803d877d3844982b67c252295e31c815258e190f29a2a212ca4edafa9986\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Fetch Mutual Workspaces - Sublay Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"List the workspaces both the caller and another user can open\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://replyke.mintlify.app/_mintlify/api/og/v2?division=Workspace+Endpoints\u0026amp;title=Fetch+Mutual+Workspaces\u0026amp;description=List+the+workspaces+both+the+caller+and+another+user+can+open\u0026amp;theme=2a716669c033a50b125cdbc9\u0026amp;signature=42a2803d877d3844982b67c252295e31c815258e190f29a2a212ca4edafa9986\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/replyke/a1LNRWO56FGzWHgw/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sublay Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#D22F55\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sublay.io/v8/api-reference/workspaces/fetch-mutual-workspaces\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v8/api-reference/workspaces/fetch-mutual-workspaces.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sublay.io/#organization\",\"name\":\"Sublay Documentation\",\"url\":\"https://docs.sublay.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/replyke/v1bBipIMITFr7df3/logo/wordmark-dark.png?fit=max\u0026auto=format\u0026n=v1bBipIMITFr7df3\u0026q=85\u0026s=b95cabb32c98884aa4bca294b07238cc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sublay.io#website\",\"name\":\"Sublay Documentation\",\"url\":\"https://docs.sublay.io\",\"publisher\":{\"@id\":\"https://docs.sublay.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sublay.io/v8/api-reference/workspaces/fetch-mutual-workspaces#webpage\",\"url\":\"https://docs.sublay.io/v8/api-reference/workspaces/fetch-mutual-workspaces\",\"name\":\"Fetch Mutual Workspaces\",\"description\":\"List the workspaces both the caller and another user can open\",\"dateModified\":\"2026-10-27T09:48:03.852Z\",\"isPartOf\":{\"@id\":\"https://docs.sublay.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sublay.io/v8/api-reference/workspaces/fetch-mutual-workspaces#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sublay.io/v8/api-reference/workspaces/fetch-mutual-workspaces#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Workspace Endpoints\",\"item\":\"https://docs.sublay.io/v8/api-reference/workspaces/create-workspace\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fetch Mutual Workspaces\",\"item\":\"https://docs.sublay.io/v8/api-reference/workspaces/fetch-mutual-workspaces\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.sublay.io/v8/api-reference/workspaces/fetch-mutual-workspaces#apireference\",\"headline\":\"Fetch Mutual Workspaces\",\"name\":\"Fetch Mutual Workspaces\",\"description\":\"List the workspaces both the caller and another user can open\",\"url\":\"https://docs.sublay.io/v8/api-reference/workspaces/fetch-mutual-workspaces\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sublay.io/v8/api-reference/workspaces/fetch-mutual-workspaces#webpage\"},\"dateModified\":\"2026-10-27T09:48:03.852Z\",\"publisher\":{\"@id\":\"https://docs.sublay.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sublay.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Sublay Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Sublay Documentation","nav":{"global":null,"versions":[{"version":"8.0.0","tag":"Beta","tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":"/v8"}]},{"tab":"SDK Reference","pages":[{"title":"SDK Reference","href":"/v8/sdk/getting-started"}]},{"tab":"Hooks Reference","pages":[{"title":"Hooks Reference","href":"/v8/hooks/overview"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"Getting Started","href":"/v8/api-reference/getting-started"},{"title":"Authentication","href":"/v8/api-reference/authentication"}]},{"group":"Auth Endpoints","pages":[{"title":"Sign Up","api":"POST /v8/:projectId/auth/sign-up","href":"/v8/api-reference/auth/sign-up"},{"title":"Sign In","api":"POST /v8/:projectId/auth/sign-in","href":"/v8/api-reference/auth/sign-in"},{"title":"Sign Out","api":"POST /v8/:projectId/auth/sign-out","href":"/v8/api-reference/auth/sign-out"},{"title":"Change Password","api":"POST /v8/:projectId/auth/change-password","href":"/v8/api-reference/auth/change-password"},{"title":"Set Password","api":"POST /v8/:projectId/auth/set-password","href":"/v8/api-reference/auth/set-password"},{"title":"Request Access Token","api":"POST /v8/:projectId/auth/request-new-access-token","href":"/v8/api-reference/auth/request-access-token"},{"title":"Verify External User","api":"POST /v8/:projectId/auth/verify-external-user","href":"/v8/api-reference/auth/verify-external-user"},{"title":"Request Password Reset","api":"POST /v8/:projectId/auth/request-password-reset","href":"/v8/api-reference/auth/request-password-reset"},{"title":"Reset Password","api":"POST /v8/:projectId/auth/reset-password","href":"/v8/api-reference/auth/reset-password"},{"title":"Send Verification Email","api":"POST /v8/:projectId/auth/send-verification-email","href":"/v8/api-reference/auth/send-verification-email"},{"title":"Verify Email","api":"POST /v8/:projectId/auth/verify-email","href":"/v8/api-reference/auth/verify-email"},{"title":"Verify Email Link","api":"GET /v8/:projectId/auth/verify-email-link","href":"/v8/api-reference/auth/verify-email-link"},{"title":"Request Account Deletion","api":"POST /v8/:projectId/auth/request-account-deletion","href":"/v8/api-reference/auth/request-account-deletion"},{"title":"Confirm Account Deletion","api":"POST /v8/:projectId/auth/confirm-account-deletion","href":"/v8/api-reference/auth/confirm-account-deletion"}]},{"group":"OAuth Endpoints","pages":[{"title":"Authorize OAuth","api":"POST /v8/:projectId/oauth/authorize","href":"/v8/api-reference/oauth/authorize"},{"title":"Link OAuth Provider","api":"POST /v8/:projectId/oauth/link","href":"/v8/api-reference/oauth/link"},{"title":"List OAuth Identities","api":"GET /v8/:projectId/oauth/identities","href":"/v8/api-reference/oauth/list-identities"},{"title":"Unlink OAuth Identity","api":"DELETE /v8/:projectId/oauth/identities/:identityId","href":"/v8/api-reference/oauth/unlink-identity"}]},{"group":"User Endpoints","pages":[{"title":"Fetch User","api":"GET /v8/:projectId/users/:userId","href":"/v8/api-reference/users/fetch-user"},{"title":"Fetch User by Foreign ID","api":"GET /v8/:projectId/users/by-foreign-id","href":"/v8/api-reference/users/fetch-user-by-foreign-id"},{"title":"Fetch or Create User by Foreign ID","api":"POST /v8/:projectId/users/by-foreign-id","href":"/v8/api-reference/users/fetch-or-create-user-by-foreign-id"},{"title":"Fetch User by Username","api":"GET /v8/:projectId/users/by-username","href":"/v8/api-reference/users/fetch-user-by-username"},{"title":"Fetch User Suggestions","api":"GET /v8/:projectId/users/suggestions","href":"/v8/api-reference/users/fetch-user-suggestions"},{"title":"Fetch Comments by User","api":"GET /v8/:projectId/users/:userId/comments","href":"/v8/api-reference/users/fetch-comments-by-user-id"},{"title":"Check Username Availability","api":"GET /v8/:projectId/users/check-username","href":"/v8/api-reference/users/check-username-availability"},{"title":"Update User","api":"PATCH /v8/:projectId/users/:userId","href":"/v8/api-reference/users/update-user"},{"title":"Delete User","api":"DELETE /v8/:projectId/users/:userId","href":"/v8/api-reference/users/delete-user"}]},{"group":"User Follow Operations","pages":[{"title":"Follow User","api":"POST /v8/:projectId/users/:userId/follow","href":"/v8/api-reference/users/follows/follow-user"},{"title":"Get Follow Status","api":"GET /v8/:projectId/users/:userId/follow","href":"/v8/api-reference/users/follows/get-follow-status"},{"title":"Get Followers","api":"GET /v8/:projectId/users/:userId/followers","href":"/v8/api-reference/users/follows/get-followers"},{"title":"Get Followers Count","api":"GET /v8/:projectId/users/:userId/followers-count","href":"/v8/api-reference/users/follows/get-followers-count"},{"title":"Get Following","api":"GET /v8/:projectId/users/:userId/following","href":"/v8/api-reference/users/follows/get-following"},{"title":"Get Following Count","api":"GET /v8/:projectId/users/:userId/following-count","href":"/v8/api-reference/users/follows/get-following-count"},{"title":"Unfollow User","api":"DELETE /v8/:projectId/users/:userId/follow","href":"/v8/api-reference/users/follows/unfollow-user"}]},{"group":"User Connection Operations","pages":[{"title":"Request Connection","api":"POST /v8/:projectId/users/:userId/connection","href":"/v8/api-reference/users/connections/request-connection"},{"title":"Get Connection Status","api":"GET /v8/:projectId/users/:userId/connection","href":"/v8/api-reference/users/connections/get-connection-status"},{"title":"Get Connections","api":"GET /v8/:projectId/users/:userId/connections","href":"/v8/api-reference/users/connections/get-connections"},{"title":"Get Connections Count","api":"GET /v8/:projectId/users/:userId/connections-count","href":"/v8/api-reference/users/connections/get-connections-count"},{"title":"Remove Connection","api":"DELETE /v8/:projectId/users/:userId/connection","href":"/v8/api-reference/users/connections/remove-connection"}]},{"group":"User Block Operations","pages":[{"title":"Block User","api":"POST /v8/:projectId/users/:userId/block","href":"/v8/api-reference/users/blocks/block-user"},{"title":"Unblock User","api":"DELETE /v8/:projectId/users/:userId/block","href":"/v8/api-reference/users/blocks/unblock-user"},{"title":"Get Block Status","api":"GET /v8/:projectId/users/:userId/block","href":"/v8/api-reference/users/blocks/get-block-status"},{"title":"Fetch Blocked Users","api":"GET /v8/:projectId/blocks","href":"/v8/api-reference/blocks/fetch-blocks"}]},{"group":"Follow Endpoints","pages":[{"title":"Fetch Following","api":"GET /v8/:projectId/follows/following","href":"/v8/api-reference/follows/fetch-following"},{"title":"Fetch Followers","api":"GET /v8/:projectId/follows/followers","href":"/v8/api-reference/follows/fetch-followers"},{"title":"Fetch Following Count","api":"GET /v8/:projectId/follows/following-count","href":"/v8/api-reference/follows/fetch-following-count"},{"title":"Fetch Followers Count","api":"GET /v8/:projectId/follows/followers-count","href":"/v8/api-reference/follows/fetch-followers-count"},{"title":"Delete Follow","api":"DELETE /v8/:projectId/follows/:followId","href":"/v8/api-reference/follows/delete-follow"}]},{"group":"Connection Endpoints","pages":[{"title":"Fetch Connections","api":"GET /v8/:projectId/connections","href":"/v8/api-reference/connections/fetch-connections"},{"title":"Fetch Connections Count","api":"GET /v8/:projectId/connections/count","href":"/v8/api-reference/connections/fetch-connections-count"},{"title":"Fetch Sent Pending Connections","api":"GET /v8/:projectId/connections/pending/sent","href":"/v8/api-reference/connections/fetch-sent-pending"},{"title":"Fetch Received Pending Connections","api":"GET /v8/:projectId/connections/pending/received","href":"/v8/api-reference/connections/fetch-received-pending"},{"title":"Accept Connection","api":"PATCH /v8/:projectId/connections/:connectionId/accept","href":"/v8/api-reference/connections/accept-connection"},{"title":"Decline Connection","api":"PATCH /v8/:projectId/connections/:connectionId/decline","href":"/v8/api-reference/connections/decline-connection"},{"title":"Remove Connection","api":"DELETE /v8/:projectId/connections/:connectionId","href":"/v8/api-reference/connections/remove-connection"}]},{"group":"Entity Endpoints","pages":[{"title":"Create Entity","api":"POST /v8/:projectId/entities","href":"/v8/api-reference/entities/create-entity"},{"title":"Fetch Entity","api":"GET /v8/:projectId/entities/:entityId","href":"/v8/api-reference/entities/fetch-entity"},{"title":"Fetch Entity by Foreign ID","api":"GET /v8/:projectId/entities/by-foreign-id","href":"/v8/api-reference/entities/fetch-entity-by-foreign-id"},{"title":"Fetch Entity by Short ID","api":"GET /v8/:projectId/entities/by-short-id","href":"/v8/api-reference/entities/fetch-entity-by-short-id"},{"title":"Fetch Many Entities","api":"GET /v8/:projectId/entities","href":"/v8/api-reference/entities/fetch-many-entities"},{"title":"Fetch Drafts","api":"GET /v8/:projectId/entities/drafts","href":"/v8/api-reference/entities/fetch-drafts"},{"title":"Publish Entity","api":"PATCH /v8/:projectId/entities/:entityId/publish","href":"/v8/api-reference/entities/publish-entity"},{"title":"Update Entity","api":"PATCH /v8/:projectId/entities/:entityId","href":"/v8/api-reference/entities/update-entity"},{"title":"Increment Entity Views","api":"PATCH /v8/:projectId/entities/:entityId/increment-views","href":"/v8/api-reference/entities/increment-entity-views"},{"title":"Delete Entity","api":"DELETE /v8/:projectId/entities/:entityId","href":"/v8/api-reference/entities/delete-entity"},{"title":"Add Entity Reaction","api":"POST /v8/:projectId/entities/:entityId/reactions","href":"/v8/api-reference/entities/add-reaction"},{"title":"Remove Entity Reaction","api":"DELETE /v8/:projectId/entities/:entityId/reactions","href":"/v8/api-reference/entities/remove-reaction"},{"title":"Fetch Entity Reactions","api":"GET /v8/:projectId/entities/:entityId/reactions","href":"/v8/api-reference/entities/fetch-reactions"},{"title":"Get User Reaction","api":"GET /v8/:projectId/entities/:entityId/reactions/me","href":"/v8/api-reference/entities/get-user-reaction"},{"title":"Is Entity Saved","api":"GET /v8/:projectId/entities/is-entity-saved","href":"/v8/api-reference/entities/is-entity-saved"}]},{"group":"Comment Endpoints","pages":[{"title":"Create Comment","api":"POST /v8/:projectId/comments","href":"/v8/api-reference/comments/create-comment"},{"title":"Fetch Comment","api":"GET /v8/:projectId/comments/:commentId","href":"/v8/api-reference/comments/fetch-comment"},{"title":"Fetch Comment by Foreign ID","api":"GET /v8/:projectId/comments/by-foreign-id","href":"/v8/api-reference/comments/fetch-comment-by-foreign-id"},{"title":"Fetch Many Comments","api":"GET /v8/:projectId/comments","href":"/v8/api-reference/comments/fetch-many-comments"},{"title":"Update Comment","api":"PATCH /v8/:projectId/comments/:commentId","href":"/v8/api-reference/comments/update-comment"},{"title":"Delete Comment","api":"DELETE /v8/:projectId/comments/:commentId","href":"/v8/api-reference/comments/delete-comment"},{"title":"Add Comment Reaction","api":"POST /v8/:projectId/comments/:commentId/reactions","href":"/v8/api-reference/comments/add-reaction"},{"title":"Remove Comment Reaction","api":"DELETE /v8/:projectId/comments/:commentId/reactions","href":"/v8/api-reference/comments/remove-reaction"},{"title":"Fetch Comment Reactions","api":"GET /v8/:projectId/comments/:commentId/reactions","href":"/v8/api-reference/comments/fetch-reactions"},{"title":"Get User Reaction","api":"GET /v8/:projectId/comments/:commentId/reactions/me","href":"/v8/api-reference/comments/get-user-reaction"}]},{"group":"Chat — Conversations","pages":[{"title":"List Conversations","api":"GET /v8/:projectId/chat/conversations","href":"/v8/api-reference/chat/conversations/list-conversations"},{"title":"Create Group Conversation","api":"POST /v8/:projectId/chat/conversations","href":"/v8/api-reference/chat/conversations/create-group"},{"title":"Create Direct Conversation","api":"POST /v8/:projectId/chat/conversations/direct","href":"/v8/api-reference/chat/conversations/create-direct"},{"title":"Get Unread Count","api":"GET /v8/:projectId/chat/conversations/unread-count","href":"/v8/api-reference/chat/conversations/unread-count"},{"title":"Fetch Conversation","api":"GET /v8/:projectId/chat/conversations/:conversationId","href":"/v8/api-reference/chat/conversations/fetch-conversation"},{"title":"Fetch Conversation Preview","api":"GET /v8/:projectId/chat/conversations/:conversationId/preview","href":"/v8/api-reference/chat/conversations/fetch-conversation-preview"},{"title":"Update Conversation","api":"PATCH /v8/:projectId/chat/conversations/:conversationId","href":"/v8/api-reference/chat/conversations/update-conversation"},{"title":"Delete Conversation","api":"DELETE /v8/:projectId/chat/conversations/:conversationId","href":"/v8/api-reference/chat/conversations/delete-conversation"},{"title":"Mute Conversation","api":"POST /v8/:projectId/chat/conversations/:conversationId/mute","href":"/v8/api-reference/chat/conversations/mute-conversation"}]},{"group":"Chat — Members","pages":[{"title":"List Members","api":"GET /v8/:projectId/chat/conversations/:conversationId/members","href":"/v8/api-reference/chat/members/list-members"},{"title":"Add Member","api":"POST /v8/:projectId/chat/conversations/:conversationId/members","href":"/v8/api-reference/chat/members/add-member"},{"title":"Remove Member","api":"DELETE /v8/:projectId/chat/conversations/:conversationId/members/:userId","href":"/v8/api-reference/chat/members/remove-member"},{"title":"Leave Conversation","api":"DELETE /v8/:projectId/chat/conversations/:conversationId/leave","href":"/v8/api-reference/chat/members/leave-conversation"},{"title":"Update Member Role","api":"PATCH /v8/:projectId/chat/conversations/:conversationId/members/:userId/role","href":"/v8/api-reference/chat/members/update-member-role"}]},{"group":"Chat — Messages","pages":[{"title":"List Messages","api":"GET /v8/:projectId/chat/conversations/:conversationId/messages","href":"/v8/api-reference/chat/messages/list-messages"},{"title":"Send Message","api":"POST /v8/:projectId/chat/conversations/:conversationId/messages","href":"/v8/api-reference/chat/messages/send-message"},{"title":"Fetch Message","api":"GET /v8/:projectId/chat/conversations/:conversationId/messages/:messageId","href":"/v8/api-reference/chat/messages/fetch-message"},{"title":"Edit Message","api":"PATCH /v8/:projectId/chat/conversations/:conversationId/messages/:messageId","href":"/v8/api-reference/chat/messages/edit-message"},{"title":"Delete Message","api":"DELETE /v8/:projectId/chat/conversations/:conversationId/messages/:messageId","href":"/v8/api-reference/chat/messages/delete-message"},{"title":"Toggle Message Reaction","api":"POST /v8/:projectId/chat/conversations/:conversationId/messages/:messageId/reactions","href":"/v8/api-reference/chat/messages/toggle-reaction"},{"title":"Fetch Reaction Users","api":"GET /v8/:projectId/chat/conversations/:conversationId/messages/:messageId/reactions","href":"/v8/api-reference/chat/messages/fetch-reaction-users"},{"title":"Mark as Read","api":"POST /v8/:projectId/chat/conversations/:conversationId/read","href":"/v8/api-reference/chat/messages/mark-as-read"}]},{"group":"Collection Endpoints","pages":[{"title":"Fetch Root Collection","api":"GET /v8/:projectId/collections/root","href":"/v8/api-reference/collections/fetch-root"},{"title":"Create Sub-Collection","api":"POST /v8/:projectId/collections/:collectionId/sub-collections","href":"/v8/api-reference/collections/create-sub-collection"},{"title":"Fetch Sub-Collections","api":"GET /v8/:projectId/collections/:collectionId/sub-collections","href":"/v8/api-reference/collections/fetch-sub-collections"},{"title":"Fetch Collection Entities","api":"GET /v8/:projectId/collections/:collectionId/entities","href":"/v8/api-reference/collections/fetch-entities"},{"title":"Add Entity to Collection","api":"POST /v8/:projectId/collections/:collectionId/entities","href":"/v8/api-reference/collections/add-entity"},{"title":"Remove Entity from Collection","api":"DELETE /v8/:projectId/collections/:collectionId/entities/:entityId","href":"/v8/api-reference/collections/remove-entity"},{"title":"Update Collection","api":"PATCH /v8/:projectId/collections/:collectionId","href":"/v8/api-reference/collections/update-collection"},{"title":"Delete Collection","api":"DELETE /v8/:projectId/collections/:collectionId","href":"/v8/api-reference/collections/delete-collection"}]},{"group":"App Notification Endpoints","pages":[{"title":"Fetch Notifications","api":"GET /v8/:projectId/app-notifications","href":"/v8/api-reference/app-notifications/fetch-notifications"},{"title":"Count Unread Notifications","api":"GET /v8/:projectId/app-notifications/count","href":"/v8/api-reference/app-notifications/count-unread"},{"title":"Mark Notification as Read","api":"PATCH /v8/:projectId/app-notifications/:notificationId/mark-as-read","href":"/v8/api-reference/app-notifications/mark-as-read"},{"title":"Mark All Notifications as Read","api":"PATCH /v8/:projectId/app-notifications/mark-all-as-read","href":"/v8/api-reference/app-notifications/mark-all-as-read"}]},{"group":"Push Notification Endpoints","pages":[{"title":"Register Device","api":"POST /v8/:projectId/push-notifications/devices","href":"/v8/api-reference/push-notifications/register-device"},{"title":"Deregister Device","api":"POST /v8/:projectId/push-notifications/devices/deregister","href":"/v8/api-reference/push-notifications/deregister-device"},{"title":"Send Push Notification","api":"POST /v8/:projectId/push-notifications/send","href":"/v8/api-reference/push-notifications/send"},{"title":"Get VAPID Public Key","api":"GET /v8/:projectId/push-notifications/vapid-public-key","href":"/v8/api-reference/push-notifications/get-vapid-public-key"},{"title":"Get Notification Preferences","api":"GET /v8/:projectId/push-notifications/preferences","href":"/v8/api-reference/push-notifications/get-preferences"},{"title":"Update Notification Preferences","api":"PUT /v8/:projectId/push-notifications/preferences","href":"/v8/api-reference/push-notifications/update-preferences"}]},{"group":"Report Endpoints","pages":[{"title":"Create Report","api":"POST /v8/:projectId/reports","href":"/v8/api-reference/reports/create-report"},{"title":"Fetch Moderated Reports","api":"GET /v8/:projectId/reports/moderated","href":"/v8/api-reference/reports/fetch-moderated-reports"}]},{"group":"Search Endpoints","pages":[{"title":"Search Content","api":"POST /v8/:projectId/search/content","href":"/v8/api-reference/search/search-content"},{"title":"Search Users","api":"POST /v8/:projectId/search/users","href":"/v8/api-reference/search/search-users"},{"title":"Search Spaces","api":"POST /v8/:projectId/search/spaces","href":"/v8/api-reference/search/search-spaces"},{"title":"Ask Content","api":"POST /v8/:projectId/search/ask","href":"/v8/api-reference/search/ask"},{"title":"Match Users","api":"POST /v8/:projectId/match/users","href":"/v8/api-reference/match/match-users"}]},{"group":"Space Endpoints","pages":[{"title":"Create Space","api":"POST /v8/:projectId/spaces","href":"/v8/api-reference/spaces/create-space"},{"title":"Fetch Spaces","api":"GET /v8/:projectId/spaces","href":"/v8/api-reference/spaces/fetch-spaces"},{"title":"Fetch Space","api":"GET /v8/:projectId/spaces/:spaceId","href":"/v8/api-reference/spaces/fetch-space"},{"title":"Fetch Space by Short ID","api":"GET /v8/:projectId/spaces/by-short-id","href":"/v8/api-reference/spaces/fetch-space-by-short-id"},{"title":"Fetch Space by Slug","api":"GET /v8/:projectId/spaces/by-slug","href":"/v8/api-reference/spaces/fetch-space-by-slug"},{"title":"Fetch User Spaces","api":"GET /v8/:projectId/spaces/user-spaces","href":"/v8/api-reference/spaces/fetch-user-spaces"},{"title":"Fetch Mutual Spaces","api":"GET /v8/:projectId/spaces/mutual/:userId","href":"/v8/api-reference/spaces/fetch-mutual-spaces"},{"title":"Check Slug Availability","api":"GET /v8/:projectId/spaces/check-slug","href":"/v8/api-reference/spaces/check-slug"},{"title":"Update Space","api":"PATCH /v8/:projectId/spaces/:spaceId","href":"/v8/api-reference/spaces/update-space"},{"title":"Delete Space","api":"DELETE /v8/:projectId/spaces/:spaceId","href":"/v8/api-reference/spaces/delete-space"},{"title":"Fetch Space Breadcrumb","api":"GET /v8/:projectId/spaces/:spaceId/breadcrumb","href":"/v8/api-reference/spaces/fetch-breadcrumb"}]},{"group":"Space — Membership","pages":[{"title":"Join Space","api":"POST /v8/:projectId/spaces/:spaceId/join","href":"/v8/api-reference/spaces/membership/join-space"},{"title":"Leave Space","api":"DELETE /v8/:projectId/spaces/:spaceId/leave","href":"/v8/api-reference/spaces/membership/leave-space"},{"title":"Check My Membership","api":"GET /v8/:projectId/spaces/:spaceId/membership/me","href":"/v8/api-reference/spaces/membership/check-my-membership"},{"title":"List Space Members","api":"GET /v8/:projectId/spaces/:spaceId/members","href":"/v8/api-reference/spaces/membership/list-members"},{"title":"List Space Team","api":"GET /v8/:projectId/spaces/:spaceId/team","href":"/v8/api-reference/spaces/membership/list-team"},{"title":"Approve Member","api":"PATCH /v8/:projectId/spaces/:spaceId/members/:memberId/approve","href":"/v8/api-reference/spaces/membership/approve-member"},{"title":"Decline Member","api":"PATCH /v8/:projectId/spaces/:spaceId/members/:memberId/decline","href":"/v8/api-reference/spaces/membership/decline-member"},{"title":"Ban Member","api":"PATCH /v8/:projectId/spaces/:spaceId/members/:memberId/ban","href":"/v8/api-reference/spaces/membership/ban-member"},{"title":"Unban Member","api":"PATCH /v8/:projectId/spaces/:spaceId/members/:memberId/unban","href":"/v8/api-reference/spaces/membership/unban-member"},{"title":"Update Member Role","api":"PATCH /v8/:projectId/spaces/:spaceId/members/:memberId/role","href":"/v8/api-reference/spaces/membership/update-member-role"}]},{"group":"Space — Rules","pages":[{"title":"List Rules","api":"GET /v8/:projectId/spaces/:spaceId/rules","href":"/v8/api-reference/spaces/rules/list-rules"},{"title":"Fetch Rule","api":"GET /v8/:projectId/spaces/:spaceId/rules/:ruleId","href":"/v8/api-reference/spaces/rules/fetch-rule"},{"title":"Create Rule","api":"POST /v8/:projectId/spaces/:spaceId/rules","href":"/v8/api-reference/spaces/rules/create-rule"},{"title":"Update Rule","api":"PATCH /v8/:projectId/spaces/:spaceId/rules/:ruleId","href":"/v8/api-reference/spaces/rules/update-rule"},{"title":"Delete Rule","api":"DELETE /v8/:projectId/spaces/:spaceId/rules/:ruleId","href":"/v8/api-reference/spaces/rules/delete-rule"},{"title":"Reorder Rules","api":"PATCH /v8/:projectId/spaces/:spaceId/rules/reorder","href":"/v8/api-reference/spaces/rules/reorder-rules"}]},{"group":"Space — Moderation","pages":[{"title":"Moderate Entity","api":"PATCH /v8/:projectId/spaces/:spaceId/entities/:entityId/moderation","href":"/v8/api-reference/spaces/moderation/moderate-entity"},{"title":"Moderate Comment","api":"PATCH /v8/:projectId/spaces/:spaceId/comments/:commentId/moderation","href":"/v8/api-reference/spaces/moderation/moderate-comment"},{"title":"Moderate Message","api":"PATCH /v8/:projectId/spaces/:spaceId/chat/messages/:messageId/moderation","href":"/v8/api-reference/spaces/moderation/moderate-message"},{"title":"Set Entity NSFW","api":"PATCH /v8/:projectId/spaces/:spaceId/entities/:entityId/nsfw","href":"/v8/api-reference/spaces/moderation/set-entity-nsfw"},{"title":"Handle Entity Report","api":"PATCH /v8/:projectId/spaces/:spaceId/reports/entity/:reportId","href":"/v8/api-reference/spaces/moderation/handle-entity-report"},{"title":"Handle Comment Report","api":"PATCH /v8/:projectId/spaces/:spaceId/reports/comment/:reportId","href":"/v8/api-reference/spaces/moderation/handle-comment-report"},{"title":"Handle Message Report","api":"PATCH /v8/:projectId/spaces/:spaceId/chat/reports/:reportId","href":"/v8/api-reference/spaces/moderation/handle-message-report"}]},{"group":"Space — Chat","pages":[{"title":"Get Space Conversation","api":"GET /v8/:projectId/spaces/:spaceId/conversation","href":"/v8/api-reference/spaces/chat/get-space-conversation"}]},{"group":"Workspace Endpoints","pages":[{"title":"Create Workspace","api":"POST /v8/:projectId/workspaces","href":"/v8/api-reference/workspaces/create-workspace"},{"title":"List Workspaces","api":"GET /v8/:projectId/workspaces","description":"List the workspaces the caller can open, or only the ones they own or are a member of","href":"/v8/api-reference/workspaces/fetch-workspaces"},{"title":"Fetch Mutual Workspaces","api":"GET /v8/:projectId/workspaces/mutual/:userId","href":"/v8/api-reference/workspaces/fetch-mutual-workspaces"},{"title":"Fetch Workspace","api":"GET /v8/:projectId/workspaces/:id","description":"Read a single workspace, visibility-filtered","href":"/v8/api-reference/workspaces/fetch-workspace"},{"title":"Update Workspace","api":"PATCH /v8/:projectId/workspaces/:id","href":"/v8/api-reference/workspaces/update-workspace"},{"title":"Flip Inherit Flag","api":"PATCH /v8/:projectId/workspaces/:id/inherit-flag","href":"/v8/api-reference/workspaces/update-inherit-flag"},{"title":"Delete Workspace","api":"DELETE /v8/:projectId/workspaces/:id","href":"/v8/api-reference/workspaces/delete-workspace"},{"title":"Transfer Ownership","api":"POST /v8/:projectId/workspaces/:id/transfer-ownership","href":"/v8/api-reference/workspaces/transfer-ownership"},{"title":"Read Authority","api":"GET /v8/:projectId/workspaces/:id/authority/me","href":"/v8/api-reference/workspaces/fetch-authority"}]},{"group":"Workspace — Membership","pages":[{"title":"List Members","api":"GET /v8/:projectId/workspaces/:id/members","href":"/v8/api-reference/workspaces/members/list-members"},{"title":"Fetch Member Standing","api":"GET /v8/:projectId/workspaces/:id/members/:userId","href":"/v8/api-reference/workspaces/members/fetch-member-standing"},{"title":"Update Member","api":"PATCH /v8/:projectId/workspaces/:id/members/:userId","href":"/v8/api-reference/workspaces/members/update-member"},{"title":"Remove Member","api":"DELETE /v8/:projectId/workspaces/:id/members/:userId","href":"/v8/api-reference/workspaces/members/remove-member"},{"title":"Leave Workspace","api":"DELETE /v8/:projectId/workspaces/:id/members/me","href":"/v8/api-reference/workspaces/members/leave-workspace"},{"title":"Remove From Subtree","api":"POST /v8/:projectId/workspaces/:id/members/:userId/remove-from-subtree","href":"/v8/api-reference/workspaces/members/remove-from-subtree"}]},{"group":"Workspace — Invitations","pages":[{"title":"Create Invite","api":"POST /v8/:projectId/workspaces/:id/invites","href":"/v8/api-reference/workspaces/invitations/create-invite"},{"title":"List Workspace Invites","api":"GET /v8/:projectId/workspaces/:id/invites","href":"/v8/api-reference/workspaces/invitations/list-invites"},{"title":"Revoke Invite","api":"POST /v8/:projectId/workspaces/:id/invites/:inviteId/revoke","href":"/v8/api-reference/workspaces/invitations/revoke-invite"},{"title":"Resend Invite","api":"POST /v8/:projectId/workspaces/:id/invites/:inviteId/resend","href":"/v8/api-reference/workspaces/invitations/resend-invite"},{"title":"Accept Invite","api":"POST /v8/:projectId/workspace-invites/:inviteId/accept","href":"/v8/api-reference/workspaces/invitations/accept-invite"},{"title":"Decline Invite","api":"POST /v8/:projectId/workspace-invites/:inviteId/decline","href":"/v8/api-reference/workspaces/invitations/decline-invite"},{"title":"List My Invites","api":"GET /v8/:projectId/me/workspace-invites","href":"/v8/api-reference/workspaces/invitations/list-my-invites"}]},{"group":"Event Endpoints","pages":[{"title":"Create Event","api":"POST /v8/:projectId/events","href":"/v8/api-reference/events/create-event"},{"title":"Fetch Event","api":"GET /v8/:projectId/events/:eventId","href":"/v8/api-reference/events/fetch-event"},{"title":"Fetch Many Events","api":"GET /v8/:projectId/events","href":"/v8/api-reference/events/fetch-many-events"},{"title":"Update Event","api":"PATCH /v8/:projectId/events/:eventId","href":"/v8/api-reference/events/update-event"},{"title":"Cancel Event","api":"POST /v8/:projectId/events/:eventId/cancel","href":"/v8/api-reference/events/cancel-event"},{"title":"Delete Event","api":"DELETE /v8/:projectId/events/:eventId","href":"/v8/api-reference/events/delete-event"},{"title":"Set RSVP","api":"POST /v8/:projectId/events/:eventId/rsvp","href":"/v8/api-reference/events/set-rsvp"},{"title":"Withdraw RSVP","api":"DELETE /v8/:projectId/events/:eventId/rsvp","href":"/v8/api-reference/events/withdraw-rsvp"},{"title":"Add Host","api":"POST /v8/:projectId/events/:eventId/hosts","href":"/v8/api-reference/events/add-host"},{"title":"Remove Host","api":"DELETE /v8/:projectId/events/:eventId/hosts/:userId","href":"/v8/api-reference/events/remove-host"},{"title":"Add Invite","api":"POST /v8/:projectId/events/:eventId/invites","href":"/v8/api-reference/events/add-invite"},{"title":"Remove Invite","api":"DELETE /v8/:projectId/events/:eventId/invites/:userId","href":"/v8/api-reference/events/remove-invite"},{"title":"Fetch Invitees","api":"GET /v8/:projectId/events/:eventId/invites","href":"/v8/api-reference/events/fetch-invitees"},{"title":"Fetch Event RSVPs","api":"GET /v8/:projectId/events/:eventId/rsvps","href":"/v8/api-reference/events/fetch-event-rsvps"}]},{"group":"Reputation Grant Endpoints","pages":[{"title":"Create Reputation Grant","api":"POST /v8/:projectId/reputation-grants","href":"/v8/api-reference/reputation-grants/create-reputation-grant"},{"title":"Mint Reputation Grant","api":"POST /v8/:projectId/reputation-grants/mint","href":"/v8/api-reference/reputation-grants/mint-reputation-grant"},{"title":"Fetch Many Reputation Grants","api":"GET /v8/:projectId/reputation-grants","href":"/v8/api-reference/reputation-grants/fetch-many-reputation-grants"},{"title":"Fetch User Grant History","api":"GET /dashboard/users/:userId/reputation-grants","href":"/v8/api-reference/reputation-grants/fetch-user-grant-history"}]},{"group":"Storage Endpoints","pages":[{"title":"Upload Image","api":"POST /v8/:projectId/storage/images","href":"/v8/api-reference/storage/upload-image"},{"title":"Upload File","api":"POST /v8/:projectId/storage","href":"/v8/api-reference/storage/upload-file"},{"title":"Fetch File","api":"GET /v8/:projectId/storage/:fileId","href":"/v8/api-reference/storage/fetch-file"},{"title":"Delete File","api":"DELETE /v8/:projectId/storage/:fileId","href":"/v8/api-reference/storage/delete-file"}]},{"group":"Custom Tables — Rows","pages":[{"title":"Fetch Rows","api":"GET /v8/:projectId/db/:tableName","href":"/v8/api-reference/custom-tables/fetch-many-rows"},{"title":"Fetch Row","api":"GET /v8/:projectId/db/:tableName/:rowId","href":"/v8/api-reference/custom-tables/fetch-row"},{"title":"Insert Row","api":"POST /v8/:projectId/db/:tableName","href":"/v8/api-reference/custom-tables/insert-row"},{"title":"Bulk Insert Rows","api":"POST /v8/:projectId/db/:tableName/bulk","href":"/v8/api-reference/custom-tables/bulk-insert-rows"},{"title":"Update Row","api":"PATCH /v8/:projectId/db/:tableName/:rowId","href":"/v8/api-reference/custom-tables/update-row"},{"title":"Delete Row","api":"DELETE /v8/:projectId/db/:tableName/:rowId","href":"/v8/api-reference/custom-tables/delete-row"},{"title":"Bulk Delete Rows","api":"POST /v8/:projectId/db/:tableName/bulk-delete","href":"/v8/api-reference/custom-tables/bulk-delete-rows"},{"title":"Restore Row","api":"POST /v8/:projectId/db/:tableName/:rowId/restore","href":"/v8/api-reference/custom-tables/restore-row"}]},{"group":"Custom Tables — Management","pages":[{"title":"Create Table","api":"POST /v8/:projectId/db/tables","href":"/v8/api-reference/custom-tables/create-table"},{"title":"Drop Table","api":"DELETE /v8/:projectId/db/tables/:tableName","href":"/v8/api-reference/custom-tables/drop-table"},{"title":"Add Column","api":"POST /v8/:projectId/db/tables/:tableName/columns","href":"/v8/api-reference/custom-tables/add-column"},{"title":"Drop Column","api":"DELETE /v8/:projectId/db/tables/:tableName/columns/:columnName","href":"/v8/api-reference/custom-tables/drop-column"}]},{"group":"Utils","pages":[{"title":"Get URL Metadata","api":"GET /v8/:projectId/utils/get-metadata","href":"/v8/api-reference/utils/get-metadata"}]},{"group":"Crypto","pages":[{"title":"Sign Testing JWT","api":"POST /v8/:projectId/crypto/sign-testing-jwt","href":"/v8/api-reference/crypto/sign-testing-jwt"}]}]},{"tab":"Data Models","pages":[{"title":"Data Models","href":"/v8/data-models/user"}]},{"tab":"Node SDK","pages":[{"title":"Node SDK","href":"/v8/node-sdk/overview"}]},{"tab":"JS SDK","pages":[{"title":"JS SDK","href":"/v8/js-sdk/overview"}]},{"tab":"Components","pages":[{"title":"Components","href":"/v8/components/overview"}]}],"global":{"anchors":[{"anchor":"Dashboard","icon":"gauge","href":"https://dash.sublay.io"}]}},{"version":"7.0.0","default":true,"pages":[{"title":"7.0.0","href":"/v7/api-reference/workspaces/create-workspace"}]},{"version":"6.0.0","pages":[{"title":"6.0.0","href":"/v6"}]}]},"title":"Fetch Mutual Workspaces - Sublay Documentation","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js"]}