# List bundles by projectId

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.

Endpoint: GET /v1/projects/{projectId}/bundles
Version: 1.2.91
Security: BasicAuth, BearerAuth, OAuth2Production

## Path parameters:

  - `projectId` (string, required)
    The unique ID of the project. You can find this on the Sinch Dashboard.

## Query parameters:

  - `pageToken` (string)
    The page token if retrieving the next page from a previous query.

  - `pageSize` (number)
    The page size requested.

  - `filterConvAppIds` (array)
    Optional query for filtering by Conversation App IDs.

  - `filterSmsAppIds` (array)
    Optional query for filtering by SMS App IDs.

  - `filterStates` (array)
    Optional query for filtering by bundle states.
    Enum: "DONE", "FAILED", "IN_PROGRESS"

## Response 200 fields (application/json):

  - `totalSize` (number, required)
    Total size of the entries matching the search query.

  - `pageSize` (number, required)
    Requested size of the page.

  - `bundles` (array, required)
    List of bundles.

  - `bundles.id` (string, required)
    Id of bundle created.

  - `bundles.projectId` (string, required)
    The project or subproject id where resources have been created.

  - `bundles.state` (string, required)
    Current state.
    Enum: same as `filterStates` (3 values)

  - `bundles.region` (string, required)
    Region resources were create in.
    Enum: "BR", "EU", "US"

  - `bundles.name` (string)
    Name of bundle created. If a name was not specified in the resource blocks then they were created with this name.

  - `bundles.webhookDeliveryStatuses` (array)
    List delivery statuses for all BUNDLE_DONE webhooks.

  - `bundles.webhookDeliveryStatuses.webhookId` (string, required)

  - `bundles.webhookDeliveryStatuses.httpStatusCode` (number, required)
    Enum: 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

  - `bundles.webhookDeliveryStatuses.date` (string, required)

  - `bundles.webhookDeliveryStatuses.errorMessage` (string)

  - `bundles.subproject` (object)
    Subproject created, if requested.

  - `bundles.subproject.id` (string, required)
    Subproject id.

  - `bundles.subproject.name` (string, required)
    Name of Subproject.

  - `bundles.subproject.parentProjectId` (string, required)
    Parent project id which the subproject is associated with.

  - `bundles.subproject.status` (string, required)
    Status of subproject.
    Enum: "PENDING", "READY"

  - `bundles.subproject.labels` (object)
    Project labels, if provided.

  - `bundles.smsApp` (object)
    SMS App created, if requested.

  - `bundles.smsApp.id` (string, required)
    SMS App id.

  - `bundles.smsApp.smsServiceId` (string, required)
    Id of the SMS Service which the SMS App belongs to.

  - `bundles.smsApp.name` (string, required)
    Name of SMS App.

  - `bundles.smsApp.status` (string, required)
    Status of SMS App.
    Enum: "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"

  - `bundles.smsApp.regions` (array, required)
    List of regions of the app.
    Enum: "AU", "BR", "CA", "EU", "US", "UNRECOGNIZED"

  - `bundles.smsApp.test` (boolean, required)
    True if the app is a test app.

  - `bundles.convApp` (object)
    Conversation App created, if requested.

  - `bundles.convApp.id` (string, required)
    Conversation App id.

  - `bundles.convApp.name` (string, required)
    Name of Conversation App.

  - `bundles.convApp.processingMode` (string, required)
    Conversation API processing mode.
    Enum: "CONVERSATION", "DISPATCH", "UNRECOGNIZED", "UNSPECIFIED"

  - `bundles.convApp.webhooks` (array)
    List all webhooks for a given app.

  - `bundles.convApp.webhooks.id` (string, required)
    The ID of the webhook.

  - `bundles.convApp.webhooks.target` (string, required)
    The target url where events should be sent to.

  - `bundles.convApp.webhooks.triggers` (array, required)
    An array of triggers that should trigger the webhook and result in an event being sent to the target url.

  - `bundles.convApp.webhooks.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.

  - `bundles.convApp.retentionPolicy` (object)
    Conversation API retention policy for messages and conversations.

  - `bundles.convApp.retentionPolicy.retentionPolicyType` (string, required)
    Conversation API retention policy type.
    Enum: "CONVERSATION_EXPIRE_POLICY", "MESSAGE_EXPIRE_POLICY", "PERSIST_RETENTION_POLICY", "UNRECOGNIZED"

  - `bundles.convApp.retentionPolicy.ttl` (number)
    Conversation API retention time in days.

  - `bundles.convApp.consentManagerSettings` (object)
    Conversation API consent manager settings.

  - `bundles.convApp.consentManagerSettings.mode` (string, required)
    Conversation API consent manager settings mode.
    Enum: "DISABLED", "PRIMARY", "SECONDARY", "UNRECOGNIZED"

  - `bundles.convApp.smsChannelStatus` (string)
    Status of the SMS channel credentials integration.
    Enum: "ACTIVE", "FAILING", "PENDING", "UNRECOGNIZED"

  - `bundles.webhooks` (array)
    Webhooks registered, if requested.

  - `bundles.webhooks.id` (string, required)
    The ID of the webhook.

  - `bundles.webhooks.target` (string, required)
    The target url where events will be sent to.

  - `bundles.webhooks.projectId` (string, required)
    The project that this webhook belongs to.

  - `bundles.webhooks.triggers` (array, required)
    List of triggers this webhook is triggered by.

  - `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.

## Response 400 fields (application/json):

  - `body` (InvalidPageTokenErrorTitle (object) or InvalidPageSizeErrorTitle (object) or InvalidIdFormatErrorTitle (object)) — one of:
    - InvalidPageTokenErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "invalid_page_token"
      - `message` (string)
        Human readable message.
        Example: "Invalid page token."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "The page token to use is provided in the previous query response, for new queries simply leave this field undefined."
    - InvalidPageSizeErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "invalid_page_size"
      - `message` (string)
        Human readable message.
        Example: "Page size must be numeric."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "Use a integer value for pageSize parameter."
    - InvalidIdFormatErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "invalid_id_format"
      - `message` (string)
        Human readable message.
        Example: "Id is not in the expected format."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "projectId param is in the wrong format. Confirm that you're sending the correct value."

## Response 401 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: "unauthorized_error"

  - `message` (string)
    Human readable message.
    Example: "Unauthorized error."

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: "Verify that projectId is correct."

## Response 500 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: "internal_error"

  - `message` (string)
    Human readable message.
    Example: "Internal server error."

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: "Please wait and try again, if the error persist please contact support."


