> For a complete documentation index, fetch https://docs.voximplant.ai/llms.txt

# SetPstnBlackListItem

POST https://api.voximplant.com/platform_api/SetPstnBlackListItem

Update the PSTN blacklist item. BlackList works for numbers that are purchased from Voximplant only. Since we have no control over exact phone number format for calls from SIP integrations, blacklisting such numbers should be done via JavaScript scenarios.

Allowed roles: `Owner`, `Admin`.

Reference: https://docs.voximplant.ai/api-reference/management-api/reference/pstn-blacklist/set-pstn-black-list-item

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: management-api
  version: 1.0.0
paths:
  /SetPstnBlackListItem:
    post:
      operationId: set-pstn-black-list-item
      summary: SetPstnBlackListItem
      description: >-
        Update the PSTN blacklist item. BlackList works for numbers that are
        purchased from Voximplant only. Since we have no control over exact
        phone number format for calls from SIP integrations, blacklisting such
        numbers should be done via JavaScript scenarios.


        Allowed roles: `Owner`, `Admin`.
      tags:
        - subpackage_pstnBlacklist
      parameters:
        - name: pstn_blacklist_id
          in: query
          description: The PSTN black list item ID
          required: true
          schema:
            type: integer
        - name: pstn_blacklist_phone
          in: query
          description: The new phone number in format e164
          required: true
          schema:
            type: string
        - name: Authorization
          in: header
          description: >-
            Voximplant Management API uses signed JWT tokens generated from your
            service-account private key. Pass the token in the `Authorization`
            header as a Bearer value:


            ```

            Authorization: Bearer $VOXIMPLANT_TOKEN

            ```


            See [Authorization](/api-reference/management-api/authorization) for
            ready-to-copy snippets in bash, Python, Node.js and Go that turn
            your `credentials.json` into a token.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/pstn-blacklist_SetPstnBlackListItem_Response_200
servers:
  - url: https://api.voximplant.com/platform_api
components:
  schemas:
    pstn-blacklist_SetPstnBlackListItem_Response_200:
      type: object
      properties:
        result:
          type: integer
          description: Returns 1 if the request has been completed successfully
      title: pstn-blacklist_SetPstnBlackListItem_Response_200
  securitySchemes:
    JwtAuth:
      type: http
      scheme: bearer
      description: >-
        Voximplant Management API uses signed JWT tokens generated from your
        service-account private key. Pass the token in the `Authorization`
        header as a Bearer value:


        ```

        Authorization: Bearer $VOXIMPLANT_TOKEN

        ```


        See [Authorization](/api-reference/management-api/authorization) for
        ready-to-copy snippets in bash, Python, Node.js and Go that turn your
        `credentials.json` into a token.

```

## SDK Code Examples

```python Example 1
import requests

url = "https://api.voximplant.com/platform_api/SetPstnBlackListItem"

querystring = {"pstn_blacklist_id":"12345","pstn_blacklist_phone":"+14155552671"}

payload = {}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers, params=querystring)

print(response.json())
```

```javascript Example 1
const url = 'https://api.voximplant.com/platform_api/SetPstnBlackListItem?pstn_blacklist_id=12345&pstn_blacklist_phone=%2B14155552671';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Example 1
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.voximplant.com/platform_api/SetPstnBlackListItem?pstn_blacklist_id=12345&pstn_blacklist_phone=%2B14155552671"

	payload := strings.NewReader("{}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Example 1
require 'uri'
require 'net/http'

url = URI("https://api.voximplant.com/platform_api/SetPstnBlackListItem?pstn_blacklist_id=12345&pstn_blacklist_phone=%2B14155552671")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{}"

response = http.request(request)
puts response.read_body
```

```java Example 1
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.voximplant.com/platform_api/SetPstnBlackListItem?pstn_blacklist_id=12345&pstn_blacklist_phone=%2B14155552671")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{}")
  .asString();
```

```php Example 1
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.voximplant.com/platform_api/SetPstnBlackListItem?pstn_blacklist_id=12345&pstn_blacklist_phone=%2B14155552671', [
  'body' => '{}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp Example 1
using RestSharp;

var client = new RestClient("https://api.voximplant.com/platform_api/SetPstnBlackListItem?pstn_blacklist_id=12345&pstn_blacklist_phone=%2B14155552671");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Example 1
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.voximplant.com/platform_api/SetPstnBlackListItem?pstn_blacklist_id=12345&pstn_blacklist_phone=%2B14155552671")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```