> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Revoke a Link Session

> Kill a social-linking URL before it expires so it can no longer be used.

Kill a linking URL before it expires. Once revoked, opening it does nothing — your user
sees an expired-link page instead of their profile.

Use this when a link went to the wrong person, was sent over a channel you no longer
trust, or is simply no longer wanted. Revoking is the reason a link session is worth
creating over the older signed URLs, which could not be recalled once sent.

> [!NOTE]
>
> Revoking is idempotent. Revoking an already-revoked link succeeds and returns the same
> response, so a retry is always safe.

> [!NOTE]
>
> Revoking also removes any X/Twitter credentials you supplied for this link. Accounts
> your user already connected through the link stay connected — revoking kills the link,
> not the social accounts.

## Header Parameters

**Authorization** `string` *required*

[API Key](https://www.ayrshare.com/docs/apis/overview.md#authorization) of the Primary Profile.

Format: `Authorization: Bearer API_KEY`
**Profile-Key** `string` *required*

[Profile Key](https://www.ayrshare.com/docs/apis/overview.md#profile-key-format) of a User Profile.

Format: `Profile-Key: PROFILE_KEY`

## Path Parameters

**sessionId** `string` *required*

The `sessionId` returned when the link was created.

```bash cURL theme={"system"}
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Profile-Key: PROFILE_KEY' \
-X DELETE https://api.ayrshare.com/api/profiles/link-sessions/SESSION_ID
```

```javascript JavaScript theme={"system"}
const API_KEY = "API_KEY";
const PROFILE_KEY = "PROFILE_KEY";
const SESSION_ID = "SESSION_ID";

fetch(`https://api.ayrshare.com/api/profiles/link-sessions/${SESSION_ID}`, {
  method: "DELETE",
  headers: {
    Authorization: `Bearer ${API_KEY}`,
    "Profile-Key": PROFILE_KEY,
  },
})
  .then((res) => res.json())
  .then((json) => console.log(json))
  .catch(console.error);
```

```python Python theme={"system"}
import requests

headers = {'Authorization': 'Bearer API_KEY',
        'Profile-Key': 'PROFILE_KEY'}

response = requests.delete(
    'https://api.ayrshare.com/api/profiles/link-sessions/SESSION_ID',
    headers=headers)
print(response.json())
```

```php PHP theme={"system"}
<?php
require 'vendor/autoload.php';    // Composer auto-loader using Guzzle. See .../guzzlephp.org/en/stable/overview.html

$client = new GuzzleHttp\Client();
$res = $client->request(
    'DELETE',
    'https://api.ayrshare.com/api/profiles/link-sessions/SESSION_ID',
    [
        'headers' => [
            'Authorization' => 'Bearer API_KEY',
            'Profile-Key'   => 'PROFILE_KEY'
        ]
    ]
);

echo json_encode(json_decode($res->getBody()), JSON_PRETTY_PRINT);
```

```csharp C# theme={"system"}
using System;
using System.Net.Http;
using System.Threading.Tasks;

namespace RevokeLinkSession_csharp
{
  class RevokeLinkSession
  {
      static async Task Main(string[] args)
      {
          string API_KEY = "API_KEY";
          string PROFILE_KEY = "PROFILE_KEY";
          string url = "https://api.ayrshare.com/api/profiles/link-sessions/SESSION_ID";

          try
          {
              using (var client = new HttpClient())
              {
                  client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
                  client.DefaultRequestHeaders.Add("Profile-Key", PROFILE_KEY);

                  HttpResponseMessage response = await client.DeleteAsync(url);
                  response.EnsureSuccessStatusCode();

                  string responseBody = await response.Content.ReadAsStringAsync();
                  Console.WriteLine(responseBody);
              }
          }
          catch (HttpRequestException e)
          {
              Console.WriteLine($"HTTP request error: {e.Message}");
          }
      }
  }
}
```

```json 200 theme={"system"}
{
    "status": "success",
    "sessionId": "c7a2434e72e91bde27579efde0fd6dd0b74ceee29a471fd368407f273708c2e8",
    "state": "revoked",  // Always "revoked" on success.
    "revokedAt": "2026-09-01T09:22:11.507Z"  // When the link was revoked. On a repeat revoke, the ORIGINAL time - not the retry.
}
```

```json 404: Not Found theme={"system"}
{
  "action": "link session",
  "status": "error",
  "code": 502,
  "message": "Social linking session not found. Please request a new linking URL."
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.