# GET /v1/projects/:projectId/engagement (/docs/api/reference/engagement/get-engagement)



<Endpoint method="GET" path="/v1/projects/:projectId/engagement" auth="Bearer" scope="engagement:read" phase="1" />

Read the engagement config attached to a project's Social Engagement layer — the first-comment template that gets posted under every new post, and the reply-to-comments policy that governs auto-replies.

The `enabled` field is the master switch. If it's `false`, Layers still accepts reads and writes but nothing runs until you flip it on.

<Callout type="info">
  Only the v1 template shape is exposed today. The widened v2 fields (`firstComment.strategy`, `replies.tone`, `replies.maxPerPostPerHour`, `replies.ignoreCommentsMatching`, `replies.escalateNegativeSentiment`) are planned — passing them today returns `403 FORBIDDEN_FENCE`.
</Callout>

<Parameters
  title="Path"
  rows="[
  { name: 'projectId', type: 'string', required: true, description: 'Project whose engagement layer you want.' },
]"
/>

## Example request [#example-request]

<Tabs items="['curl', 'TypeScript', 'Python']">
  <Tab value="curl">
    ```bash
    curl https://api.layers.com/v1/projects/prj_01HX9Y7K8M2P4RSTUV56789AB/engagement \
      -H "Authorization: Bearer lp_live_01HX9Y6K7EJ4T2_4QZpN..."
    ```
  </Tab>

  <Tab value="TypeScript">
    ```ts
    const config = await layers.engagement.get({
      projectId: "prj_01HX9Y7K8M2P4RSTUV56789AB",
    });

    if (!config.enabled) {
      // engagement is off — either intentionally or never configured
    }
    ```
  </Tab>

  <Tab value="Python">
    ```python
    config = layers.engagement.get(project_id="prj_01HX9Y7K8M2P4RSTUV56789AB")
    ```
  </Tab>
</Tabs>

## Response [#response]

<Response status="200" description="Engagement config">
  ```json
  {
    "projectLayerId": "pl_01HXZT9P2K4N5M6Q7RSTUV8WXY",
    "enabled": true,
    "firstComment": {
      "targets": ["tiktok", "instagram"],
      "commentTemplate": "Brewing tip: use filtered water — makes a bigger difference than you'd expect."
    },
    "replyToComments": {
      "targets": ["tiktok", "instagram"],
      "autoReplyDelay": "PT3M"
    }
  }
  ```
</Response>

### Field reference [#field-reference]

| Field                            | Shape                                                                                                                                                       |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `projectLayerId`                 | The Social Engagement layer instance that holds this config. Round-trip this back in PATCH to disambiguate if a project has more than one engagement layer. |
| `enabled`                        | Master switch.                                                                                                                                              |
| `firstComment.targets`           | Platforms where a first comment is posted.                                                                                                                  |
| `firstComment.commentTemplate`   | Comment body. No templating language — literal text.                                                                                                        |
| `replyToComments.targets`        | Platforms where auto-replies run.                                                                                                                           |
| `replyToComments.autoReplyDelay` | ISO-8601 duration before replying. Bots at 0-second latency read as bots; tune per platform.                                                                |

## Errors [#errors]

| Status | Code              | When                                                                      |
| ------ | ----------------- | ------------------------------------------------------------------------- |
| 401    | `UNAUTHENTICATED` | Missing or invalid key.                                                   |
| 403    | `FORBIDDEN_SCOPE` | Key lacks `engagement:write`.                                             |
| 404    | `NOT_FOUND`       | Project not in your organization, or no Social Engagement layer attached. |

## See also [#see-also]

* [`PATCH /v1/projects/:id/engagement`](/docs/api/reference/engagement/patch-engagement) — update the config
* [Configure auto-pilot engagement](/docs/api/guides/configure-auto-pilot-engagement) — end-to-end walk-through
