---
title: "List all apps for a given project"
method: GET
path: "/v1/projects/{project_id}/apps"
tags: ["App"]
---

# List all apps for a given project

`GET /v1/projects/{project_id}/apps`

Get a list of all apps in the specified project.

## Response `200`

A successful response.

- ListAppsResponse
  - `apps` AppResponse[] — List of apps belonging to a specific project ID.
    - `channel_credentials` ConversationChannelCredentials[]
      - union
        - object — Enables access to the underlying messaging channel.
          - `static_bearer` object — This object is required for channels which use a bearer-type of credential for authentication.
            - `claimed_identity` string, required — The claimed identity for the channel.
            - `token` string, password, required — The static bearer token for the channel.
          - `callback_secret` string, password — The secret used to verify the channel callbacks for channels which support callback verification. The callback verification is not needed for Sinch-managed channels because the callbacks are not leaving Sinch internal networks. Max length is 256 characters. Note: leaving channel_callback_secret empty for channels with callback verification will disable the verification.
          - `channel` 'SMS' | 'RCS' | 'WHATSAPP' | 'MMS' | 'KAKAOTALK' | 'KAKAOTALKCHAT' | 'VIBERBM' | 'LINE' | 'INSTAGRAM' | 'MESSENGER' | 'WECHAT' | 'TELEGRAM' | 'APPLEBC' — The identifier of the channel you want to include. Must be one of the enum values.
          - `state` ChannelIntegrationState — State of the channel credentials integration.
            - `status` 'PENDING' | 'ACTIVE' | 'FAILING', required — Status of the channel credentials integration
            - `description` string — Description in case the integration fails
          - `channel_known_id` string — Additional identifier set by the channel that represents an specific id used by the channel.
          - `credential_ordinal_number` integer — The ordinal number of the credential. This field is used when the application supports multiple credential integrations per channel. Currently, this is only applicable to the `LINE` channel. For other channels, this value will always be set to `0`. In the case in which there are multiple credential integrations per channel on a single app, this field must have a unique value for each multi-credential channel entry.
        - object — Enables access to the underlying messaging channel.
          - `static_token` object — This object is required for channels which use a static token credential for authentication.
            - `token` string, password, required — The static token for the channel.
          - `callback_secret` string, password — The secret used to verify the channel callbacks for channels which support callback verification. The callback verification is not needed for Sinch-managed channels because the callbacks are not leaving Sinch internal networks. Max length is 256 characters. Note: leaving channel_callback_secret empty for channels with callback verification will disable the verification.
          - `channel` 'SMS' | 'RCS' | 'WHATSAPP' | 'MMS' | 'KAKAOTALK' | 'KAKAOTALKCHAT' | 'VIBERBM' | 'LINE' | 'INSTAGRAM' | 'MESSENGER' | 'WECHAT' | 'TELEGRAM' | 'APPLEBC' — The identifier of the channel you want to include. Must be one of the enum values.
          - `state` ChannelIntegrationState — State of the channel credentials integration.
            - `status` 'PENDING' | 'ACTIVE' | 'FAILING', required — Status of the channel credentials integration
            - `description` string — Description in case the integration fails
          - `channel_known_id` string — Additional identifier set by the channel that represents an specific id used by the channel.
          - `credential_ordinal_number` integer — The ordinal number of the credential. This field is used when the application supports multiple credential integrations per channel. Currently, this is only applicable to the `LINE` channel. For other channels, this value will always be set to `0`. In the case in which there are multiple credential integrations per channel on a single app, this field must have a unique value for each multi-credential channel entry.
        - object — Enables access to the underlying messaging channel.
          - `mms_credentials` object — If you are including the MMS channel in the `channel_identifier` property, you must include this object.
            - `account_id` string, required — MMS Account ID.
            - `api_key` string, required — MMS API Key.
            - `basic_auth` BasicAuthCredentials — It consists of a username and a password.
              - …
          - `callback_secret` string, password — The secret used to verify the channel callbacks for channels which support callback verification. The callback verification is not needed for Sinch-managed channels because the callbacks are not leaving Sinch internal networks. Max length is 256 characters. Note: leaving channel_callback_secret empty for channels with callback verification will disable the verification.
          - `channel` 'SMS' | 'RCS' | 'WHATSAPP' | 'MMS' | 'KAKAOTALK' | 'KAKAOTALKCHAT' | 'VIBERBM' | 'LINE' | 'INSTAGRAM' | 'MESSENGER' | 'WECHAT' | 'TELEGRAM' | 'APPLEBC' — The identifier of the channel you want to include. Must be one of the enum values.
          - `state` ChannelIntegrationState — State of the channel credentials integration.
            - `status` 'PENDING' | 'ACTIVE' | 'FAILING', required — Status of the channel credentials integration
            - `description` string — Description in case the integration fails
          - `channel_known_id` string — Additional identifier set by the channel that represents an specific id used by the channel.
          - `credential_ordinal_number` integer — The ordinal number of the credential. This field is used when the application supports multiple credential integrations per channel. Currently, this is only applicable to the `LINE` channel. For other channels, this value will always be set to `0`. In the case in which there are multiple credential integrations per channel on a single app, this field must have a unique value for each multi-credential channel entry.
        - object — Enables access to the underlying messaging channel.
          - `kakaotalk_credentials` object — If you are including the KakaoTalk channel in the `channel_identifier` property, you must include this object.
            - `kakaotalk_plus_friend_id` string, required — KakaoTalk Business Channel ID.
            - `kakaotalk_sender_key` string, required — KakaoTalk Sender Key.
          - `callback_secret` string, password — The secret used to verify the channel callbacks for channels which support callback verification. The callback verification is not needed for Sinch-managed channels because the callbacks are not leaving Sinch internal networks. Max length is 256 characters. Note: leaving channel_callback_secret empty for channels with callback verification will disable the verification.
          - `channel` 'SMS' | 'RCS' | 'WHATSAPP' | 'MMS' | 'KAKAOTALK' | 'KAKAOTALKCHAT' | 'VIBERBM' | 'LINE' | 'INSTAGRAM' | 'MESSENGER' | 'WECHAT' | 'TELEGRAM' | 'APPLEBC' — The identifier of the channel you want to include. Must be one of the enum values.
          - `state` ChannelIntegrationState — State of the channel credentials integration.
            - `status` 'PENDING' | 'ACTIVE' | 'FAILING', required — Status of the channel credentials integration
            - `description` string — Description in case the integration fails
          - `channel_known_id` string — Additional identifier set by the channel that represents an specific id used by the channel.
          - `credential_ordinal_number` integer — The ordinal number of the credential. This field is used when the application supports multiple credential integrations per channel. Currently, this is only applicable to the `LINE` channel. For other channels, this value will always be set to `0`. In the case in which there are multiple credential integrations per channel on a single app, this field must have a unique value for each multi-credential channel entry.
        - object — Enables access to the underlying messaging channel.
          - `telegram_credentials` object — If you are including the Telegram Bot channel in the `channel_identifier` property, you must include this object.
            - `token` string, password, required — The token for the Telegram bot to which you are connecting.
          - `callback_secret` string, password — The secret used to verify the channel callbacks for channels which support callback verification. The callback verification is not needed for Sinch-managed channels because the callbacks are not leaving Sinch internal networks. Max length is 256 characters. Note: leaving channel_callback_secret empty for channels with callback verification will disable the verification.
          - `channel` 'SMS' | 'RCS' | 'WHATSAPP' | 'MMS' | 'KAKAOTALK' | 'KAKAOTALKCHAT' | 'VIBERBM' | 'LINE' | 'INSTAGRAM' | 'MESSENGER' | 'WECHAT' | 'TELEGRAM' | 'APPLEBC' — The identifier of the channel you want to include. Must be one of the enum values.
          - `state` ChannelIntegrationState — State of the channel credentials integration.
            - `status` 'PENDING' | 'ACTIVE' | 'FAILING', required — Status of the channel credentials integration
            - `description` string — Description in case the integration fails
          - `channel_known_id` string — Additional identifier set by the channel that represents an specific id used by the channel.
          - `credential_ordinal_number` integer — The ordinal number of the credential. This field is used when the application supports multiple credential integrations per channel. Currently, this is only applicable to the `LINE` channel. For other channels, this value will always be set to `0`. In the case in which there are multiple credential integrations per channel on a single app, this field must have a unique value for each multi-credential channel entry.
        - object — Enables access to the underlying messaging channel.
          - `line_credentials` object — If the `channel` property is set to `LINE` for this entry of the `channel_credentials` array, you must include either the `line_credentials` object or the `line_enterprise_credentials` object in the entry as well.
            - `token` string, required — The token for the LINE channel to which you are connecting.
            - `secret` string, password, required — The secret for the LINE channel to which you are connecting.
            - `is_default` boolean — When an app contains multiple LINE or LINE Enterprise credentials, one of the credentials needs to be defined as the default. Setting this property to `true` marks the corresponding credentials as the default credentials.
          - `callback_secret` string, password — The secret used to verify the channel callbacks for channels which support callback verification. The callback verification is not needed for Sinch-managed channels because the callbacks are not leaving Sinch internal networks. Max length is 256 characters. Note: leaving channel_callback_secret empty for channels with callback verification will disable the verification.
          - `channel` 'SMS' | 'RCS' | 'WHATSAPP' | 'MMS' | 'KAKAOTALK' | 'KAKAOTALKCHAT' | 'VIBERBM' | 'LINE' | 'INSTAGRAM' | 'MESSENGER' | 'WECHAT' | 'TELEGRAM' | 'APPLEBC' — The identifier of the channel you want to include. Must be one of the enum values.
          - `state` ChannelIntegrationState — State of the channel credentials integration.
            - `status` 'PENDING' | 'ACTIVE' | 'FAILING', required — Status of the channel credentials integration
            - `description` string — Description in case the integration fails
          - `channel_known_id` string — Additional identifier set by the channel that represents an specific id used by the channel.
          - `credential_ordinal_number` integer — The ordinal number of the credential. This field is used when the application supports multiple credential integrations per channel. Currently, this is only applicable to the `LINE` channel. For other channels, this value will always be set to `0`. In the case in which there are multiple credential integrations per channel on a single app, this field must have a unique value for each multi-credential channel entry.
        - object — Enables access to the underlying messaging channel.
          - `line_enterprise_credentials` union
            - object — If the `channel` property is set to `LINE` for this entry of the `channel_credentials` array, you must include either the `line_credentials` object or the `line_enterprise_credentials` object in the entry as well.
              - …
            - object — If the `channel` property is set to `LINE` for this entry of the `channel_credentials` array, you must include either the `line_credentials` object or the `line_enterprise_credentials` object in the entry as well.
              - …
          - `callback_secret` string, password — The secret used to verify the channel callbacks for channels which support callback verification. The callback verification is not needed for Sinch-managed channels because the callbacks are not leaving Sinch internal networks. Max length is 256 characters. Note: leaving channel_callback_secret empty for channels with callback verification will disable the verification.
          - `channel` 'SMS' | 'RCS' | 'WHATSAPP' | 'MMS' | 'KAKAOTALK' | 'KAKAOTALKCHAT' | 'VIBERBM' | 'LINE' | 'INSTAGRAM' | 'MESSENGER' | 'WECHAT' | 'TELEGRAM' | 'APPLEBC' — The identifier of the channel you want to include. Must be one of the enum values.
          - `state` ChannelIntegrationState — State of the channel credentials integration.
            - `status` 'PENDING' | 'ACTIVE' | 'FAILING', required — Status of the channel credentials integration
            - `description` string — Description in case the integration fails
          - `channel_known_id` string — Additional identifier set by the channel that represents an specific id used by the channel.
          - `credential_ordinal_number` integer — The ordinal number of the credential. This field is used when the application supports multiple credential integrations per channel. Currently, this is only applicable to the `LINE` channel. For other channels, this value will always be set to `0`. In the case in which there are multiple credential integrations per channel on a single app, this field must have a unique value for each multi-credential channel entry.
        - object — Enables access to the underlying messaging channel.
          - `wechat_credentials` object — If you are including the WeChat channel in the `channel_identifier` property, you must include this object.
            - `app_id` string, required — The AppID(Developer ID) for the WeChat channel to which you are connecting.
            - `app_secret` string, password, required — The AppSecret(Developer Password) for the WeChat channel to which you are connecting.
            - `token` string, required — The Token for the WeChat channel to which you are connecting.
            - `aes_key` string, required — The Encoding AES Key for the WeChat channel to which you are connecting.
          - `callback_secret` string, password — The secret used to verify the channel callbacks for channels which support callback verification. The callback verification is not needed for Sinch-managed channels because the callbacks are not leaving Sinch internal networks. Max length is 256 characters. Note: leaving channel_callback_secret empty for channels with callback verification will disable the verification.
          - `channel` 'SMS' | 'RCS' | 'WHATSAPP' | 'MMS' | 'KAKAOTALK' | 'KAKAOTALKCHAT' | 'VIBERBM' | 'LINE' | 'INSTAGRAM' | 'MESSENGER' | 'WECHAT' | 'TELEGRAM' | 'APPLEBC' — The identifier of the channel you want to include. Must be one of the enum values.
          - `state` ChannelIntegrationState — State of the channel credentials integration.
            - `status` 'PENDING' | 'ACTIVE' | 'FAILING', required — Status of the channel credentials integration
            - `description` string — Description in case the integration fails
          - `channel_known_id` string — Additional identifier set by the channel that represents an specific id used by the channel.
          - `credential_ordinal_number` integer — The ordinal number of the credential. This field is used when the application supports multiple credential integrations per channel. Currently, this is only applicable to the `LINE` channel. For other channels, this value will always be set to `0`. In the case in which there are multiple credential integrations per channel on a single app, this field must have a unique value for each multi-credential channel entry.
        - object — Enables access to the underlying messaging channel.
          - `instagram_credentials` object — If you are including the INSTAGRAM channel in the `channel_identifier` property, you must include this object.
            - `token` string, password, required — The static token.
            - `business_account_id` string — Required if using the Sinch Facebook App.
          - `callback_secret` string, password — The secret used to verify the channel callbacks for channels which support callback verification. The callback verification is not needed for Sinch-managed channels because the callbacks are not leaving Sinch internal networks. Max length is 256 characters. Note: leaving channel_callback_secret empty for channels with callback verification will disable the verification.
          - `channel` 'SMS' | 'RCS' | 'WHATSAPP' | 'MMS' | 'KAKAOTALK' | 'KAKAOTALKCHAT' | 'VIBERBM' | 'LINE' | 'INSTAGRAM' | 'MESSENGER' | 'WECHAT' | 'TELEGRAM' | 'APPLEBC' — The identifier of the channel you want to include. Must be one of the enum values.
          - `state` ChannelIntegrationState — State of the channel credentials integration.
            - `status` 'PENDING' | 'ACTIVE' | 'FAILING', required — Status of the channel credentials integration
            - `description` string — Description in case the integration fails
          - `channel_known_id` string — Additional identifier set by the channel that represents an specific id used by the channel.
          - `credential_ordinal_number` integer — The ordinal number of the credential. This field is used when the application supports multiple credential integrations per channel. Currently, this is only applicable to the `LINE` channel. For other channels, this value will always be set to `0`. In the case in which there are multiple credential integrations per channel on a single app, this field must have a unique value for each multi-credential channel entry.
        - object — Enables access to the underlying messaging channel.
          - `applebc_credentials` object — If you are including the AppleBC channel in the `channel_identifier` property, you must include this object.
            - `business_chat_account_id` string, required — The ID that identifies a Business Chat Account (BCA).
            - `merchant_id` string — Merchant ID, required if our client wants to use Apple Pay.
            - `apple_pay_certificate_reference` string — Certificate reference, required if our client wants to use Apple Pay.
            - `apple_pay_certificate_password` string, password — Certificate password, required if our client wants to use Apple Pay.
          - `callback_secret` string, password — The secret used to verify the channel callbacks for channels which support callback verification. The callback verification is not needed for Sinch-managed channels because the callbacks are not leaving Sinch internal networks. Max length is 256 characters. Note: leaving channel_callback_secret empty for channels with callback verification will disable the verification.
          - `channel` 'SMS' | 'RCS' | 'WHATSAPP' | 'MMS' | 'KAKAOTALK' | 'KAKAOTALKCHAT' | 'VIBERBM' | 'LINE' | 'INSTAGRAM' | 'MESSENGER' | 'WECHAT' | 'TELEGRAM' | 'APPLEBC' — The identifier of the channel you want to include. Must be one of the enum values.
          - `state` ChannelIntegrationState — State of the channel credentials integration.
            - `status` 'PENDING' | 'ACTIVE' | 'FAILING', required — Status of the channel credentials integration
            - `description` string — Description in case the integration fails
          - `channel_known_id` string — Additional identifier set by the channel that represents an specific id used by the channel.
          - `credential_ordinal_number` integer — The ordinal number of the credential. This field is used when the application supports multiple credential integrations per channel. Currently, this is only applicable to the `LINE` channel. For other channels, this value will always be set to `0`. In the case in which there are multiple credential integrations per channel on a single app, this field must have a unique value for each multi-credential channel entry.
        - object — Enables access to the underlying messaging channel.
          - `kakaotalkchat_credentials` object — If you are including the KakaoTalkChat channel in the `channel_identifier` property, you must include this object.
            - `kakaotalk_plus_friend_id` string, required — Kakaotalk Plus friend ID.
            - `api_key` string — InfoBank API KEY.
          - `callback_secret` string, password — The secret used to verify the channel callbacks for channels which support callback verification. The callback verification is not needed for Sinch-managed channels because the callbacks are not leaving Sinch internal networks. Max length is 256 characters. Note: leaving channel_callback_secret empty for channels with callback verification will disable the verification.
          - `channel` 'SMS' | 'RCS' | 'WHATSAPP' | 'MMS' | 'KAKAOTALK' | 'KAKAOTALKCHAT' | 'VIBERBM' | 'LINE' | 'INSTAGRAM' | 'MESSENGER' | 'WECHAT' | 'TELEGRAM' | 'APPLEBC' — The identifier of the channel you want to include. Must be one of the enum values.
          - `state` ChannelIntegrationState — State of the channel credentials integration.
            - `status` 'PENDING' | 'ACTIVE' | 'FAILING', required — Status of the channel credentials integration
            - `description` string — Description in case the integration fails
          - `channel_known_id` string — Additional identifier set by the channel that represents an specific id used by the channel.
          - `credential_ordinal_number` integer — The ordinal number of the credential. This field is used when the application supports multiple credential integrations per channel. Currently, this is only applicable to the `LINE` channel. For other channels, this value will always be set to `0`. In the case in which there are multiple credential integrations per channel on a single app, this field must have a unique value for each multi-credential channel entry.
    - `conversation_metadata_report_view` 'NONE' | 'FULL' — NONE - Omit metadata. FULL - Include all metadata assigned to the conversation.
    - `display_name` string — The display name for the app.
    - `id` string — The ID of the app. You can find this on the [Sinch Dashboard](https://dashboard.sinch.com/convapi/apps).
    - `rate_limits` RateLimits
      - `inbound` integer — The number of inbound messages/events we process per second, from underlying channels to the app. The default rate limit is 25.
      - `outbound` integer — The number of messages/events we process per second, from the app to the underlying channels. Note that underlying channels may have other rate limits. The default rate limit is 25.
      - `webhooks` integer — The rate limit of callbacks sent to the webhooks registered for the app. Note that if you have multiple webhooks with shared triggers, multiple callbacks will be sent out for each triggering event. The default rate limit is 25.
    - `retention_policy` RetentionPolicy — The retention policy configured for the app. For more information about retention policies, see [Retention Policy](https://developers.sinch.com/docs/conversation/keyconcepts/#retention-policy).
      - `retention_type` 'MESSAGE_EXPIRE_POLICY' | 'CONVERSATION_EXPIRE_POLICY' | 'PERSIST_RETENTION_POLICY'
      - `ttl_days` integer — Optional. The days before a message or conversation is eligible for deletion. Default value is 180. The ttl_days value has no effect when retention_type is `PERSIST_RETENTION_POLICY`. The valid values for this field are [1 - 3650]. Note that retention cleanup job runs once every twenty-four hours which can lead to delay i.e., messages and conversations are not deleted on the minute they become eligible for deletion.
    - `dispatch_retention_policy` DispatchRetentionPolicy — The retention policy configured for messages in [Dispatch Mode](https://developers.sinch.com/docs/conversation/processing-modes/). Currently only `MESSAGE_EXPIRE_POLICY` is available. For more information about retention policies, see [Retention Policy](https://developers.sinch.com/docs/conversation/keyconcepts/#retention-policy).
      - `retention_type` 'MESSAGE_EXPIRE_POLICY'
      - `ttl_days` integer — Optional. The days before a message is eligible for deletion. The valid range is `[0 - 7]`. In the case of a `0` day TTL, messages aren't stored at all. Note the retention cleanup job runs once every twenty-four hours, so messages are not deleted on the minute they become eligible for deletion.
    - `processing_mode` 'CONVERSATION' | 'DISPATCH' — Whether or not Conversation API should store contacts and conversations for the app. For more information, see [Processing Modes](https://developers.sinch.com/docs/conversation/processing-modes/).
    - `smart_conversation` SmartConversation — This object is required for apps that subscribe to Smart Conversations features.
      - `enabled` boolean — Set to true to allow messages processed by this app to be analyzed by Smart Conversations.
    - `queue_stats` QueueStats
      - `outbound_size` integer — The current size of the App's MT queue.
      - `outbound_limit` integer — The limit of the App's MT queue. The default limit is 500000 messages.
    - `callback_settings` CallbackSettings — This object contains additional settings related to callback processing.
      - `secret_for_overridden_callback_urls` string, password — Optional. Secret can be used to sign contents of delivery receipts for a message that was sent with the default callback URL overridden (using the [`callback_url` field](https://developers.sinch.com/docs/conversation/api-reference/conversation/tag/Messages/#tag/Messages/operation/Messages_SendMessage!path=callback_url&t=request)). You can then use the secret to verify the signature.
    - `delivery_report_based_fallback` DeliveryReportBasedFallback — This object contains additional settings related to [delivery report based fallback](https://developers.sinch.com/docs/conversation/keyconcepts/#delivery-report-base-message-fallback). Note that this is **paid** functionality.
      - `enabled` boolean — Optional. A flag specifying whether this app has enabled fallback message delivery upon no positive delivery report. This feature is applicable only to messages which are sent to a recipient with more than one channel identity. Identities must be defined on channels which support at least the 'DELIVERED' message state. **Please note that this functionality requires payment.**
      - `delivery_report_waiting_time` integer — Optional. The time, in seconds, after which a message without a positive delivery report will fallback to the next channel.
    - `message_retry_settings` MessageRetrySettings — This object contains settings related to message retry mechanism.
      - `retry_duration` integer — The maximum duration, in seconds, during which the system will retry sending a message in the event of a temporary processing failure. Time is counted after the first message processing failure. At least one retry is guaranteed. Subsequent retry instances are randomized with exponential backoff. If the next retry timestamp exceeds the configured time, one final retry will be performed on the cut-off time. The valid values for this field are [30 - 3600].

## Other responses

- `400` — Malformed request. See [common error responses](https://developers.sinch.com/docs/conversation/api-reference/#common-error-responses) for more information.
- `401` — Incorrect credentials. See [common error responses](https://developers.sinch.com/docs/conversation/api-reference/#common-error-responses) for more information.
- `403` — Correct credentials but you don't have access to the requested resource. See [common error responses](https://developers.sinch.com/docs/conversation/api-reference/#common-error-responses) for more information.
- `500` — Correct credentials but you don't have access to the requested resource. See [common error responses](https://developers.sinch.com/docs/conversation/api-reference/#common-error-responses) for more information.
- `501` — Something went wrong on our end, try again with exponential back-off. See [common error responses](https://developers.sinch.com/docs/conversation/api-reference/#common-error-responses) for more information.

---

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