Custom Ownership Types are an improvement on the way to establish ownership relationships between users and the data assets they manage within DataHub.
Custom Ownership types have been implemented as a net-new entity in DataHub's Metadata Model meaning all entity-related APIs can be used for them.
Additionally, they can be managed through DataHub's Admin UI and then used for ownership across the system in the same way pre-existing ownership types are.
## Custom Ownership Types Setup, Prerequisites, and Permissions
- **Manage Ownership Types** metadata privilege to create/delete/update Ownership Types at the platform level. These can be granted by a [Platform Policy](./../authorization/policies.md#platform-policies).
- **Edit Owners** metadata privilege to add or remove an owner with an associated custom ownership type for a given entity.
You can create this privileges by creating a new [Metadata Policy](./../authorization/policies.md#metadata-policies).
## Using Custom Ownership Types
Custom Ownership Types can be managed using the UI, via a graphQL command or ingesting an MCP which can be managed using software engineering (GitOps) practices.
### Managing Custom Ownership Types
<Tabs>
<TabItemvalue="ui"label="UI"default>
To manage a Custom Ownership type, first navigate to the DataHub Admin page:
Inside the form, you can choose a name for your Ownership Type. You can also add descriptions for your ownership types to help other users more easily understand their meaning.
Just like all other DataHub metadata entities DataHub ships with a JSON-based custom ownership type spec, for defining and managing Custom Ownership Types as code.
For any update you wish to do, simply update the json file and re-ingest via the cli.
To delete the ownership type, simply run a [delete command](../how/delete-metadata.md#soft-delete-the-default) for the urn of the ownership type in question, in this case `urn:li:ownershipType:architect`.
</TabItem>
<TabItemvalue="graphql"label="GraphQL"default>
You can also create/update/delete custom ownership types using DataHub's built-in [`GraphiQL` editor](../api/graphql/how-to-set-up-graphql.md#graphql-explorer-graphiql):
```json
mutation {
createOwnershipType(
input: {
name: "Architect"
description: "Technical person responsible for the asset"
}
) {
urn
type
info {
name
description
}
}
}
```
If you see the following response, the operation was successful:
Click 'Add Owners', select the owner you want and then search for the Custom Ownership Type you'd like to add this asset to. When you're done, click 'Add'.