> ## 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 a blog topic by ID

> Get the details for a specific topic by its ID.



## OpenAPI

````yaml specs/legacy/v3/blog-topics-v3.json GET /blogs/v3/topics/{topic-id}
openapi: 3.0.1
info:
  title: HubSpot Blog Topics API v3
  description: >-
    Use the blog topics API to create and manage blog topics in a HubSpot
    account.
  version: v3
  x-hubspot-product-tier: Marketing Hub
  x-hubspot-documentation-banner: Content API
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Blog Topics
    description: Blog topics operations
paths:
  /blogs/v3/topics/{topic-id}:
    get:
      tags:
        - Blog Topics
      summary: Get a blog topic by ID
      description: Get the details for a specific topic by its ID.
      operationId: getBlogTopicById
      parameters:
        - name: topic-id
          in: path
          required: true
          description: Unique identifier for a particular topic
          schema:
            type: string
        - name: casing
          in: query
          description: >-
            Use the casing=snake parameter to change the API's casing for
            returned JSON fields (below) to snake_case, rather than camelCase,
            which is the default. This option is provided for
            backwards-compatibility and ease of migration from Content v2 APIs,
            which used snake_case.
          schema:
            type: string
            enum:
              - snake
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlogTopic'
              example:
                id: 349001328
                portalId: 62515
                name: api-docs
                slug: api-docs
                description: ''
                created: 1381896200000
                updated: 1381896200000
                deletedAt: 0
                totalPosts: null
                livePosts: null
                lastUsed: null
                associatedBlogIds: []
                publicUrl: null
                status: inactive
        default:
          $ref: '#/components/responses/Error'
      security:
        - oauth2_legacy: []
        - private_apps_legacy: []
components:
  schemas:
    BlogTopic:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: The unique id of the topic
        portalId:
          type: integer
          description: The hub id
        name:
          type: string
          description: The topic name
        slug:
          type: string
          description: The URL-friendly version of the topic, used in blog urls
        description:
          type: string
          description: The topic description
        created:
          type: integer
          format: int64
          description: When the topic was first created, in milliseconds since the epoch
        updated:
          type: integer
          format: int64
          description: When the topic was last updated, in milliseconds since the epoch
        deletedAt:
          type: integer
          format: int64
          description: >-
            When the topic was deleted, in milliseconds since the epoch. Zero if
            the topic was never deleted. Use a DELETE request to properly soft
            delete a topic - do not set this value directly.
        totalPosts:
          type: integer
          nullable: true
          description: >-
            The total count of posts (including drafts) associated with this
            topic.
        livePosts:
          type: integer
          nullable: true
          description: The total count of published posts associated with this topic.
        lastUsed:
          type: integer
          format: int64
          nullable: true
          description: >-
            The most recent publish date of a blog post associated with this
            topic, in milliseconds since the epoch.
        associatedBlogIds:
          type: array
          items:
            type: integer
          description: A list of the blog IDs where this topic has been used.
        publicUrl:
          type: string
          nullable: true
          description: The public URL for the topic
        status:
          type: string
          description: The status of the topic
    Error:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          description: >-
            A human readable message describing the error along with remediation
            steps where appropriate
        correlationId:
          type: string
          description: >-
            A unique identifier for the request. Include this value with any
            error reports or support tickets
        category:
          type: string
          description: The error category
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            A map of link names to associated URIs containing documentation
            about the error or recommended remediation steps
  responses:
    Error:
      description: An error occurred.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2_legacy:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://app.hubspot.com/oauth/authorize
          tokenUrl: https://api.hubapi.com/oauth/v1/token
          scopes:
            content: Read from and write to my Content
    private_apps_legacy:
      type: apiKey
      name: private-app-legacy
      in: header

````