> ## Documentation index
> Fetch the complete documentation index at: https://context7.com/docs/llms.txt
> Ask it with GET https://context7.com/docs/ask?q=<keywords or question>. Short keywords rank best.
> Use these to discover all available pages before exploring further.
> Feature requests: https://context7.com/docs/resources/feature-requests.md lists what users asked for and how to vote for a request or add one.
> Page rating: `GET https://context7.com/docs/feedback?path=/docs/api-reference/docs7-sites/get-the-way-to-hosting&helpful=true` (or `false`) records whether this page helped. An optional `comment` (URL-encoded, at most 500 characters) says what was missing or wrong. It is anonymous and needs no key. Comments hold no code, secrets or personal data.

# Get the way to hosting

> For a site without hosting: its stage on the way to hosting (setup, publish, migrate, migrating, review, publishing or hosted), with the docs folder found in the repository and the migration pull request and preview when there is one.

`GET /v2/teamspaces/{teamspaceId}/sites/{siteId}/migration`

## OpenAPI

````yaml https://context7.com/openapi.json get /v2/teamspaces/{teamspaceId}/sites/{siteId}/migration
openapi: 3.0.0
info:
  title: Context7 Public API
  description: The Context7 Public API provides programmatic access to library
    documentation and search functionality. Get up-to-date documentation and
    code examples for any library.
  version: 2.0.0
  contact:
    name: Context7 Support
    url: https://context7.com
    email: support@context7.com
servers:
  - url: https://context7.com/api
    description: Production server
tags:
  - name: Search
    description: Search for libraries in the Context7 database
  - name: Context
    description: Retrieve documentation context for queries
  - name: Ask
    description: Answer questions from a website registered with Context7 Ask
  - name: Refresh
    description: Refresh existing libraries to fetch latest documentation
  - name: Policies
    description: Manage teamspace access policies and filters
  - name: Add Library
    description: Submit new libraries for documentation processing
  - name: Metrics
    description: Retrieve usage metrics for libraries
  - name: Usage
    description: See member and teamspace API usage
  - name: Teamspaces
    description: Teamspaces the caller is a member of. The management API
      (`/v2/teamspaces/*`) accepts a Context7 API key created with management
      access (other keys get 403 `management_access_required`), which reaches
      only its own teamspace, or an OAuth token issued for the Context7 Admin
      MCP server (`https://admin.mcp.context7.com/mcp`), which reaches every
      teamspace of the user. A browser session is not accepted.
  - name: Teamspace Admin
    description: Members, invitations, rules, library policies and requests, usage
      and the spending limit of a teamspace. Needs an API key created with
      **Management access** ticked (other keys get 403
      `management_access_required`), or the Context7 Admin MCP sign-in.
  - name: Teamspace Libraries
    description: "A teamspace's libraries: its private sources and the libraries it
      has claimed. Add, refresh, configure, version, claim and remove them, and
      read their parse state and usage. A library id `/owner/repo` is two path
      segments. Needs an API key created with **Management access** ticked
      (other keys get 403 `management_access_required`), or the Context7 Admin
      MCP sign-in."
  - name: Docs7 Sites
    description: 'Docs7 documentation sites of a teamspace: settings, custom
      domains, deployments, previews and the Docs7 agents. Any member can read;
      owners and admins can change; developers can add a site, publish one added
      for the agents only, and rebuild. Sites deployed with the `docs7 deploy`
      CLI have `source: "local"`; operations marked GitHub-only answer 404 for
      them. Needs an API key created with **Management access** ticked (other
      keys get 403 `management_access_required`), or the Context7 Admin MCP
      sign-in.'
  - name: Docs7 Analytics
    description: "Traffic of one Docs7 site: visitors, AI crawlers, searches,
      assistant questions and page feedback. Docs7 Free reads the last 7 days,
      Docs7 Pro the last 90."
  - name: Ask Sites
    description: "Manage a teamspace's Context7 Ask sites: add, verify, remove, and
      read their analytics and question log. Needs an API key created with
      **Management access** ticked (other keys get 403
      `management_access_required`), or the Context7 Admin MCP sign-in."
paths:
  /v2/teamspaces/{teamspaceId}/sites/{siteId}/migration:
    get:
      tags:
        - Docs7 Sites
      summary: Get the way to hosting
      description: "For a site without hosting: its stage on the way to hosting
        (setup, publish, migrate, migrating, review, publishing or hosted), with
        the docs folder found in the repository and the migration pull request
        and preview when there is one."
      operationId: getDocs7SiteMigration
      security:
        - bearerAuth: []
      responses:
        "200":
          description: Migration stage
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    additionalProperties: true
        "400":
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Docs7Error"
        "401":
          description: Missing or invalid bearer
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Docs7Error"
        "403":
          description: Not allowed for this caller or plan
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Docs7Error"
        "404":
          description: Not found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Docs7Error"
        "500":
          description: Internal error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Docs7Error"
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Get your API key at
        [context7.com/dashboard](https://context7.com/dashboard). Treat your API
        key like a password and store it securely. The management API
        (`/v2/teamspaces/*`) needs a key created with **Management access**
        ticked; other keys get 403 `management_access_required`.
  schemas:
    Docs7Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Error code (snake_case).
        message:
          type: string
          description: Human-readable message. Most errors have one.
        details:
          type: object
          description: Validation details on `invalid_payload`.
      description: Docs7 error response
````
