# Retrieve a SIP Profile GET https://YOUR_SPACE.signalwire.com/api/relay/rest/sip_profile Retrieves the SIP profile settings for your project. #### Permissions The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_. [Learn more about API scopes](/docs/platform/your-signalwire-api-space). Reference: https://signalwire.com/docs/apis/relay-rest/sip-profile/retrieve-sip-profile ## OpenAPI Specification ```yaml openapi: 3.1.0 info: title: relay-rest version: 1.0.0 paths: /sip_profile: get: operationId: retrieve-sip-profile summary: Retrieve a SIP Profile description: >- Retrieves the SIP profile settings for your project. #### Permissions The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_. [Learn more about API scopes](/docs/platform/your-signalwire-api-space). tags: - subpackage_sipProfile parameters: - name: Authorization in: header description: >- SignalWire Basic Authentication using Project ID and API Token. The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password. Example: ``` Authorization: Basic base64(project_id:token) ``` required: true schema: type: string responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/SipProfileResponse' '401': description: Access is unauthorized. content: application/json: schema: $ref: '#/components/schemas/Types.StatusCodes.StatusCode401' '500': description: An internal server error occurred. content: application/json: schema: $ref: '#/components/schemas/Types.StatusCodes.StatusCode500' servers: - url: https://YOUR_SPACE.signalwire.com/api/relay/rest components: schemas: SipProfileResponseDefaultEncryption: type: string enum: - required - optional description: >- A string representing whether connections to an endpoint that uses this profile require encryption or if encryption is optional. Encryption will always be used if possible. Possible values are required or optional. title: SipProfileResponseDefaultEncryption SipProfileResponse: type: object properties: domain: type: string description: >- A string representation of the fully qualified domain name for this profile. domain_identifier: type: string description: >- String representing the domain_identifier portion of the profile. Must be unique across your project. default_codecs: type: array items: type: string description: >- A list of codecs this profile will support. Currently supported values are: OPUS, G722, PCMU, PCMA, VP8, H264. default_ciphers: type: array items: type: string description: >- A list of encryption ciphers this profile will support. Currently supported values are: AEAD_AES_256_GCM_8, AES_256_CM_HMAC_SHA1_80, AES_CM_128_HMAC_SHA1_80, AES_256_CM_HMAC_SHA1_32, AES_CM_128_HMAC_SHA1_32. default_encryption: $ref: '#/components/schemas/SipProfileResponseDefaultEncryption' description: >- A string representing whether connections to an endpoint that uses this profile require encryption or if encryption is optional. Encryption will always be used if possible. Possible values are required or optional. default_send_as: type: string description: >- The e164 formatted number you wish to set as the originating number when dialing PSTN phone numbers from a SIP Endpoint that uses this profile. Specify null or an empty string to randomly choose a purchased or verified number from within the project. description: Response containing the SIP profile. title: SipProfileResponse TypesStatusCodesStatusCode401Error: type: string enum: - Unauthorized title: TypesStatusCodesStatusCode401Error Types.StatusCodes.StatusCode401: type: object properties: error: $ref: '#/components/schemas/TypesStatusCodesStatusCode401Error' required: - error description: Access is unauthorized. title: Types.StatusCodes.StatusCode401 TypesStatusCodesStatusCode500Error: type: string enum: - Internal Server Error title: TypesStatusCodesStatusCode500Error Types.StatusCodes.StatusCode500: type: object properties: error: $ref: '#/components/schemas/TypesStatusCodesStatusCode500Error' required: - error description: An internal server error occurred. title: Types.StatusCodes.StatusCode500 securitySchemes: SignalWireBasicAuth: type: http scheme: basic description: >- SignalWire Basic Authentication using Project ID and API Token. The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password. Example: ``` Authorization: Basic base64(project_id:token) ``` ``` ## SDK Code Examples ```python import requests url = "https://your_space.signalwire.com/api/relay/rest/sip_profile" headers = {"Authorization": "Basic :"} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://your_space.signalwire.com/api/relay/rest/sip_profile'; const options = {method: 'GET', headers: {Authorization: 'Basic :'}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://your_space.signalwire.com/api/relay/rest/sip_profile" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Basic :") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://your_space.signalwire.com/api/relay/rest/sip_profile") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Basic :' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://your_space.signalwire.com/api/relay/rest/sip_profile") .header("Authorization", "Basic :") .asString(); ``` ```php request('GET', 'https://your_space.signalwire.com/api/relay/rest/sip_profile', [ 'headers' => [ 'Authorization' => 'Basic :', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://your_space.signalwire.com/api/relay/rest/sip_profile"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Basic :"); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": "Basic :"] let request = NSMutableURLRequest(url: NSURL(string: "https://your_space.signalwire.com/api/relay/rest/sip_profile")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers 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() ```