Returns the user with this foreignId — the external identifier from your own system — or creates them when there is none. Service key only: this endpoint creates users, so only your backend may call it. To read a user without creating one, use Fetch User by Foreign ID (GET).Everything goes in the JSON request body, so the profile, secureMetadata included, never appears in a URL. The whole request body can be at most 100 KB, metadata and secureMetadata included.
Existing user:200 with the user, unchanged. The profile fields are used only to create a user; they never update one.
No user: the user is created with the body’s profile, 201.
Two concurrent calls for the same new foreignId: one user is created. The call that loses the race answers 200 with that user.
If the user exists and has blocked the viewer — the user named in actingUserId — this returns 404, the same response as the read. Nothing is created. Requires the moderation bundle.
The external identifier from your system. It is stored and matched exactly as sent. A blank or whitespace-only value ("", " ") returns 400 user/invalid-body (foreignId: Foreign ID is required).
Username, unique within the project. Used only when the user is created. The same rules as on sign-up and Update User: 3 to 30 characters after trimming, only letters, numbers, underscores (_) and hyphens (-). Anything else returns 400 user/invalid-body. A username another user holds returns 409.
The user the response is read as: a user who has blocked them comes back as 404, as on the read. It never changes who creates: a user this request creates is always created by your app. Leave it out for the anonymous view.
This endpoint has no space in context, so the opt-in spaceReputation object accepts a spaceId of a space <uuid> or none only — context is rejected (400). It adds a spaceReputation field to the returned user, alongside the always-present reputation total. Send it in the body: spaceReputationId as a string, spaceReputationDescendants as a boolean ("true" and "false" are accepted too). Requires the reputation bundle. See the Reputation data model.
Every field goes in the body. Any of them sent in the query string returns 400 user/wrong-location.
A user token, even one naming an actingUserId, or a request with no credentials. Nothing is created.
{ "error": "Service key required: `POST /users/by-foreign-id` creates users, so only your backend may call it. To read a user by foreign id, use `GET /users/by-foreign-id`.", "code": "auth/elevated-auth-required"}
Invalid Body — 400
Returned for an invalid body: a missing or blank foreignId, a username that breaks the rules above, a metadata or secureMetadata that isn’t an object, or an unknown include value. The error names the field, for example:
foreignId: Foreign ID is required
username: Username must be at least 3 characters
username: Username cannot exceed 30 characters
username: Username can only contain letters, numbers, underscores, and hyphens
{ "error": "username: Username must be at least 3 characters", "code": "user/invalid-body"}
Wrong Location — 400
A body field was sent in the query string (foreignId, name, include, spaceReputationId, actingUserId, …).
{ "error": "`foreignId` goes in the request body on this endpoint.", "code": "user/wrong-location", "param": "foreignId"}
User Not Found — 404
The user exists and has blocked the actingUserId viewer. Nothing is created.
{ "error": "User not found", "code": "user/not-found"}
Acting User Not Found — 404
actingUserId names a user that isn’t in this project.
{ "error": "No user with this actingUserId exists in this project.", "code": "user/user-not-found" }
Duplicate Field — 409
No user has this foreignId, and another user already holds the username (or another unique field) in this project. Nothing is created.
{ "error": "A user with this username already exists in this project", "field": "username", "code": "DUPLICATE_USER_FIELD"}
{"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":"6ade054bb7bed53c17ae612e","collectionId":"2ef5120c-e390-4dfc-a54f-387c35879f6f","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ade054bb7bed53c17ae612e"},"entitlements":{},"buildId":"6ade1998b128bc39b5e63878","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"API Reference","count":520},{"language":"default","tag":"Hooks Reference","count":483},{"language":"default","tag":"SDK Reference","count":145},{"language":"default","tag":"Components","count":92},{"language":"default","tag":"Modules","count":84},{"language":"default","tag":"Spaces","count":68},{"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},"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":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"v8/api-reference/users/fetch-or-create-user-by-foreign-id","slug":"/v8/api-reference/users/fetch-or-create-user-by-foreign-id","pageMetadata":{"title":"Fetch or Create User by Foreign ID","api":"POST /v8/:projectId/users/by-foreign-id","description":"Return the user with your external ID, or create them with a profile (service key only)","href":"/v8/api-reference/users/fetch-or-create-user-by-foreign-id"},"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: \"Return the user with your external ID, or create them with a profile (service key only)\"\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];const SpaceReputationParams=({variant=`context`,field=`path`})=>{const _components={a:`a`,..._provideComponents()},{Expandable,ParamField}=_components;if(!Expandable)_missingMdxReference(`Expandable`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);const isUser=variant===`user`;return _jsxs(_Fragment,{children:[_jsxs(ParamField,{[field]:`spaceReputation`,type:`object`,children:[`Opt-in. Adds a `,_jsx(`code`,{children:`spaceReputation`}),` number to each returned user, scoped to a single space. Requires the `,_jsx(`code`,{children:`reputation`}),` bundle. The `,_jsx(`code`,{children:`reputation`}),` total is always present regardless;`,` `,_jsx(`code`,{children:`spaceReputation`}),` is purely additive and only appears when you pass this object. `,_jsx(`strong`,{children:`This object is the primary form`}),` — it replaces the deprecated flat props below. See the`,` `,_jsx(_components.a,{href:`/v8/data-models/reputation`,children:`Reputation data model`}),` for the full contract.`,_jsxs(Expandable,{title:`spaceReputation`,children:[isUser?_jsxs(ParamField,{name:`spaceId`,type:`string | \"none\"`,required:true,children:[`Which bucket to read. A space `,_jsx(`strong`,{children:_jsx(`code`,{children:`\u003cuuid>`})}),` reads that space's bucket; `,_jsx(`strong`,{children:_jsx(`code`,{children:`\"none\"`})}),` reads the project-general (space-less) bucket.`,` `,_jsxs(`strong`,{children:[_jsx(`code`,{children:`\"context\"`}),` is rejected (400)`]}),` on this endpoint — there is no space context to derive. The empty string and the legacy `,_jsx(`code`,{children:`general`}),` / `,_jsx(`code`,{children:`null`}),` aliases are also rejected. Missing buckets read as `,_jsx(`code`,{children:`0`}),`.`]}):_jsxs(ParamField,{name:`spaceId`,type:`string | \"none\" | \"context\"`,required:true,children:[`Which bucket to read. One of: a space `,_jsx(`strong`,{children:_jsx(`code`,{children:`\u003cuuid>`})}),` `,`(that space's bucket), `,_jsx(`strong`,{children:_jsx(`code`,{children:`\"none\"`})}),` (the project-general, space-less bucket), or`,` `,_jsx(`strong`,{children:_jsx(`code`,{children:`\"context\"`})}),` (the space derived from the request context — resolved per-row on lists, or the single space on member/team/conversation surfaces). The empty string and the legacy`,` `,_jsx(`code`,{children:`general`}),` / `,_jsx(`code`,{children:`null`}),` aliases are rejected (400). Missing buckets read as `,_jsx(`code`,{children:`0`}),`.`]}),_jsxs(ParamField,{name:`includeDescendants`,type:`boolean`,children:[`Only honored when `,_jsx(`code`,{children:`spaceId`}),` is an explicit space `,_jsx(`code`,{children:`\u003cuuid>`}),`. When `,_jsx(`code`,{children:`true`}),`, `,_jsx(`code`,{children:`spaceReputation`}),` is the`,` `,_jsx(`strong`,{children:`subtree sum`}),` — the named space plus all of its descendant spaces (the root space's own bucket included). Ignored for`,` `,_jsx(`code`,{children:`\"none\"`}),`; not allowed with `,_jsx(`code`,{children:`\"context\"`}),`.`]})]})]}),isUser?_jsxs(ParamField,{[field]:`spaceReputationId`,type:`string`,deprecated:true,children:[_jsx(`strong`,{children:`Deprecated`}),` — use the `,_jsx(`code`,{children:`spaceReputation`}),` `,`object instead. The flat form of `,_jsx(`code`,{children:`spaceReputation.spaceId`}),`. Still accepted (the object wins if both are passed); removal is a later major version. Accepts a space `,_jsx(`code`,{children:`\u003cuuid>`}),` or `,_jsx(`code`,{children:`\"none\"`}),` only —`,` `,_jsx(`code`,{children:`\"context\"`}),` is rejected (400) on this endpoint.`]}):_jsxs(ParamField,{[field]:`spaceReputationId`,type:`string`,deprecated:true,children:[_jsx(`strong`,{children:`Deprecated`}),` — use the `,_jsx(`code`,{children:`spaceReputation`}),` `,`object instead. The flat form of `,_jsx(`code`,{children:`spaceReputation.spaceId`}),`. Still accepted (the object wins if both are passed); removal is a later major version. Accepts a space `,_jsx(`code`,{children:`\u003cuuid>`}),`, `,_jsx(`code`,{children:`\"none\"`}),`, or`,` `,_jsx(`code`,{children:`\"context\"`}),`.`]}),_jsxs(ParamField,{[field]:`spaceReputationDescendants`,type:`boolean`,deprecated:true,children:[_jsx(`strong`,{children:`Deprecated`}),` — use`,` `,_jsx(`code`,{children:`spaceReputation.includeDescendants`}),` instead. The flat form, only honored alongside an explicit `,_jsx(`code`,{children:`spaceReputationId`}),` `,_jsx(`code`,{children:`\u003cuuid>`}),`.`]})]})};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,Note,ParamField,ResponseField,_MdxComponentBoundary}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Returns the user with this `,_jsx(_components.code,{children:`foreignId`}),` — the external identifier from your own system — or creates them when there is none. `,_jsx(_components.strong,{children:`Service key only`}),`: this endpoint creates users, so only your backend may call it. To read a user without creating one, use `,_jsx(_components.a,{href:`/v8/api-reference/users/fetch-user-by-foreign-id`,children:`Fetch User by Foreign ID`}),` (`,_jsx(_components.code,{children:`GET`}),`).`]}),`\n`,_jsxs(_components.p,{children:[`Everything goes in the JSON request body, so the profile, `,_jsx(_components.code,{children:`secureMetadata`}),` included, never appears in a URL. The whole request body can be at most 100 KB, `,_jsx(_components.code,{children:`metadata`}),` and `,_jsx(_components.code,{children:`secureMetadata`}),` included.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Existing user:`}),` `,_jsx(_components.code,{children:`200`}),` with the user, unchanged. The profile fields are used only to create a user; they never update one.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`No user:`}),` the user is created with the body’s profile, `,_jsx(_components.code,{children:`201`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Two concurrent calls for the same new `,_jsx(_components.code,{children:`foreignId`}),`:`]}),` one user is created. The call that loses the race answers `,_jsx(_components.code,{children:`200`}),` with that user.`]}),`\n`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`If the user exists and has blocked the viewer — the user named in `,_jsx(_components.code,{children:`actingUserId`}),` — this returns `,_jsx(_components.code,{children:`404`}),`, the same response as the read. Nothing is created. Requires the `,_jsx(_components.code,{children:`moderation`}),` bundle.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`body-parameters`,children:`Body Parameters`}),`\n`,_jsx(ParamField,{body:`foreignId`,type:`string`,required:true,id:`param-foreign-id`,children:_jsxs(_components.p,{children:[`The external identifier from your system. It is stored and matched exactly as sent. A blank or whitespace-only value (`,_jsx(_components.code,{children:`\"\"`}),`, `,_jsx(_components.code,{children:`\" \"`}),`) returns `,_jsx(_components.code,{children:`400 user/invalid-body`}),` (`,_jsx(_components.code,{children:`foreignId: Foreign ID is required`}),`).`]})}),`\n`,_jsx(ParamField,{body:`name`,type:`string`,id:`param-name`,children:_jsx(_components.p,{children:`Display name. Used only when the user is created.`})}),`\n`,_jsx(ParamField,{body:`username`,type:`string`,id:`param-username`,children:_jsxs(_components.p,{children:[`Username, unique within the project. Used only when the user is created. The same rules as on sign-up and `,_jsx(_components.a,{href:`/v8/api-reference/users/update-user`,children:`Update User`}),`: 3 to 30 characters after trimming, only letters, numbers, underscores (`,_jsx(_components.code,{children:`_`}),`) and hyphens (`,_jsx(_components.code,{children:`-`}),`). Anything else returns `,_jsx(_components.code,{children:`400 user/invalid-body`}),`. A username another user holds returns `,_jsx(_components.code,{children:`409`}),`.`]})}),`\n`,_jsx(ParamField,{body:`avatar`,type:`string | null`,id:`param-avatar`,children:_jsxs(_components.p,{children:[`Avatar URL, or `,_jsx(_components.code,{children:`null`}),` for none. Used only when the user is created.`]})}),`\n`,_jsx(ParamField,{body:`bio`,type:`string`,id:`param-bio`,children:_jsx(_components.p,{children:`Bio text. Used only when the user is created.`})}),`\n`,_jsx(ParamField,{body:`metadata`,type:`object`,id:`param-metadata`,children:_jsxs(_components.p,{children:[`Public custom data, a JSON object. Used only when the user is created. A JSON string is refused (`,_jsx(_components.code,{children:`400 user/invalid-body`}),`).`]})}),`\n`,_jsx(ParamField,{body:`secureMetadata`,type:`object`,id:`param-secure-metadata`,children:_jsx(_components.p,{children:`Private custom data, a JSON object. Never returned by the API. Used only when the user is created.`})}),`\n`,_jsxs(ParamField,{body:`include`,type:`string | string[]`,id:`param-include`,children:[_jsx(_components.p,{children:`Associations to include, as a comma-separated string or an array. The only value is:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`files`}),` — the processed `,_jsx(_components.code,{children:`avatarFile`}),` and `,_jsx(_components.code,{children:`bannerFile`}),` objects`]}),`\n`]}),_jsxs(_components.p,{children:[`Matching ignores case. An unknown value returns `,_jsx(_components.code,{children:`400 user/invalid-body`}),`.`]})]}),`\n`,_jsx(ParamField,{body:`actingUserId`,type:`string`,id:`param-acting-user-id`,children:_jsxs(_components.p,{children:[`The user the response is read as: a user who has blocked them comes back as `,_jsx(_components.code,{children:`404`}),`, as on the read. It never changes who creates: a user this request creates is always created by your app. Leave it out for the anonymous view.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`space-scoped-reputation`,children:`Space-scoped reputation`}),`\n`,_jsxs(_components.p,{children:[`This endpoint has no space in context, so the opt-in `,_jsx(_components.code,{children:`spaceReputation`}),` object accepts a `,_jsx(_components.code,{children:`spaceId`}),` of a space `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`\u003cuuid>`})}),` or `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`none`})}),` only — `,_jsx(_components.code,{children:`context`}),` is rejected (400). It adds a `,_jsx(_components.code,{children:`spaceReputation`}),` field to the returned user, alongside the always-present `,_jsx(_components.code,{children:`reputation`}),` total. Send it in the body: `,_jsx(_components.code,{children:`spaceReputationId`}),` as a string, `,_jsx(_components.code,{children:`spaceReputationDescendants`}),` as a boolean (`,_jsx(_components.code,{children:`\"true\"`}),` and `,_jsx(_components.code,{children:`\"false\"`}),` are accepted too). Requires the `,_jsx(_components.code,{children:`reputation`}),` bundle. See the `,_jsx(_components.a,{href:`/v8/data-models/reputation`,children:`Reputation data model`}),`.`]}),`\n`,_jsx(_MdxComponentBoundary,{name:`SpaceReputationParams`,children:_jsx(SpaceReputationParams,{variant:`user`,field:`body`})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Every field goes in the body. Any of them sent in the query string returns `,_jsx(_components.code,{children:`400 user/wrong-location`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`Returns HTTP `,_jsx(_components.code,{children:`200`}),` (an existing user) or `,_jsx(_components.code,{children:`201`}),` (a user this request created), with the same user object as the read:`]}),`\n`,_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id`,children:_jsx(_components.p,{children:`Unique user ID (UUID).`})}),`\n`,_jsx(ResponseField,{name:`foreignId`,type:`string | null`,id:`param-foreign-id-1`,children:_jsx(_components.p,{children:`The foreign ID you provided.`})}),`\n`,_jsx(ResponseField,{name:`projectId`,type:`string`,id:`param-project-id`,children:_jsx(_components.p,{children:`Project this user belongs to.`})}),`\n`,_jsx(ResponseField,{name:`name`,type:`string | null`,id:`param-name-1`,children:_jsx(_components.p,{children:`Display name.`})}),`\n`,_jsx(ResponseField,{name:`username`,type:`string | null`,id:`param-username-1`,children:_jsx(_components.p,{children:`Unique username within the project.`})}),`\n`,_jsx(ResponseField,{name:`avatar`,type:`string | null`,id:`param-avatar-1`,children:_jsx(_components.p,{children:`Avatar image URL.`})}),`\n`,_jsx(ResponseField,{name:`bio`,type:`string | null`,id:`param-bio-1`,children:_jsx(_components.p,{children:`Short bio text.`})}),`\n`,_jsx(ResponseField,{name:`metadata`,type:`object | null`,id:`param-metadata-1`,children:_jsx(_components.p,{children:`Public custom key-value data.`})}),`\n`,_jsx(ResponseField,{name:`reputation`,type:`number`,id:`param-reputation`,children:_jsx(_components.p,{children:`Reputation score.`})}),`\n`,_jsx(ResponseField,{name:`avatarFile`,type:`object | null`,id:`param-avatar-file`,children:_jsxs(_components.p,{children:[`Processed avatar image with variants. Only present when `,_jsx(_components.code,{children:`include=files`}),` is\nrequested.`]})}),`\n`,_jsx(ResponseField,{name:`bannerFile`,type:`object | null`,id:`param-banner-file`,children:_jsxs(_components.p,{children:[`Processed banner image with variants. Only present when `,_jsx(_components.code,{children:`include=files`}),` is\nrequested.`]})}),`\n`,_jsx(ResponseField,{name:`createdAt`,type:`string`,id:`param-created-at`,children:_jsx(_components.p,{children:`ISO timestamp of account creation.`})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Monthly active users:`}),` a request naming `,_jsx(_components.code,{children:`actingUserId`}),` counts that user, as on the read. Creating a user counts no one.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`error-responses`,children:`Error Responses`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Service Key Required — 403`,id:`service-key-required-403`,children:[_jsxs(_components.p,{children:[`A user token, even one naming an `,_jsx(_components.code,{children:`actingUserId`}),`, or a request with no credentials. Nothing is created.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`4`,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:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,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:'\"Service key required: `POST /users/by-foreign-id` creates users, so only your backend may call it. To read a user by foreign id, use `GET /users/by-foreign-id`.\"'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,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:`\"auth/elevated-auth-required\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsxs(Accordion,{title:`Invalid Body — 400`,id:`invalid-body-400`,children:[_jsxs(_components.p,{children:[`Returned for an invalid body: a missing or blank `,_jsx(_components.code,{children:`foreignId`}),`, a `,_jsx(_components.code,{children:`username`}),` that breaks the rules above, a `,_jsx(_components.code,{children:`metadata`}),` or `,_jsx(_components.code,{children:`secureMetadata`}),` that isn’t an object, or an unknown `,_jsx(_components.code,{children:`include`}),` value. The `,_jsx(_components.code,{children:`error`}),` names the field, for example:`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`foreignId: Foreign ID is required`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`username: Username must be at least 3 characters`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`username: Username cannot exceed 30 characters`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`username: Username can only contain letters, numbers, underscores, and hyphens`})}),`\n`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`4`,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:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,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:`\"username: Username must be at least 3 characters\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,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:`\"user/invalid-body\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsxs(Accordion,{title:`Wrong Location — 400`,id:`wrong-location-400`,children:[_jsxs(_components.p,{children:[`A body field was sent in the query string (`,_jsx(_components.code,{children:`foreignId`}),`, `,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`include`}),`, `,_jsx(_components.code,{children:`spaceReputationId`}),`, `,_jsx(_components.code,{children:`actingUserId`}),`, …).`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`5`,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:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,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:'\"`foreignId` goes in the request body on this endpoint.\"'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,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:`\"user/wrong-location\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"param\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"foreignId\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_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:[`The user exists and has blocked the `,_jsx(_components.code,{children:`actingUserId`}),` viewer. Nothing is created.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`4`,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:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,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:`\"User not found\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,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:`\"user/not-found\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),_jsxs(Accordion,{title:`Acting User Not Found — 404`,id:`acting-user-not-found-404`,children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`actingUserId`}),` names a user that isn’t 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:`\"user/user-not-found\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})})]}),_jsxs(Accordion,{title:`Duplicate Field — 409`,id:`duplicate-field-409`,children:[_jsxs(_components.p,{children:[`No user has this `,_jsx(_components.code,{children:`foreignId`}),`, and another user already holds the `,_jsx(_components.code,{children:`username`}),` (or another unique field) in this project. Nothing is created.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`5`,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:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,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 user with this username already exists in this project\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"field\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"username\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,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:`\"DUPLICATE_USER_FIELD\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`see-also`,children:`See Also`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/v8/api-reference/users/fetch-user-by-foreign-id`,children:`Fetch User by Foreign ID`})}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.a,{href:`/v8/node-sdk/users`,children:[_jsx(_components.code,{children:`fetchOrCreateUserByForeignId`}),` (Node SDK)`]}),`, which returns `,_jsx(_components.code,{children:`{ user, created }`}),`, with `,_jsx(_components.code,{children:`created`}),` true on `,_jsx(_components.code,{children:`201`})]}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/v8/data-models/user`,children:`User data model`})}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{SpaceReputationParams,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 or Create User by Foreign ID","api":"POST /v8/:projectId/users/by-foreign-id","description":"Return the user with your external ID, or create them with a profile (service key only)","href":"/v8/api-reference/users/fetch-or-create-user-by-foreign-id"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[157,4545,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"Body Parameters","slug":"body-parameters","depth":2,"children":[{"title":"Space-scoped reputation","slug":"space-scoped-reputation","depth":3,"children":[]}]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Error Responses","slug":"error-responses","depth":2,"children":[]},{"title":"See Also","slug":"see-also","depth":2,"children":[]}],"codeExamples":{},"endpoint":{"title":"Fetch or Create User by Foreign ID","path":"/v8/:projectId/users/by-foreign-id","servers":[{"url":"https://api.sublay.io"}],"method":"post","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":{},"header":{},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"foreignId":[{"type":"string","description":"The external identifier from your system. It is stored and matched exactly as sent. A blank or whitespace-only value ( `\"\"` , `\" \"` ) returns `400 user/invalid-body` ( `foreignId: Foreign ID is required` ).","required":true}],"name":[{"type":"string","description":"Display name. Used only when the user is created."}],"username":[{"type":"string","description":"Username, unique within the project. Used only when the user is created. The same rules as on sign-up and Update User : 3 to 30 characters after trimming, only letters, numbers, underscores ( `_` ) and hyphens ( `-` ). Anything else returns `400 user/invalid-body` . A username another user holds returns `409` ."}],"avatar":[{"type":"object","properties":{},"description":"Avatar URL, or `null` for none. Used only when the user is created."}],"bio":[{"type":"string","description":"Bio text. Used only when the user is created."}],"metadata":[{"type":"object","properties":{},"description":"Public custom data, a JSON object. Used only when the user is created. A JSON string is refused ( `400 user/invalid-body` )."}],"secureMetadata":[{"type":"object","properties":{},"description":"Private custom data, a JSON object. Never returned by the API. Used only when the user is created."}],"include":[{"type":"array","items":[{"type":"string"}],"description":"Associations to include, as a comma-separated string or an array. The only value is: `files` — the processed `avatarFile` and `bannerFile` objects Matching ignores case. An unknown value returns `400 user/invalid-body` ."}],"actingUserId":[{"type":"string","description":"The user the response is read as: a user who has blocked them comes back as `404` , as on the read. It never changes who creates: a user this request creates is always created by your app. Leave it out for the anonymous view."}]}}],"examples":{"example":{"value":{"foreignId":"\u003cstring>","name":"\u003cstring>","username":"\u003cstring>","avatar":{},"bio":"\u003cstring>","metadata":{},"secureMetadata":{},"include":["\u003cstring>"],"actingUserId":"\u003cstring>"}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"id":[{"type":"string","description":"Unique user ID (UUID)."}],"foreignId":[{"type":"object","properties":{},"description":"The foreign ID you provided."}],"projectId":[{"type":"string","description":"Project this user belongs to."}],"name":[{"type":"object","properties":{},"description":"Display name."}],"username":[{"type":"object","properties":{},"description":"Unique username within the project."}],"avatar":[{"type":"object","properties":{},"description":"Avatar image URL."}],"bio":[{"type":"object","properties":{},"description":"Short bio text."}],"metadata":[{"type":"object","properties":{},"description":"Public custom key-value data."}],"reputation":[{"type":"number","description":"Reputation score."}],"avatarFile":[{"type":"object","properties":{},"description":"Processed avatar image with variants. Only present when `include=files` is requested."}],"bannerFile":[{"type":"object","properties":{},"description":"Processed banner image with variants. Only present when `include=files` is requested."}],"createdAt":[{"type":"string","description":"ISO timestamp of account creation."}]}}],"examples":{"example":{"value":{"id":"\u003cstring>","foreignId":{},"projectId":"\u003cstring>","name":{},"username":{},"avatar":{},"bio":{},"metadata":{},"reputation":123,"avatarFile":{},"bannerFile":{},"createdAt":"\u003cstring>"}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"replyke","siteName":"Sublay Documentation","title":"Fetch or Create User by Foreign ID - Sublay Documentation","navMaps":{"firstHrefInVersion":{"8.0.0":{"href":"/v8/api-reference/users/fetch-or-create-user-by-foreign-id","matchLevel":0},"7.0.0":{"href":"/v7/api-reference/users/fetch-user","matchLevel":2},"6.0.0":{"href":"/v6/api-reference/users/fetch-user","matchLevel":2}},"firstHrefInLanguage":{}},"lastModified":"2026-10-25T15:01:14.797Z","originalFileLocation":"v8/api-reference/users/fetch-or-create-user-by-foreign-id.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=\"Return the user with your external ID, or create them with a profile (service key only)\">\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 or Create User by Foreign ID - Sublay Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Return the user with your external ID, or create them with a profile (service key only)\">\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/users/fetch-or-create-user-by-foreign-id\">\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=User+Endpoints\u0026amp;title=Fetch+or+Create+User+by+Foreign+ID\u0026amp;description=Return+the+user+with+your+external+ID%2C+or+create+them+with+a+profile+%28service+key+only%29\u0026amp;theme=2a716669c033a50b125cdbc9\u0026amp;signature=ced073b86fa4c61c7290ac197cb388c05830259239b61d1a2f7b3067612815fb\">\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 or Create User by Foreign ID - Sublay Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Return the user with your external ID, or create them with a profile (service key only)\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://replyke.mintlify.app/_mintlify/api/og/v2?division=User+Endpoints\u0026amp;title=Fetch+or+Create+User+by+Foreign+ID\u0026amp;description=Return+the+user+with+your+external+ID%2C+or+create+them+with+a+profile+%28service+key+only%29\u0026amp;theme=2a716669c033a50b125cdbc9\u0026amp;signature=ced073b86fa4c61c7290ac197cb388c05830259239b61d1a2f7b3067612815fb\">\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/users/fetch-or-create-user-by-foreign-id\">\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/users/fetch-or-create-user-by-foreign-id.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/users/fetch-or-create-user-by-foreign-id#webpage\",\"url\":\"https://docs.sublay.io/v8/api-reference/users/fetch-or-create-user-by-foreign-id\",\"name\":\"Fetch or Create User by Foreign ID\",\"description\":\"Return the user with your external ID, or create them with a profile (service key only)\",\"dateModified\":\"2026-10-25T15:01:14.797Z\",\"isPartOf\":{\"@id\":\"https://docs.sublay.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sublay.io/v8/api-reference/users/fetch-or-create-user-by-foreign-id#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sublay.io/v8/api-reference/users/fetch-or-create-user-by-foreign-id#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"User Endpoints\",\"item\":\"https://docs.sublay.io/v8/api-reference/users/fetch-user\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fetch or Create User by Foreign ID\",\"item\":\"https://docs.sublay.io/v8/api-reference/users/fetch-or-create-user-by-foreign-id\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.sublay.io/v8/api-reference/users/fetch-or-create-user-by-foreign-id#apireference\",\"headline\":\"Fetch or Create User by Foreign ID\",\"name\":\"Fetch or Create User by Foreign ID\",\"description\":\"Return the user with your external ID, or create them with a profile (service key only)\",\"url\":\"https://docs.sublay.io/v8/api-reference/users/fetch-or-create-user-by-foreign-id\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sublay.io/v8/api-reference/users/fetch-or-create-user-by-foreign-id#webpage\"},\"dateModified\":\"2026-10-25T15:01:14.797Z\",\"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","description":"Look up a user by your own system's external user 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","description":"Look up a user by their 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 Children","api":"GET /v8/:projectId/spaces/:spaceId/children","href":"/v8/api-reference/spaces/fetch-children"},{"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","href":"/v8/api-reference/workspaces/fetch-workspaces"},{"title":"Fetch Workspace","api":"GET /v8/:projectId/workspaces/:id","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/users/fetch-user"}]},{"version":"6.0.0","pages":[{"title":"6.0.0","href":"/v6/api-reference/users/fetch-user"}]}]},"title":"Fetch or Create User by Foreign ID - Sublay Documentation","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-Bbp7I60D.js","utils-C3RIvJha.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DqD-vLt8.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B31Loprg.js","snippetPresets-DKpk-b8t.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Cj65AhOR.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BXtn5gcC.js","shallow-RY2b03Cp.js","getApiPlaygroundDisplay-B0jeiPk3.js","CodeSnippet-CYgBjjwn.js","CodeSnippets-DOngDrYB.js","Page-n7I5XbKb.js","getPastedJson-DRQbJx-T.js","icon-CQiQCicY.js","MethodPill-BKTLdNtu.js","DuplicateIcon-B9jpAdat.js","createIcon-DCddRrXv.js","DynamicMarkdown-a8hUKrw6.js","SectionHeading-eECVV2eH.js","axios-vUo_bRtp.js"]}