# Which workspace a page is in, for a link that names no workspace

For an old link (`/notes/p/<id>`, an email from before workspace URLs),
so the app can send the tab to `/notes/w/<slug>/p/<id>`. It works
across the caller's workspaces: the token may be for any of them.

It answers only when Notes would let the caller read the page in its
own workspace: they are a member with a product seat, Notes is on
there, and they can see the page's space. Archived pages are located
too, as the trash opens them.

Every other case gets the same 404, byte for byte: no such page,
someone else's page, a space the caller can't see, Notes turned off
there, a malformed id, or a request made with an API key or an OAuth
grant (those are bound to one workspace by consent). Both answers
are `Cache-Control: no-store`. Rate-limited per user and per client IP
(the edge's CF-Connecting-IP).


Canonical: https://easerix.com/docs/developers/api/notes/pages/locatePage

{/* This file was generated by Fumadocs. Do not edit this file directly. Any changes should be made by running the generation command again. */}

export default function Layout(props) {
  const { APIPage, OpenAPIPage } = props.components ?? {};
  // "APIPage" is the old name from v10, this allows both for backward compatibility
  const Comp = OpenAPIPage ?? APIPage;
  return (
    <>
      {props.children}
      <Comp document="notes" operations={[{"path":"/v1/pages/{id}/locate","method":"get"}]} />
    </>
  );
}
