# Recipe: a photographer

A complete request body for a photographer: portfolio first, booking, the current offer, prints.

The page is a shop window. The first tap must land on pictures; the second on how to book.

```json
{
  "username": "mira-frames",
  "locale": "en",
  "page": {
    "displayName": "Mira Frames",
    "bio": "Weddings and portraits in Kraków and wherever you are getting married.",
    "templateId": "noir",
    "headerAlign": "left",
    "blocks": [
      {
        "type": "link",
        "label": "Portfolio",
        "url": "https://miraframes.example",
        "featured": true
      },
      {
        "type": "link",
        "label": "Book a 2027 wedding",
        "url": "https://miraframes.example/book",
        "badge": "4 dates left"
      },
      {
        "type": "link",
        "label": "Portrait sessions — autumn offer",
        "url": "https://miraframes.example/portraits",
        "showUntil": "2026-11-30T23:59:59Z"
      },
      {
        "type": "link",
        "label": "Prints",
        "url": "https://prints.example/mira",
        "path": "prints"
      },
      {
        "type": "socialRow",
        "items": [
          {
            "platform": "instagram",
            "url": "https://instagram.com/miraframes"
          },
          {
            "platform": "pinterest",
            "url": "https://pinterest.com/miraframes"
          },
          {
            "platform": "behance",
            "url": "https://behance.net/miraframes"
          }
        ]
      },
      {
        "type": "messenger",
        "platform": "telegram",
        "handle": "miraframes",
        "label": "Message me"
      }
    ]
  },
  "avatarUrl": "https://example.com/mira.jpg"
}
```

## Why it is shaped this way

- `noir` or `photo` for a photographer: the template should not compete with the work.
- A badge with scarcity ("4 dates left") is honest if it is true; update it or remove it.
- The seasonal offer has `showUntil`; nothing on a photographer's page should look out of date.
- Behance and Pinterest in the social row, where clients and editors actually look.

Replace every URL and every word with the person's own. Then `POST https://tapmy.link/api/agent/pages`, read `page.md`, hand over.

---
Part of the [Tapmy.link agent documentation](https://tapmy.link/documentation/agents.md). Canonical: https://tapmy.link/documentation/agents/recipe-photographer.md
