> For the complete documentation index, see [llms.txt](https://docs.iotcore.omnicore.korewireless.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iotcore.omnicore.korewireless.com/overview/universal-device-broker/mqtt-and-http-devices/reference/rest-api/registry-api/create-registry.md).

# create Registry

{% openapi src="/files/umUbrPgUstZVctAe2lAF" path="/subscriptions/{subscriptionId}/registries" method="post" %}
[spec.yml](https://1780584567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPYrQYTiVx6eSRXCWxcKm%2Fuploads%2Fbs953qAInQTZvQoLdBfn%2Fspec.yml?alt=media\&token=1df81a81-7316-4d6a-b3d5-3d7ea184c0d2)
{% endopenapi %}

Authorization: [apiKey](/overview/universal-device-broker/mqtt-and-http-devices/guides/security/api-security.md)

```
name: x-api-key
in: header
type: apiKey
```

{% tabs %}
{% tab title="Curl" %}

```
curl -L -X POST 'https://api.korewireless.com/omnicore/subscriptions/:subscriptionId/registries' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-H 'x-api-key: <API_KEY_VALUE>' \
--data-raw '{
  "id": "string",
  "credentials": [
    {
      "publicKeyCertificate": {
        "certificate": "string",
        "format": "X509_CERTIFICATE_PEM",
        "x509Details": {
          "expiryTime": "string",
          "issuer": "string",
          "publicKeyType": "string",
          "signatureAlgorithm": "string",
          "startTime": "string",
          "subject": "string"
        }
      }
    }
  ],
  "httpConfig": {
    "httpEnabledState": "HTTP_ENABLED"
  },
  "mqttConfig": {
    "mqttEnabledState": "MQTT_ENABLED"
  },
  "logLevel": "INFO",
  "eventNotificationConfigs": [
    {
      "pubsubTopicName": "string",
      "subfolderMatches": "string"
    }
  ],
  "logNotificationConfig": {
    "pubsubTopicName": "string"
  },
  "stateNotificationConfig": {
    "pubsubTopicName": "string"
  },
  "customOnboardNotificationConfig": {
    "pubsubTopicName": "string"
  },
  "customOnboardEnabled": true
}'
```

{% endtab %}

{% tab title="Python" %}

```python
import requests
import json

url = "https://api.korewireless.com/omnicore/subscriptions/:subscriptionId/registries"

payload = json.dumps({
  "id": "string",
  "credentials": [
    {
      "publicKeyCertificate": {
        "certificate": "string",
        "format": "X509_CERTIFICATE_PEM",
        "x509Details": {
          "expiryTime": "string",
          "issuer": "string",
          "publicKeyType": "string",
          "signatureAlgorithm": "string",
          "startTime": "string",
          "subject": "string"
        }
      }
    }
  ],
  "httpConfig": {
    "httpEnabledState": "HTTP_ENABLED"
  },
  "mqttConfig": {
    "mqttEnabledState": "MQTT_ENABLED"
  },
  "logLevel": "INFO",
  "eventNotificationConfigs": [
    {
      "pubsubTopicName": "string",
      "subfolderMatches": "string"
    }
  ],
  "logNotificationConfig": {
    "pubsubTopicName": "string"
  },
  "stateNotificationConfig": {
    "pubsubTopicName": "string"
  },
  "customOnboardNotificationConfig": {
    "pubsubTopicName": "string"
  },
  "customOnboardEnabled": True
})
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer <TOKEN>',
  'x-api-key': '<API_KEY_VALUE>'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
```

{% endtab %}

{% tab title="Go" %}

```go
package main

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

func main() {

  url := "https://api.korewireless.com/omnicore/subscriptions/:subscriptionId/registries"
  method := "POST"

  payload := strings.NewReader(`{
  "id": "string",
  "credentials": [
    {
      "publicKeyCertificate": {
        "certificate": "string",
        "format": "X509_CERTIFICATE_PEM",
        "x509Details": {
          "expiryTime": "string",
          "issuer": "string",
          "publicKeyType": "string",
          "signatureAlgorithm": "string",
          "startTime": "string",
          "subject": "string"
        }
      }
    }
  ],
  "httpConfig": {
    "httpEnabledState": "HTTP_ENABLED"
  },
  "mqttConfig": {
    "mqttEnabledState": "MQTT_ENABLED"
  },
  "logLevel": "INFO",
  "eventNotificationConfigs": [
    {
      "pubsubTopicName": "string",
      "subfolderMatches": "string"
    }
  ],
  "logNotificationConfig": {
    "pubsubTopicName": "string"
  },
  "stateNotificationConfig": {
    "pubsubTopicName": "string"
  },
  "customOnboardNotificationConfig": {
    "pubsubTopicName": "string"
  },
  "customOnboardEnabled": true
}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("Accept", "application/json")
  req.Header.Add("Authorization", "Bearer <TOKEN>")
  req.Header.Add("x-api-key", "<API_KEY_VALUE>")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
```

{% endtab %}

{% tab title="JS" %}

```javascript
const axios = require('axios');
let data = JSON.stringify({
  "id": "string",
  "credentials": [
    {
      "publicKeyCertificate": {
        "certificate": "string",
        "format": "X509_CERTIFICATE_PEM",
        "x509Details": {
          "expiryTime": "string",
          "issuer": "string",
          "publicKeyType": "string",
          "signatureAlgorithm": "string",
          "startTime": "string",
          "subject": "string"
        }
      }
    }
  ],
  "httpConfig": {
    "httpEnabledState": "HTTP_ENABLED"
  },
  "mqttConfig": {
    "mqttEnabledState": "MQTT_ENABLED"
  },
  "logLevel": "INFO",
  "eventNotificationConfigs": [
    {
      "pubsubTopicName": "string",
      "subfolderMatches": "string"
    }
  ],
  "logNotificationConfig": {
    "pubsubTopicName": "string"
  },
  "stateNotificationConfig": {
    "pubsubTopicName": "string"
  },
  "customOnboardNotificationConfig": {
    "pubsubTopicName": "string"
  },
  "customOnboardEnabled": true
});

let config = {
  method: 'post',
  url: 'https://api.korewireless.com/omnicore/subscriptions/:subscriptionId/registries',
  headers: { 
    'Content-Type': 'application/json', 
    'Accept': 'application/json', 
    'Authorization': 'Bearer <TOKEN>', 
    'x-api-key': '<API_KEY_VALUE>'
  },
  data : data
};

axios(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});
```

{% endtab %}
{% endtabs %}
