# Updates a draft sender in project

Updates a draft sender in project.

Endpoint: PATCH /v1/projects/{projectId}/kakaotalk/senders/{plusFriendId}
Version: 1.2.118
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 <a href="https://dashboard.sinch.com/">Sinch Dashboard</a>.

  - `plusFriendId` (string, required)
    The unique ID of the sender.

## Request body:

  - `application/json` (unknown)
    Supported sender fields to update

## Request fields (application/json):

  - `status` (string)
    Create as draft or submit. Defaults to draft.
    Enum: "DRAFT", "SUBMIT"

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

  - `details.adminPhoneNo` (string)
    Admin phone

  - `details.name` (string)
    Sender name

  - `details.logoImage` (any)
    Sender logo

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

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

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

## Request examples:

  - `Full body request` (unknown)
    Example of full body to update a sender.

## Response 200:

  - `200` (unknown)
    Updated sender in project

## Response 200 fields (application/json):

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

  - `plusFriendId` (string, required)
    PlusFriend ID

  - `state` (string)
    The current state of the sender.
    Enum: "ACTIVE", "BLOCKED", "INACTIVE", "SUSPENDED", "VERIFYING"

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

  - `changes.status` (string, required)
    Current status of the pending changes.
    Enum: "DRAFT", "IN_PROGRESS", "REJECTED"

  - `changes.details` (any, required)
    Sender details and information.

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

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

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

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

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

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

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

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

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

## Response 400:

  - `400` (unknown)
    BadRequest

## Response 400 fields (application/json):

  - `errorCode` (string, required)
    Error code identifying the type of error.

  - `message` (string, required)
    Human-readable error message.

  - `resolution` (string, required)
    Suggested resolution for the error.

  - `additionalInformation` (object)
    Additional context about the error.

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

  - `errorCode` (string, required)
    Error code identifying the type of error.

  - `message` (string, required)
    Human-readable error message.

  - `resolution` (string, required)
    Suggested resolution for the error.

  - `additionalInformation` (object)
    Additional context about the error.

## Response 404:

  - `404` (unknown)
    NotFound

## Response 404 fields (application/json):

  - `errorCode` (string, required)
    Error code identifying the type of error.

  - `message` (string, required)
    Human-readable error message.

  - `resolution` (string, required)
    Suggested resolution for the error.

  - `additionalInformation` (object)
    Additional context about the error.

## Response 409:

  - `409` (unknown)
    Conflict

## Response 409 fields (application/json):

  - `errorCode` (string, required)
    Error code identifying the type of error.

  - `message` (string, required)
    Human-readable error message.

  - `resolution` (string, required)
    Suggested resolution for the error.

  - `additionalInformation` (object)
    Additional context about the error.

## Response 500:

  - `500` (unknown)
    InternalServerError

## Response 500 fields (application/json):

  - `errorCode` (string, required)
    Error code identifying the type of error.

  - `message` (string, required)
    Human-readable error message.

  - `resolution` (string, required)
    Suggested resolution for the error.

  - `additionalInformation` (object)
    Additional context about the error.

## Response 200 examples:

  - `Update response` (unknown)
    Response when successfully update a sender.

  - `Update response of a draft` (unknown)
    Response when successfully updating a sender draft.

## Response 400 examples:

  - `FileInvalidMimeTypeError` (unknown)

  - `InvalidInputError` (unknown)

  - `ProjectNotInitializedError` (unknown)

  - `NoFieldsToUpdateError` (unknown)

  - `SenderInvalidCategoryCodeError` (unknown)

## Response 401 examples:

  - `UnauthorizedErrorError` (unknown)

## Response 404 examples:

  - `ProjectNotFoundError` (unknown)

  - `SenderNotFoundError` (unknown)

## Response 409 examples:

  - `FileNotFoundError` (unknown)

  - `FileUnexpectedErrorError` (unknown)

  - `FileSizeTooLargeError` (unknown)

  - `SenderChangesNotUpdatableError` (unknown)

  - `SenderNotUpdatableError` (unknown)

## Response 500 examples:

  - `InternalErrorError` (unknown)

