New Admins: Register for our new Pure Lecture Series!
Pure's logos
Pure Help Center for Pure Administrators

If you are a researcher, or other non-admin at your institution, click here.

  • Home
  • Announcements
  • Release Notes
  • Technical user guides
  • Training
  • Events
  • Support
  • Contact Us
  • Home
  • Training
  • Technical user guides
  • Pure API
  • API Examples

How Can We Help?

Search Results

Filter By Category

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Contact us

Understanding Dependents in the Pure APIUnderstanding Dependents in the Pure API

In traditional relational databases, data relationships are typically defined using primary keys (PK) and foreign keys (FK) to establish links between table rows in tables. However, in the API, relationships between different content types are managed through UUIDs (Universally Unique Identifiers) and dependents.

Instead of foreign keys, the API provides DEPENDENTS endpoints that allow users to retrieve related records for a given content type. These endpoints return all associated content linked to a specified UUID.

 

How Dependents Work

Each content type (e.g., Person, Research Output, Project) may have dependencies, other content that relies on it. To retrieve these dependencies, the API provides dedicated DEPENDENTS endpoints. For example, if you want to identify records that depend on a specific Research Output (and might prevent its deletion), you would use the GET dependents endpoint with the Research Output's UUID.

Rule of Thumb:

  • UUIDs are always present in content and serve as unique identifiers.
  • The API does not use traditional database constraints like primary and foreign keys.
  • Instead, relationships are retrieved dynamically through the DEPENDENTS endpoints, which identify content that relies on a given record. This helps you understand dependencies between content types and how they are connected. This allows you to create logical associations.

 

List of Dependents Endpoints

The following API endpoints are available to retrieve dependent relationships for each content type:

  • GET Lists all dependents of an Application
  • GET Lists all dependents of an Award
  • GET Lists all dependents of an External Organization
  • GET Lists all dependents of an External Person
  • GET Lists all dependents of a Journal
  • GET Lists all dependents of an Organization
  • GET Lists all dependents of a Person
  • GET Lists all dependents of a Project
  • GET Lists all dependents of a Publisher
  • GET Lists all dependents of a Research Output

 

Example Use Case

If you need to find all relationships for a specific Person with UUID 12345-abcdef-12345-abcdef, you would call:

GET /ws/api/persons/12345-abcdef-12345-abcdef/dependents

This will return a list of all content types that have a relationship with this Person.
Please note: In this list, the organization linked to the person is not shown, as the organization exists independently of the person. The person can be deleted without affecting the organization, but cannot be deleted if they are the author of a research output, as the output depends on the person

{
  "items": [
    {
      "systemName": "Activity",
      "uuid": "209ee220-edc1-4502-983d-2bf61f20388e"
    },
    {
      "systemName": "Impact",
      "uuid": "79b94064-4d79-4ce3-9058-791f3ad4f243"
    },
    {
      "systemName": "Prize",
      "uuid": "2357c89a-7b10-458d-9e0a-851de9567c1c"
    },
    {
      "systemName": "PressMedia",
      "uuid": "9605f938-fcb9-49ae-bf09-3f18cdcd7cff"
    },
    {
      "systemName": "Equipment",
      "uuid": "0f7364e7-a474-4869-ba77-c5480ca6db88"
    },
    {
      "systemName": "Project",
      "uuid": "8a9e55bc-c5ec-4e7d-8887-f25a7a3c1f13"
    },
    {
      "systemName": "StudentThesis",
      "uuid": "c5054eee-87b6-47fe-8adb-40447625d11f"
    },
    {
      "systemName": "ResearchOutput",
      "uuid": "24850554-4c15-465a-b876-d381cfce50b2"
    },
    {
      "systemName": "Course",
      "uuid": "6502d342-ecfe-4e05-a9e4-bf039e7b9c2b"
    }
  ]
}

This API call returns a list of all content types associated with the person identified by the provided UUID. The response includes:

  • items: An array of objects, each containing:
    • systemName: The name of the related content type (e.g., "Project", "ResearchOutput").
    • uuid: The unique identifier of the related content.

To retrieve more information about a specific dependent item, use its systemName and uuid to construct a new API request. For example, to get details about a related project, use the uuid from the "Project" or “ResearchOutput” in the response and call:

GET /ws/api/projects/{uuid}
GET /ws/api/research-ouputs/{uuid}

If the user does not have access to view all the dependent content, an authorization error will be thrown.

Quick diagram

Explanation:

  • Central Node: The Person with UUID person_uuid is the central entity.
  • Direct Dependents: The person has direct relationships with both Project (UUID project_uuid) and Research Output (UUIDs ro1_uuid, ro2_uuid, ro3_uuid). This means the person is directly involved in the project and has also authored or contributed to the research outputs.

Interpretation:

This diagram shows that the person is independently connected to both a project and research outputs. This could represent, for example, a researcher who is working on a project and has also published research articles that are not directly related to that project.

Published at March 27, 2025

Download
Table of Contents
  1. How Dependents Work
  2. Rule of Thumb:
  3. List of Dependents Endpoints
  4. Example Use Case
  5. Quick diagram
Related Articles
  • Pure API: Extracting Person Dependents Using Python
  • Testing the Pure API Using RapiDoc
  • Getting started: Pure API user guide
Keywords
  • dependency explanation
  • api dependents
  • pure api
  • dependents endpoint
  • api example

Was this article helpful?

Yes
No
Give feedback about this article

    About Pure

  • Announcements

    Additional Support

  • Events
  • Client Community
  • Training

    Need Help?

  • Contact Us
  • Submit a Support Case
  • My Cases
  • Linkedin
  • Twitter
  • Facebook
  • Youtube
Elsevier logo Relx logo

Copyright © 2025 Elsevier, except certain content provided by third parties.

  • Terms & Conditions Terms & Conditions
  • Privacy policyPrivacy policy
  • AccesibilityAccesibility
  • Cookie SettingsCookie Settings
  • Log in to Pure Help CenterLog in to Helpjuice Center

Knowledge Base Software powered by Helpjuice

Expand