---
updatedAt: 2026-05-27T12:50:22.000Z
agentTools:
  projectIndex: https://developer.onetrust.com/onetrust/llms.txt
---

# Create Relationship Type between Objects

Use this API to create a new Relationship Type between two object types.

> 🗒 Things to Know
> 
> - This API only supports objects created via Object Manager, including Projects, Models, and Datasets.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Platform - Object Manager",
    "version": "1.0",
    "contact": {
      "name": "OneTrust Support",
      "url": "https://my.onetrust.com/s/contactsupport"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0"
    },
    "description": "The Object Manager APIs are used to integrate external systems and streamline the flow of data for objects created via Object Manager in the OneTrust Platform."
  },
  "servers": [
    {
      "url": "https://{hostname}/api/custom-entity",
      "variables": {
        "hostname": {
          "default": "hostname",
          "description": "The OneTrust hostname such as app.onetrust.com, app-eu.onetrust.com, app-de.onetrust.com, app-uk.onetrust.com, app-apac.onetrust.com, trial.onetrust.com, or uat.onetrust.com."
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Object Relationship Type Management",
      "description": "The Object Relationship Type Management APIs are used to manage the types of relationships that can exist between objects.",
      "externalDocs": {
        "description": "OpenAPI 3.1.0 - Download Definition",
        "url": "https://developer.onetrust.com/onetrust/openapi/platform-object-manager.json"
      }
    }
  ],
  "x-onetrust": {
    "spec-label": "OpenAPI 3.1.0",
    "links": [
      "{'Object Manager': 'https://my.onetrust.com/s/topic/0TO3q000000JPkQGAW/object-manager'}"
    ]
  },
  "x-readme": {
    "explorer-enabled": false,
    "proxy-enabled": false,
    "metrics-enabled": false
  },
  "paths": {
    "/v1/entity-link-types": {
      "post": {
        "operationId": "createCustomLinkTypeUsingPOST",
        "summary": "Create Relationship Type between Objects",
        "description": "Use this API to create a new Relationship Type between two object types.\n\n> 🗒 Things to Know\n> \n> - This API only supports objects created via Object Manager, including Projects, Models, and Datasets.",
        "tags": [
          "Object Relationship Type Management"
        ],
        "x-onetrust": {
          "spec-label": "https://developer.onetrust.com/onetrust/openapi/platform-object-manager.json"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomLinkTypeCreateRequest"
              },
              "examples": {
                "Create model dataset Relationship": {
                  "summary": "Example of creating a model dataset relationship type",
                  "description": "Creates a relationship type that allows connecting Business Units to objects they own",
                  "value": {
                    "name": "relationship_01",
                    "description": "desc",
                    "entityType1ToEntityType2EntityLinkName": "model",
                    "entityType2ToEntityType1EntityLinkName": "dataset",
                    "linkAssociations": [
                      {
                        "entityType1": {
                          "id": "286aeb99-fe6c-4f01-baaa-e24b8e689a84",
                          "name": "models",
                          "nameKey": "CE.Models.Name",
                          "seeded": true,
                          "moduleName": "CustomEntityManagement",
                          "schemaName": "models"
                        },
                        "entityType2": {
                          "id": "b821e04e-73f9-4bc8-b925-bfe72a599633",
                          "name": "datasets",
                          "nameKey": "CE.Datasets.Name",
                          "seeded": true,
                          "moduleName": "CustomEntityManagement",
                          "schemaName": "datasets"
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created - The relationship type has been successfully created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LinkTypeDetailedInformation"
                },
                "examples": {
                  "Business Ownership Response": {
                    "summary": "Example of created relationship type details",
                    "description": "Business Ownership Response",
                    "value": {
                      "id": "bea0115d-27ae-4b6e-bc52-bed53c4abcf1",
                      "name": "relationship_01",
                      "nameKey": "5596a8d1-be57-46a3-9993-f0eb0b94a1dd",
                      "schemaName": "bb89c78b-7be5-4b2a-b91c-f5c1d1a239e2",
                      "seeded": false,
                      "moduleName": "CustomEntityManagement",
                      "description": "desc",
                      "descriptionKey": "7803bc48-d046-4c02-b230-36247e7e1a77",
                      "entityType1ToEntityType2EntityLinkName": "model",
                      "entityType1ToEntityType2EntityLinkNameKey": "c2e0fade-62d5-4728-84bd-13a02bc888f2",
                      "entityType2ToEntityType1EntityLinkName": "dataset",
                      "entityType2ToEntityType1EntityLinkNameKey": "d346be41-2e24-4704-bb56-4537217a331a",
                      "enableAudit": true,
                      "allowNewCustomLinkAssociation": true,
                      "auditFields": {
                        "createdDate": "2025-06-12T08:52:58.307Z",
                        "lastUpdatedDate": "2025-06-12T08:52:58.307Z"
                      },
                      "linkAssociations": [
                        {
                          "id": 28,
                          "entityType1": {
                            "id": "286aeb99-fe6c-4f01-baaa-e24b8e689a84",
                            "name": "models",
                            "nameKey": "CE.Models.Name",
                            "seeded": true,
                            "moduleName": "CustomEntityManagement",
                            "schemaName": "models"
                          },
                          "entityType2": {
                            "id": "b821e04e-73f9-4bc8-b925-bfe72a599633",
                            "name": "datasets",
                            "nameKey": "CE.Datasets.Name",
                            "seeded": true,
                            "moduleName": "CustomEntityManagement",
                            "schemaName": "datasets"
                          },
                          "enabled": true,
                          "seeded": false,
                          "auditFields": {
                            "createdDate": "2025-06-12T08:52:58.308Z",
                            "lastUpdatedDate": null,
                            "createdBy": {
                              "id": "41955b71-e581-4187-ab6c-d00d1403350c",
                              "name": null,
                              "email": null,
                              "initials": null
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "429": {
            "description": "Too Many Requests. \nFor more information, see [API Rate Limits](https://developer.onetrust.com/onetrust/reference/rate-limits-overview).",
            "headers": {
              "Retry-After": {
                "schema": {
                  "description": "The number of seconds after which requests will be allowed again.",
                  "format": "int32"
                }
              },
              "ot-period": {
                "schema": {
                  "description": "The unit of time for which the rate limit applies",
                  "enum": [
                    "HOUR",
                    "MINUTE"
                  ]
                }
              },
              "ot-ratelimit-event-id": {
                "schema": {
                  "description": "The unique identifier for the rate-limiting event.",
                  "format": "uuid"
                }
              },
              "ot-request-made": {
                "schema": {
                  "description": "The number of requests made within the specified period.",
                  "format": "int32"
                }
              },
              "ot-requests-allowed": {
                "schema": {
                  "description": "The number of requests allowed within the specified period.",
                  "format": "int32"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "OAUTH2": [
              "OBJECT_MANAGER",
              "OBJECT_MANAGER_WRITE",
              "INTEGRATION"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "BasicEntityTypeInformation": {
        "type": "object",
        "properties": {
          "id": {
            "description": "The unique identifier of the object type.",
            "type": "string",
            "format": "uuid",
            "example": "f2229953-b4b5-4042-8cb9-b78038cc4c46"
          },
          "name": {
            "description": "The name of the object type.",
            "type": "string",
            "example": "Vendor"
          },
          "seeded": {
            "description": "This flag indicates whether the object type is seeded. ",
            "type": "boolean",
            "example": true
          },
          "moduleName": {
            "description": "The name of the product where the object type exists.",
            "type": "string",
            "example": "Vendor",
            "enum": [
              "Vendor",
              "DataMapping",
              "Risk",
              "Assessments",
              "CustomEntityManagement"
            ]
          },
          "schemaName": {
            "description": "The name of the schema.",
            "type": "string",
            "example": "vendor",
            "enum": [
              "vendor",
              "data-mapping",
              "risk",
              "assessments",
              "customEntityManagement"
            ]
          }
        },
        "example": "{\n \"id\": \"f2229953-b4b5-4042-8cb9-b78038cc4c46\",\n \"name\": \"Vendor\",\n \"nameKey\": \"EntityType.Vendor.Name\",\n \"seeded\": true,\n \"moduleName\": \"Vendor\",\n \"schemaName\": \"vendor\"\n},\n",
        "required": [
          "id",
          "name"
        ]
      },
      "EntityBasicUserInformation": {
        "type": "object",
        "properties": {
          "id": {
            "description": "The unique identifier of the user who last modified the record.",
            "type": "string",
            "format": "uuid",
            "example": "f2229953-b4b5-4042-8cb9-b78038cc4c46"
          },
          "name": {
            "description": "The name of the user who last modified the record.",
            "type": "string",
            "example": "First Last"
          },
          "email": {
            "description": "The email address of the user who last modified the record.",
            "type": "string",
            "example": "user@gmail.com"
          },
          "initials": {
            "description": "The initials of the user who last modified the record.",
            "type": "string",
            "example": "FL"
          }
        }
      },
      "EntityRecordAuditInformation": {
        "type": "object",
        "properties": {
          "createdDate": {
            "description": "The date and time that the record was created.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-13T13:06:49.853Z"
          },
          "lastUpdatedDate": {
            "description": "The date and time that the record was last updated.",
            "type": "string",
            "format": "date-time",
            "example": "2021-05-13T13:06:49.853Z"
          },
          "createdBy": {
            "description": "The creation details of the record.",
            "example": {
              "id": "c21319953-b4b5-4042-8cb9-b78038cc4c51",
              "name": "Name"
            },
            "$ref": "#/components/schemas/EntityBasicUserInformation"
          },
          "lastModifiedBy": {
            "description": "The last modified details of the record.",
            "example": {
              "id": "c21319953-b4b5-4042-8cb9-b78038cc4c51",
              "name": "Name"
            },
            "$ref": "#/components/schemas/EntityBasicUserInformation"
          }
        },
        "required": [
          "createdDate"
        ]
      },
      "CustomLinkTypeCreateRequest": {
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the relationship type.",
            "type": "string",
            "example": "Product/Service"
          },
          "description": {
            "description": "The description of the relationship type.",
            "type": "string",
            "example": "Defined link between Vendor and Product/Service"
          },
          "linkAssociations": {
            "description": "The details of linked relationships.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkTypeAssociationRequest"
            },
            "example": [
              {
                "entityType1": {
                  "name": "Vendors"
                },
                "entityType2": {
                  "name": "Assets"
                }
              },
              {
                "entityType1": {
                  "name": "Vendors"
                },
                "entityType2": {
                  "name": "Vendors"
                }
              }
            ],
            "uniqueItems": true
          },
          "entityType1ToEntityType2EntityLinkName": {
            "description": "The name of the source object type's relationship to the target object type.",
            "type": "string",
            "example": "OneTrust provides GRC"
          },
          "entityType2ToEntityType1EntityLinkName": {
            "description": "The name of the target object type's relationship to the source object type.",
            "type": "string",
            "example": "GRC belongs to OneTrust"
          }
        },
        "required": [
          "linkAssociations",
          "name"
        ]
      },
      "LinkTypeAssociationRequest": {
        "type": "object",
        "properties": {
          "entityType1": {
            "description": "The details of the source object type in the relationship.",
            "example": {
              "name": "Vendors"
            },
            "$ref": "#/components/schemas/BasicEntityTypeInformation"
          },
          "entityType2": {
            "description": "The details of the target object type in the relationship.",
            "example": {
              "name": "Vendors"
            },
            "$ref": "#/components/schemas/BasicEntityTypeInformation"
          },
          "entityTypePairKey": {
            "description": "The pair key of the linked object types.",
            "type": "string"
          }
        },
        "required": [
          "entityType1",
          "entityType2"
        ]
      },
      "LinkTypeAssociationInformation": {
        "type": "object",
        "properties": {
          "id": {
            "description": "The unique identifier of the relationship type.",
            "type": "integer",
            "format": "int64",
            "example": 999
          },
          "entityType1": {
            "description": "The details of the source object type in the relationship.",
            "example": {
              "name": "Vendors"
            },
            "$ref": "#/components/schemas/BasicEntityTypeInformation"
          },
          "entityType2": {
            "description": "The details of the target object type in the relationship.",
            "example": {
              "name": "Vendors"
            },
            "$ref": "#/components/schemas/BasicEntityTypeInformation"
          },
          "enabled": {
            "description": "This flag indicates whether relationship links are enabled.",
            "type": "boolean",
            "example": true
          },
          "seeded": {
            "description": "This flag indicates whether the relationship type is seeded.",
            "type": "boolean",
            "example": true
          },
          "auditFields": {
            "description": "The activity details of when the record was created and last updated.",
            "example": {
              "createdDate": "2021-11-20T13:06:49.853803",
              "lastUpdatedDate": "2021-12-01T13:06:49.853803"
            },
            "$ref": "#/components/schemas/EntityRecordAuditInformation"
          }
        },
        "required": [
          "enabled",
          "entityType1",
          "entityType2",
          "id",
          "seeded"
        ]
      },
      "LinkTypeDetailedInformation": {
        "type": "object",
        "properties": {
          "id": {
            "description": "The unique identifier of the relationship type.",
            "type": "string",
            "format": "uuid",
            "example": "f2229953-b4b5-4042-8cb9-b78038cc4c46"
          },
          "name": {
            "description": "The name of the relationship type. ",
            "type": "string",
            "example": "Product/Service",
            "maxLength": 255,
            "minLength": 1
          },
          "nameKey": {
            "description": "The name key of the relationship type used for translation purposes.",
            "type": "string",
            "example": "link.type.productservice.name"
          },
          "seeded": {
            "description": "This flag indicates whether the relationship type is seeded.",
            "type": "boolean",
            "example": true,
            "default": "false"
          },
          "moduleName": {
            "description": "The name of the product where the relationship type exists.",
            "type": "string",
            "example": "CustomEntityManagement"
          },
          "description": {
            "description": "The description of the relationship type.",
            "type": "string",
            "example": "Links between vendors and their products"
          },
          "descriptionKey": {
            "description": "The description key of the relationship type used for translation purposes.",
            "type": "string",
            "example": "entity.link.vendor_product.description"
          },
          "entityType1ToEntityType2EntityLinkName": {
            "description": "The name of the source object type's relationship to the target object type.",
            "type": "string",
            "example": "Vendor provides Product"
          },
          "entityType1ToEntityType2EntityLinkNameKey": {
            "description": "The name key of the source object type's relationship to the target object type used for translation purposes.",
            "type": "string",
            "example": "entity.link.vendor_to_product"
          },
          "entityType2ToEntityType1EntityLinkName": {
            "description": "The name of the target object type's relationship to the source object type.",
            "type": "string",
            "example": "Product belongs to Vendor"
          },
          "entityType2ToEntityType1EntityLinkNameKey": {
            "description": "The name key of the target object types's relationship to the source object type.",
            "type": "string",
            "example": "entity.link.product_to_vendor"
          },
          "enableAudit": {
            "description": "This flag indicates whether audit activity is enabled.",
            "type": "boolean",
            "example": true,
            "default": "false"
          },
          "allowNewCustomLinkAssociation": {
            "description": "This flag indicates whether new relationship links are allowed.",
            "type": "boolean",
            "example": false,
            "default": "true"
          },
          "auditFields": {
            "description": "The activity details of when the record was created and last updated.",
            "$ref": "#/components/schemas/EntityRecordAuditInformation"
          },
          "linkAssociations": {
            "description": "The details of linked relationships.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkTypeAssociationInformation"
            },
            "example": "[{\"moduleName\": \"Inventory\" ,\"entityTypePair\": {\"entityType1\": {\"name\": \"Vendors\"}, \"entityType2\": {\"name\": \"Assets\"}}, {\"entityType1\": {\"name\": \"Vendors\"}, \"entityType2\": {\"name\": \"Vendors\"}}}]"
          }
        },
        "required": [
          "id",
          "linkAssociations",
          "name"
        ]
      }
    },
    "securitySchemes": {
      "OAUTH2": {
        "type": "oauth2",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://{hostname}/api/access/v1/oauth/token",
            "scopes": {
              "OBJECT_MANAGER": "Grants full access to Object Manager related APIs.",
              "OBJECT_MANAGER_READ": "Grants read access to Object Manager related APIs",
              "OBJECT_MANAGER_WRITE": "Grants write access to Object Manager related APIs"
            }
          }
        }
      }
    }
  }
}
```

# Sibling pages

* [Get List of Relationship Link Types](https://developer.onetrust.com/onetrust/reference/findallbylinktypeandcriteriausingpost.md)
* [Get Relationship Type](https://developer.onetrust.com/onetrust/reference/getlinktypeusingget.md)