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

---
id: 95c3add8-7a15-46da-b22c-e6101192703d
---

# Get all forms from an account

> This endpoint is used to return all forms that have been created in an account. Forms are standard tools that can be used to generate website leads.

export const ScopesList = ({scopes = [], description = "This API requires one of the following scopes:"}) => {
  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>;
};

<Accordion title="Scope requirements">
  <ScopesList scopes={['forms']} />
</Accordion>


## OpenAPI

````yaml specs/legacy/v2/forms-v2.json GET /forms/v2/forms
openapi: 3.0.0
info:
  title: Forms API v2
  version: 2.0.0
  description: >-
    Use the forms API to create and manage forms in your HubSpot account, which
    you can then embed on your website to collect form submissions from website
    visitors. This version of the forms API includes endpoints for submitting
    form data.
servers:
  - url: https://api.hubapi.com
    description: HubSpot API Server
  - url: https://forms.hubspot.com
    description: HubSpot Forms Server
  - url: https://api.hsforms.com
    description: HubSpot Forms API Server
security: []
paths:
  /forms/v2/forms:
    get:
      summary: Get all forms from an account
      description: >-
        This endpoint is used to return all forms that have been created in an
        account. Forms are standard tools that can be used to generate website
        leads.
      operationId: getAllForms
      parameters:
        - name: limit
          in: query
          description: >-
            The number of records to return. Has no default; if omitted, all
            forms are returned.
          schema:
            type: integer
        - name: offset
          in: query
          description: >-
            Used to page through the results. If there are more records in your
            account than the limit parameter, you will need to include an offset
            equal to the number of forms you've already requested.
          schema:
            type: integer
        - name: formTypes
          in: query
          description: >-
            By default non-marketing forms are filtered out of this endpoint. To
            request all forms, use this parameter with the value of ALL (case
            sensitive).
          schema:
            type: string
            enum:
              - ALL
      responses:
        '200':
          description: Forms retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Form'
        default:
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Form:
      type: object
      properties:
        portalId:
          type: integer
          description: The portal ID
        guid:
          type: string
          description: The unique identifier for the form
        name:
          type: string
          description: The name of the form
        action:
          type: string
          description: The action URL for the form
        method:
          type: string
          description: The HTTP method for the form
        cssClass:
          type: string
          description: The CSS class for the form
        redirect:
          type: string
          description: The redirect URL after form submission
        submitText:
          type: string
          description: The text for the submit button
        followUpId:
          type: string
          description: The follow-up ID
        notifyRecipients:
          type: string
          description: The notification recipients
        leadNurturingCampaignId:
          type: string
          description: The lead nurturing campaign ID
        formFieldGroups:
          type: array
          items:
            $ref: '#/components/schemas/FormFieldGroup'
        createdAt:
          type: integer
          format: int64
          description: The timestamp when the form was created
        updatedAt:
          type: integer
          format: int64
          description: The timestamp when the form was last updated
        performableHtml:
          type: string
          description: The performable HTML
        migratedFrom:
          type: string
          description: What the form was migrated from
        ignoreCurrentValues:
          type: boolean
          description: Whether to ignore current values
        metaData:
          type: array
          items:
            type: object
        deletable:
          type: boolean
          description: Whether the form is deletable
        inlineMessage:
          type: string
          description: The inline message
        tmsId:
          type: string
          description: The TMS ID
        captchaEnabled:
          type: boolean
          description: Whether CAPTCHA is enabled
        campaignGuid:
          type: string
          description: The campaign GUID
        cloneable:
          type: boolean
          description: Whether the form is cloneable
        editable:
          type: boolean
          description: Whether the form is editable
        formType:
          type: string
          description: The type of the form
        deletedAt:
          type: integer
          format: int64
          description: The timestamp when the form was deleted
        themeName:
          type: string
          description: The theme name
        parentId:
          type: integer
          description: The parent ID
        style:
          type: string
          description: The form style
        isPublished:
          type: boolean
          description: Whether the form is published
        publishAt:
          type: integer
          format: int64
          description: The publish timestamp
        unpublishAt:
          type: integer
          format: int64
          description: The unpublish timestamp
        publishedAt:
          type: integer
          format: int64
          description: The published timestamp
        customUid:
          type: string
          description: The custom UID
        createMarketableContact:
          type: boolean
          description: Whether to create marketable contacts
        editVersion:
          type: integer
          description: The edit version
        thankYouMessageJson:
          type: string
          description: The thank you message JSON
        themeColor:
          type: string
          description: The theme color
        alwaysCreateNewCompany:
          type: boolean
          description: Whether to always create new companies
        internalUpdatedAt:
          type: integer
          format: int64
          description: The internal updated timestamp
        businessUnitId:
          type: integer
          description: The business unit ID
        portableKey:
          type: string
          description: The portable key
        paymentSessionTemplateIds:
          type: array
          items:
            type: string
        selectedExternalOptions:
          type: array
          items:
            $ref: '#/components/schemas/ExternalOption'
        embedVersion:
          type: string
          description: The embed version
      required:
        - portalId
        - guid
        - name
    Error:
      type: object
      properties:
        category:
          type: string
          description: The error category
        correlationId:
          type: string
          description: A unique identifier for the request
        message:
          type: string
          description: A human readable message describing the error
        subCategory:
          type: string
          description: >-
            A specific category that contains more specific detail about the
            error
        errors:
          type: array
          description: Further information about the error
          items:
            $ref: '#/components/schemas/ErrorDetail'
        context:
          type: object
          description: Context about the error condition
        links:
          type: object
          description: A map of link names to associated URIs
      required:
        - category
        - correlationId
        - message
    FormFieldGroup:
      type: object
      properties:
        fields:
          type: array
          items:
            $ref: '#/components/schemas/FormField'
        default:
          type: boolean
          description: Whether this is the default group
        isSmartGroup:
          type: boolean
          description: Whether this is a smart group
        richText:
          $ref: '#/components/schemas/RichText'
        isPageBreak:
          type: boolean
          description: Whether this is a page break
    ExternalOption:
      type: object
      properties:
        referenceType:
          type: string
          description: The reference type
        objectTypeId:
          type: string
          description: The object type ID
        propertyName:
          type: string
          description: The property name
        id:
          type: string
          description: The option ID
      required:
        - referenceType
        - objectTypeId
        - propertyName
        - id
    ErrorDetail:
      type: object
      properties:
        message:
          type: string
          description: A human readable message describing the error
        in:
          type: string
          description: The name of the field or parameter in which the error was found
        code:
          type: string
          description: The status code associated with the error detail
        subCategory:
          type: string
          description: >-
            A specific category that contains more specific detail about the
            error
        context:
          type: object
          description: Context about the error condition
      required:
        - message
    FormField:
      type: object
      properties:
        name:
          type: string
          description: The name of the field
        label:
          type: string
          description: The label of the field
        type:
          type: string
          description: The type of the field
        fieldType:
          type: string
          description: The field type
        description:
          type: string
          description: The description of the field
        groupName:
          type: string
          description: The group name
        displayOrder:
          type: integer
          description: The display order
        required:
          type: boolean
          description: Whether the field is required
        selectedOptions:
          type: array
          items:
            type: string
        options:
          type: array
          items:
            type: object
        validation:
          $ref: '#/components/schemas/FieldValidation'
        enabled:
          type: boolean
          description: Whether the field is enabled
        hidden:
          type: boolean
          description: Whether the field is hidden
        defaultValue:
          type: string
          description: The default value
        isSmartField:
          type: boolean
          description: Whether this is a smart field
        unselectedLabel:
          type: string
          description: The unselected label
        placeholder:
          type: string
          description: The placeholder text
        dependentFieldFilters:
          type: array
          items:
            type: object
        labelHidden:
          type: boolean
          description: Whether the label is hidden
        propertyObjectType:
          type: string
          description: The property object type
        metaData:
          type: array
          items:
            type: object
        objectTypeId:
          type: string
          description: The object type ID
      required:
        - name
        - label
        - type
        - fieldType
    RichText:
      type: object
      properties:
        content:
          type: string
          description: The rich text content
        type:
          type: string
          description: The rich text type
    FieldValidation:
      type: object
      properties:
        name:
          type: string
          description: The validation name
        message:
          type: string
          description: The validation message
        data:
          type: string
          description: The validation data
        useDefaultBlockList:
          type: boolean
          description: Whether to use the default block list
        blockedEmailAddresses:
          type: array
          items:
            type: string

````