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

# Invitation Status

> See whether invitations sent through OneShot were accepted, and when.

Free. Lists the invitations sent through [Invite](/api-reference/linkedin/invite) from one connected account, most recently changed first. To read one invitation, add its id: `GET /v1/tools/linkedin/accounts/{id}/invitations/{invitation_id}`.

Accepting an invitation on LinkedIn does **not** create a conversation, so an accept can't be inferred from [Conversations](/api-reference/linkedin/conversations). OneShot reads acceptance from the account's connections instead, about every 15 minutes while an invitation is pending. An accepted invitation reads `accepted` with an `accepted_at`, whether or not a message was ever exchanged.

## Query

<ParamField query="status" type="string">`pending`, `accepted`, `withdrawn`, `declined_or_unknown` or `not_sent`.</ParamField>
<ParamField query="changed_since" type="string">ISO 8601 time with an offset. Only invitations whose status changed after it. Use it to poll.</ParamField>
<ParamField query="limit" type="number">1–100. Default 50.</ParamField>

## Response

```json theme={null}
{
  "invitations": [
    {
      "invitation_id": "…",
      "account_id": "…",
      "status": "accepted",
      "profile": "jane-doe",
      "sent_at": "2026-10-06T10:00:00.000Z",
      "accepted_at": "2026-10-07T19:54:54.000Z",
      "updated_at": "2026-10-07T20:05:11.000Z"
    }
  ]
}
```

| `status` | Meaning |
| - | - |
| `pending` | Queued, or sent and waiting for an answer. |
| `accepted` | The person is now a connection. `accepted_at` is when they connected, or when OneShot first saw the connection. It is `null` only when they were already connected when you invited them. |
| `withdrawn` | [Withdrawn](/api-reference/linkedin/withdraw), or cancelled before it was sent. |
| `declined_or_unknown` | It left the pending list without connecting, or its outcome could not be confirmed. |
| `not_sent` | No invitation went out under this id: the send failed, or an earlier invitation to the same person was reused. |

`expired` is not reported. Nothing upstream tells an expired invitation from a declined one.

## Example

```typescript theme={null}
const { invitations } = await agent.linkedinInvitations({ accountId, status: 'accepted', changedSince: lastChecked });
for (const invitation of invitations) {
  await agent.linkedinMessage({ accountId, profile: invitation.profile!, text: 'Thanks for connecting.' });
}

const one = await agent.linkedinInvitation({ accountId, invitationId });
console.log(one.status, one.accepted_at);
```


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