This section describes the various categories of the API endpoints and provides a workflow sequence for how these endpoints are typically used within the EPR Partner API. Each category is broken down into specific processes or actions.
Authentication
Authentication endpoints secure a token necessary for authorizing subsequent API calls. Refer to Authentication and Partner Configuration for proper steps for authentication to EPR.
This category covers all endpoints related to project management, from creation to managing associated details like addresses and contacts.
Project Creation
Step 1: Retrieve Configuration Data
Before creating a project, it's important to fetch the configuration data to ensure it can be correctly set up with valid data fields such as projectType
, Statuses
, etc. This involves making API calls to retrieve listTypes
and their corresponding items.
Fetching List Types
Call this endpoint to retrieve all available list types, including options for project settings such as types and statuses. This information is crucial for populating your application's dropdowns or similar selection interfaces.
Endpoint: GET /configurations/listTypes
Description: Retrieves a list of configurable types like project types, statuses, and other categories that are used across various endpoints to ensure data consistency.
Fetching List Items for Specific Types
Once you have the list types, fetch the items for specific types such as projectType
and Statuses
.
Endpoint: GET /configurations/listItems
Parameters:
typeId
: The ID of the type for which items are required (e.g.,projectType
,Statuses
).
All list items are related to a purpose type. Ensure that the purpose types of "for Permitting" and "for Design Review" are not mixed together. Verify that all list item types match the correct purpose for your project.
Step 2: Create a Project
With the necessary configuration data retrieved, create a project using the appropriate API endpoint.
Creating a New Project
Endpoint: POST /projects
Required Fields:
projectNumber
: Must be a unique identifier. Recommended using a user-known identifier for a better user experienceprojectType_LIID
: As retrieved from the configurations.status_LIID
: As retrieved from the configurations.purpose_id
: As retrieved from the configurations.cycle_LIID
: As retrieved from the configurations.
Example API Calls
Here is how you might call the API to get configuration data and create a project:
Fetch List Types:
Request:
GET /listTypes
Expected Response: List of types, including IDs and names for project settings.
Fetch List Items for 'ProjectType' and 'Statuses':
Request:
GET /listType/{projectTypeId}/listItems
Expected Response: Details of items for each project type, including IDs and values.
Manage Addresses
Explains how to add or update addresses associated with a project.
Manage Contacts
Outlines how to add or modify contacts related to a project.
Documents
Endpoints under this category deal with document management within projects, including uploading and processing documents.
Upload Document
Covers the process for uploading documents to a specific project.
Document Intake
Describes the optional process of document intake following upload, if applicable.
Assignment Management
This section includes endpoints involved in managing assignments for documents within projects, facilitating the review and approval processes.
Create Assignment
Details on how to create and assign a document for review to specific users or groups.
Update Assignment
Instructions on updating the details or status of an existing assignment.
Deliverables
This section focuses on retrieving system outputs, such as comments and reports related to project documents and final deliverables.
Comment Retrieval
Describes how to retrieve comments made on documents within a project.
Generate Comment Reports
Outlines the process to generate detailed reports based on comments.
Deliverable Retrieval
Details the endpoints for retrieving final deliverables such as completed documents or project summaries.