---
title: "Read the addresses of the brand a third-party link can point to"
method: GET
path: "/projects/{id}/link-targets"
tags: ["Projects"]
---

# Read the addresses of the brand a third-party link can point to

`GET /projects/{id}/link-targets`

## Request

- Base URL: `https://api.epovest.com/v1`
- URL: `https://api.epovest.com/v1/projects/{id}/link-targets`
- Auth: HTTP bearer

`derived` is what is already covered from work done elsewhere, each row with its `source`:
`canon` (the canonical website) or `surface` (a page of the surface registry). `free` is what
has been set on the project on top of those. Read it before setting anything: an address
already derived needs no entry of its own.

## Response `200`

The link targets of the project.

- LinkTargets
  - `derived` object[], required: What is already covered from work done elsewhere.
    - `url` string, required
    - `source` 'canon' | 'surface', required
  - `free` string[], required: What has been set on the project on top of the derived ones.

## Other responses

- `401`: `unauthenticated`: missing, unknown or revoked key.
- `403`: `insufficient_scope`: the credential may not do this, either because the key lacks the scope, or, on a one-click connection, because the person lacks the role the action needs (manager, or owner to start, pause and top up). On that path, read it as "this person may not do this" and tell them which role the action needs.
- `404`: `not_found`: unknown for this account.
- `429`: `rate_limited`: 120 requests per minute per credential, sliding window. Retry after `Retry-After` seconds.

---

[API](https://skmtc.dev/epovest/apis/epovest-api.md) · [All operations](https://skmtc.dev/epovest/apis/epovest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/epovest/apis/epovest-api/revisions/7a78ee27ecbb?raw)
