---
title: "Get Goal Details"
method: GET
path: "/v1/web-visits/goals/{id}"
tags: ["Web Visits", "v1"]
---

# Get Goal Details

`GET /v1/web-visits/goals/{id}`

## Request

- Base URL: `https://api.leadfeeder.com`
- URL: `https://api.leadfeeder.com/v1/web-visits/goals/{id}`
- Auth: one of:
  - API key in header `X-Api-Key`
  - OAuth 2
    - Authorization code: `https://api.leadfeeder.com/v1/oauth/authorize`
    - Token URL: `https://api.leadfeeder.com/v1/oauth/token` scopes: `web_visits:read`

Get a goal by its ID, including its name, whether it is enabled and the page-view condition that defines it.

Credit Note: Retrieving a goal does not consume credits.

:::info
Requires the `web_visits:read` OAuth2 scope.
:::

## Path parameters

- `id` string, required

## Query parameters

- `account_id` string, required

## Response `200`

Success

- object
  - `data` GoalV1, required
    - `attributes` object, required
      - `created_at` string, date-time, required: Date and time when the goal was created
      - `criterion` object, required: The page-view condition that marks a page view as meeting the goal. It uses the same `field`, `operator` and `value` vocabulary as a custom feed's `advanced_filters` conditions.
        - `field` 'page_url' | 'page' | 'form_submit' | 'file_download_name' | 'video_title' | 'video_url', required: What the goal's condition looks at.
        - `operator` 'is' | 'is_not' | 'begins_with' | 'not_begins_with' | 'ends_with' | 'contains' | 'not_contains' | 'is_present' | 'is_empty', required: How `value` is compared. Each `field` accepts its own set of operators; an unsupported pairing is rejected with a 422 naming the accepted operators.
        - `value` string, nullable, required: The value compared against. `null` for `is_present` and `is_empty`, which take no value.
      - `enabled` boolean, required: Whether the goal is active. A disabled goal stops matching new page views; page views it already matched keep the goal.
      - `name` string, required: The human-readable name of the goal
      - `updated_at` string, date-time, required: Date and time when the goal was last updated
    - `id` string, required: The unique identifier for the goal
    - `relationships` object, required
      - `custom_feed` object, nullable, required: The Web Visits custom feed created for this goal, which lists the visiting companies with a page view meeting it. Pass its `id` as `custom_feed_id` to **Retrieve Web Visits Companies**. `null` until the feed has been created, shortly after the goal, and for goals created once the account already has 20 goal feeds.
        - `id` string, required: The ID of the custom feed.
        - `type` 'custom_feed', required
    - `type` 'goal', required: The type of the object
  - `meta` object, required
    - `request_id` string, required: A unique identifier assigned to each API request for end-to-end traceability.

## Other responses

- `401`: Unauthorized. The request was rejected because the credentials are missing, invalid, expired, or have been revoked. The client must re-authenticate before retrying. Clients can differentiate via the `code` value of the first item in `errors`.
- `403`: Forbidden. The credentials are valid but the caller is not authorized to perform the request — typically because the user lacks the required permission, the OAuth scope is insufficient, the subscription plan does not include the required entitlement, the `account_id` does not belong to the authenticated user, or the target list is read-only and its members cannot be modified. Clients can differentiate via the `code` value of the first item in `errors`.
- `404`: Not found
- `429`: Too many requests. Either the per-second rate limit or the monthly quota configured for the API key / OAuth application has been exceeded. Clients can differentiate via the `code` value of the first item in `errors`.
- `500`: Internal server error
- `504`: Server timeout

## Changes

> 46 revisions in range; 1 not diffed.

- **2026-10-14** `c0f1ebf5f542`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/leadfeeder/apis/leadfeeder-public-api/changes/v1/web-visits/goals/:id/get.md)

---

[API](https://skmtc.dev/leadfeeder/apis/leadfeeder-public-api.md) - [All operations](https://skmtc.dev/leadfeeder/apis/leadfeeder-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/leadfeeder/apis/leadfeeder-public-api/revisions/686d4e39eb05?raw)
