ClickFunnels Blog API

> Blogs represent a blog resource belonging to a workspace site A Blog is a top-level container for blog posts, categories, tags, and authors. Each workspace site can have one or more blogs, each with their own SEO settings, theme, and URL path. See the [Blogs Skill](https://accounts.myclickfunnels.com/.well-known/blogs/skill.md) for the end-to-end guide to creating, reading, and updating blog posts.

Business capability
Content Marketing Management BC-400.70

Operations 3

GET /workspaces/{workspace_id}/blogs List Blogs #
GET /blogs/{id} Fetch Blog #
PATCH /blogs/{id} Update Blog #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/clickfunnels-blog-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

clickfunnels-blog-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ClickFunnels Blog API
  termsOfService: https://www.clickfunnels.com/terms-of-service
  contact:
    name: ClickFunnels API Team
    url: https://developers.myclickfunnels.com
  x-logo:
    url: https://statics.myclickfunnels.com/image/1126065/file/31edf05760fafe41a82f16a668ab251f.png
  description: The ClickFunnels REST API that powers webhooks, native integrations, and Zapier lets you manage your ClickFunnels data, automate your workflows, and recreate ClickFunnels functionality in your own apps.
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: 2.0.0
servers:
- url: https://{subdomain}.myclickfunnels.com/api/v2
  description: ClickFunnels API
  variables:
    subdomain:
      default: myworkspace
security:
- BearerAuth: []
tags:
- name: Blog
  description: '> Blogs represent a blog resource belonging to a workspace site


    A Blog is a top-level container for blog posts, categories, tags, and authors. Each workspace site can have one or more blogs, each with their own SEO settings, theme, and URL path.


    See the Blogs Skill for the end-to-end guide to creating, reading, and updating blog posts.'
paths:
  /workspaces/{workspace_id}/blogs:
    get:
      tags:
      - Blog
      summary: List Blogs
      description: List blogs for the given workspace.
      operationId: listBlogs
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/sort_order'
      - $ref: '#/components/parameters/sort_property'
      responses:
        '200':
          description: OK
          headers:
            Pagination-Next:
              $ref: '#/components/headers/PaginationNext'
            Link:
              $ref: '#/components/headers/Link'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BlogAttributes'
              example:
              - id: 1
                public_id: aBcDeF
                workspace_id: 42000
                site_id: 10
                name: My Blog
                current_path: /blog
                url: https://myworkspace.myclickfunnels.com/blog
                theme_id: 5
                resolved_template_page_id: 101
                resolved_post_template_page_id: 102
                resolved_category_template_page_id: 103
                style_id: null
                seo_image_id: null
                seo_title: My Blog - Latest Articles
                seo_description: Read our latest articles and updates.
                created_at: '2025-01-01T00:00:00.000Z'
                updated_at: '2025-01-01T00:00:00.000Z'
              - id: 2
                public_id: gHiJkL
                workspace_id: 42000
                site_id: 10
                name: Product Updates
                current_path: /product-updates
                url: https://myworkspace.myclickfunnels.com/product-updates
                theme_id: 5
                resolved_template_page_id: 101
                resolved_post_template_page_id: 102
                resolved_category_template_page_id: 103
                style_id: null
                seo_image_id: null
                seo_title: null
                seo_description: null
                created_at: '2025-03-01T00:00:00.000Z'
                updated_at: '2025-03-15T00:00:00.000Z'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: API key missing or invalid
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Not found - This usually happens when you try to access a record that does not exist in your account. It can also happen when the provided parent record is missing, e.g. you have put in a non-existent Workspaces parent ID.
              example:
                error: 'Not found: Record missing'
  /blogs/{id}:
    get:
      tags:
      - Blog
      summary: Fetch Blog
      description: Retrieve a blog.
      operationId: getBlog
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlogAttributes'
              example:
                id: 1
                public_id: aBcDeF
                workspace_id: 42000
                site_id: 10
                name: My Blog
                current_path: /blog
                url: https://myworkspace.myclickfunnels.com/blog
                theme_id: 5
                resolved_template_page_id: 101
                resolved_post_template_page_id: 102
                resolved_category_template_page_id: 103
                style_id: null
                seo_image_id: null
                seo_title: My Blog - Latest Articles
                seo_description: Read our latest articles and updates.
                created_at: '2025-01-01T00:00:00.000Z'
                updated_at: '2025-01-01T00:00:00.000Z'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: API key missing or invalid
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: 'Not found: Record missing'
    patch:
      tags:
      - Blog
      summary: Update Blog
      description: 'Update a blog''s metadata. Permitted fields: `name`, `seo_title`, `seo_description`, `seo_image_id`, `theme_id`.


        See Update blog metadata in the Blogs Skill. For appearance and templates, see Configure blog appearance with existing Theme and Page APIs.'
      operationId: updateBlog
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        description: Fields to update on the blog
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                blog:
                  type: object
                  $ref: '#/components/schemas/BlogParameters'
            example:
              blog:
                name: My Updated Blog
                seo_title: My Blog - Latest Articles
                seo_description: Read our latest articles and updates.
                seo_image_id: null
                theme_id: 5
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlogAttributes'
              example:
                id: 1
                public_id: aBcDeF
                workspace_id: 42000
                site_id: 10
                name: My Updated Blog
                current_path: /blog
                url: https://myworkspace.myclickfunnels.com/blog
                theme_id: 5
                resolved_template_page_id: 101
                resolved_post_template_page_id: 102
                resolved_category_template_page_id: 103
                style_id: null
                seo_image_id: null
                seo_title: My Blog - Latest Articles
                seo_description: Read our latest articles and updates.
                created_at: '2025-01-01T00:00:00.000Z'
                updated_at: '2025-06-01T00:00:00.000Z'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: API key missing or invalid
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: 'Not found: Record missing'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              example:
                error: Name can't be blank
components:
  headers:
    Link:
      description: A direct link to the next page for the cursor-based pagination. It includes the `after` and the Pagination-Next ID value.
      schema:
        type: string
    PaginationNext:
      description: ID of the last item in the current response after which more records exist. You can use it in an `after` query parameter for cursor-based pagination to get to the next page.
      schema:
        type: string
  parameters:
    after:
      name: after
      in: query
      required: false
      schema:
        type: string
      description: ID of item after which the collection should be returned. More examples and info about pagination [in our guides](https://developers.myclickfunnels.com/docs/pagination).
    sort_property:
      name: sort_property
      in: query
      description: 'Sort property of a list response. The default is id and thus the created_at order.

        If you sort by other properties, we additionally sort by id implicitly as a secondary sort property, so that you can rely on the sort order to be deterministic even if the main sort property ends up with the same values.

        '
      required: false
      schema:
        type: string
        enum:
        - id
        - updated_at
    sort_order:
      name: sort_order
      in: query
      description: Sort order of a list response. Use 'desc' to reverse the default 'asc' (ascending) sort order. Examples [in our guides](https://developers.myclickfunnels.com/docs/pagination).
      required: false
      schema:
        type: string
        enum:
        - asc
        - desc
    id:
      name: id
      in: path
      required: true
      schema:
        type: string
  schemas:
    BlogAttributes:
      type: object
      title: Blogs
      description: Blogs
      properties:
        id:
          type: integer
          description: Blog ID
        public_id:
          type: string
          description: The public identifier of the blog
        workspace_id:
          type: integer
          description: Workspace ID that the blog belongs to
        site_id:
          type:
          - integer
          - 'null'
          description: Site ID that the blog belongs to
        name:
          type: string
          description: Name of the blog
        current_path:
          type: string
          description: The URL path for the blog
        url:
          type: string
          description: The full public URL of the blog
        theme_id:
          type:
          - integer
          - 'null'
          description: Theme ID for the blog
        resolved_template_page_id:
          type:
          - integer
          - 'null'
          description: Effective Page ID used to render the blog index
        resolved_post_template_page_id:
          type:
          - integer
          - 'null'
          description: Effective Page ID used to render individual blog posts
        resolved_category_template_page_id:
          type:
          - integer
          - 'null'
          description: Effective Page ID used to render blog category archives
        style_id:
          type:
          - integer
          - 'null'
          description: Style ID for the blog
        seo_image_id:
          type:
          - integer
          - 'null'
          description: Default sharing image ID for the blog
        seo_title:
          type:
          - string
          - 'null'
          description: Default Blog title for SEO
        seo_description:
          type:
          - string
          - 'null'
          description: Default Blog description for SEO
        created_at:
          type: string
          format: date-time
          description: Created at
        updated_at:
          type: string
          format: date-time
          description: Updated at
      example:
        id: 1
        public_id: aBcDeF
        workspace_id: 42000
        site_id: 10
        name: My Blog
        current_path: /blog
        url: https://myworkspace.myclickfunnels.com/blog
        theme_id: 5
        resolved_template_page_id: 101
        resolved_post_template_page_id: 102
        resolved_category_template_page_id: 103
        style_id: null
        seo_image_id: null
        seo_title: My Blog - Latest Articles
        seo_description: Read our latest articles and updates.
        created_at: '2025-01-01T00:00:00.000Z'
        updated_at: '2025-01-01T00:00:00.000Z'
      required:
      - created_at
      - current_path
      - id
      - name
      - public_id
      - resolved_category_template_page_id
      - resolved_post_template_page_id
      - resolved_template_page_id
      - seo_description
      - seo_image_id
      - seo_title
      - site_id
      - style_id
      - theme_id
      - updated_at
      - url
      - workspace_id
    BlogParameters:
      type: object
      title: Blogs
      description: Blogs
      properties:
        name:
          type: string
          description: Name of the blog
        seo_title:
          type:
          - string
          - 'null'
          description: Default Blog title for SEO
        seo_description:
          type:
          - string
          - 'null'
          description: Default Blog description for SEO
        seo_image_id:
          type:
          - integer
          - 'null'
          description: Default sharing image ID
        theme_id:
          type:
          - integer
          - 'null'
          description: Theme ID for the blog
      example:
        blog:
          name: My Updated Blog
          seo_title: My Blog - Latest Articles
          seo_description: Read our latest articles and updates.
          seo_image_id: null
          theme_id: 5
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
externalDocs:
  description: More in-depth guides and further resources
  url: https://developers.myclickfunnels.com