ComboCurve v1 projects API

projects operations

OpenAPI Specification

combocurve-v1-projects-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ComboCurve REST v1 custom-columns v1 projects API
  version: v1
  description: 'ComboCurve REST API for oil & gas well forecasting, type curves, production data, reserves and economics. Base URL https://api.combocurve.com. Authentication requires two headers: a signed bearer token (Authorization) generated from a Service Account Key, and an x-api-key. Derived by API Evangelist from the official public ComboCurve Postman collection.'
  contact:
    name: ComboCurve API Support
    url: https://forum.api.combocurve.com/
servers:
- url: https://api.combocurve.com
  description: Production
security:
- apiKeyAuth: []
  bearerAuth: []
tags:
- name: v1 projects
  description: projects operations
paths:
  /v1/projects:
    head:
      operationId: head-projects
      summary: head-projects
      tags:
      - v1 projects
      description: Returns metadata about the existing project documents.
      parameters:
      - name: skip
        in: query
        required: false
        schema:
          type: integer
        description: number of items to skip
      - name: take
        in: query
        required: false
        schema:
          type: integer
        description: max records to return
      - name: createdAt
        in: query
        required: false
        schema:
          type: string
        description: filter by createdAt - Operator values are [lt] = less than, [le] = less than or equal, [gt] = greater than, [ge] = greater than or equal, no operator = equal. Example createdAt[gt]=2018-01-01T00:00:00Z
      - name: name
        in: query
        required: false
        schema:
          type: string
        description: filter by name
      - name: updatedAt
        in: query
        required: false
        schema:
          type: string
        description: filter by updatedAt - Operator values are [lt] = less than, [le] = less than or equal, [gt] = greater than, [ge] = greater than or equal, no operator = equal. Example updatedAt[gt]=2018-01-01T00:00:00Z
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
    get:
      operationId: get-projects
      summary: get-projects
      tags:
      - v1 projects
      description: Returns a list of project documents.
      parameters:
      - name: skip
        in: query
        required: false
        schema:
          type: integer
        description: number of items to skip
      - name: take
        in: query
        required: false
        schema:
          type: integer
        description: max records to return
      - name: sort
        in: query
        required: false
        schema:
          type: string
        description: field to sort by, including + or - at the beginning for ascending or descending order, respectively
      - name: cursor
        in: query
        required: false
        schema:
          type: string
        description: used in pagination to get the next page
      - name: createdAt
        in: query
        required: false
        schema:
          type: string
        description: filter by createdAt - Operator values are [lt] = less than, [le] = less than or equal, [gt] = greater than, [ge] = greater than or equal, no operator = equal. Example createdAt[gt]=2018-01-01T00:00:00Z
      - name: name
        in: query
        required: false
        schema:
          type: string
        description: filter by name
      - name: updatedAt
        in: query
        required: false
        schema:
          type: string
        description: filter by updatedAt - Operator values are [lt] = less than, [le] = less than or equal, [gt] = greater than, [ge] = greater than or equal, no operator = equal. Example updatedAt[gt]=2018-01-01T00:00:00Z
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
    post:
      operationId: post-projects
      summary: post-projects
      tags:
      - v1 projects
      description: Inserts a list of project documents.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
      responses:
        '201':
          description: Created
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
  /v1/projects/{id}:
    delete:
      operationId: delete-project-by-id
      summary: delete-project-by-id
      tags:
      - v1 projects
      description: Delete the project document that matches the given id.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
    get:
      operationId: get-project-by-id
      summary: get-project-by-id
      tags:
      - v1 projects
      description: Returns the project document that matches the given id.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
  /v1/projects/{projectId}/company-wells:
    delete:
      operationId: delete-project-company-wells
      summary: delete-project-company-wells
      tags:
      - v1 projects
      description: Remove the company wells documents that match the given filters from the projectId scope.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: chosenID
        in: query
        required: false
        schema:
          type: string
        description: filter by chosenID
      - name: dataSource
        in: query
        required: false
        schema:
          type: string
        description: filter by dataSource
      - name: id
        in: query
        required: false
        schema:
          type: string
        description: filter by id
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
    head:
      operationId: head-project-company-wells
      summary: head-project-company-wells
      tags:
      - v1 projects
      description: Returns metadata about the existing company well documents in projectId scope.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: skip
        in: query
        required: false
        schema:
          type: integer
        description: number of items to skip
      - name: take
        in: query
        required: false
        schema:
          type: integer
        description: max records to return
      - name: api10
        in: query
        required: false
        schema:
          type: string
        description: filter by api10
      - name: api12
        in: query
        required: false
        schema:
          type: string
        description: filter by api12
      - name: county
        in: query
        required: false
        schema:
          type: string
        description: filter by county
      - name: state
        in: query
        required: false
        schema:
          type: string
        description: filter by state
      - name: wellName
        in: query
        required: false
        schema:
          type: string
        description: filter by wellName
      - name: chosenID
        in: query
        required: false
        schema:
          type: string
        description: filter by chosenID
      - name: inptID
        in: query
        required: false
        schema:
          type: string
        description: filter by inptID
      - name: api14
        in: query
        required: false
        schema:
          type: string
        description: filter by api14
      - name: createdAt
        in: query
        required: false
        schema:
          type: string
        description: filter by createdAt - Operator values are [lt] = less than, [le] = less than or equal, [gt] = greater than, [ge] = greater than or equal, no operator = equal. Example createdAt[gt]=2018-01-01T00:00:00Z
      - name: updatedAt
        in: query
        required: false
        schema:
          type: string
        description: filter by updatedAt - Operator values are [lt] = less than, [le] = less than or equal, [gt] = greater than, [ge] = greater than or equal, no operator = equal. Example updatedAt[gt]=2018-01-01T00:00:00Z
      - name: dataSource
        in: query
        required: false
        schema:
          type: string
        description: filter by dataSource
      - name: currentOperator
        in: query
        required: false
        schema:
          type: string
        description: filter by dataSource
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
    get:
      operationId: get-project-company-wells
      summary: get-project-company-wells
      tags:
      - v1 projects
      description: Returns a list of company well documents in projectId scope.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: skip
        in: query
        required: false
        schema:
          type: integer
        description: number of items to skip
      - name: take
        in: query
        required: false
        schema:
          type: integer
        description: max records to return
      - name: sort
        in: query
        required: false
        schema:
          type: string
        description: field to sort by, including + or - at the beginning for ascending or descending order, respectively
      - name: cursor
        in: query
        required: false
        schema:
          type: string
        description: used in pagination to get the next page
      - name: api10
        in: query
        required: false
        schema:
          type: string
        description: filter by api10
      - name: api12
        in: query
        required: false
        schema:
          type: string
        description: filter by api12
      - name: county
        in: query
        required: false
        schema:
          type: string
        description: filter by county
      - name: state
        in: query
        required: false
        schema:
          type: string
        description: filter by state
      - name: wellName
        in: query
        required: false
        schema:
          type: string
        description: filter by wellName
      - name: chosenID
        in: query
        required: false
        schema:
          type: string
        description: filter by chosenID
      - name: inptID
        in: query
        required: false
        schema:
          type: string
        description: filter by inptID
      - name: api14
        in: query
        required: false
        schema:
          type: string
        description: filter by api14
      - name: createdAt
        in: query
        required: false
        schema:
          type: string
        description: filter by createdAt - Operator values are [lt] = less than, [le] = less than or equal, [gt] = greater than, [ge] = greater than or equal, no operator = equal. Example createdAt[gt]=2018-01-01T00:00:00Z
      - name: updatedAt
        in: query
        required: false
        schema:
          type: string
        description: filter by updatedAt - Operator values are [lt] = less than, [le] = less than or equal, [gt] = greater than, [ge] = greater than or equal, no operator = equal. Example updatedAt[gt]=2018-01-01T00:00:00Z
      - name: dataSource
        in: query
        required: false
        schema:
          type: string
        description: filter by dataSource
      - name: currentOperator
        in: query
        required: false
        schema:
          type: string
        description: filter by dataSource
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
    post:
      operationId: post-project-company-wells
      summary: post-project-company-wells
      tags:
      - v1 projects
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  dataSource:
                    type: string
                  chosenID:
                    type: string
                  id:
                    type: string
                  projectCustomHeader:
                    type: string
                  projectCustomHeader1:
                    type: string
                  projectCustomHeader2:
                    type: string
                  projectCustomHeader3:
                    type: string
                  projectCustomHeader4:
                    type: string
                  projectCustomHeader5:
                    type: string
                  projectCustomHeader6:
                    type: string
                  projectCustomHeader7:
                    type: string
                  projectCustomHeader8:
                    type: string
                  projectCustomHeader9:
                    type: string
                  projectCustomHeader10:
                    type: string
                  projectCustomHeader11:
                    type: string
                  projectCustomHeader12:
                    type: string
                  projectCustomHeader13:
                    type: string
                  projectCustomHeader14:
                    type: string
                  projectCustomHeader15:
                    type: string
                  projectCustomHeader16:
                    type: string
                  projectCustomHeader17:
                    type: string
                  projectCustomHeader18:
                    type: string
                  projectCustomHeader19:
                    type: string
                  projectCustomHeader20:
                    type: string
                  projectCustomHeader21:
                    type: string
                  projectCustomHeader22:
                    type: string
                  projectCustomHeader23:
                    type: string
                  projectCustomHeader24:
                    type: string
                  projectCustomHeader25:
                    type: string
                  projectCustomHeader26:
                    type: string
                  projectCustomHeader27:
                    type: string
                  projectCustomHeader28:
                    type: string
                  projectCustomHeader29:
                    type: string
                  projectCustomHeader30:
                    type: string
                  projectCustomHeader31:
                    type: string
                  projectCustomHeader32:
                    type: string
                  projectCustomHeader33:
                    type: string
                  projectCustomHeader34:
                    type: string
                  projectCustomHeader35:
                    type: string
                  projectCustomHeader36:
                    type: string
                  projectCustomHeader37:
                    type: string
                  projectCustomHeader38:
                    type: string
                  projectCustomHeader39:
                    type: string
                  projectCustomHeader40:
                    type: string
                  projectCustomHeader41:
                    type: string
                  projectCustomHeader42:
                    type: string
                  projectCustomHeader43:
                    type: string
                  projectCustomHeader44:
                    type: string
                  projectCustomHeader45:
                    type: string
                  projectCustomHeader46:
                    type: string
                  projectCustomHeader47:
                    type: string
                  projectCustomHeader48:
                    type: string
                  projectCustomHeader49:
                    type: string
      responses:
        '201':
          description: Created
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
    patch:
      operationId: patch-project-company-wells
      summary: patch-project-company-wells
      tags:
      - v1 projects
      description: Updates only the custom project headers for existing wells in the project
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  dataSource:
                    type: string
                  chosenID:
                    type: string
                  id:
                    type: string
                  projectCustomHeader:
                    type: string
                  projectCustomHeader1:
                    type: string
                  projectCustomHeader2:
                    type: string
                  projectCustomHeader3:
                    type: string
                  projectCustomHeader4:
                    type: string
                  projectCustomHeader5:
                    type: string
                  projectCustomHeader6:
                    type: string
                  projectCustomHeader7:
                    type: string
                  projectCustomHeader8:
                    type: string
                  projectCustomHeader9:
                    type: string
                  projectCustomHeader10:
                    type: string
                  projectCustomHeader11:
                    type: string
                  projectCustomHeader12:
                    type: string
                  projectCustomHeader13:
                    type: string
                  projectCustomHeader14:
                    type: string
                  projectCustomHeader15:
                    type: string
                  projectCustomHeader16:
                    type: string
                  projectCustomHeader17:
                    type: string
                  projectCustomHeader18:
                    type: string
                  projectCustomHeader19:
                    type: string
                  projectCustomHeader20:
                    type: string
                  projectCustomHeader21:
                    type: string
                  projectCustomHeader22:
                    type: string
                  projectCustomHeader23:
                    type: string
                  projectCustomHeader24:
                    type: string
                  projectCustomHeader25:
                    type: string
                  projectCustomHeader26:
                    type: string
                  projectCustomHeader27:
                    type: string
                  projectCustomHeader28:
                    type: string
                  projectCustomHeader29:
                    type: string
                  projectCustomHeader30:
                    type: string
                  projectCustomHeader31:
                    type: string
                  projectCustomHeader32:
                    type: string
                  projectCustomHeader33:
                    type: string
                  projectCustomHeader34:
                    type: string
                  projectCustomHeader35:
                    type: string
                  projectCustomHeader36:
                    type: string
                  projectCustomHeader37:
                    type: string
                  projectCustomHeader38:
                    type: string
                  projectCustomHeader39:
                    type: string
                  projectCustomHeader40:
                    type: string
                  projectCustomHeader41:
                    type: string
                  projectCustomHeader42:
                    type: string
                  projectCustomHeader43:
                    type: string
                  projectCustomHeader44:
                    type: string
                  projectCustomHeader45:
                    type: string
                  projectCustomHeader46:
                    type: string
                  projectCustomHeader47:
                    type: string
                  projectCustomHeader48:
                    type: string
                  projectCustomHeader49:
                    type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
  /v1/projects/{projectId}/company-wells/{id}:
    get:
      operationId: get-project-company-well-by-id
      summary: get-project-company-well-by-id
      tags:
      - v1 projects
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
  /v1/projects/{projectId}/daily-productions:
    delete:
      operationId: delete-project-daily-productions
      summary: delete-project-daily-productions
      tags:
      - v1 projects
      description: Delete the daily productions documents that match the given filters.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: well
        in: query
        required: false
        schema:
          type: string
        description: (Required) filter by well ID
      - name: startDate
        in: query
        required: false
        schema:
          type: string
        description: filter by startDate
      - name: endDate
        in: query
        required: false
        schema:
          type: string
        description: filter by endDate
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
    head:
      operationId: head-projects-daily-productions
      summary: head-projects-daily-productions
      tags:
      - v1 projects
      description: Returns metadata about the existing daily production documents in the specified project's scope.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: skip
        in: query
        required: false
        schema:
          type: integer
        description: number of items to skip
      - name: take
        in: query
        required: false
        schema:
          type: integer
        description: max records to return
      - name: createdAt
        in: query
        required: false
        schema:
          type: string
        description: filter by createdAt - Operator values are [lt] = less than, [le] = less than or equal, [gt] = greater than, [ge] = greater than or equal, no operator = equal. Example createdAt[gt]=2018-01-01T00:00:00Z
      - name: well
        in: query
        required: false
        schema:
          type: string
        description: filter by well
      - name: updatedAt
        in: query
        required: false
        schema:
          type: string
        description: filter by updatedAt - Operator values are [lt] = less than, [le] = less than or equal, [gt] = greater than, [ge] = greater than or equal, no operator = equal. Example updatedAt[gt]=2018-01-01T00:00:00Z
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
    get:
      operationId: get-projects-daily-productions
      summary: get-projects-daily-productions
      tags:
      - v1 projects
      description: Returns a list of daily production documents in the specified project's scope.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: skip
        in: query
        required: false
        schema:
          type: integer
        description: number of items to skip
      - name: sort
        in: query
        required: false
        schema:
          type: string
        description: field to sort by, including + or - at the beginning for ascending or descending order, respectively
      - name: cursor
        in: query
        required: false
        schema:
          type: string
        description: used in pagination to get the next page
      - name: take
        in: query
        required: false
        schema:
          type: integer
        description: max records to return
      - name: createdAt
        in: query
        required: false
        schema:
          type: string
        description: filter by createdAt - Operator values are [lt] = less than, [le] = less than or equal, [gt] = greater than, [ge] = greater than or equal, no operator = equal. Example createdAt[gt]=2018-01-01T00:00:00Z
      - name: well
        in: query
        required: false
        schema:
          type: string
        description: filter by well
      - name: updatedAt
        in: query
        required: false
        schema:
          type: string
        description: filter by updatedAt - Operator values are [lt] = less than, [le] = less than or equal, [gt] = greater than, [ge] = greater than or equal, no operator = equal. Example updatedAt[gt]=2018-01-01T00:00:00Z
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
    post:
      operationId: post-projects-daily-productions
      summary: post-projects-daily-productions
      tags:
      - v1 projects
      description: Upserts a list of daily production documents in projectId scope.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  date:
                    type: string
                    format: date
                  bottomHolePressure:
                    type: number
                  casingHeadPressure:
                    type: number
                  choke:
                    type: number
                  chosenID:
                    type: string
                  co2Injection:
                    type: number
                  customNumber0:
                    type: number
                  customNumber1:
                    type: number
                  customNumber2:
                    type: number
                  customNumber3:
                    type: number
                  customNumber4:
                    type: number
                  customNumber5:
                    type: number
                  customNumber6:
                    type: number
                  customNumber7:
                    type: number
                  customNumber8:
                    type: number
                  customNumber9:
                    type: number
                  customNumber10:
                    type: number
                  customNumber11:
                    type: number
                  customNumber12:
                    type: number
                  customNumber13:
                    type: number
                  customNumber14:
                    type: number
                  customNumber15:
                    type: number
                  customNumber16:
                    type: number
                  customNumber17:
                    type: number
                  customNumber18:
                    type: number
                  customNumber19:
                    type: number
                  dataSource:
                    type: string
                  flowlinePressure:
                    type: number
                  gas:
                    type: number
                  gasInjection:
                    type: number
                  gasLiftInjectionPressure:
                    type: number
                  hoursOn:
                    type: number
                  ngl:
                    type: number
                  oil:
                    type: number
                  operationalTag:
                    type: string
                  steamInjection:
                    type: number
                  tubingHeadPressure:
                    type: number
                  vesselSeparatorPressure:
                    type: number
                  water:
                    type: number
                  waterInjection:
                    type: number
                  well:
                    type: string
      responses:
        '201':
          description: Created
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '429':
          description: Too many requests - rate limit exceeded
    put:
      operationId: put-projects-daily-productions
      summary: put-projects-daily-productions
      tags:
      - v1 projects
      description: Upserts a list of daily production documents in projectId scope.
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required:

# --- truncated at 32 KB (1147 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/combocurve/refs/heads/main/openapi/combocurve-v1-projects-api-openapi.yml