---
title: "SDK build completed"
method: POST
path: "sdk.build.completed"
tags: ["webhooks"]
---

# SDK build completed

`POST sdk.build.completed` (webhook)

Sent when every language target of an SDK build has settled. `status` is `succeeded` when all targets generated, `failed` when none did, and `partial` in between. This does not mean the SDK reached the customer's repository — git sync settles after the build.

## Headers

- `scalar-event` string, required
- `scalar-delivery` string, required
- `scalar-signature` string, required

## Payload

- SdkBuildCompletedEvent
  - `event` 'sdk.build.completed', required
  - `createdAt` number, required
  - `data` object, required
    - `buildUid` string, required
    - `status` 'succeeded' | 'partial' | 'failed', required
    - `sdk` object, required
      - `uid` string, required
      - `namespace` string, required
      - `slug` string, required
      - `version` string, required
    - `api` object, nullable, required
      - `namespace` string, required
      - `slug` string, required
      - `version` string, required
    - `targets` object[], required
      - `language` string, required
      - `slug` string, required
      - `status` 'pending' | 'error' | 'generated', required
      - `message` string, nullable, required

## Acknowledgement `200`

Return any 2xx to acknowledge. Anything else is retried, and repeated failures disable the endpoint.

---

[API](https://skmtc.dev/scalar/apis/core.md) · [All operations](https://skmtc.dev/scalar/apis/core/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/scalar/core/revisions/3095882242e8/schema)
