---
title: "Retrieve post details"
method: GET
path: "/api/posts/{postId}/"
tags: ["Feed"]
---

# Retrieve post details

`GET /api/posts/{postId}/`

## Path parameters

- `postId` integer, required

## Response `200`

Post details

- Post
  - `id` integer
  - `title` string
  - `short_title` string
  - `slug` string
  - `author_id` integer
  - `author_username` string
  - `projects` object
    - `site_main` Project[]
      - `id` integer
      - `type` string
      - `name` string
      - `slug` string, nullable
      - `prize_pool` string
      - `start_date` string, date-time, nullable
      - `close_date` string, date-time, nullable
      - `html_metadata_json` string
      - `is_ongoing` boolean, nullable
      - `user_permission` string, nullable
      - `created_at` string, date-time
      - `edited_at` string, date-time
      - `default_permission` string
      - `visibility` 'normal' | 'not_in_main_feed' | 'unlisted'
    - `tournament` Project[]
      - `id` integer
      - `type` string
      - `name` string
      - `slug` string, nullable
      - `prize_pool` string
      - `start_date` string, date-time, nullable
      - `close_date` string, date-time, nullable
      - `html_metadata_json` string
      - `is_ongoing` boolean, nullable
      - `user_permission` string, nullable
      - `created_at` string, date-time
      - `edited_at` string, date-time
      - `default_permission` string
      - `visibility` 'normal' | 'not_in_main_feed' | 'unlisted'
    - `category` Category[]
      - `id` integer
      - `name` string
      - `slug` string
      - `description` string
    - `tag` Tag[]
      - `name` string
    - `question_series` Project[]
      - `id` integer
      - `type` string
      - `name` string
      - `slug` string, nullable
      - `prize_pool` string
      - `start_date` string, date-time, nullable
      - `close_date` string, date-time, nullable
      - `html_metadata_json` string
      - `is_ongoing` boolean, nullable
      - `user_permission` string, nullable
      - `created_at` string, date-time
      - `edited_at` string, date-time
      - `default_permission` string
      - `visibility` 'normal' | 'not_in_main_feed' | 'unlisted'
    - `default_project` Project
      - `id` integer
      - `type` string
      - `name` string
      - `slug` string, nullable
      - `prize_pool` string
      - `start_date` string, date-time, nullable
      - `close_date` string, date-time, nullable
      - `html_metadata_json` string
      - `is_ongoing` boolean, nullable
      - `user_permission` string, nullable
      - `created_at` string, date-time
      - `edited_at` string, date-time
      - `default_permission` string
      - `visibility` 'normal' | 'not_in_main_feed' | 'unlisted'
  - `created_at` string, date-time
  - `published_at` string, date-time, nullable
  - `open_time` string, date-time, nullable
  - `edited_at` string, date-time
  - `curation_status` 'draft' | 'pending' | 'rejected' | 'approved'
  - `comment_count` integer
  - `status` 'open' | 'upcoming' | 'closed' | 'resolved' | 'draft' | 'pending' | 'rejected' — Combination of curation status and post lifecycle statuses
  - `nr_forecasters` integer
  - `question` Question
    - `id` integer
    - `title` string
    - `description` string
    - `created_at` string, date-time
    - `open_time` string, date-time
    - `scheduled_resolve_time` string, date-time
    - `actual_resolve_time` string, date-time, nullable
    - `resolution_set_time` string, date-time, nullable
    - `scheduled_close_time` string, date-time
    - `actual_close_time` string, date-time
    - `type` 'binary' | 'multiple_choice' | 'numeric' | 'discrete' | 'date'
    - `options` string[] — List of options for multiple_choice questions
    - `all_options_ever` string[] — List of all options ever for multiple_choice questions
    - `options_history` array[] — List of [iso format time, options] pairs for multiple_choice questions
      - union[]
        - union
          - string — ISO 8601 timestamp when the options became active
          - string[] — Options list active from this timestamp onward
    - `status` 'upcoming' | 'open' | 'closed' | 'resolved'
    - `possibilities` union — WARNING: this is a deprecated field and may be removed without notice.
      - object
        - `type` 'binary'
      - object
        - `type` 'continuous'
        - `low` string
        - `high` string
        - `scale` object
          - `max` number, float
          - `min` number, float
          - `deriv_ratio` number, float
        - `format` string
    - `resolution` string, nullable
    - `open_upper_bound` boolean
    - `open_lower_bound` boolean
    - `inbound_outcome_count` integer, nullable
    - `resolution_criteria` string
    - `fine_print` string
    - `label` string, nullable
    - `unit` string
    - `scaling` QuestionScaling
      - `range_max` number, float, nullable — The lower boundary of the input range. If the question is Discrete, it will be 1/2 a bucket width below the nominal lowest inbound outcome.
      - `range_min` number, float, nullable — The upper boundary of the input range. If the question is Discrete, it will be 1/2 a bucket width above the nominal highest inbound outcome.
      - `zero_point` number, float, nullable — Only populated if the question has logarithmic scaling. See 'continuous_range' for exact locations where the CDF gets evaluated.
      - `open_upper_bound` boolean, nullable — Whether the upper bound is open.
      - `open_lower_bound` boolean, nullable — Whether the lower bound is open.
      - `inbound_outcome_count` integer, nullable — Total number of possible outcomes within the question's range (does not include out of bounds).
      - `continuous_range` string[], nullable — List of real-value locations corresponding to where the CDF is evaluated
  - `conditional` Conditional
    - `id` integer
    - `condition` Question
      - `id` integer
      - `title` string
      - `description` string
      - `created_at` string, date-time
      - `open_time` string, date-time
      - `scheduled_resolve_time` string, date-time
      - `actual_resolve_time` string, date-time, nullable
      - `resolution_set_time` string, date-time, nullable
      - `scheduled_close_time` string, date-time
      - `actual_close_time` string, date-time
      - `type` 'binary' | 'multiple_choice' | 'numeric' | 'discrete' | 'date'
      - `options` string[] — List of options for multiple_choice questions
      - `all_options_ever` string[] — List of all options ever for multiple_choice questions
      - `options_history` array[] — List of [iso format time, options] pairs for multiple_choice questions
        - union[]
          - union
            - string — ISO 8601 timestamp when the options became active
            - string[] — Options list active from this timestamp onward
      - `status` 'upcoming' | 'open' | 'closed' | 'resolved'
      - `possibilities` union — WARNING: this is a deprecated field and may be removed without notice.
        - object
          - `type` 'binary'
        - object
          - `type` 'continuous'
          - `low` string
          - `high` string
          - `scale` object
            - `max` number, float
            - `min` number, float
            - `deriv_ratio` number, float
          - `format` string
      - `resolution` string, nullable
      - `open_upper_bound` boolean
      - `open_lower_bound` boolean
      - `inbound_outcome_count` integer, nullable
      - `resolution_criteria` string
      - `fine_print` string
      - `label` string, nullable
      - `unit` string
      - `scaling` QuestionScaling
        - `range_max` number, float, nullable — The lower boundary of the input range. If the question is Discrete, it will be 1/2 a bucket width below the nominal lowest inbound outcome.
        - `range_min` number, float, nullable — The upper boundary of the input range. If the question is Discrete, it will be 1/2 a bucket width above the nominal highest inbound outcome.
        - `zero_point` number, float, nullable — Only populated if the question has logarithmic scaling. See 'continuous_range' for exact locations where the CDF gets evaluated.
        - `open_upper_bound` boolean, nullable — Whether the upper bound is open.
        - `open_lower_bound` boolean, nullable — Whether the lower bound is open.
        - `inbound_outcome_count` integer, nullable — Total number of possible outcomes within the question's range (does not include out of bounds).
        - `continuous_range` string[], nullable — List of real-value locations corresponding to where the CDF is evaluated
    - `condition_child` Question
      - `id` integer
      - `title` string
      - `description` string
      - `created_at` string, date-time
      - `open_time` string, date-time
      - `scheduled_resolve_time` string, date-time
      - `actual_resolve_time` string, date-time, nullable
      - `resolution_set_time` string, date-time, nullable
      - `scheduled_close_time` string, date-time
      - `actual_close_time` string, date-time
      - `type` 'binary' | 'multiple_choice' | 'numeric' | 'discrete' | 'date'
      - `options` string[] — List of options for multiple_choice questions
      - `all_options_ever` string[] — List of all options ever for multiple_choice questions
      - `options_history` array[] — List of [iso format time, options] pairs for multiple_choice questions
        - union[]
          - union
            - string — ISO 8601 timestamp when the options became active
            - string[] — Options list active from this timestamp onward
      - `status` 'upcoming' | 'open' | 'closed' | 'resolved'
      - `possibilities` union — WARNING: this is a deprecated field and may be removed without notice.
        - object
          - `type` 'binary'
        - object
          - `type` 'continuous'
          - `low` string
          - `high` string
          - `scale` object
            - `max` number, float
            - `min` number, float
            - `deriv_ratio` number, float
          - `format` string
      - `resolution` string, nullable
      - `open_upper_bound` boolean
      - `open_lower_bound` boolean
      - `inbound_outcome_count` integer, nullable
      - `resolution_criteria` string
      - `fine_print` string
      - `label` string, nullable
      - `unit` string
      - `scaling` QuestionScaling
        - `range_max` number, float, nullable — The lower boundary of the input range. If the question is Discrete, it will be 1/2 a bucket width below the nominal lowest inbound outcome.
        - `range_min` number, float, nullable — The upper boundary of the input range. If the question is Discrete, it will be 1/2 a bucket width above the nominal highest inbound outcome.
        - `zero_point` number, float, nullable — Only populated if the question has logarithmic scaling. See 'continuous_range' for exact locations where the CDF gets evaluated.
        - `open_upper_bound` boolean, nullable — Whether the upper bound is open.
        - `open_lower_bound` boolean, nullable — Whether the lower bound is open.
        - `inbound_outcome_count` integer, nullable — Total number of possible outcomes within the question's range (does not include out of bounds).
        - `continuous_range` string[], nullable — List of real-value locations corresponding to where the CDF is evaluated
    - `question_yes` Question
      - `id` integer
      - `title` string
      - `description` string
      - `created_at` string, date-time
      - `open_time` string, date-time
      - `scheduled_resolve_time` string, date-time
      - `actual_resolve_time` string, date-time, nullable
      - `resolution_set_time` string, date-time, nullable
      - `scheduled_close_time` string, date-time
      - `actual_close_time` string, date-time
      - `type` 'binary' | 'multiple_choice' | 'numeric' | 'discrete' | 'date'
      - `options` string[] — List of options for multiple_choice questions
      - `all_options_ever` string[] — List of all options ever for multiple_choice questions
      - `options_history` array[] — List of [iso format time, options] pairs for multiple_choice questions
        - union[]
          - union
            - string — ISO 8601 timestamp when the options became active
            - string[] — Options list active from this timestamp onward
      - `status` 'upcoming' | 'open' | 'closed' | 'resolved'
      - `possibilities` union — WARNING: this is a deprecated field and may be removed without notice.
        - object
          - `type` 'binary'
        - object
          - `type` 'continuous'
          - `low` string
          - `high` string
          - `scale` object
            - `max` number, float
            - `min` number, float
            - `deriv_ratio` number, float
          - `format` string
      - `resolution` string, nullable
      - `open_upper_bound` boolean
      - `open_lower_bound` boolean
      - `inbound_outcome_count` integer, nullable
      - `resolution_criteria` string
      - `fine_print` string
      - `label` string, nullable
      - `unit` string
      - `scaling` QuestionScaling
        - `range_max` number, float, nullable — The lower boundary of the input range. If the question is Discrete, it will be 1/2 a bucket width below the nominal lowest inbound outcome.
        - `range_min` number, float, nullable — The upper boundary of the input range. If the question is Discrete, it will be 1/2 a bucket width above the nominal highest inbound outcome.
        - `zero_point` number, float, nullable — Only populated if the question has logarithmic scaling. See 'continuous_range' for exact locations where the CDF gets evaluated.
        - `open_upper_bound` boolean, nullable — Whether the upper bound is open.
        - `open_lower_bound` boolean, nullable — Whether the lower bound is open.
        - `inbound_outcome_count` integer, nullable — Total number of possible outcomes within the question's range (does not include out of bounds).
        - `continuous_range` string[], nullable — List of real-value locations corresponding to where the CDF is evaluated
    - `question_no` Question
      - `id` integer
      - `title` string
      - `description` string
      - `created_at` string, date-time
      - `open_time` string, date-time
      - `scheduled_resolve_time` string, date-time
      - `actual_resolve_time` string, date-time, nullable
      - `resolution_set_time` string, date-time, nullable
      - `scheduled_close_time` string, date-time
      - `actual_close_time` string, date-time
      - `type` 'binary' | 'multiple_choice' | 'numeric' | 'discrete' | 'date'
      - `options` string[] — List of options for multiple_choice questions
      - `all_options_ever` string[] — List of all options ever for multiple_choice questions
      - `options_history` array[] — List of [iso format time, options] pairs for multiple_choice questions
        - union[]
          - union
            - string — ISO 8601 timestamp when the options became active
            - string[] — Options list active from this timestamp onward
      - `status` 'upcoming' | 'open' | 'closed' | 'resolved'
      - `possibilities` union — WARNING: this is a deprecated field and may be removed without notice.
        - object
          - `type` 'binary'
        - object
          - `type` 'continuous'
          - `low` string
          - `high` string
          - `scale` object
            - `max` number, float
            - `min` number, float
            - `deriv_ratio` number, float
          - `format` string
      - `resolution` string, nullable
      - `open_upper_bound` boolean
      - `open_lower_bound` boolean
      - `inbound_outcome_count` integer, nullable
      - `resolution_criteria` string
      - `fine_print` string
      - `label` string, nullable
      - `unit` string
      - `scaling` QuestionScaling
        - `range_max` number, float, nullable — The lower boundary of the input range. If the question is Discrete, it will be 1/2 a bucket width below the nominal lowest inbound outcome.
        - `range_min` number, float, nullable — The upper boundary of the input range. If the question is Discrete, it will be 1/2 a bucket width above the nominal highest inbound outcome.
        - `zero_point` number, float, nullable — Only populated if the question has logarithmic scaling. See 'continuous_range' for exact locations where the CDF gets evaluated.
        - `open_upper_bound` boolean, nullable — Whether the upper bound is open.
        - `open_lower_bound` boolean, nullable — Whether the lower bound is open.
        - `inbound_outcome_count` integer, nullable — Total number of possible outcomes within the question's range (does not include out of bounds).
        - `continuous_range` string[], nullable — List of real-value locations corresponding to where the CDF is evaluated
  - `group_of_questions` GroupOfQuestions
    - `id` integer
    - `description` string
    - `resolution_criteria` string
    - `fine_print` string
    - `group_variable` string
    - `graph_type` 'multiple_choice_graph' | 'fan_graph'
    - `questions` Question[]
      - `id` integer
      - `title` string
      - `description` string
      - `created_at` string, date-time
      - `open_time` string, date-time
      - `scheduled_resolve_time` string, date-time
      - `actual_resolve_time` string, date-time, nullable
      - `resolution_set_time` string, date-time, nullable
      - `scheduled_close_time` string, date-time
      - `actual_close_time` string, date-time
      - `type` 'binary' | 'multiple_choice' | 'numeric' | 'discrete' | 'date'
      - `options` string[] — List of options for multiple_choice questions
      - `all_options_ever` string[] — List of all options ever for multiple_choice questions
      - `options_history` array[] — List of [iso format time, options] pairs for multiple_choice questions
        - union[]
          - union
            - string — ISO 8601 timestamp when the options became active
            - string[] — Options list active from this timestamp onward
      - `status` 'upcoming' | 'open' | 'closed' | 'resolved'
      - `possibilities` union — WARNING: this is a deprecated field and may be removed without notice.
        - object
          - `type` 'binary'
        - object
          - `type` 'continuous'
          - `low` string
          - `high` string
          - `scale` object
            - `max` number, float
            - `min` number, float
            - `deriv_ratio` number, float
          - `format` string
      - `resolution` string, nullable
      - `open_upper_bound` boolean
      - `open_lower_bound` boolean
      - `inbound_outcome_count` integer, nullable
      - `resolution_criteria` string
      - `fine_print` string
      - `label` string, nullable
      - `unit` string
      - `scaling` QuestionScaling
        - `range_max` number, float, nullable — The lower boundary of the input range. If the question is Discrete, it will be 1/2 a bucket width below the nominal lowest inbound outcome.
        - `range_min` number, float, nullable — The upper boundary of the input range. If the question is Discrete, it will be 1/2 a bucket width above the nominal highest inbound outcome.
        - `zero_point` number, float, nullable — Only populated if the question has logarithmic scaling. See 'continuous_range' for exact locations where the CDF gets evaluated.
        - `open_upper_bound` boolean, nullable — Whether the upper bound is open.
        - `open_lower_bound` boolean, nullable — Whether the lower bound is open.
        - `inbound_outcome_count` integer, nullable — Total number of possible outcomes within the question's range (does not include out of bounds).
        - `continuous_range` string[], nullable — List of real-value locations corresponding to where the CDF is evaluated
  - `user_permission` 'forecaster' | 'viewer'
  - `vote` Vote
    - `score` integer
    - `user_vote` string, nullable
  - `forecasts_count` integer

## Changes

> 34 revisions in range; 1 could not be searched.

- **2026-01-24** `68c13c142eb0` — 12 info
  - added the optional property `conditional/condition/all_options_ever` to the response with the `200` status
  - added the optional property `conditional/condition/options_history` to the response with the `200` status
  - added the optional property `conditional/condition_child/all_options_ever` to the response with the `200` status
  - added the optional property `conditional/condition_child/options_history` to the response with the `200` status
  - …8 more
- **2025-09-01** `70f77582bda4` — 4 warning, 4 info
  - removed the optional property `projects/default_project/meta_description` from the response with the `200` status
  - removed the optional property `projects/question_series/items/meta_description` from the response with the `200` status
  - removed the optional property `projects/site_main/items/meta_description` from the response with the `200` status
  - removed the optional property `projects/tournament/items/meta_description` from the response with the `200` status
  - …4 more
- …earlier changes not shown

[Full history](https://skmtc.dev/metaculus/apis/metaculus-api/changes/api/posts/:postId/get.md)

---

[API](https://skmtc.dev/metaculus/apis/metaculus-api.md) · [All operations](https://skmtc.dev/metaculus/apis/metaculus-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/metaculus/metaculus-api/revisions/f1b9a08e1da2/schema)
