# **PUT** /api/me/callback-url
> Setup callback url. When `speak api` is finished, it will be called by `POST` method. The content type will
> be `application/json`.
## Request
### Headers
* [Required headers](reference/request.md#headers)
### Parameters
* None
### Body as JSON Object
| key | description |
|--------------------|---------------------------------------------------|
| __`callback_url`__ | an url to receive the `POST /api/speak` response. |
Example with cURL
```shell
curl --request PUT \
--url https://typecast.ai/api/me/callback-url \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $API_TOKEN" \
--data '{
"callback_url": "https://your.host.com/if-you-want-to-get-callback"
}'
```
## Response
### Status Code
| status code | value |
|-------------|--------------------------------------------------------------------------------------|
| 401 | [Authorization Error](reference/error.md#error-codes) |
| 400 | JSON Object that represents error. [how error looks](reference/error.md#structure). |
| 200 | JSON Object that has `result`. |
### `result` consists of followings
| key | description |
|--------------------|----------------------------|
| __`callback_url`__ | an url that you requested. |
Example
```json
{
"result": {
"callback_url": "https://your.host.com/if-you-want-to-get-callback"
}
}
```
### `error_code`s in `400` response
| error_code | description |
|-----------------------------------------|---------------------------------------------|
| __`app/param/not-enough/callback_url`__ | when `callback_url` is not in request body. |
| __`app/invalid/callback_url`__ | `callback_url` is invalid url format. |
Example
```json
{
"message": {
"msg": "need callback_url argument",
"error_code": "app/param/not-enough/callback_url"
}
}
```