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

# Post Details by URL

> Resolves a post by its relative legacy URL. Returns the same post object as [Post Details](/dxp/api-reference/content-delivery/post-details).



## OpenAPI

````yaml /openapi/content-delivery.json get /publisher/{publisher_id}/post/
openapi: 3.1.0
info:
  title: Publive Content Delivery API
  version: 1.0.0
  description: >-
    Read-only API for delivering publisher content, configuration, and static
    assets. All endpoints require HTTP Basic Auth and are GET requests.
servers:
  - url: https://cds.thepublive.com
security:
  - basicAuth: []
tags:
  - name: Site Configuration
  - name: Content
  - name: Posts
  - name: Forms
  - name: Static Files
  - name: Sitemaps
paths:
  /publisher/{publisher_id}/post/:
    get:
      tags:
        - Posts
      summary: Post Details by URL
      description: >-
        Resolves a post by its relative legacy URL. Returns the same post object
        as [Post Details](/dxp/api-reference/content-delivery/post-details).
      operationId: getPostDetailsByUrl
      parameters:
        - $ref: '#/components/parameters/PublisherId'
        - name: legacy_url
          in: query
          required: true
          schema:
            type: string
          description: Relative URL path of the post
      responses:
        '200':
          description: Post details
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  message:
                    type: string
                  data:
                    $ref: '#/components/schemas/PostSummary'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Post not found
          content:
            application/json:
              example:
                status: error
                message: Post not found
components:
  parameters:
    PublisherId:
      name: publisher_id
      in: path
      required: true
      schema:
        type: string
      description: Your Publisher ID
  schemas:
    PostSummary:
      type: object
      properties:
        id:
          type: integer
        title:
          type: string
        slug:
          type: string
        type:
          type: string
          enum:
            - Article
            - Video
            - Web Story
            - Gallery
            - LiveBlog
            - CustomPage
            - BlankPage
        banner_url:
          type: string
        short_description:
          type: string
        summary:
          type: string
        primary_category:
          type: object
          properties:
            id:
              type: integer
            name:
              type: string
            slug:
              type: string
        categories:
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
              name:
                type: string
              slug:
                type: string
        tags:
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
              name:
                type: string
              slug:
                type: string
        contributors:
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
              name:
                type: string
              slug:
                type: string
        content_html:
          type: string
        meta_data:
          type: object
          properties:
            access_type:
              type: string
        media_file_banner:
          type: object
          properties:
            id:
              type: integer
            filename:
              type: string
            path:
              type: string
            alt_text:
              type: string
            meta_data:
              type: object
              properties:
                width:
                  type: integer
                height:
                  type: integer
        word_count:
          type: integer
        access_type:
          type: string
        hide_banner_image:
          type: boolean
        banner_description:
          type: string
        language_code:
          type: string
        custom_entity:
          type: object
        absolute_url:
          type: string
        formatted_first_published_at_datetime:
          type: string
        formatted_last_published_at_datetime:
          type: string
    ErrorDetail:
      type: object
      properties:
        detail:
          type: string
  responses:
    Unauthorized:
      description: Invalid or missing credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorDetail'
          example:
            detail: Invalid Auth Credentials
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Auth using your Publive API key pair, base64-encoded.

````