goals

Read Shared Goal Detail

Changed on

The owner's read of a goal, reached by the id in the goal page's address.

wonderland goals.md gives a published goal one page, at /g/{share_id}/{slug}, and every reader gets the whole goal on it (#3057). What the athlete standing on their own page gets beyond that is the handle to act on it: the goal id every write takes and whether an app holds it. That address carries no goal id on purpose, so without this the owner had no way to ask for one (looking-glass#939).

The same answer as GET /goals/{goal_id}, byte for byte, behind the same owner predicate. Nothing here is wider than that read: the share id only finds the row, and _readable_goal_or_404 decides who may see it.

One 404 for every negative: an invented share id, a goal taken down, and a published goal this caller does not own. A status that told them apart would say whether a link belongs to the person holding it. No session at all is the boundary's own 401, exactly as on the goal id read.

get/goals/shared/{share_id}/detail

Request

  • Base URL
    https://api.imperfect.co (the document declares no server; this is the origin it was published from)
  • URL
    https://api.imperfect.co/goals/shared/{share_id}/detail
  • Auth
    HTTP bearer

Path parameters

share_idstring required

Headers

x-device-timezonestring nullable
x-device-hintstring nullable
x-client-platformstring nullable

Response

Successful Response

namestring required
linestring nullable
localestring required
kind'destination' | 'practice' required
sportstring nullable
set_atstring date-time required
anchor_kind'event' | 'route' nullable
factorsobject[]
page_expected_untilstring date-time nullable
goal_idstring required
status'exploring' | 'proposing' | 'settled' required
share_idstring nullable
slugstring nullable
published_atstring date-time nullable
claimed_atstring date-time nullable

Changes

    • warning

      removed the optional property // from the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property to the response with the status