> For the complete documentation index, see [llms.txt](https://docs.videograph.ai/llms.txt).
> Use it to discover all available pages before exploring further.

# Create Signing Key


<PlaygroundComponent />

<AuthParams schemes={["basicAuth"]}>
<AuthType scheme="basicAuth">
<ParamField header="Authorization" param-type="string" required="true">
Basic authentication credentials. Provide username and password encoded in Base64 format: Basic base64(username:password)
</ParamField>
</AuthType>
</AuthParams>

### Headers

<ParamField showLocation="false" header="Accept" param-type="string" required="false">

</ParamField>

<ParamField showLocation="false" header="Content-Type" param-type="string" required="false">

</ParamField>

<BodyParams contentTypes={["application/json"]} defaultType="application/json">
  <ContentType type="application/json">
<ParamField showLocation="false" body="productTypeId" param-type="integer" required="true">
Product type for which key is generated. 1 for Video/Live
</ParamField>

<ParamField showLocation="false" body="environmentUUID" param-type="string" required="true">
Environment's identifier as UUID. Obtained from videograph dashboard
</ParamField>
  </ContentType>
</BodyParams>

<Request tabs="curl,python,javascript,go,ruby">

```bash
curl -X POST "https://api.videograph.ai/video/services/api/v1/signing-keys" \
  -H "Content-Type: application/json" \
  -H "Accept: example_string" \
  -H "Content-Type: example_string" \
  -H "Authorization: Basic YOUR_CREDENTIALS" \
  -d '{
  "productTypeId": 123,
  "environmentUUID": "example_string"
}'
```

```python
import requests
import json

url = "https://api.videograph.ai/video/services/api/v1/signing-keys"
headers = {
  "Content-Type": "example_string",
  "Accept": "example_string",
  "Authorization": "Basic YOUR_CREDENTIALS"
}
data = {
  "productTypeId": 123,
  "environmentUUID": "example_string"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
```

```javascript
const response = await fetch("https://api.videograph.ai/video/services/api/v1/signing-keys", {
  method: "POST",
  headers: {
  "Content-Type": "example_string",
  "Accept": "example_string",
  "Authorization": "Basic YOUR_CREDENTIALS"
},
  body: JSON.stringify({
  "productTypeId": 123,
  "environmentUUID": "example_string"
})
});

const data = await response.json();
console.log(data);
```

```go
package main

import (
    "fmt"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    data := []byte(`{
  "productTypeId": 123,
  "environmentUUID": "example_string"
}`)
    
    req, err := http.NewRequest("POST", "https://api.videograph.ai/video/services/api/v1/signing-keys", bytes.NewBuffer(data))
    if err != nil {
        panic(err)
    }
    
    req.Header.Set("Content-Type", "application/json")
    req.Header.Set("Accept", "example_string")
    req.Header.Set("Content-Type", "example_string")
    req.Header.Set("Authorization", "Basic YOUR_CREDENTIALS")

    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()
    
    fmt.Println("Response Status:", resp.Status)
}
```

```ruby
require 'net/http'
require 'json'

uri = URI('https://api.videograph.ai/video/services/api/v1/signing-keys')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Accept'] = 'example_string'
request['Content-Type'] = 'example_string'
request['Authorization'] = 'Basic YOUR_CREDENTIALS'
request.body = '{
  "productTypeId": 123,
  "environmentUUID": "example_string"
}'

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

</Request>

### Responses

<div data-component="ResponsesCollection"><Expandable title="201 - Created" default-open="false">

*Created*

</Expandable>

</div>

<Response tabs="201">

```json
{
  "status": "Success",
  "message": "Generated signing key for environment.",
  "code": 201,
  "data": {
    "uuid": 1,
    "signingKeyId": "vxdYecwma5FhGVVT4pyALK9gq4XbPOS9v02Vfp6ZnAj00",
    "privateKey": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBMDRaY081aUh6dmU3WVVlRHRTNGtNamtCVXh0VXEzK1hpdHlPMGdTbTVtSUdPV0ZNClQ0L2MvVUdkMDFHRllDVUdSMkhPQVhYVTl4TmN3N1pXaytzVUpxWUdnRW9BN3JUZHJoL3RONytjL1AvdGFWTlgKd1dXYWVZSjhLTCtHK2V2cW03TlN3YWwwVG5aaTRqUE1yT1lmWlBjN285aS8vNS9RVk5BN0UrdlVJYUt0dDlLNwo0UTVUazY0L2FqakpxMnU1eW10TTZCMng3dFgvcWNydjVLc3J5dmJBUlVVSzdlSC8vU1JXSXNscDdlMUlNK3NTCnROOUNTeTN3dHNpTkJYQzhZQXlvSmh4SUNrMng3dmtadFpibjVWZW9uMG95VVU5V0NaRU9ZK2tieFFZdUxNYkYKRnoyZXd3K0R3bU9wSWNxVmVBK09nZE1RQ0dPQU9yenp5bXlWOHdJREFRQUJBb0lCQVFDRW43TEd2dzB2ekk0VgpJV1RJUGNUK0pGWGJTTUNld3VJK2M2bXNyclFDc1NWYjV0Q1U5Z3ZHVXRUbEFURVNKa1M0anU4K1pTWUJRSWVpClFub29SbldkQWU0RGsrTGZ5RkZSOHJ5bWZxS3MwcjZGa25ic1VJczVjb0hzZnFIZm8zYTI1d21WV1cwT0lSWkEKNDkrSjdNTjBaN3RpTU8yNUZmZm1wYVRWQ2NFNDBJVVk0VzYranZibExjQ0NIR0ljelJITW1JT01wdEQ5aHgvaAorc0lWV2h2K1FEUlMvRkNzVkhRTXBTQjV5Um15WTUrb0FQODVUeXJSZHl6VWtnOFM3MnY4aXRQWG40SlBxWnpSCnJmZ0p4Rm0zbEpNRGpTdFNBYnR2aWkxU1l5V3ByM2ZBaXZ2VTljeU5jdjhxZ3FZK0hhUG5kaEJGSVJVbkJmL0gKQ1lpcmhCbkJBb0dCQU5WYjIzMGJyNGt5UmxISTZMWEtYMlEvdlhTa1ZSRVRtdFlvWWZ0bkZtYml3Z0laSHFpSgpxbWNxUXg0MGs5azQxSlZLQ2I0RWVmZTNsOENFYklZSFM0cTl5dmR2VlUrWURiRFVEeDFodWJua05NeDFSRVY3CjBGblJaUEhiR3Z5K1ByeitqMUVNdGd5NTNScFQvSGxHR2J5WG1ZYW1nakErRFNyRzFlZW5HV1NoQW9HQkFQM00KcTdob01mR1NzQ1NhNitKYTVxMERtTDRjSWh0ZVg1c0N0aEIwNkZ5MmllUldNdThRQXIwWU9jSnh2Y0J1MW9LaQpBWWhjQUNuNGVHYURHSUJ5dG8rS09uWUVnNCsrR2dYVStmeDZrQkxDd0t1Ykxja3ovTHlOZHVYc25VQ095eEpQCkUxOWg3dis3eU9vRjZEeitITm9FS25MNEcrOTd1QTlib21zeU4xNFRBb0dCQU1NaVh3eitYRDRMZUJybXVFZEQKanBrZVhzVW1ZeExhTGx1OTFWZGNRalhaSUgxUXdpUjh2QmZjcEVRazdDL1lkVDBRMlBZc0creit3ZEQyakZiTQpwejkrTS9xM25Ydk5Zb0FlZ3JCcHA3YW5TODdQVmFDREM5eUowVndOKzVHNjRhQnk1VnJJV0Z3dFJWWUdDRHhXCmE4VjdsWk44Q0VmZENLZmQ4TmNNa2dIaEFvR0JBUEpFVUZzc1l4aGxYT3prVVd6Mk5xSksvNS9odlJFQkNpUXUKOTFwSUxwSnAwTUQ5STR1ZWJlN1JWRGx2VjZGOGJCbXd5ZU8vWm95cDJVeUpzWGJUaWI4RlJQN3BHaWk1WDUvWAppSFhoRE94THFaMWwrTlBLWTJRZGFiVGJJOVMvT2N1VlhqbTdnMmZzZWtJaU4ya1piTE1VTE8wb040cG9QKyt4CkdoNVhoaEN2QW9HQWN0UTc2WWdMNmlwR2lneDlPZDRxd1NST2pSd1BPZWZZVEdhNEk1ZWpZS3B6UDhJL01zTTQKY3FNR1pQT3N6YjlzdTFLRVlPSHp5UkxOcTJwZThvVTY3dm8yeStNS1hzUFJTV2xxWUpjYWFOd3NKczVac0kraQptNUtVQVAybDI5R0JJVWlFcUVndzBKQnJIa0FBb3dTcTdiRm44SUZoL04zNCszN0IvRzhCSEtzPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=",
    "createdOn": 1644333573405
  }
}
```

</Response>

