OpenAPI Specification
openapi: 3.1.0
info:
title: ComboCurve REST v1 custom-columns v2 exports 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: v2 exports
description: exports operations
paths:
/v2/exports/forecast-parameters:
post:
operationId: Trigger a forecast parameters export job
summary: Trigger a forecast parameters export job
tags:
- v2 exports
description: 'Triggers a forecast parameters export job. Returns a job ID that can be used to check the status of the export and download the result when complete.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
projectId:
type: string
forecastId:
type: string
fileType:
type: string
phases:
type: object
properties:
oil:
type: object
properties:
startDate:
type: string
gas:
type: object
properties:
startDate:
type: string
water:
type: object
properties:
startDate:
type: string
adjustParameters:
type: boolean
options:
type: object
properties:
series:
type: array
items:
type: string
wells:
type: array
items:
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
/v2/exports/forecast-parameters/{jobId}:
get:
operationId: Get forecast parameters export job status
summary: Get forecast parameters export job status
tags:
- v2 exports
description: 'Retrieves the current status and result of a forecast parameters export job. When the export is complete and successful, the response will include a URL to download the generated parquet file.
'
parameters:
- name: jobId
in: path
required: true
schema:
type: string
- name: expirationHours
in: query
required: false
schema:
type: string
description: Number of hours the signed URL will remain valid (default 24)
responses:
'200':
description: Successful response
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'429':
description: Too many requests - rate limit exceeded
/v2/exports/forecast-volumes:
post:
operationId: Trigger a forecast volumes export job
summary: Trigger a forecast volumes export job
tags:
- v2 exports
description: 'Triggers a forecast volumes export job. Returns a job ID that can be used to check the status of the export and download the result when complete.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
projectId:
type: string
forecastId:
type: string
mergeForecastAndProduction:
type: boolean
fileType:
type: string
phases:
type: array
items:
type: string
forecast:
type: object
properties:
resolution:
type: string
start:
type: string
format: date
end:
type: string
format: date
production:
type: object
properties:
resolution:
type: string
start:
type: string
format: date
end:
type: string
format: date
wells:
type: array
items:
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
/v2/exports/forecast-volumes/{jobId}:
get:
operationId: Get forecast volumes export job status
summary: Get forecast volumes export job status
tags:
- v2 exports
description: 'Retrieves the current status and result of a forecast volumes export job. When the export is complete and successful, the response will include a URL to download the generated parquet file.
'
parameters:
- name: jobId
in: path
required: true
schema:
type: string
- name: expirationHours
in: query
required: false
schema:
type: string
description: Number of hours the signed URL will remain valid (default 24)
responses:
'200':
description: Successful response
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'429':
description: Too many requests - rate limit exceeded
/v2/exports/econ-monthly:
post:
operationId: Trigger an economic monthly export job
summary: Trigger an economic monthly export job
tags:
- v2 exports
description: 'Triggers an economic monthly export job. Returns a job ID that can be used to check the status of the export and download the result when complete.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
projectId:
type: string
scenarioId:
type: string
runId:
type: string
fileType:
type: string
timeZone:
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
/v2/exports/econ-monthly/{jobId}:
get:
operationId: Get economic monthly export job status
summary: Get economic monthly export job status
tags:
- v2 exports
description: 'Retrieves the current status and result of an economic monthly export job. When the export is complete and successful, the response will include URLs to download the generated export files. If no files are generated within the expected time window of 10 minutes, the export will be marked as failed.
'
parameters:
- name: jobId
in: path
required: true
schema:
type: string
- name: expirationHours
in: query
required: false
schema:
type: string
description: Number of hours the signed URL will remain valid (default 24)
responses:
'200':
description: Successful response
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'429':
description: Too many requests - rate limit exceeded
/v2/exports/econ-one-liners:
post:
operationId: Trigger an economic one-liners export job
summary: Trigger an economic one-liners export job
tags:
- v2 exports
description: 'Triggers an economic one-liners export job. Returns a job ID that can be used to check the status of the export and download the result when complete.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
projectId:
type: string
scenarioId:
type: string
runId:
type: string
fileType:
type: string
timeZone:
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
/v2/exports/econ-one-liners/{jobId}:
get:
operationId: Get economic one-liners export job status
summary: Get economic one-liners export job status
tags:
- v2 exports
description: 'Retrieves the current status and result of an economic one-liners export job. When the export is complete and successful, the response will include URLs to download the generated export files. If no files are generated within the expected time window of 10 minutes, the export will be marked as failed.
'
parameters:
- name: jobId
in: path
required: true
schema:
type: string
- name: expirationHours
in: query
required: false
schema:
type: string
description: Number of hours the signed URL will remain valid (default 24)
responses:
'200':
description: Successful response
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Not found
'429':
description: Too many requests - rate limit exceeded
components:
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: Company API key from the ComboCurve API & Sync page.
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Signed bearer token generated from the Service Account Key.