Skip to content

Delete a project group

Deletes the Forge project group Forge knows by client_id. Call it when the group is deleted in Forge.

  • Groups inside it move up to its parent. Each one's parent_client_id becomes the deleted group's parent (or null at the top), so what it inherits stays defined: a group that followed the deleted group's organization now follows its new parent's, or bills to no organization.
  • Spend already billed stays where it was billed. It stays on the organization it was billed to and keeps showing the group's name on that organization's usage report. A server rented inside the group keeps naming it in project_group and stays billed to the organization it was rented in.
  • From now on the group is unknown. It is left out of List project groups, and a billable call that still names its client_id (renting a server, the git impact assessment) is treated as naming no group. Registering the same client_id again brings it back, with what that call sends.

The answer is the whole list, exactly as List project groups returns it, so every group that moved shows its new parent and organization at once. It names no organization and requires a credential that acts for a person (a bearer token, or a key belonging to a person). Only your own groups can be deleted; anyone else's is not found.

DELETEhttps://api.aitronos.com/v1/forge/project-groups/{client_id}

Path Parameters

client_id string required

Forge's own id for the project group: 1 to 128 characters after surrounding spaces are removed, without control characters. An id that cannot be read is refused with VALIDATION_ERROR (details.reason invalid_client_id).


Returns

The whole list, exactly as List project groups returns it, without the deleted group. Here grp-clients was deleted: Acme Shop, which sat inside it and inherited its organization, moved to the top and now bills to no organization.

{
  "title": "Bill to",
  "help": "Forge spend inside this group's projects is billed to this organization: rented servers and Forge's AI features. Groups inside it follow it unless they choose their own.",
  "unassigned_label": "Not billed to an organization",
  "organizations": [
    {
      "id": "org_3c1e9a7b5d2f4e8a9b0c6d1e2f3a4b5c",
      "name": "Acme Engineering",
      "logo_url": "https://cdn.example.com/logos/acme.png",
      "selectable": true,
      "reason": null,
      "order": 0
    }
  ],
  "groups": [
    {
      "id": "fpgrp_9d3a6e1c5b7f4a2e8c0d4b6f1a3e5c7d",
      "client_id": "grp-acme-shop",
      "name": "Acme Shop",
      "parent_id": null,
      "parent_client_id": null,
      "organization": null,
      "own_organization": null,
      "inherited": false,
      "inherited_from": null,
      "billing_label": "Not billed to an organization",
      "reason": null,
      "month_to_date_label": "CHF 3.10 this month",
      "created_at": "2026-10-09T08:12:04.902114Z",
      "updated_at": "2026-10-09T10:41:17.205583Z"
    }
  ]
}

Errors

StatusCodeWhen
401AUTHENTICATION_REQUIREDNo valid credential.
403API_KEY_PERSON_REQUIREDAn organization API key: it has no person of its own.
404FORGE_PROJECT_GROUP_NOT_FOUNDYou have no registered group with this client_id: it was never registered, it is already deleted, or it is someone else's. details.client_id is the id sent.
422VALIDATION_ERRORclient_id cannot be read (details.reason invalid_client_id).
cURL
curl -X DELETE "https://api.aitronos.com/v1/forge/project-groups/grp-clients" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Response:

{
  "title": "Bill to",
  "help": "Forge spend inside this group's projects is billed to this organization: rented servers and Forge's AI features. Groups inside it follow it unless they choose their own.",
  "unassigned_label": "Not billed to an organization",
  "organizations": [
    {
      "id": "org_3c1e9a7b5d2f4e8a9b0c6d1e2f3a4b5c",
      "name": "Acme Engineering",
      "logo_url": "https://cdn.example.com/logos/acme.png",
      "selectable": true,
      "reason": null,
      "order": 0
    }
  ],
  "groups": [
    {
      "id": "fpgrp_9d3a6e1c5b7f4a2e8c0d4b6f1a3e5c7d",
      "client_id": "grp-acme-shop",
      "name": "Acme Shop",
      "parent_id": null,
      "parent_client_id": null,
      "organization": null,
      "own_organization": null,
      "inherited": false,
      "inherited_from": null,
      "billing_label": "Not billed to an organization",
      "reason": null,
      "month_to_date_label": "CHF 3.10 this month",
      "created_at": "2026-10-09T08:12:04.902114Z",
      "updated_at": "2026-10-09T10:41:17.205583Z"
    }
  ]
}