Agave Project Management API

Project Management resources in the Agave unified construction API.

Operations 73

GET /projects List Projects #
POST /projects New Project #
GET /projects/{project_id} Show Project #
PUT /projects/{project_id} Update Project #
DELETE /projects/{project_id} Delete Project #
GET /checklists List Checklists #
GET /checklists/{checklist_id} Show Checklist #
GET /checklist-templates List Checklist Templates #
GET /checklist-templates/{checklist_template_id} Show Checklist Template #
GET /contacts List Contacts (Company) #
POST /contacts New Contact (Company) #
GET /vendors/{vendor_id}/contacts List Contacts (Vendor) #
GET /customers/{customer_id}/contacts List Contacts (Customer) #
POST /customers/{customer_id}/contacts New Contact (Customer) #
GET /contacts/{contact_id} Show Contact (Company) #
PUT /contacts/{contact_id} Update Contact (Company) #
DELETE /contacts/{contact_id} Delete Contact (Company) #
GET /vendors/{vendor_id}/contacts/{contact_id} Show Contact (Vendor) #
GET /customers/{customer_id}/contacts/{contact_id} Show Contact (Customer) #
PUT /customers/{customer_id}/contacts/{contact_id} Update Contact (Customer) #
DELETE /customers/{customer_id}/contacts/{contact_id} Delete Contact (Customer) #
GET /coordination-issues List Coordination Issues #
POST /coordination-issues New Coordination Issue #
GET /coordination-issues/{coordination_issue_id} Show Coordination Issue #
PUT /coordination-issues/{coordination_issue_id} Update Coordination Issue #
DELETE /coordination-issues/{coordination_issue_id} Delete Coordination Issue #
POST /coordination-issues/{coordination_issue_id}/attachments New Attachment #
POST /coordination-issues/{coordination_issue_id}/viewpoints New Viewpoint #
GET /drawings List Drawings #
GET /drawings/{drawing_id} Show Drawing #
GET /drawings/{drawing_id}/versions List Drawing Versions #
GET /drawings/{drawing_id}/versions/{drawing_version_id} Show Drawing Version #
GET /drawing-areas List Drawing Areas #
GET /drawing-areas/{drawing_area_id} Show Drawing Folder #
GET /issues List Issues #
GET /locations List Locations #
GET /locations/{location_id} Show Location #
GET /observations List Observations #
POST /observations New Observation #
GET /observations/{observation_id} Show Observation #
PUT /observations/{observation_id} Update Observation #
DELETE /observations/{observation_id} Delete Observation #
POST /observations/{observation_id}/attachments New Attachment #
GET /rfis List RFIs #
POST /rfis New RFI #
GET /rfis/{rfi_id} Show RFI #
POST /rfis/{rfi_id}/attachments New Attachment #
POST /rfis/{rfi_id}/responses New RFI Response #
GET /specification-sections List Specification Sections #
GET /specification-sections/{specification_section_id} Show Specification Section #
GET /specification-sections/{specification_section_id}/versions List Specification Section Versions #
GET /specification-sections/{specification_section_id}/versions/{specification_section_version_id} Show Specification Section Version #
GET /submittals List Submittals #
POST /submittals New Submittal #
GET /submittals/{submittal_id} Show Submittal #
PUT /submittals/{submittal_id} Update Submittal #
POST /submittals/{submittal_id}/attachments Attach to Submittal #
POST /submittals/{submittal_id}/submittal-reviewers/{id}/attachments Attach to Submittal Reviewer #
DELETE /submittals/{id} Delete Submittal #
GET /submittal-packages List Submittal Packages #
POST /submittal-packages New Submittal Package #
GET /submittal-packages/{submittal_package_id} Show Submittal Package #
PUT /submittal-packages/{submittal_package_id} Update Submittal Package #
DELETE /submittal-packages/{id} Delete Submittal Package #
GET /transmittals List Transmittals #
GET /transmittals/{transmittal_id} Show Transmittal #
GET /vendors List Vendors (Company) #
POST /vendors New Vendor #
PATCH /vendors Bulk Write Vendors #
GET /vendors/{vendor_id} Show Vendor #
DELETE /vendors/{vendor_id} Delete Project Vendor #
PUT /vendors/source_id:3404938 Update Vendor #
GET /work-logs List Work Logs #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/agave-project-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

agave-project-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agave Unified Construction API (derived from the provider…
  version: '2021-11-21'
  description: Machine-readable OpenAPI DERIVED by API Evangelist from the Postman collection Agave publishes at https://docs.agaveapi.com/agave-api/postman-collection (AgaveAPI-2024-09-10.zip, collection exported 2024-09-10, 437 requests).
  contact:
    name: Agave API Support
    email: api-support@agaveapi.com
    url: https://docs.agaveapi.com
  x-derived-from: collections/agave-api-provider.postman_collection.json
  x-method: derived
  x-generated: '2026-08-30'
servers:
- url: https://api.agaveapi.com
  description: Production
security:
- ClientId: []
  ClientSecret: []
  AccountToken: []
tags:
- name: Project Management
  description: Project Management resources in the Agave unified construction API.
paths:
  /projects:
    get:
      operationId: getProjects
      summary: List Projects
      tags:
      - Project Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    post:
      operationId: postProjects
      summary: New Project
      tags:
      - Project Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              address:
                street_1: 123 Main Street
                street_2: Unit B
                city: AnyTown
                state: CA
                postal_code: '19703'
              amount: '500000.00'
              completion_date: '2025-01-01'
              name: AnyCompany dredging Project
              number: JZ-102
              start_date: '2022-01-01'
              status: Active
              type: Fixed Price
              source_data:
                Taxable_Flag: Y
                Cost_Center: '1010'
  /projects/{project_id}:
    get:
      operationId: getProjectsByProjectId
      summary: Show Project
      tags:
      - Project Management
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the project.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    put:
      operationId: putProjectsByProjectId
      summary: Update Project
      tags:
      - Project Management
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the project.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              name: Test update 2
              number: PA-001
    delete:
      operationId: deleteProjectsByProjectId
      summary: Delete Project
      tags:
      - Project Management
      parameters:
      - name: project_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the project.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /checklists:
    get:
      operationId: getChecklists
      summary: List Checklists
      tags:
      - Project Management
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: string
      - name: per_page
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /checklists/{checklist_id}:
    get:
      operationId: getChecklistsByChecklistId
      summary: Show Checklist
      tags:
      - Project Management
      parameters:
      - name: checklist_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the checklist.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /checklist-templates:
    get:
      operationId: getChecklistTemplates
      summary: List Checklist Templates
      tags:
      - Project Management
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: string
      - name: per_page
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              filters:
              - field: type
                operator: '='
                value: Punch List
  /checklist-templates/{checklist_template_id}:
    get:
      operationId: getChecklistTemplatesByChecklistTemplateId
      summary: Show Checklist Template
      tags:
      - Project Management
      parameters:
      - name: checklist_template_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the checklist template.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /contacts:
    get:
      operationId: getContacts
      summary: List Contacts (Company)
      tags:
      - Project Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    post:
      operationId: postContacts
      summary: New Contact (Company)
      tags:
      - Project Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              address:
                city: San Francisco2
                country: USA2
                postal_code: '6666667'
                state: CA2
                street_1: street3
              customer_id: null
              email: email223@email.com
              first_name: name6
              image_url: test.com/logo.png
              job_title: Salesperson
              last_name: lastname
              phone: 1-666-666-6668
  /vendors/{vendor_id}/contacts:
    get:
      operationId: getVendorsByVendorIdContacts
      summary: List Contacts (Vendor)
      tags:
      - Project Management
      parameters:
      - name: vendor_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the vendor.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /customers/{customer_id}/contacts:
    get:
      operationId: getCustomersByCustomerIdContacts
      summary: List Contacts (Customer)
      tags:
      - Project Management
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the customer.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    post:
      operationId: postCustomersByCustomerIdContacts
      summary: New Contact (Customer)
      tags:
      - Project Management
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the customer.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              email: test-1@agaveapitest.com
              full_name: Test {{$randomFullName}}
              job_title: Salesperson
              mobile_phone: '1235550101'
              phone: '1235550102'
  /contacts/{contact_id}:
    get:
      operationId: getContactsByContactId
      summary: Show Contact (Company)
      tags:
      - Project Management
      parameters:
      - name: contact_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the contact.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    put:
      operationId: putContactsByContactId
      summary: Update Contact (Company)
      tags:
      - Project Management
      parameters:
      - name: contact_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the contact.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              address:
                city: San Francisco2
                country: USA2
                postal_code: '6666667'
                state: CA2
                street_1: street3
              customer_id: null
              email: email223@email.com
              first_name: name6
              image_url: test.com/logo.png
              job_title: Salesperson
              last_name: lastname
              phone: 1-666-666-6668
    delete:
      operationId: deleteContactsByContactId
      summary: Delete Contact (Company)
      tags:
      - Project Management
      parameters:
      - name: contact_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the contact.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /vendors/{vendor_id}/contacts/{contact_id}:
    get:
      operationId: getVendorsByVendorIdContactsByContactId
      summary: Show Contact (Vendor)
      tags:
      - Project Management
      parameters:
      - name: vendor_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the vendor.
      - name: contact_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the contact.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /customers/{customer_id}/contacts/{contact_id}:
    get:
      operationId: getCustomersByCustomerIdContactsByContactId
      summary: Show Contact (Customer)
      tags:
      - Project Management
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the customer.
      - name: contact_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the contact.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    put:
      operationId: putCustomersByCustomerIdContactsByContactId
      summary: Update Contact (Customer)
      tags:
      - Project Management
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the customer.
      - name: contact_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the contact.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              address:
                city: San Francisco2
                country: USA2
                postal_code: '6666667'
                state: CA2
                street_1: street3
              customer_id: null
              email: email223@email.com
              first_name: name6
              image_url: test.com/logo.png
              job_title: Salesperson
              last_name: lastname
              phone: 1-666-666-6668
    delete:
      operationId: deleteCustomersByCustomerIdContactsByContactId
      summary: Delete Contact (Customer)
      tags:
      - Project Management
      parameters:
      - name: customer_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the customer.
      - name: contact_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the contact.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /coordination-issues:
    get:
      operationId: getCoordinationIssues
      summary: List Coordination Issues
      tags:
      - Project Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    post:
      operationId: postCoordinationIssues
      summary: New Coordination Issue
      tags:
      - Project Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
  /coordination-issues/{coordination_issue_id}:
    get:
      operationId: getCoordinationIssuesByCoordinationIssueId
      summary: Show Coordination Issue
      tags:
      - Project Management
      parameters:
      - name: coordination_issue_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the coordination issue.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    put:
      operationId: putCoordinationIssuesByCoordinationIssueId
      summary: Update Coordination Issue
      tags:
      - Project Management
      parameters:
      - name: coordination_issue_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the coordination issue.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              assignee_id: '{{contact_id}}'
              description: Updated Description
              due_date: '2022-12-25'
              name: Updated Title 2
              status: Open
              type: Issue
    delete:
      operationId: deleteCoordinationIssuesByCoordinationIssueId
      summary: Delete Coordination Issue
      tags:
      - Project Management
      parameters:
      - name: coordination_issue_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the coordination issue.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /coordination-issues/{coordination_issue_id}/attachments:
    post:
      operationId: postCoordinationIssuesByCoordinationIssueIdAttachments
      summary: New Attachment
      tags:
      - Project Management
      parameters:
      - name: coordination_issue_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the coordination issue.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
  /coordination-issues/{coordination_issue_id}/viewpoints:
    post:
      operationId: postCoordinationIssuesByCoordinationIssueIdViewpoints
      summary: New Viewpoint
      tags:
      - Project Management
      parameters:
      - name: coordination_issue_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the coordination issue.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
  /drawings:
    get:
      operationId: getDrawings
      summary: List Drawings
      tags:
      - Project Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /drawings/{drawing_id}:
    get:
      operationId: getDrawingsByDrawingId
      summary: Show Drawing
      tags:
      - Project Management
      parameters:
      - name: drawing_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the drawing.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /drawings/{drawing_id}/versions:
    get:
      operationId: getDrawingsByDrawingIdVersions
      summary: List Drawing Versions
      tags:
      - Project Management
      parameters:
      - name: drawing_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the drawing.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /drawings/{drawing_id}/versions/{drawing_version_id}:
    get:
      operationId: getDrawingsByDrawingIdVersionsByDrawingVersionId
      summary: Show Drawing Version
      tags:
      - Project Management
      parameters:
      - name: drawing_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the drawing.
      - name: drawing_version_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the drawing version.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /drawing-areas:
    get:
      operationId: getDrawingAreas
      summary: List Drawing Areas
      tags:
      - Project Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /drawing-areas/{drawing_area_id}:
    get:
      operationId: getDrawingAreasByDrawingAreaId
      summary: Show Drawing Folder
      tags:
      - Project Management
      parameters:
      - name: drawing_area_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the drawing area.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /issues:
    get:
      operationId: getIssues
      summary: List Issues
      tags:
      - Project Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /locations:
    get:
      operationId: getLocations
      summary: List Locations
      tags:
      - Project Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /locations/{location_id}:
    get:
      operationId: getLocationsByLocationId
      summary: Show Location
      tags:
      - Project Management
      parameters:
      - name: location_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the location.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /observations:
    get:
      operationId: getObservations
      summary: List Observations
      tags:
      - Project Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    post:
      operationId: postObservations
      summary: New Observation
      tags:
      - Project Management
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              assignee_id: '{{user_id}}'
              description: austin test description
              due_date: '2022-03-25'
              name: austin test observation 2
              location_id: '{{location_id}}'
              root_cause: Communication
              status: initiated
              type: Commissioning
              source_data:
                priority: Medium
  /observations/{observation_id}:
    get:
      operationId: getObservationsByObservationId
      summary: Show Observation
      tags:
      - Project Management
      parameters:
      - name: observation_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the observation.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
    put:
      operationId: putObservationsByObservationId
      summary: Update Observation
      tags:
      - Project Management
      parameters:
      - name: observation_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the observation.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              assignee_id: '{{user_id}}'
              description: pooria test description
              due_date: '2022-03-25'
              name: pooria test observation 2
              location_id: '{{location_id}}'
              root_cause: Communication
              status: closed
              type: Commissioning
    delete:
      operationId: deleteObservationsByObservationId
      summary: Delete Observation
      tags:
      - Project Management
      parameters:
      - name: observation_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the observation.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
  /observations/{observation_id}/attachments:
    post:
      operationId: postObservationsByObservationIdAttachments
      summary: New Attachment
      tags:
      - Project Management
      parameters:
      - name: observation_id
        in: path
        required: true
        schema:
          type: string
        description: Agave identifier for the observation.
      responses:
        '200':
          description: Successful response
        '401':
          description: Unauthorized - missing or invalid Client-Id / Client-Secret / Account-Token / API-Version header
        '429':
          description: Too Many Requests - Agave or source-system rate limit reached
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
  /rfis:
    get:
      operationId: getRfis
      summary: List RFIs
      tags:
      - Project Management
      parameters:
      - name: expand
        in: query
        required: false
        schema:
          type: string
   

# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/agave/refs/heads/main/openapi/agave-project-management-api-openapi.yml