# Share links

URL: https://submitator.com/docs/api/share-links

> A read-only page that shows your client how their launch is going, in your agency's name and colors.

A read-only page that shows your client how their launch is going, in your agency's name and colors. It lists live directories with links, the ones still in progress and the latest reports, and shows no prices.

Each project has at most one active link. Creating a new link turns the old URL off.

## Read the share link

`GET https://api.submitator.com/v1/projects/{project_id}/share_link`

Returns the project's active link with its view count. A project without an active link returns 404.

| Parameter | In | Required | What it is |
| --- | --- | --- | --- |
| `project_id` | path | Yes | The project's id. |

Response 200:

```json
{
  "object": "share_link",
  "livemode": true,
  "project": "prj_4QzX1m9Lr2Vb7Nc8Tk3HwP",
  "url": "https://example.net/r/6Tq2Wm9Kx4Lr8Vb3Nz7HcP",
  "created_at": "2026-10-08T15:20:00Z",
  "expires_at": null,
  "revoked_at": null,
  "last_viewed_at": "2026-10-08T18:42:10Z",
  "view_count": 3
}
```

Typical errors: [`not_found`](https://submitator.com/docs/errors#not_found), [`rate_limited`](https://submitator.com/docs/errors#rate_limited).

## Create a share link

`POST https://api.submitator.com/v1/projects/{project_id}/share_link`

Creates a read-only progress page for the project that you can send to your client. It shows your agency's name and colors. A project has 1 active link: creating a new one turns the previous URL off.

| Parameter | In | Required | What it is |
| --- | --- | --- | --- |
| `project_id` | path | Yes | The project's id. |

| Body field | Type | Required | What it is |
| --- | --- | --- | --- |
| `expires_at` | string or null | No | When the link should stop working. Leave it out or send `null` for a link that works until you turn it off. |

Request:

```json
{
  "expires_at": null
}
```

Response 201:

```json
{
  "object": "share_link",
  "livemode": true,
  "project": "prj_4QzX1m9Lr2Vb7Nc8Tk3HwP",
  "url": "https://example.net/r/6Tq2Wm9Kx4Lr8Vb3Nz7HcP",
  "created_at": "2026-10-08T15:20:00Z",
  "expires_at": null,
  "revoked_at": null,
  "last_viewed_at": null,
  "view_count": 0
}
```

Typical errors: [`validation_failed`](https://submitator.com/docs/errors#validation_failed), [`not_found`](https://submitator.com/docs/errors#not_found), [`account_suspended`](https://submitator.com/docs/errors#account_suspended).

## Turn the share link off

`DELETE https://api.submitator.com/v1/projects/{project_id}/share_link`

Turns the active link off at once; its URL then returns 404 to anyone who opens it. Create a new link to share the page again.

| Parameter | In | Required | What it is |
| --- | --- | --- | --- |
| `project_id` | path | Yes | The project's id. |

Response 200:

```json
{
  "object": "share_link",
  "livemode": true,
  "project": "prj_4QzX1m9Lr2Vb7Nc8Tk3HwP",
  "url": "https://example.net/r/6Tq2Wm9Kx4Lr8Vb3Nz7HcP",
  "created_at": "2026-10-08T15:20:00Z",
  "expires_at": null,
  "revoked_at": "2026-10-09T09:00:00Z",
  "last_viewed_at": "2026-10-08T18:42:10Z",
  "view_count": 3
}
```

Typical errors: [`not_found`](https://submitator.com/docs/errors#not_found), [`permission_denied`](https://submitator.com/docs/errors#permission_denied).
