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

# Set Connector Slot

> Keep a connector fresh by putting them in one of your connector slots

Put a [connector](/api-reference/list-connectors) already in your network into one of your
**connector slots**. Connectors in a slot are re-ingested automatically by the connector-refresh
automation, on [its schedule](/api-reference/get-connector-refresh-schedule), so their book
stays current without anyone re-running the import.

<Info>
  **A slot is a promise to spend.** Every scheduled refresh imports each connector in a slot
  again, and an import spends credits per connector. Your plan bounds how many slots you have
  (`limit` in the answer); a workspace with no slots gets `403`, a full roster gets `409`.
</Info>

Nothing happens at the moment you set the slot: no job starts, no credits are spent. The next
fire of the schedule, or [Run Connector Refresh](/api-reference/run-connector-refresh), does the
work. `in_slot` on [List Connectors](/api-reference/list-connectors) shows who is in one.

## Path Parameters

<ParamField path="linkedinId" type="string" required>
  The connector's LinkedIn public identifier, as returned in `linkedin_id` by
  [List Connectors](/api-reference/list-connectors). For
  `https://www.linkedin.com/in/nicdelaye` that is `nicdelaye`.
</ParamField>

## Response Fields

<ResponseField name="linkedin_id" type="string">
  The connector you placed.
</ResponseField>

<ResponseField name="in_slot" type="boolean">
  `true` after a `PUT`, `false` after a `DELETE`.
</ResponseField>

<ResponseField name="used" type="integer">
  Slots taken, this one included.
</ResponseField>

<ResponseField name="limit" type="integer">
  Slots your plan allows.
</ResponseField>

## Releasing a slot

`DELETE` on the same path takes the connector out. They stay in the network with every
opportunity they have; only the automatic refresh stops. Idempotent, like the `PUT`.

<RequestExample>
  ```bash cURL theme={null}
  curl -X PUT "https://api.clustr-ai.com/api/public/network/connectors/nicdelaye/slot" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```bash cURL (release) theme={null}
  curl -X DELETE "https://api.clustr-ai.com/api/public/network/connectors/nicdelaye/slot" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```python Python theme={null}
  import requests

  requests.put(
      "https://api.clustr-ai.com/api/public/network/connectors/nicdelaye/slot",
      headers={"Authorization": "Bearer YOUR_API_KEY"},
  )
  ```

  ```javascript JavaScript theme={null}
  await fetch("https://api.clustr-ai.com/api/public/network/connectors/nicdelaye/slot", {
    method: "PUT",
    headers: { Authorization: "Bearer YOUR_API_KEY" },
  });
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "data": {
      "linkedin_id": "nicdelaye",
      "in_slot": true,
      "used": 12,
      "limit": 25
    }
  }
  ```

  ```json 404 theme={null}
  {
    "success": false,
    "error": {
      "message": "No connector found with linkedin id: nicdelaye",
      "code": "NOT_FOUND"
    }
  }
  ```

  ```json 409 theme={null}
  {
    "success": false,
    "error": {
      "message": "All 25 connector slots are in use",
      "code": "CONFLICT"
    }
  }
  ```

  ```json 403 theme={null}
  {
    "success": false,
    "error": {
      "message": "Connector slots are not in your plan",
      "code": "FORBIDDEN"
    }
  }
  ```
</ResponseExample>
