> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.jp/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get rows from draft table

> Returns rows in the draft version of the specified table. Row results can be filtered and sorted. Filtering and sorting options will be sent as query parameters to the API request. For example, by adding the query parameters `column1__gt=5&sort=-column1`, API returns the rows with values for column `column1` greater than 5 and in the descending order of `column1` values. Refer to the [overview section](https://developers.hubspot.com/docs/api/cms/hubdb#filtering-and-sorting-table-rows) for detailed filtering and sorting options.

export const ScopesList = ({scopes = [], description = "この API には、次のいずれかのスコープが必要です。"}) => {
  if (!scopes || scopes.length === 0) {
    return null;
  }
  const sortedScopes = scopes.sort((a, b) => a.localeCompare(b));
  return <div>
      <div className="text-sm mb-2">{description}</div>
      <div>
        {sortedScopes.map((scope, index) => <div key={index}>
            <code>
              <span className="text-xs">{scope}</span>
            </code>
          </div>)}
      </div>
    </div>;
};

export const SupportedProducts = ({marketing, sales, service, cms, marketingLevel, salesLevel, serviceLevel, cmsLevel}) => {
  const translations = {
    header: "サポートされる製品",
    description: "次のいずれかの製品またはそれ以上が必要です。",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub"
    },
    tiers: {
      free: "無料ツール",
      starter: "Starter",
      professional: "Professional",
      enterprise: "Enterprise"
    }
  };
  const translateTier = tier => {
    if (!tier) return '';
    const lowerTier = tier.toLowerCase();
    return translations.tiers[lowerTier] || tier;
  };
  const products = [{
    name: marketing ? translations.productNames.marketing : '',
    level: translateTier(marketingLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/marketing-bolt.svg",
    alt: "Marketing Hub"
  }, {
    name: sales ? translations.productNames.sales : '',
    level: translateTier(salesLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/sales-star.svg",
    alt: "Sales Hub"
  }, {
    name: service ? translations.productNames.service : '',
    level: translateTier(serviceLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/service-heart.svg",
    alt: "Service Hub"
  }, {
    name: cms ? translations.productNames.cms : '',
    level: translateTier(cmsLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/content-play.svg",
    alt: "Content Hub"
  }].filter(product => product.name && product.level);
  if (products.length === 0) return null;
  return <div>
      <div className="text-sm mb-2">{translations.description}</div>
      <div className={`grid ${products.length === 1 ? 'grid-cols-1' : 'grid-cols-2'} gap-1.5`}>
        {products.map((product, index) => <div key={index} style={{
    display: 'flex',
    alignItems: 'center'
  }}>
            <img src={product.icon} alt={product.alt} className="w-3.5 h-3.5 mr-1.5 mt-2.5 mb-2.5 flex-shrink-0 align-middle" />
            <span className="font-medium mr-1 text-sm">{product.name} -</span>
            <span className="text-sm">{product.level}</span>
          </div>)}
      </div>
    </div>;
};

<AccordionGroup>
  <Accordion title="Supported products" defaultOpen="true" icon="cubes">
    <SupportedProducts marketing={true} sales={true} service={true} cms={true} marketingLevel="PROFESSIONAL" salesLevel="FREE" serviceLevel="FREE" cmsLevel="PROFESSIONAL" />
  </Accordion>

  <Accordion title="Required Scopes" icon="key">
    <ScopesList
      scopes={[
  'hubdb'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/legacy/v3/cms-hubdb-v3.json GET /cms/v3/hubdb/tables/{tableIdOrName}/rows/draft
openapi: 3.0.1
info:
  title: Hubdb
  description: Basepom for all HubSpot Projects
  version: v3
  x-hubspot-product-tier-requirements:
    marketing: PROFESSIONAL
    sales: FREE
    service: FREE
    cms: PROFESSIONAL
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Rows
  - name: Tables
paths:
  /cms/v3/hubdb/tables/{tableIdOrName}/rows/draft:
    get:
      tags:
        - Tables
      summary: Get rows from draft table
      description: >-
        Returns rows in the draft version of the specified table. Row results
        can be filtered and sorted. Filtering and sorting options will be sent
        as query parameters to the API request. For example, by adding the query
        parameters `column1__gt=5&sort=-column1`, API returns the rows with
        values for column `column1` greater than 5 and in the descending order
        of `column1` values. Refer to the [overview
        section](https://developers.hubspot.com/docs/api/cms/hubdb#filtering-and-sorting-table-rows)
        for detailed filtering and sorting options.
      operationId: get-/cms/v3/hubdb/tables/{tableIdOrName}/rows/draft_readDraftTableRows
      parameters:
        - name: tableIdOrName
          in: path
          description: ''
          required: true
          style: simple
          explode: false
          schema:
            type: string
        - name: after
          in: query
          description: >-
            The paging cursor token of the last successfully read resource will
            be returned as the `paging.next.after` JSON property of a paged
            response containing more results.
          required: false
          style: form
          explode: true
          schema:
            type: string
        - name: archived
          in: query
          description: Whether to return only results that have been archived.
          required: false
          style: form
          explode: true
          schema:
            type: boolean
        - name: limit
          in: query
          description: The maximum number of results to display per page.
          required: false
          style: form
          explode: true
          schema:
            type: integer
            format: int32
        - name: offset
          in: query
          description: ''
          required: false
          style: form
          explode: true
          schema:
            type: integer
            format: int32
        - name: properties
          in: query
          description: ''
          required: false
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
        - name: sort
          in: query
          description: ''
          required: false
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/UnifiedCollectionResponseWithTotalBaseHubDbTableRowV3
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - hubdb
        - oauth2:
            - hubdb.rows.read
components:
  schemas:
    UnifiedCollectionResponseWithTotalBaseHubDbTableRowV3:
      properties: {}
      oneOf:
        - $ref: >-
            #/components/schemas/RandomAccessCollectionResponseWithTotalHubDbTableRowV3
        - $ref: >-
            #/components/schemas/StreamingCollectionResponseWithTotalHubDbTableRowV3
    RandomAccessCollectionResponseWithTotalHubDbTableRowV3:
      required:
        - results
        - total
        - type
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/BoundedPaging'
        results:
          type: array
          items: 5e52e884-3001-4da7-93d5-a4795a90cbe8
        total:
          type: integer
          description: The total number of rows available in the collection.
          format: int32
        type:
          type: string
          description: Indicates the type of response, which is 'RANDOM_ACCESS' by default.
          default: RANDOM_ACCESS
          enum:
            - RANDOM_ACCESS
      x-hubspot-sub-type-impl: true
    StreamingCollectionResponseWithTotalHubDbTableRowV3:
      required:
        - results
        - total
        - type
      type: object
      properties:
        paging:
          $ref: '#/components/schemas/Paging'
        results:
          type: array
          items: 5e52e884-3001-4da7-93d5-a4795a90cbe8
        total:
          type: integer
          description: The total number of rows available in the collection.
          format: int32
        type:
          type: string
          description: Indicates the type of response, which is 'STREAMING' by default.
          default: STREAMING
          enum:
            - STREAMING
      x-hubspot-sub-type-impl: true
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: The error category
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Context about the error condition
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            A unique identifier for the request. Include this value with any
            error reports or support tickets
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: further information about the error
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            A map of link names to associated URIs containing documentation
            about the error or recommended remediation steps
        message:
          type: string
          description: >-
            A human readable message describing the error along with remediation
            steps where appropriate
          example: An error occurred
        subCategory:
          type: string
          description: >-
            A specific category that contains more specific detail about the
            error
      example:
        message: Invalid input (details will vary based on the error)
        correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf
        category: VALIDATION_ERROR
        links:
          knowledge-base: https://www.hubspot.com/products/service/knowledge-base
    BoundedPaging:
      type: object
      properties:
        next:
          $ref: '#/components/schemas/BoundedNextPage'
    Paging:
      type: object
      properties:
        next:
          $ref: '#/components/schemas/NextPage'
        prev:
          $ref: '#/components/schemas/PreviousPage'
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: The status code associated with the error detail
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Context about the error condition
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        in:
          type: string
          description: The name of the field or parameter in which the error was found.
        message:
          type: string
          description: >-
            A human readable message describing the error along with remediation
            steps where appropriate
        subCategory:
          type: string
          description: >-
            A specific category that contains more specific detail about the
            error
    BoundedNextPage:
      required:
        - offset
      type: object
      properties:
        link:
          type: string
          description: A URL that can be used to retrieve the next set of results.
        offset:
          type: integer
          description: >-
            The offset value indicating the starting point for the next set of
            results.
          format: int32
    NextPage:
      required:
        - after
      type: object
      properties:
        after:
          type: string
          description: A paging cursor token for retrieving subsequent pages.
        link:
          type: string
          description: A URL that can be used to retrieve the next page results.
      description: >-
        Specifies the paging information needed to retrieve the next set of
        results in a paginated API response
    PreviousPage:
      required:
        - before
      type: object
      properties:
        before:
          type: string
          description: A paging cursor token for retrieving previous pages.
        link:
          type: string
          description: A URL that can be used to retrieve the previous pages' results.
      description: >-
        specifies the paging information needed to retrieve the previous set of
        results in a paginated API response
  responses:
    Error:
      description: An error occurred.
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://app.hubspot.com/oauth/authorize
          tokenUrl: https://api.hubapi.com/oauth/v1/token
          scopes:
            hubdb: ''

````