# UserPlanCreated

Fired when a user plan is created and provisioning starts.

> Enterprise API · https://developer.telgea.com/docs/enterprise/webhooks/user-plan-created

## UserPlanCreated [#userplancreated]

Fired when a user plan is created and provisioning starts. The plan exists but is not active yet: the number and eSIM are still being set up. [UserPlanActive](https://developer.telgea.com/docs/enterprise/webhooks/user-plan-active) follows when the line is in service.

It fires once for each local number the user takes: a user given a second local number gets a second `UserPlanCreated` when that number starts provisioning.

## Payload [#payload]

```json event=UserPlanCreated
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "eventType": "UserPlanCreated",
  "timestamp": "2026-03-25T14:30:00.000Z",
  "organizationId": "b5e2d7f3-a1c4-4e89-9f6b-3d8a7c5e1024",
  "data": {
    "userId": "d4e5f6a7-b8c9-0123-d456-789012345678",
    "status": "PROVISIONING",
    "localNumbers": [
      {
        "numberId": "f7a8b9c0-d1e2-3456-f789-012345678901",
        "type": "local",
        "phoneNumber": null,
        "countryCode": "DK",
        "sim": null
      }
    ]
  }
}
```

| Field          | Type       | Description                                                                              |
| -------------- | ---------- | ---------------------------------------------------------------------------------------- |
| `userId`       | `string`   | UUID of the user the plan was created for                                                |
| `status`       | `string`   | Always `PROVISIONING`                                                                    |
| `localNumbers` | `object[]` | Every local number the user holds, oldest first, including the one starting to provision |

Each item of `localNumbers` holds `numberId`, `type` (always `local`), `phoneNumber` (E.164, or `null` until the number has one), `countryCode`, and `sim` (`null` until the eSIM exists), as in [UserPlanActive](https://developer.telgea.com/docs/enterprise/webhooks/user-plan-active).

The payload also carries other fields of the plan. Rely only on the three above: the rest may change without notice. Read the plan itself from [`GET /v1/user-plans/{userId}`](https://developer.telgea.com/docs/enterprise/api/user-plans#get-user-plan-details).
