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

# Show a public trip page

> Returns public trip metadata for an active or completed trip. The controller resolves the client by id or organization slug, looks up the trip by slug within that client, and hides trips that are not publicly visible. Public trip pages use the response for trip copy, donation settings, checkout setting ids, fund entity information, and the optional request-to-join form.



## OpenAPI

````yaml get /frontend/public/trips/{clientSlugOrId}/{tripSlug}
openapi: 3.0.0
info:
  title: Gratona API
  description: >-
    REST API for the Gratona fundraising platform, including donor, donation,
    sponsorship, program, event, and integration workflows. Endpoints are
    organized by tag. Most endpoints require either a Passport bearer token or
    an issued API key — see the Security Schemes section.
  contact:
    name: Gratona Engineering
    url: https://gratona.com
    email: devs@gratona.com
  version: 1.0.0
servers:
  - url: https://api.gratona.com/v1
    description: Server Version 1.0.0
security: []
tags:
  - name: Auth
    description: >-
      Login, signup, logout, password reset, and email verification for admin
      users and donors.
  - name: Donors
    description: >-
      Donor records: CRUD, profile fields, household linkage, search, filters,
      merge, and duplicate detection.
  - name: Donations
    description: >-
      Individual donation records, recurring commitments, soft credits, refunds,
      designations, and exports.
  - name: Sponsorships
    description: >-
      Donor-to-entity sponsorship relationships, lifecycle transitions, and
      sponsorship-specific filters.
  - name: Entities
    description: >-
      Recipient records (children, families, projects, animals, etc.), their
      status, and entity-level fields.
  - name: Programs
    description: >-
      Program / campaign configuration: hierarchy, settings, and program-level
      metadata.
  - name: Forms
    description: >-
      Custom form builder (HysForm), form fields, standardized donor fields, and
      field migrations.
  - name: Trips
    description: >-
      Mission-trip management: trips, participants, budgets, tasks,
      e-signatures, fundraising milestones, and background checks.
  - name: Communications
    description: >-
      Email templates, SMS, newsletters, donor email manager, and per-donor
      notes.
  - name: Payments
    description: >-
      Payment-gateway management (Stripe, PayPal, Flutterwave, QuickBooks).
      Excludes inbound webhooks — see the Webhooks tag.
  - name: Reports
    description: Dashboards, analytics, scheduled reports, and exports.
  - name: Admin
    description: >-
      Client-account administration: users, groups/permissions, settings,
      integrations, and account lifecycle.
  - name: Donor Portal
    description: >-
      Endpoints consumed by the donor-facing portal (donor login, dashboard,
      donation history, messages).
  - name: Recipient Portal
    description: Endpoints consumed by the recipient-facing portal.
  - name: Public
    description: >-
      Unauthenticated public endpoints: donor signup, public trip pages,
      peer-to-peer campaigns, public checkout.
  - name: Webhooks
    description: >-
      Inbound webhooks from third parties (Stripe, PayPal, Flutterwave, Checkr,
      DropboxSign). Annotated minimally for reference; payload shapes are owned
      by the upstream provider.
  - name: Client
    description: Client
  - name: Email Settings
    description: Email Settings
  - name: Admin Dashboard
    description: Admin Dashboard
  - name: Historical Archived Updates
    description: Historical Archived Updates
  - name: Team & access
    description: Team & access
  - name: Files
    description: Files
  - name: Wrapped
    description: Wrapped
  - name: Donor SignUp
    description: Donor SignUp
  - name: Frontend
    description: Frontend
  - name: User
    description: User
paths:
  /frontend/public/trips/{clientSlugOrId}/{tripSlug}:
    get:
      tags:
        - Public
      summary: Show a public trip page
      description: >-
        Returns public trip metadata for an active or completed trip. The
        controller resolves the client by id or organization slug, looks up the
        trip by slug within that client, and hides trips that are not publicly
        visible. Public trip pages use the response for trip copy, donation
        settings, checkout setting ids, fund entity information, and the
        optional request-to-join form.
      operationId: showPublicTrip
      parameters:
        - name: clientSlugOrId
          in: path
          description: >-
            Organization identifier from the public trip URL. Numeric values are
            treated as client ids; non-numeric values are compared with a slug
            generated from each client organization name.
          required: true
          schema:
            type: string
          example: acme-foundation
        - name: tripSlug
          in: path
          description: >-
            Trip slug unique within the resolved client. The controller queries
            `trips.slug` and only returns trips with `active` or `completed`
            status.
          required: true
          schema:
            type: string
          example: guatemala-summer-2026
      responses:
        '200':
          description: Public trip page data.
          content:
            application/json:
              schema:
                required:
                  - id
                  - client_id
                  - name
                  - slug
                  - status
                  - organization
                  - settings
                properties:
                  id:
                    description: Trip id.
                    type: integer
                    example: 512
                  client_id:
                    description: Owning client id.
                    type: integer
                    example: 207
                  name:
                    description: Trip display name.
                    type: string
                    example: Guatemala Summer 2026
                  slug:
                    description: Trip URL slug.
                    type: string
                    example: guatemala-summer-2026
                  description:
                    type: string
                    example: Two-week service trip to rural Guatemala.
                    nullable: true
                  destination:
                    type: string
                    example: Antigua, Guatemala
                    nullable: true
                  start_date:
                    type: string
                    format: date
                    example: '2026-06-15'
                    nullable: true
                  end_date:
                    type: string
                    format: date
                    example: '2026-06-29'
                    nullable: true
                  fundraising_goal:
                    description: Trip fundraising goal.
                    type: number
                    format: float
                    example: 25000
                  total_raised:
                    description: >-
                      Trip raised total when public settings allow donation
                      amounts.
                    type: number
                    format: float
                    example: 7400
                    nullable: true
                  progress_percent:
                    description: Trip progress percentage from the model accessor.
                    type: number
                    format: float
                    example: 29.6
                    nullable: true
                  participant_count:
                    description: Count of active participants.
                    type: integer
                    example: 12
                  status:
                    description: >-
                      Only non-sample active or completed trips are returned
                      publicly.
                    type: string
                    enum:
                      - active
                      - completed
                    example: active
                  cover_image:
                    properties:
                      id:
                        type: integer
                        example: 8801
                      url:
                        type: string
                        example: https://s3-us-west-1.amazonaws.com/hys/trip.jpg
                        nullable: true
                      name:
                        type: string
                        example: trip.jpg
                        nullable: true
                    type: object
                    nullable: true
                  cover_image_url:
                    type: string
                    example: https://s3-us-west-1.amazonaws.com/hys/trip.jpg
                    nullable: true
                  organization:
                    properties:
                      id:
                        type: integer
                        example: 207
                      name:
                        type: string
                        example: Acme Foundation
                    type: object
                  organization_name:
                    type: string
                    example: Acme Foundation
                  show_donation_amounts:
                    type: boolean
                    example: true
                  show_donor_names:
                    type: string
                    enum:
                      - full
                      - first_initial
                      - anonymous
                    example: full
                  allow_recurring_donations:
                    type: boolean
                    example: true
                  show_participant_goals:
                    type: boolean
                    example: true
                  allow_participant_visibility_opt_out:
                    type: boolean
                    example: true
                  completed_accept_donations:
                    type: boolean
                    example: true
                  login_box:
                    type: string
                    enum:
                      - '0'
                      - '1'
                    example: '0'
                  accepts_donations:
                    type: boolean
                    example: true
                  request_to_join_enabled:
                    type: boolean
                    example: true
                  checkout_setting_id:
                    description: Setting id used by checkout for trip donations.
                    type: integer
                    example: 901
                    nullable: true
                  settings:
                    description: >-
                      Public subset of trip settings used by the public trip
                      frontend.
                    type: object
                  join_request_form:
                    description: >-
                      Returned only when request-to-join is enabled. Contains
                      hysform id, public signup fields, and standardized field
                      visibility/required keys.
                    type: object
                    nullable: true
                  fund_entity_id:
                    description: Entity id used for trip-level donations when configured.
                    type: integer
                    example: 4811
                    nullable: true
                  fund_entity:
                    properties:
                      id:
                        type: integer
                        example: 4811
                      name:
                        type: string
                        example: Trip Fund
                      program_id:
                        type: integer
                        example: 77
                        nullable: true
                      setting_id:
                        type: integer
                        example: 901
                        nullable: true
                    type: object
                    nullable: true
                type: object
        '404':
          description: Organization or visible non-sample trip was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
      security: []
components:
  schemas:
    NotFoundResponse:
      title: NotFoundResponse
      description: >-
        Returned with HTTP 404 when a resource lookup misses (typically because
        the id doesn't exist OR is scoped to a different `client_id`). Note:
        many endpoints intentionally collapse 'not found' and 'forbidden' into a
        single 404 to avoid leaking which records exist in another tenant.
      required:
        - message
      properties:
        message:
          description: >-
            Human-readable message. Often a more specific string like `Donor not
            found` or `Trip not found`.
          type: string
          example: Not Found
        status:
          type: string
          example: error
      type: object

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.