Webflow Pages API

Pages are the pages in your Webflow site.

OpenAPI Specification

webflow-pages-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Webflow Assets Asset Folders Pages API
  description: Webflow Data API v2 - Assets endpoints.
  version: 2.0.0
  contact:
    name: Webflow Developer Relations
    email: developers@webflow.com
    url: https://developers.webflow.com
  termsOfService: https://webflow.com/legal/terms
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
- url: https://api.webflow.com/v2
  description: Webflow API v2
  x-fern-server-name: Data API
security:
- OAuth2: []
- ApiKey: []
tags:
- name: Pages
  description: Pages are the pages in your Webflow site.
paths:
  /sites/{site_id}/pages:
    get:
      x-fern-sdk-group-name: pages
      x-fern-sdk-method-name: list
      security:
      - OAuth2:
        - page:read
      operationId: list-pages
      summary: Webflow List Pages
      description: 'List of all pages for a site.


        Required scope | `pages:read`

        '
      tags:
      - Pages
      parameters:
      - name: site_id
        in: path
        description: Unique identifier for a Site
        example: 580e63e98c9a982ac9b8b741
        required: true
        schema:
          type: string
          format: objectid
          default: null
      - name: localeId
        in: query
        allowEmptyValue: true
        example: 65427cf400e02b306eaa04a0
        description: 'Unique identifier for a specific Locale.


          [Lear more about localization.](/data/v2.0.0/docs/working-with-localization)

          '
        schema:
          type: string
      - in: query
        allowEmptyValue: true
        name: limit
        example: 100
        description: 'Maximum number of records to be returned (max limit: 100)'
        required: false
        schema:
          type: integer
      - in: query
        example: 0
        allowEmptyValue: true
        name: offset
        description: Offset used for pagination if the results have more than limit records
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Request was successful
          content:
            application/json:
              schema:
                description: The Page object
                type: object
                example:
                  pages:
                  - id: 6596da6045e56dee495bcbba
                    siteId: 6258612d1ee792848f805dcf
                    parentId: null
                    collectionId: null
                    title: Guide to the Galaxy
                    slug: guide-to-the-galaxy
                    createdOn: '2024-03-11T10:42:00.000Z'
                    lastUpdated: '2024-03-11T10:42:42.000Z'
                    archived: false
                    draft: false
                    canBranch: false
                    isBranch: true
                    branchId: 68026fa68ef6dc744c75b833
                    seo:
                      title: The Ultimate Hitchhiker's Guide to the Galaxy
                      description: Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.
                    openGraph:
                      title: Explore the Cosmos with The Ultimate Guide
                      titleCopied: false
                      description: Dive deep into the mysteries of the universe with your guide to everything galactic.
                      descriptionCopied: false
                    localeId: 653fd9af6a07fc9cfd7a5e57
                    publishedPath: /en-us/guide-to-the-galaxy
                  - id: 6596da6045e56dee495bcbad
                    siteId: 6258612d1ee792848f805dcf
                    parentId: null
                    collectionId: null
                    title: Towel Day Celebrations
                    slug: towel-day
                    createdOn: '2024-05-25T09:00:00.000Z'
                    lastUpdated: '2024-05-25T09:42:00.000Z'
                    archived: false
                    draft: false
                    canBranch: true
                    isBranch: false
                    branchId: null
                    seo:
                      title: Celebrate Towel Day - The Hitchhiker's Guide to the Galaxy
                      description: A guide to celebrating Towel Day, in honor of the most massively useful thing an interstellar hitchhiker can have.
                    openGraph:
                      title: Towel Day - Don't Panic
                      titleCopied: false
                      description: Join the galaxy in celebrating Towel Day, the day dedicated to carrying towels everywhere in memory of Douglas Adams.
                      descriptionCopied: false
                    localeId: 653fd9af6a07fc9cfd7a5e57
                    publishedPath: /en-us/towel-day
                  pagination:
                    limit: 20
                    offset: 0
                    total: 2
                properties:
                  pages:
                    type: array
                    items:
                      description: The Page object
                      type: object
                      required:
                      - id
                      example:
                        id: 6596da6045e56dee495bcbba
                        siteId: 6258612d1ee792848f805dcf
                        parentId: null
                        collectionId: null
                        title: Guide to the Galaxy
                        slug: guide-to-the-galaxy
                        createdOn: '2024-03-11T10:42:00.000Z'
                        lastUpdated: '2024-03-11T10:42:42.000Z'
                        archived: false
                        draft: false
                        canBranch: false
                        isBranch: true
                        branchId: 68026fa68ef6dc744c75b833
                        seo:
                          title: The Ultimate Hitchhiker's Guide to the Galaxy
                          description: Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.
                        openGraph:
                          title: Explore the Cosmos with The Ultimate Guide
                          titleCopied: false
                          description: Dive deep into the mysteries of the universe with your guide to everything galactic.
                          descriptionCopied: false
                        localeId: 653fd9af6a07fc9cfd7a5e57
                        publishedPath: /en-us/guide-to-the-galaxy
                      properties:
                        id:
                          type: string
                          format: objectid
                          description: Unique identifier for the Page
                          example: 63499e4e6e9ed5abbfe42b69
                        siteId:
                          type: string
                          format: objectid
                          readOnly: true
                          description: Unique identifier for the Site
                          example: 580e63e98c9a982ac9b8b741
                        title:
                          type: string
                          description: Title of the Page
                          example: My New Page
                        slug:
                          type: string
                          description: slug of the Page (derived from title)
                          example: my-new-page
                        parentId:
                          type: string
                          format: objectid
                          description: Identifier of the parent folder
                          readOnly: true
                          example: 6419db964a9c435aa3af6251
                        collectionId:
                          type: string
                          format: objectid
                          readOnly: true
                          description: Unique identifier for a linked Collection, value will be null if the Page is not part of a Collection.
                          example: 6390c49774a71f12831a08e3
                        createdOn:
                          type: string
                          format: date-time
                          readOnly: true
                          description: The date the Page was created
                          example: '2016-10-24T19:42:38.929Z'
                        lastUpdated:
                          type: string
                          format: date-time
                          readOnly: true
                          description: The date the Page was most recently updated
                          example: '2016-10-24T19:42:38.929Z'
                        archived:
                          type: boolean
                          description: Whether the Page has been archived
                          default: false
                          example: false
                          readOnly: true
                        draft:
                          type: boolean
                          description: Whether the Page is a draft
                          default: false
                          example: false
                          readOnly: true
                        canBranch:
                          type: boolean
                          description: Indicates whether the Page supports [Page Branching](https://university.webflow.com/lesson/page-branching). Pages that are already branches cannot be branched again.
                          readOnly: true
                          default: false
                          example: false
                        isBranch:
                          type: boolean
                          description: Indicates whether the Page is a Branch of another Page [Page Branching](https://university.webflow.com/lesson/page-branching)
                          readOnly: true
                          default: false
                          example: false
                        branchId:
                          type: string
                          format: objectid
                          nullable: true
                          description: If the Page is a Branch of another Page, this is the ID of the Branch
                          example: 68026fa68ef6dc744c75b833
                        seo:
                          type: object
                          description: SEO-related fields for the Page
                          properties:
                            title:
                              type: string
                              description: The Page title shown in search engine results
                              example: CoffeeStyle eCommerce - Webflow HTML website template
                            description:
                              type: string
                              description: The Page description shown in search engine results
                              example: This Webflow template offers a quick start into an ecommerce / memberships site
                        openGraph:
                          type: object
                          description: Open Graph fields for the Page
                          properties:
                            title:
                              type: string
                              description: The title supplied to Open Graph annotations
                              example: My snazzy Open Graph title
                            titleCopied:
                              type: boolean
                              description: Indicates the Open Graph title was copied from the SEO title
                              readOnly: true
                              default: true
                            description:
                              type: string
                              description: The description supplied to Open Graph annotations
                              example: My informative Open Graph description
                            descriptionCopied:
                              type: boolean
                              description: Indicates the Open Graph description was copied from the SEO description
                              readOnly: true
                              default: true
                        localeId:
                          description: Unique ID of the page locale
                          type: string
                          format: objectid
                          nullable: true
                          readOnly: true
                          example: 653fd9af6a07fc9cfd7a5e57
                        publishedPath:
                          description: Relative path of the published page URL
                          type: string
                          readOnly: true
                          example: /heart-of-gold
                  pagination:
                    description: Pagination object
                    type: object
                    required:
                    - limit
                    - offset
                    - total
                    properties:
                      limit:
                        type: integer
                        description: The limit used for pagination
                        example: 100
                        readOnly: true
                      offset:
                        type: integer
                        description: The offset used for pagination
                        example: 0
                        readOnly: true
                      total:
                        type: integer
                        description: The total number of records
                        example: 100
                        readOnly: true
        '400':
          description: Request body was incorrectly formatted.
          x-logErrorCode: 400
          content:
            application/json:
              schema:
                type: object
                example:
                  code: not_authorized
                  message: Request not authorized
                  externalReference: null
                  details: []
                properties:
                  code:
                    type: string
                    description: Error code
                    example: not_authorized
                    enum:
                    - bad_request
                    - collection_not_found
                    - conflict
                    - duplicate_collection
                    - duplicate_user_email
                    - ecommerce_not_enabled
                    - forbidden
                    - forms_require_republish
                    - incompatible_webhook_filter
                    - internal_error
                    - invalid_auth_version
                    - invalid_credentials
                    - invalid_domain
                    - invalid_user_email
                    - item_not_found
                    - missing_scopes
                    - no_domains
                    - not_authorized
                    - not_enterprise_plan_site
                    - not_enterprise_plan_workspace
                    - order_not_found
                    - resource_not_found
                    - too_many_requests
                    - unsupported_version
                    - unsupported_webhook_trigger_type
                    - user_limit_reached
                    - user_not_found
                    - users_not_enabled
                    - validation_error
                  message:
                    type: string
                    description: Error message
                    example: Request not authorized
                  externalReference:
                    type: string
                    description: Link to more information
                    example: ''
                  details:
                    type: array
                    description: Array of errors
                    items:
                    - type: string
                      example: Invalid email address
                      description: Error message
                    - type: object
                      example:
                        field: email
                        message: Invalid email address
                      description: Error message
                    example: []
              example:
                code: bad_request
                message: 'Bad Request: Request is malformed'
                externalReference: null
                details: []
        '401':
          description: Provided access token is invalid or does not have access to requested resource
          x-logErrorCode: 401
          content:
            application/json:
              schema:
                type: object
                example:
                  code: not_authorized
                  message: Request not authorized
                  externalReference: null
                  details: []
                properties:
                  code:
                    type: string
                    description: Error code
                    example: not_authorized
                    enum:
                    - bad_request
                    - collection_not_found
                    - conflict
                    - duplicate_collection
                    - duplicate_user_email
                    - ecommerce_not_enabled
                    - forbidden
                    - forms_require_republish
                    - incompatible_webhook_filter
                    - internal_error
                    - invalid_auth_version
                    - invalid_credentials
                    - invalid_domain
                    - invalid_user_email
                    - item_not_found
                    - missing_scopes
                    - no_domains
                    - not_authorized
                    - not_enterprise_plan_site
                    - not_enterprise_plan_workspace
                    - order_not_found
                    - resource_not_found
                    - too_many_requests
                    - unsupported_version
                    - unsupported_webhook_trigger_type
                    - user_limit_reached
                    - user_not_found
                    - users_not_enabled
                    - validation_error
                  message:
                    type: string
                    description: Error message
                    example: Request not authorized
                  externalReference:
                    type: string
                    description: Link to more information
                    example: ''
                  details:
                    type: array
                    description: Array of errors
                    items:
                    - type: string
                      example: Invalid email address
                      description: Error message
                    - type: object
                      example:
                        field: email
                        message: Invalid email address
                      description: Error message
                    example: []
              example:
                code: not_authorized
                message: Request not authorized
                externalReference: null
                details: []
        '404':
          description: Requested resource not found
          x-logErrorCode: 404
          content:
            application/json:
              schema:
                type: object
                example:
                  code: not_authorized
                  message: Request not authorized
                  externalReference: null
                  details: []
                properties:
                  code:
                    type: string
                    description: Error code
                    example: not_authorized
                    enum:
                    - bad_request
                    - collection_not_found
                    - conflict
                    - duplicate_collection
                    - duplicate_user_email
                    - ecommerce_not_enabled
                    - forbidden
                    - forms_require_republish
                    - incompatible_webhook_filter
                    - internal_error
                    - invalid_auth_version
                    - invalid_credentials
                    - invalid_domain
                    - invalid_user_email
                    - item_not_found
                    - missing_scopes
                    - no_domains
                    - not_authorized
                    - not_enterprise_plan_site
                    - not_enterprise_plan_workspace
                    - order_not_found
                    - resource_not_found
                    - too_many_requests
                    - unsupported_version
                    - unsupported_webhook_trigger_type
                    - user_limit_reached
                    - user_not_found
                    - users_not_enabled
                    - validation_error
                  message:
                    type: string
                    description: Error message
                    example: Request not authorized
                  externalReference:
                    type: string
                    description: Link to more information
                    example: ''
                  details:
                    type: array
                    description: Array of errors
                    items:
                    - type: string
                      example: Invalid email address
                      description: Error message
                    - type: object
                      example:
                        field: email
                        message: Invalid email address
                      description: Error message
                    example: []
              example:
                code: resource_not_found
                message: 'Requested resource not found: The site cannot be found'
                externalReference: null
                details: []
        '429':
          description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses.
          x-logErrorCode: 429
          headers:
            X-RateLimit-Remaining:
              description: Contains the number of available requests remaining in the current minute
              schema:
                type: number
            X-RateLimit-Limit:
              description: Contains your current overall rate limit per minute
              schema:
                type: number
          content:
            application/json:
              schema:
                type: object
                example:
                  code: not_authorized
                  message: Request not authorized
                  externalReference: null
                  details: []
                properties:
                  code:
                    type: string
                    description: Error code
                    example: not_authorized
                    enum:
                    - bad_request
                    - collection_not_found
                    - conflict
                    - duplicate_collection
                    - duplicate_user_email
                    - ecommerce_not_enabled
                    - forbidden
                    - forms_require_republish
                    - incompatible_webhook_filter
                    - internal_error
                    - invalid_auth_version
                    - invalid_credentials
                    - invalid_domain
                    - invalid_user_email
                    - item_not_found
                    - missing_scopes
                    - no_domains
                    - not_authorized
                    - not_enterprise_plan_site
                    - not_enterprise_plan_workspace
                    - order_not_found
                    - resource_not_found
                    - too_many_requests
                    - unsupported_version
                    - unsupported_webhook_trigger_type
                    - user_limit_reached
                    - user_not_found
                    - users_not_enabled
                    - validation_error
                  message:
                    type: string
                    description: Error message
                    example: Request not authorized
                  externalReference:
                    type: string
                    description: Link to more information
                    example: ''
                  details:
                    type: array
                    description: Array of errors
                    items:
                    - type: string
                      example: Invalid email address
                      description: Error message
                    - type: object
                      example:
                        field: email
                        message: Invalid email address
                      description: Error message
                    example: []
              example:
                code: too_many_requests
                message: Too many requests
                externalReference: null
                details: []
        '500':
          description: We had a problem with our server. Try again later.
          content:
            application/json:
              x-logErrorCode: 500
              schema:
                type: object
                example:
                  code: not_authorized
                  message: Request not authorized
                  externalReference: null
                  details: []
                properties:
                  code:
                    type: string
                    description: Error code
                    example: not_authorized
                    enum:
                    - bad_request
                    - collection_not_found
                    - conflict
                    - duplicate_collection
                    - duplicate_user_email
                    - ecommerce_not_enabled
                    - forbidden
                    - forms_require_republish
                    - incompatible_webhook_filter
                    - internal_error
                    - invalid_auth_version
                    - invalid_credentials
                    - invalid_domain
                    - invalid_user_email
                    - item_not_found
                    - missing_scopes
                    - no_domains
                    - not_authorized
                    - not_enterprise_plan_site
                    - not_enterprise_plan_workspace
                    - order_not_found
                    - resource_not_found
                    - too_many_requests
                    - unsupported_version
                    - unsupported_webhook_trigger_type
                    - user_limit_reached
                    - user_not_found
                    - users_not_enabled
                    - validation_error
                  message:
                    type: string
                    description: Error message
                    example: Request not authorized
                  externalReference:
                    type: string
                    description: Link to more information
                    example: ''
                  details:
                    type: array
                    description: Array of errors
                    items:
                    - type: string
                      example: Invalid email address
                      description: Error message
                    - type: object
                      example:
                        field: email
                        message: Invalid email address
                      description: Error message
                    example: []
              example:
                code: internal_error
                message: An Internal Error occurred
                externalReference: null
                details: []
  /pages/{page_id}:
    get:
      x-fern-sdk-group-name: pages
      x-fern-sdk-method-name: get-metadata
      security:
      - OAuth2:
        - page:read
      operationId: get-page-metadata
      summary: Webflow Get Page Metadata
      description: 'Get metadata information for a single page.


        Required scope | `pages:read`

        '
      tags:
      - Pages
      parameters:
      - name: page_id
        in: path
        description: Unique identifier for a Page
        example: 63c720f9347c2139b248e552
        required: true
        schema:
          type: string
          format: objectid
          default: null
      - name: localeId
        in: query
        allowEmptyValue: true
        example: 65427cf400e02b306eaa04a0
        description: 'Unique identifier for a specific Locale.


          [Lear more about localization.](/data/v2.0.0/docs/working-with-localization)

          '
        schema:
          type: string
      responses:
        '200':
          description: Request was successful
          content:
            application/json:
              schema:
                description: The Page object
                type: object
                required:
                - id
                example:
                  id: 6596da6045e56dee495bcbba
                  siteId: 6258612d1ee792848f805dcf
                  parentId: null
                  collectionId: null
                  title: Guide to the Galaxy
                  slug: guide-to-the-galaxy
                  createdOn: '2024-03-11T10:42:00.000Z'
                  lastUpdated: '2024-03-11T10:42:42.000Z'
                  archived: false
                  draft: false
                  canBranch: false
                  isBranch: true
                  branchId: 68026fa68ef6dc744c75b833
                  seo:
                    title: The Ultimate Hitchhiker's Guide to the Galaxy
                    description: Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.
                  openGraph:
                    title: Explore the Cosmos with The Ultimate Guide
                    titleCopied: false
                    description: Dive deep into the mysteries of the universe with your guide to everything galactic.
                    descriptionCopied: false
                  localeId: 653fd9af6a07fc9cfd7a5e57
                  publishedPath: /en-us/guide-to-the-galaxy
                properties:
                  id:
                    type: string
                    format: objectid
                    description: Unique identifier for the Page
                    example: 63499e4e6e9ed5abbfe42b69
                  siteId:
                    type: string
                    format: objectid
                    readOnly: true
                    description: Unique identifier for the Site
                    example: 580e63e98c9a982ac9b8b741
                  title:
                    type: string
                    description: Title of the Page
                    example: My New Page
                  slug:
                    type: string
                    description: slug of the Page (derived from title)
                    example: my-new-page
                  parentId:
                    type: string
                    format: objectid
                    description: Identifier of the parent folder
                    readOnly: true
                    example: 6419db964a9c435aa3af6251
                  collectionId:
                    type: string
                    format: objectid
                    readOnly: true
                    description: Unique identifier for a linked Collection, value will be null if the Page is not part of a Collection.
                    example: 6390c49774a71f12831a08e3
                  createdOn:
                    type: string
                    format: date-time
                    readOnly: true
                    description: The date the Page was created
                    example: '2016-10-24T19:42:38.929Z'
                  lastUpdated:
                    type: string
                    format: date-time
                    readOnly: true
                    description: The date the Page was most recently updated
                    example: '2016-10-24T19:42:38.929Z'
                  archived:
                    type: boolean
                    description: Whether the Page has been archived
                    

# --- truncated at 32 KB (141 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webflow/refs/heads/main/openapi/webflow-pages-api-openapi.yml