Skip to main content

Overview

A project houses the resources you create within it: Inputs, Collections, and Queries. An organization can have many projects, but a default project is created for you when onboarding. Projects allow you to restrict access to resources across users, and to keep different project data separate.

Access Control

Projects serve as the primary access control mechanism:
  • org_admin users: Access all projects automatically
  • client users: Access only explicitly assigned projects
  • Resources isolation: Users can only see resources in accessible projects
  • Shared ownership: Resources in a project are accessible to all Users in the project

Default Project

Every Organization has a default Project where resources are created when no OnDeck-Project header is specified.
Every user in an Organization has access to the default Project
To specify which Project a resource belongs to, include the project_id in a custom HTTP header in requests:

Cross-Project Access

Resources can only be used within their assigned project. Queries live in the same project as the Input or Collection it is created with. Inputs can only be added to Collections in the same project. This prevents users in a Project from being exposed to resources or derivatives from other Projects.

Pagination and Filtering

When listing Projects, the API returns paginated results with support for filtering and sorting.

Deletion

Projects in an Organization can only be deleted by Users with the role org_admin. Projects can only be deleted if they are empty. This means to delete a non-empty Project, you must first delete all Inputs and Collections in the Project.

List Projects

View all accessible projects

Create Project

Create new project

Get Project Details

Retrieve specific project information

Manage Users

Learn about user-project access control

Delete Project

Delete a Project