# Get bundle by projectId and bundleId

Retrieve created bundle and resources created.

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

## Security:

  - `BasicAuth` (unknown)
    http basic

  - `BearerAuth` (unknown)
    http bearer JWT

  - `OAuth2Production` (unknown)
    oauth2

## Path parameters:

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

  - `bundleId` (string, required)
    The unique ID of the bundle.

## Response 200:

  - `200` (unknown)
    Responds with the bundle created. At time of response the bundle might not be completed.

## Response 200 fields (application/json):

  - `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` (string, required)
    Current state.
    Enum: "DONE", "FAILED", "IN_PROGRESS"

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

  - `webhookDeliveryStatuses.webhookId` (string, required)

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

  - `webhookDeliveryStatuses.errorMessage` (string)

  - `webhookDeliveryStatuses.date` (string, required)

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

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

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

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

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

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

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

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

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

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

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

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

  - `smsApp.regions` (array, required)
    List of regions of the app.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

## Response 400:

  - `400` (unknown)
    BadRequest

## Response 400 fields (application/json):

  - `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: bundleId param is in the wrong format. Confirm that you're sending the correct value.

## Response 401:

  - `401` (unknown)
    Unauthorized

## 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 404:

  - `404` (unknown)
    NotFound

## Response 404 fields (application/json):

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

  - `message` (string)
    Human readable message.
    Example: Bundle not found.

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

## Response 500:

  - `500` (unknown)
    InternalServerError

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

## Response 200 examples:

  - `Pending response` (unknown)
    Response if the SMS App is not ready. This is the most likely response.

  - `Completed response` (unknown)
    Response if the SMS App is ready. The data is the same as the callback payload.

