Skip to content
GET/v1/camps/{id}all plans

Retrieve a camp

A camp by id. Published and active by default; archived rows answer 404 unless include_archived=true, and drafts never appear. The response carries status.

Try this requestRun it with sample data, no key needed. Paste a key to run it live.
Example request
curl -sS \
  -H "X-API-Key: $TAILEND_API_KEY" \
  "https://api.tailend.dev/v1/camps/7fb56a77-8603-4c31-a07f-ef9d9e7f53e3"
Example response · 200
{
  "data": {
    "id": "7fb56a77-8603-4c31-a07f-ef9d9e7f53e3",
    "type": "camp",
    "slug": "2026-summer-circus-camp-e49f4a3a",
    "name": "2026 Summer Circus Camp",
    "description": "The Philadelphia School of Circus Arts – Best of Philly Winner for “Kids Classes” – announces Summer Circus Camp 2026 for youth ages 4 – 15. Circus Camp returns with our 1-week camp program designed for campers with an emphasis on play and exploration in the exciting world of circus. Campers will learn static trapeze, aerial sling, aerial fabric, wire walking, juggling, plate-spinning, rolling globe, tumbling, unicycling, clowning and more. We can’t wait to share the excitement and challenge of the circus with kids in our full-day program!",
    "season": "summer",
    "year": 2026,
    "starts_on": "2026-06-01",
    "ends_on": "2026-06-05",
    "schedule": {
      "type": null,
      "is_full_day": true,
      "is_half_day_am": false,
      "is_half_day_pm": false,
      "day_start_time": "09:00:00",
      "day_end_time": "15:00:00",
      "extended_care": {
        "morning_start": null,
        "morning_price": null,
        "afternoon_end": null,
        "afternoon_price": null,
        "notes": "Before Care: $20/day; After Care: $35/day",
        "currency": "USD"
      },
      "timezone": "America/New_York"
    },
    "is_overnight": false,
    "is_travel": false,
    "is_specialty": false,
    "pricing_unit": "per_week",
    "price": {
      "type": "fixed",
      "min": 495,
      "max": 495,
      "scope": "admission",
      "note": "$495/week",
      "unit": "per_session",
      "is_free": false,
      "currency": "USD"
    },
    "ages": {
      "min": 4,
      "max": 15,
      "text": null,
      "audience": null,
      "bands": [
        "young_kids",
        "bigger_kids"
      ]
    },
    "audience": "teens",
    "traits": {
      "seasons": [
        "summer"
      ]
    },
    "place": {
      "id": "1730e947-3dd8-45ad-88f5-2fe7cdeec9e8",
      "slug": "philadelphia-school-of-circus-arts-62377244",
      "name": "Philadelphia School of Circus Arts"
    },
    "location": {
      "address": "6452 Greene Street",
      "street_address": "6452 Greene Street",
      "city": "Philadelphia",
      "state": "PA",
      "zip": "19119",
      "lat": 40.0419162,
      "lng": -75.1896032,
      "neighborhood": "Northwest Philadelphia",
      "neighborhood_slug": null
    },
    "categories": [
      "sports_active_play"
    ],
    "registration": {
      "url": "https://portal.iclasspro.com/phillycircus/booking",
      "opens_on": null,
      "deadline_on": null,
      "early_bird_deadline_on": null,
      "has_spots_available": true,
      "sessions_with_spots": 1
    },
    "sessions": [
      {
        "id": "4fbe88ce-c939-450e-92a0-e92c3f04ed6c",
        "name": "Summer Circus Camp 2026",
        "starts_on": "2026-06-01",
        "ends_on": "2026-06-05",
        "price": 495,
        "early_bird_price": null,
        "full_day_price": null,
        "half_day_price": null,
        "currency": "USD",
        "capacity": null,
        "spots_remaining": null,
        "status": "open",
        "theme": null,
        "notes": null
      }
    ],
    "image_url": "https://phillycircus.com/wp-content/uploads/PSCA-web-promo-01.jpg",
    "organization": {
      "id": "c6e39d31-abce-43f8-bccd-2cf5ce73a0ad",
      "name": "Philadelphia School of Circus Arts",
      "slug": "philadelphia-school-of-circus-arts"
    },
    "confidence": 0.55,
    "verified_at": null,
    "metro": "philadelphia",
    "status": "published",
    "created_at": "2026-09-22T06:11:27.636Z",
    "updated_at": "2026-09-26T08:19:23.038Z",
    "links": {
      "self": "/v1/camps/7fb56a77-8603-4c31-a07f-ef9d9e7f53e3",
      "place": "/v1/places/1730e947-3dd8-45ad-88f5-2fe7cdeec9e8",
      "organization": "/v1/organizations/c6e39d31-abce-43f8-bccd-2cf5ce73a0ad"
    }
  }
}

Try any request with sample data, no key needed. Available on every plan.

Listing id.

Optional parameters (5)

Also serve a listing whose status is archived — a permalink that should still render, with a "this has passed" banner, rather than 404.

Keep only these dotted paths on each item (name,place.name,price.is_free); id and type are always kept so a trimmed item stays addressable.

Attach the full Place and/or the Organization behind each item under expanded, one extra read per expansion per page (not per row).

Opt into a block the lean default response leaves out.

How an include= the key is not entitled to is handled.

Ctrl Enter to send