---
updatedAt: 2025-06-05T20:01:51.000Z
agentTools:
  projectIndex: https://dev.streamlabs.com/llms.txt
---

# Scopes

Each API endpoint has a specific scope for access. This allows you to request only what you need from the user for your application.

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th style={{ textAlign: "left" }}>
        Scope
      </th>

      <th style={{ textAlign: "left" }}>
        Endpoint
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td style={{ textAlign: "left" }}>
        donations.create
      </td>

      <td style={{ textAlign: "left" }}>
        POST /donations
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        donations.read
      </td>

      <td style={{ textAlign: "left" }}>
        GET /donations
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        alerts.create
      </td>

      <td style={{ textAlign: "left" }}>
        POST /alerts
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        legacy.token
      </td>

      <td style={{ textAlign: "left" }}>
        GET /legacy/token
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        socket.token
      </td>

      <td style={{ textAlign: "left" }}>
        GET /socket/token
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        points.read
      </td>

      <td style={{ textAlign: "left" }}>
        GET /points
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        points.write
      </td>

      <td style={{ textAlign: "left" }}>
        POST /points/subtract\
        POST /points/import\
        POST /points/add\_to\_all
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        alerts.write
      </td>

      <td style={{ textAlign: "left" }}>
        POST /alerts/skip\
        POST /alerts/mute\_volume\
        POST /alerts/unmute\_volume\
        POST /alerts/pause\_queue\
        POST /alerts/unpause\_queue\
        POST /alerts/send\_test\_alert
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        credits.write
      </td>

      <td style={{ textAlign: "left" }}>
        POST /credits/roll
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        profiles.write
      </td>

      <td style={{ textAlign: "left" }}>
        GET /alert\_profiles/get\
        POST /alert\_profiles/activate
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        jar.write
      </td>

      <td style={{ textAlign: "left" }}>
        POST /jar/empty
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        wheel.write
      </td>

      <td style={{ textAlign: "left" }}>
        POST /wheel/spin
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        mediashare.control
      </td>

      <td style={{ textAlign: "left" }}>
        PUT media-share/play-media\
        PUT media-share/pause-media\
        PUT media-share/volume-up\
        PUT media-share/volume-down\
        PUT media-share/skip-video\
        PUT media-share/playback-video\
        PUT media-share/enable-requests\
        PUT media-share/disable-requests\
        PUT media-share/enable-autoplay\
        PUT media-share/disable-autoplay\
        PUT media-share/enable-autoshow\
        PUT media-share/disable-autoshow\
        PUT media-share/enable-moderation\
        PUT media-share/disable-moderation\
        PUT media-share/enable-backup\
        PUT media-share/disable-backup
      </td>
    </tr>
  </tbody>
</Table>