---
title: "List bundles by projectId"
method: GET
path: "/v1/projects/{projectId}/bundles"
tags: ["Bundles"]
---

# List bundles by projectId

`GET /v1/projects/{projectId}/bundles`

Returns a paginated list of bundles for a given project, optionally filtered by SMS App IDs, Conversation App IDs, or bundle states. If no page token is supplied then the first `10` will be returned.

## Path parameters

- `projectId` string, required

## Query parameters

- `pageToken` string
- `pageSize` number
- `filterConvAppIds` string[]
- `filterSmsAppIds` string[]
- `filterStates` string[]

## Response `200`

List of bundles

- BundlesListBundlesDto
  - `totalSize` number, required — Total size of the entries matching the search query.
  - `pageSize` number, required — Requested size of the page.
  - `previousPageToken` string — Encoded token to use in list request to fetch previous batch of entries.
  - `nextPageToken` string — Encoded token to use in list request to fetch next batch of entries.
  - `bundles` BundlesBundlesDto[], required — List of bundles.
    - `id` string, required — Id of bundle created.
    - `projectId` string, required — The project or subproject id where resources have been created.
    - `name` string — Name of bundle created. If a name was not specified in the resource blocks then they were created with this name.
    - `state` 'DONE' | 'FAILED' | 'IN_PROGRESS', required — Current state.
    - `webhookDeliveryStatuses` BundlesWebhookDeliveryStatusDto[] — List delivery statuses for all BUNDLE_DONE webhooks.
      - `webhookId` string, required
      - `httpStatusCode` 100 | 101 | 102 | 103 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 226 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 429 | 431 | 451 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, required
      - `errorMessage` string
      - `date` string, required
    - `region` 'BR' | 'EU' | 'US', required — Region resources were create in.
    - `subproject` BundlesSubprojectDto
      - `id` string, required — Subproject id.
      - `name` string, required — Name of Subproject.
      - `labels` object — Project labels, if provided.
      - `parentProjectId` string, required — Parent project id which the subproject is associated with.
      - `status` 'PENDING' | 'READY', required — Status of subproject.
    - `smsApp` BundlesBundlesSmsAppDto
      - `id` string, required — SMS App id.
      - `smsServiceId` string, required — Id of the SMS Service which the SMS App belongs to.
      - `name` string, required — Name of SMS App.
      - `status` 'ACTIVE' | 'BLOCKED' | 'DELETED' | 'DEPROVISIONING' | 'DEPROVISIONING_FAILED' | 'FAILED_ADD' | 'FAILED_BLOCK' | 'FAILED_DELETE' | 'FAILED_UNBLOCK' | 'FAILED_UPDATE' | 'IN_PROGRESS_ADD' | 'IN_PROGRESS_BLOCK' | 'IN_PROGRESS_DELETE' | 'IN_PROGRESS_UNBLOCK' | 'IN_PROGRESS_UPDATE' | 'PENDING_ADD' | 'PENDING_BLOCK' | 'PENDING_DELETE' | 'PENDING_UNBLOCK' | 'PENDING_UPDATE' | 'PROVISIONING' | 'PROVISIONING_ADD' | 'PROVISIONING_ADD_FAILED' | 'PROVISIONING_BLOCK' | 'PROVISIONING_BLOCK_FAILED' | 'PROVISIONING_FAILED' | 'PROVISIONING_UNBLOCK' | 'PROVISIONING_UNBLOCK_FAILED' | 'PROVISIONING_UPDATE' | 'PROVISIONING_UPDATE_FAILED' | 'STATUS_UNSPECIFIED' | 'UNRECOGNIZED', required — Status of SMS App.
      - `regions` string[], required — List of regions of the app.
      - `test` boolean, required — True if the app is a test app.
    - `convApp` BundlesConversationAppDto
      - `id` string, required — Conversation App id.
      - `name` string, required — Name of Conversation App.
      - `webhooks` BundlesConversationAppWebhooksDto[] — List all webhooks for a given app.
        - `id` string, required — The ID of the webhook.
        - `target` string, required — The target url where events should be sent to.
        - `triggers` string[], required — An array of triggers that should trigger the webhook and result in an event being sent to the target url.
        - `secret` string — Optional secret used to sign contents of webhooks sent by the Conversation API. You can then use the secret to verify the signature.
      - `processingMode` 'CONVERSATION' | 'DISPATCH' | 'UNRECOGNIZED' | 'UNSPECIFIED', required — Conversation API processing mode.
      - `retentionPolicy` BundlesConversationAppRetentionPolicyDto
        - `retentionPolicyType` 'CONVERSATION_EXPIRE_POLICY' | 'MESSAGE_EXPIRE_POLICY' | 'PERSIST_RETENTION_POLICY' | 'UNRECOGNIZED', required — Conversation API retention policy type.
        - `ttl` number — Conversation API retention time in days.
      - `consentManagerSettings` BundlesConversationAppConsentManagerSettingsDto
        - `mode` 'DISABLED' | 'PRIMARY' | 'SECONDARY' | 'UNRECOGNIZED', required — Conversation API consent manager settings mode.
      - `smsChannelStatus` 'ACTIVE' | 'FAILING' | 'PENDING' | 'UNRECOGNIZED' — Status of the SMS channel credentials integration.
    - `webhooks` BundlesWebhookDto[] — Webhooks registered, if requested.
      - `id` string, required — The ID of the webhook.
      - `target` string, required — The target url where events will be sent to.
      - `projectId` string, required — The project that this webhook belongs to.
      - `triggers` string[], required — List of triggers this webhook is triggered by.

## Other responses

- `400` — BadRequest
- `401` — Unauthorized
- `500` — InternalServerError

---

[API](https://skmtc.net/sinch/apis/provisioning-api.md) · [All operations](https://skmtc.net/sinch/apis/provisioning-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sinch/provisioning-api/revisions/c78a716de420/schema)
