# List all senders in project

Returns a paginated list of senders for the specified project. If no page token is supplied then the first 50 will be returned.

Endpoint: GET /v1/projects/{projectId}/kakaotalk/senders
Version: 1.2.79
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.

  - `filterStates` (array)
    Optionally query for sender by states.
    Enum: "ACTIVE", "BLOCKED", "INACTIVE", "SUSPENDED", "VERIFYING"

  - `filterStatuses` (array)
    Optionally query for sender by statuses.
    Enum: "DRAFT", "IN_PROGRESS", "REJECTED"

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

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

  - `senders.plusFriendId` (string, required)
    PlusFriend ID

  - `senders.id` (string)
    The unique ID of the sender.

  - `senders.state` (string)
    The current state of the sender.
    Enum: same as `filterStates` (5 values)

  - `senders.changes` (object)
    Any pending changes to the sender.

  - `senders.changes.status` (string, required)
    Current status of the pending changes.
    Enum: same as `filterStatuses` (3 values)

  - `senders.changes.details` (array, required) — one of:
    Sender details and information.
    - KakaotalkSenderDetailsDto:
      - `adminPhoneNo` (string, required)
        Admin phone
      - `name` (string, required)
        Sender name
      - `topLevelCategoryCode` (string, required)
        Top level category code, must consist of 3 digits (e.g. 001).
      - `midLevelCategoryCode` (string, required)
        Mid level category code, must consist of 4 digits (e.g. 0001).
      - `subLevelCategoryCode` (string, required)
        Sub level category code, must consist of 4 digits (e.g. 0001).
      - `logoImage` (string)
        Sender logo
    - KakaotalkSenderChangesDetailsDto:
      - `adminPhoneNo` (string)
        Admin phone
      - `name` (string)
        Sender name
      - `logoImage` (string)
        Sender logo
      - `topLevelCategoryCode` (string)
        Top level category code, must consist of 3 digits (e.g. 001).
      - `midLevelCategoryCode` (string)
        Mid level category code, must consist of 4 digits (e.g. 0001).
      - `subLevelCategoryCode` (string)
        Sub level category code, must consist of 4 digits (e.g. 0001).

  - `senders.details` (object)
    Sender details and information.

  - `senders.details.adminPhoneNo` (string, required)
    Admin phone

  - `senders.details.name` (string, required)
    Sender name

  - `senders.details.topLevelCategoryCode` (string, required)
    Top level category code, must consist of 3 digits (e.g. 001).

  - `senders.details.midLevelCategoryCode` (string, required)
    Mid level category code, must consist of 4 digits (e.g. 0001).

  - `senders.details.subLevelCategoryCode` (string, required)
    Sub level category code, must consist of 4 digits (e.g. 0001).

  - `senders.details.logoImage` (string)
    Sender logo

  - `senders.created` (string)
    The UTC Date Time in ISO 8601 for when the sender was created.

  - `senders.modified` (string)
    The UTC Date Time in ISO 8601 for when the sender was last modified.

  - `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 ProjectNotInitializedErrorTitle (object) or InvalidFilterStatesErrorTitle (object) or InvalidFilterStatusesErrorTitle (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."
    - ProjectNotInitializedErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "project_not_initialized"
      - `message` (string)
        Human readable message.
        Example: "Project not initialized for KakaoTalk."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "Verify that the project ID is correct and that it has been onboarded for KakaoTalk."
    - InvalidFilterStatesErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "invalid_filter_states"
      - `message` (string)
        Human readable message.
        Example: "Invalid filterStates."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "Verify that the filterStates used are supported by the Provisioning API."
      - `additionalInformation` (object)
        Additional information for error.
        Example: {"supportedCodes":"ACTIVE, BLOCKED, INACTIVE, SUSPENDED, VERIFYING"}
    - InvalidFilterStatusesErrorTitle:
      - `errorCode` (string)
        Error code allows to programmatically handle errors.
        Example: "invalid_filter_statuses"
      - `message` (string)
        Human readable message.
        Example: "Invalid filter statuses."
      - `resolution` (string)
        Human readable message with an explanation of how to solve the error.
        Example: "Verify that the filterStatuses used are supported by the Provisioning API."
      - `additionalInformation` (object)
        Additional information for error.
        Example: {"supportedCodes":"DRAFT, IN_PROGRESS, REJECTED"}

## 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 fields (application/json):

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

  - `message` (string)
    Human readable message.
    Example: "Sender 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 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."


