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

# ACU-Verbrauch

> Fragen Sie den ACU-Verbrauch für das Team, Gruppen und einzelne Nutzer über einen historischen Zeitraum oder den aktuellen Abrechnungszeitraum ab.

<Info>
  Diese Dokumentation gilt für die Federal Deployments von Devin. [Zurück zur Devin-Dokumentation](/de/get-started/devin-intro)
</Info>

Fragen Sie den ACU-Verbrauch mit einer typisierten Anfrage am Analytics-Endpunkt ab. Die Antwort kann eine teamweite Gesamtsumme, Summen für bis zu 100 ausgewählte Gruppen sowie paginierte Zeilen pro Nutzer für das gesamte Team oder eine einzelne Gruppe enthalten.

```
POST https://<your-server>/api/v1/Analytics
```

Erfordert die Berechtigung **Analytics Read** und eine Team-Ebene mit Zugriff auf die Analytics-API. Details zu Authentifizierung, Paginierung und Fehlern finden Sie in der [API-Übersicht](/de/federal/api/overview). Informationen dazu, wie Verbrauch und Durchsetzung zusammenhängen, finden Sie unter [ACU-Limits](/de/federal/acu-limits).

<Note>
  Eine Anfrage kann entweder die hier beschriebene typisierte `acu_consumption_query` oder die benutzerdefinierte Legacy-Abfrage `query_requests` enthalten, jedoch nicht beides.
</Note>

***

<div id="request">
  ## Anfrage
</div>

<ParamField body="service_key" type="string" required>
  Ihr Service-Schlüssel mit der Berechtigung Analytics Read.
</ParamField>

<ParamField body="start_timestamp" type="string">
  Beginn eines historischen Zeitraums im RFC-3339-Format (zum Beispiel `2025-01-01T00:00:00Z`). Erforderlich für `historical`-Abfragen; bei `current_cycle`-Abfragen muss dieses Feld weggelassen werden.
</ParamField>

<ParamField body="end_timestamp" type="string">
  Ende eines historischen Zeitraums im RFC-3339-Format. Der Zeitraum schließt beide Endpunkte ein und darf höchstens 90 Tage umfassen.
</ParamField>

<ParamField body="acu_consumption_query" type="object" required>
  Die typisierte Abfrage des ACU-Verbrauchs.

  <Expandable title="Abfrageobjekt für den ACU-Verbrauch">
    <ParamField body="historical" type="object">
      Fragt einen historischen Zeitraum ab, der durch die übergeordneten Felder `start_timestamp` und `end_timestamp` definiert wird. Übergeben Sie ein leeres Objekt: `"historical": {}`. Genau eines der Felder `historical` oder `current_cycle` ist erforderlich.
    </ParamField>

    <ParamField body="current_cycle" type="object">
      Fragt die Nutzung im aktuellen Abrechnungszeitraum nahezu in Echtzeit ab. Übergeben Sie ein leeres Objekt: `"current_cycle": {}`. Die übergeordneten Zeitstempel müssen weggelassen werden.
    </ParamField>

    <ParamField body="include_team_total" type="boolean">
      Schließt die teamweite ACU-Gesamtsumme ein. Nicht für auf Gruppen beschränkte Schlüssel verfügbar.
    </ParamField>

    <ParamField body="group_ids" type="array">
      Bis zu 100 Gruppen-IDs, die als Gesamtsummen pro Gruppe einbezogen werden sollen. Unbekannte, teamfremde oder außerhalb des Geltungsbereichs liegende Gruppen geben `not_found` zurück. Ein auf eine Gruppe beschränkter Service-Schlüssel darf nur seine zugewiesene Gruppe anfordern.
    </ParamField>

    <ParamField body="user_scope" type="object">
      Fordert ACU-Zeilen pro Nutzer für einen Geltungsbereich an.

      <Expandable title="Objekt für den Nutzer-Geltungsbereich">
        <ParamField body="team" type="object">
          Zeilen pro Nutzer für das gesamte Team. Übergeben Sie ein leeres Objekt: `"team": {}`. Nicht für auf Gruppen beschränkte Schlüssel verfügbar.
        </ParamField>

        <ParamField body="group_id" type="string">
          Zeilen pro Nutzer für eine Gruppe. Die Gruppe muss auch in `group_ids` aufgeführt sein.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="page_size" type="integer">
      Nutzerzeilen pro Seite, 1–1.000. Standardmäßig 100.
    </ParamField>

    <ParamField body="page_token" type="string">
      Token aus dem `next_page_token` einer vorherigen Antwort. Alle anderen Abfragefelder müssen unverändert bleiben.
    </ParamField>
  </Expandable>
</ParamField>

<div id="response">
  ## Antwort
</div>

<ResponseField name="acu_consumption" type="object">
  <Expandable title="Ergebnis des ACU-Verbrauchs">
    <ResponseField name="team" type="object">
      Teamweite Ergebnisse. `total_acus` ist vorhanden, wenn `include_team_total` gesetzt wurde; `user_rows` wird ausgefüllt, wenn `user_scope.team` angefordert wurde.
    </ResponseField>

    <ResponseField name="groups" type="array">
      Ein Eintrag pro angeforderter Gruppe: `group_id`, `group_name`, `total_acus` und `user_rows` (wird für die in `user_scope.group_id` ausgewählte Gruppe ausgefüllt).
    </ResponseField>

    <ResponseField name="next_page_token" type="string">
      Vorhanden, wenn weitere Nutzerzeilen verfügbar sind. 24 Stunden gültig.
    </ResponseField>

    <ResponseField name="metadata" type="object">
      `period_start`, `period_end`, `generated_at`, `team_id`, die angeforderten `group_ids` und der `billing_mode` des Teams.
    </ResponseField>
  </Expandable>
</ResponseField>

Jede Nutzerzeile enthält:

| Feld             | Beschreibung                                                                                                                                                                                                           |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user_id`        | Stabile, nicht vertrauliche Nutzer-ID.                                                                                                                                                                                 |
| `email`          | Die E-Mail-Adresse des Nutzers, sofern verfügbar.                                                                                                                                                                      |
| `current_member` | Gibt an, ob der Nutzer derzeit ein aktives Teammitglied ist. Auf Gruppen beschränkte Zeilen werden anhand der aktuellen Gruppenmitgliedschaft ausgewählt, dieses Flag gibt jedoch weiterhin die Teammitgliedschaft an. |
| `total_acus`     | Vom Nutzer innerhalb des Zeitraums verbrauchte ACUs.                                                                                                                                                                   |

<div id="behavior">
  ## Verhalten
</div>

* **Die Gruppenzuordnung basiert auf der aktuellen Mitgliedschaft.** Gruppensummen und Nutzerzeilen für Gruppen geben wieder, wer aktuell Mitglied der Gruppe ist, nicht wer während des Zeitraums Mitglied war. Nutzer in mehreren angeforderten Gruppen werden in jeder dieser Gruppen gezählt.
* **Teamzeilen enthalten auch ehemalige Nutzer.** Auf Teams beschränkte Nutzerzeilen enthalten Nutzer, die das Team inzwischen verlassen haben oder nicht ermittelt werden konnten; ihr Flag `current_member` ist `false`.
* **Es werden nur Nutzer mit ACU-Nutzung angezeigt.** Nutzer ohne ACU-Verbrauch im Zeitraum werden nicht in den Nutzerzeilen aufgeführt.
* **Historische Daten und aktueller Abrechnungszyklus.** Historische Zeitfenster umfassen einschließlich bis zu 90 Tage erfasster Nutzung. `current_cycle` gibt die Nutzung des aktiven Abrechnungszeitraums nahezu in Echtzeit zurück; wenn für das Team keine Grenzen für einen aktiven Zyklus festgelegt sind, spiegeln die Zeitraumfelder in den Metadaten dies wider.
* **Konsistenz.** Summen und die Nutzerzeilen-Seite innerhalb einer einzelnen Antwort werden aus demselben konsistenten Snapshot berechnet.

<div id="examples">
  ## Beispiele
</div>

<div id="team-total-and-per-user-rows-for-the-current-cycle">
  ### Team-Gesamtsumme und Zeilen pro Nutzer für den aktuellen Abrechnungszeitraum
</div>

```bash theme={null}
curl -X POST https://<your-server>/api/v1/Analytics \
  -H "Content-Type: application/json" \
  -d '{
    "service_key": "your_service_key",
    "acu_consumption_query": {
      "current_cycle": {},
      "include_team_total": true,
      "user_scope": {"team": {}}
    }
  }'
```

```json theme={null}
{
  "acuConsumption": {
    "team": {
      "totalAcus": 1240.5,
      "userRows": [
        {"userId": "user_abc", "email": "dev@agency.gov", "currentMember": true, "totalAcus": 310.2}
      ]
    },
    "nextPageToken": "…",
    "metadata": {
      "periodStart": "2025-03-01T00:00:00Z",
      "periodEnd": "2025-03-14T18:22:05Z",
      "generatedAt": "2025-03-14T18:22:05Z",
      "teamId": "team_123",
      "billingMode": "ACU_CREDIT"
    }
  }
}
```

<div id="historical-per-group-breakdown">
  ### Historische Aufschlüsselung nach Gruppe
</div>

```bash theme={null}
curl -X POST https://<your-server>/api/v1/Analytics \
  -H "Content-Type: application/json" \
  -d '{
    "service_key": "your_service_key",
    "start_timestamp": "2025-01-01T00:00:00Z",
    "end_timestamp": "2025-03-31T23:59:59Z",
    "acu_consumption_query": {
      "historical": {},
      "group_ids": ["group_a", "group_b"],
      "user_scope": {"group_id": "group_a"}
    }
  }'
```

```json theme={null}
{
  "acuConsumption": {
    "groups": [
      {
        "groupId": "group_a",
        "groupName": "Engineering",
        "totalAcus": 512.0,
        "userRows": [
          {"userId": "user_abc", "email": "dev@agency.gov", "currentMember": true, "totalAcus": 96.4}
        ]
      },
      {"groupId": "group_b", "groupName": "Data Science", "totalAcus": 288.7}
    ],
    "metadata": {
      "periodStart": "2025-01-01T00:00:00Z",
      "periodEnd": "2025-03-31T23:59:59Z",
      "generatedAt": "2025-04-02T10:15:00Z",
      "teamId": "team_123",
      "groupIds": ["group_a", "group_b"],
      "billingMode": "ACU_CREDIT"
    }
  }
}
```
