# Custom Hypersync app package.json reference Every custom Hypersync app must have a `package.json` file that contains certain properties. Hyperproof uses these property values to properly identify and display your custom Hypersync app in the Hyperproof user interface. The `package.json` file for a custom Hypersync app must contain the values shown below: ``` { "name": "custom-hypersync-app", "version": "1.0.0", "app_hyperproof": { "name": "My Custom Hypersync App", "appType": "hypersync", "authType": "custom", "category": "Identity Services", "descriptionCapabilities": "This integration extracts user and group information from The Target Service.", "debug": true, "staticIp": false, "schemaCategories": [ "uarApplication", "uarDirectory" ] }, ... } ``` > **Note**: The `schemaCategories` array is optional and only required for Hypersyncs that need to utilize the Access Review module. > **Note**: When attempting to upgrade existing Hypersyncs to the `schemaCategories` for Access Review proof types, you must first delete the existing Hypersync using the CLI command: ``` hp customapps delete ``` This ensures that the new `schemaCategories` definition is added to your Hypersync. ## name The `name` property is a standard `package.json` attribute. All custom Hypersync apps must include this property. The package name is used as an identifier by the Hyperproof CLI. Keep this in mind when choosing the package name. For more information on the `name` attribute, see the [official npm docs](https://docs.npmjs.com/cli/v9/configuring-npm/package-json#name). ## version The `version` property is a standard `package.json` attribute. This value is stored by Hyperproof when the custom Hypersync app is imported, and it's shown in the console when running commands such as `hp customapps list`. It's strongly recommended to follow [semver versioning](https://semver.org/) when making changes to custom Hypersync apps. For more information on the `version` attribute, see the [official npm docs](https://docs.npmjs.com/cli/v9/configuring-npm/package-json#version). ## app_hyperproof The `app_hyperproof` value in `package.json` is an object that contains values that Hyperproof uses to properly expose and run your custom Hypersync app. The object must contain the values in the table below: | Attribute | Description | | --- | --- | | `name` | The name of your application as shown in the Hyperproof UI. | | `appType` | The type of custom app. Must be set to `hypersync`. | | `authType` | The type of authentication/authorization used by your app. Acceptable values are `custom` or `oauth`. | | `category` | The category of your custom Hypersync app as shown in the Hypersync wizard. This value is also shown in Hyperproof in **Settings > Connected accounts**. Can be any string value, but it's recommended to reuse an existing category, if applicable. | | `descriptionCapabilities` | Description shown to the user when inspecting a connection in Hyperproof in **Settings > Connected accounts**. | | `debug` | Set to `true` to include debug information, e.g. `Logger.debug output`, in the logs. | | `staticlp` | Boolean value (true or false) that indicates whether or not a static IP address is required. If your target service is on premise or lives behind a firewall setting, setting this to `true` allows you to open a port for your custom Hypersync app to talk to the target service. Default value is `false`. | | `schemaCategories` | Optional array value containing one or both of the Access Review categories (`uarApplication` or `uarDirectory`). This is for use with Access Review Hypersyncs. |