On Demand Land API (2.0)

Download OpenAPI specification:Download

On Demand Land API

This is the V2 On Demand Land API. We are working hard to provide the next generation of getting data in and out of On Demand Land. We don't expect breaking changes. But if we have to make a breaking change, then we will contact you before the change reaches production. We also will update this page when new features are exposed for you to use.

JSON-API

The requests we expect and the responses we return follow the JSON-API standard. Check out the JSON-API website to learn more about the standard. Each endpoint will also document the expected shape of the request and response.

Auth0 Authentication (Soon to be deprecated)

We use Auth0 to generate a JWT for authentication.

Issue a POST request to https://landdox.auth0.com/oauth/token with the following JSON payload using the client id and the client secret we provide you with:

{
  "client_id":"<client id>",
  "client_secret":"<client secret>",
  "audience":"api.landdox.com",
  "grant_type":"client_credentials"
}

The response will include an access_token that is a JWT. Include the JWT token in the authorization header when sending a request to the On Demand Land API:

Authorization: Bearer <access_token>

This token is valid for 12 hours. Please store and use this token until it expires. The easiest way to tell if you need a new token is if you get a 401 in response to any request. When this happens, request a new one from Auth0 as above.

Subscription Key Authentication

https://api.ondemandquorum.com/land

We are moving to Subscription Key Authentication. We will provide you with a subscription key that you will include in the header of your requests.

Ocp-Apim-Subscription-Key: <subscription key>

This key will be unique to each organization and will be used to authenticate your requests.

If you wish to begin using Subscription Key Authentication, please request your subscription key through a ticket in the support portal.

Contacts

Operations for reading, creating, updating, and deleting Contacts.

Create a Contact

Create a Contact

Request Body schema: application/json

Contact object in JSON-API format; This data is used to create the Contact

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Contacts

Get a list of Contacts. Uses pagination with default page size of 10. To retrieve further information on an individual Contact, use the individual Contact request.

query Parameters
updated_since
string

ISO8601 formatted date

page[size]
integer >= 1

Number of elements per page

page[number]
integer >= 1

Number of the page

show_relationships
string

Show relationships (true or false), false by default

Responses

Response samples

Content type
application/json
{
  • "updated_since": "string",
  • "meta": {
    },
  • "data": [
    ]
}

Update a Contact

Update a Contact

path Parameters
id
required
integer

ID of Contact to update

Request Body schema: application/json

Contact object in JSON-API format; This data is used to update the Contact

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get a Contact

Get a Contact by id

path Parameters
id
required
integer

Contact ID

query Parameters
show_relationships
string

Show relationships (true or false), false by default

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete a Contact

Delete a Contact

path Parameters
id
required
integer

ID of Contact to delete

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Agreements (Leases)

Operations for reading, creating, updating, and deleting Agreements.

These endpoints support dynamic form schema names using the pattern:

{METHOD} /v2/{form_schema_name}

Supported form_schema_name values:

  • leases (Lease form)
  • any other custom forms that are configured as Agreement form (e.g. easements, rows)

Update Agreement Interests

Update Agreement Interests - Only WI owners are supported at this time

path Parameters
id
required
integer

Lease ID

Request Body schema: application/json

Agreement interests object in JSON-API format; This data is used to update the Agreement Interests

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Agreement Interests

Get a list of Agreement Interests. This includes connected mineral interests, NPRIs, and working interests and burdens on agreements.

path Parameters
id
required
integer

Lease ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Update an Agreement

Update an Agreement

path Parameters
id
required
integer

ID of Agreement to update

Request Body schema: application/json

Agreement object in JSON-API format; This data is used to update the Agreement status

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get an Agreement

Get an Agreement by id.

path Parameters
id
required
integer

Agreement ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete an Agreement

Delete an Agreement

path Parameters
id
required
integer

ID of Agreement to delete

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Create an Agreement

Create an Agreement

Request Body schema: application/json

Agreement object in JSON-API format; This data is used to create the Agreement

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Agreements

Get a list of Agreements. Uses pagination with default page size of 10. To retrieve further information on an individual Agreement, use the individual Agreement request.

query Parameters
page[size]
integer >= 1

Number of elements per page

page[number]
integer >= 1

Number of the page

updated_since
string

ISO8601 formatted date

show_relationships
string

Show relationships (true or false), false by default

draft_agreement_status
string
Enum: "new" "pending" "approved" "rejected"

Filter leases by draft agreement status

data_validation_status
string
Enum: "new" "pending" "approved" "rejected" "edited_after_approval"

Filter leases by data validation status

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Update an Agreement Status

Update an Agreement Status

path Parameters
id
required
integer

ID of Agreement to update

Request Body schema: application/json

Agreement object in JSON-API format; This data is used to update the Agreement status

object
active
boolean

Lease status, true or false

Responses

Request samples

Content type
application/json
{
  • "data": {
    },
  • "active": true
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Updates the Agreement participant list for a lease

Updates the Agreement participant list for a lease

path Parameters
id
required
integer

Agreement ID

Request Body schema: application/json

List of Agreement participants to set

Array of objects (Lease Participant Payload)

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Gets a list of Agreement participants (lessees and lessors)

Gets a list of Agreement participants (lessees and lessors)

path Parameters
id
required
integer

Agreement ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Projects

Operations for creating, listing, updating, reading, and deleting Projects.

Create a Project

Create a Project

Request Body schema: application/json

Project object in JSON-API format; This data is used to create the Project

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Projects

Get a list of Projects. Uses pagination with default page size of 10. To retrieve further information on an individual Project, use the individual Project request.

query Parameters
page[size]
integer >= 1

Number of elements per page

page[number]
integer >= 1

Number of the page

updated_since
string

ISO8601 formatted date

show_relationships
string

Show relationships (true or false), false by default

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Update a Project Status

Update a Project Status

path Parameters
id
required
integer

ID of Project to update

Request Body schema: application/json

Project object in JSON-API format; This data is used to update the Project

object
active
boolean

Project status, true or false

Responses

Request samples

Content type
application/json
{
  • "data": {
    },
  • "active": true
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update a Project

Update a Project

path Parameters
id
required
integer

ID of Project to update

Request Body schema: application/json

Project object in JSON-API format; This data is used to update the Project status

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get a Project

Get a Project by id

path Parameters
id
required
integer

Project ID

query Parameters
show_relationships
string

Show relationships (true or false), false by default

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete a Project

Delete a Project

path Parameters
id
required
integer

ID of Project to delete

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Tracts

Operations for reading, creating, updating, and deleting Tracts. Also endpoints for Tract Ownerships and Interests.

Get Tract Acreage

Get acreage information for a Tract

path Parameters
id
required
integer

Tract ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Create a Tract

Create a Tract

Request Body schema: application/json

Tract object in JSON-API format; This data is used to create the Tract

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Tracts

Get a list of Tracts. Uses pagination with default page size of 10. To retrieve further information on an individual Tract, use the individual Tract request.

query Parameters
updated_since
string

ISO8601 formatted date

page[size]
integer >= 1

Number of elements per page

page[number]
integer >= 1

Number of the page

show_relationships
string

Show relationships (true or false), false by default

data_validation_status
string
Enum: "new" "pending" "approved" "rejected" "edited_after_approval"

Filter tracts by data validation status

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Update a Tract

Update a Tract

path Parameters
id
required
integer

ID of Tract to update

Request Body schema: application/json

Tract object in JSON-API format; This data is used to update the Tract

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get a Tract

Get a Tract by id

path Parameters
id
required
integer

Tract ID

query Parameters
show_relationships
string

Show relationships (true or false), false by default

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete a Tract

Delete a Tract

path Parameters
id
required
integer

ID of Tract to delete

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Tract Interests

Get a list of Tract Interests. This includes connected mineral interests, NPRIs, and working interests and burdens on leases.

path Parameters
id
required
integer

Tract ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Set Tract Ownerships

Set ownerships on a tract

path Parameters
id
required
integer

Tract ID

Request Body schema: application/json

List of ownerships params in JSON-API format; This data is used to save ownerships on the tract.

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List Tract Ownerships

Get a list of Tract Ownerships.

path Parameters
id
required
integer

Tract ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Units

Operations for reading, creating, updating, and deleting Units.

Update a Unit

Update a Unit

path Parameters
id
required
integer

ID of Unit to update

Request Body schema: application/json

Unit object in JSON-API format; This data is used to update the Unit

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get a Unit

Get a Unit by id

path Parameters
id
required
integer

Unit ID

query Parameters
show_relationships
string

Show relationships (true or false), false by default

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete a Unit

Delete a Unit

path Parameters
id
required
integer

ID of Unit to delete

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Create a Unit

Create a Unit

Request Body schema: application/json

Unit object in JSON-API format; This data is used to create the Unit

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Units

Get a list of Units. Uses paging with default page size of 10. To retrieve further information on an individual Unit, use the individual Unit request.

query Parameters
updated_since
string

ISO8601 formatted date

page[size]
integer >= 1

Number of elements per page

page[number]
integer >= 1

Number of the page

show_relationships
string

Show relationships (true or false), false by default

Responses

Response samples

Content type
application/json
{
  • "updated_since": "string",
  • "meta": {
    },
  • "data": [
    ]
}

Wells

Operations for reading, creating, updating, and deleting Wells.

Create a Well

Create a Well

Request Body schema: application/json

Well object in JSON-API format; This data is used to create the Well

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "data": {
    }
}

List Wells

Get a list of Wells. Uses paging with default page size of 10. To retrieve further information on an individual Well, use the individual Well request.

query Parameters
updated_since
string

ISO8601 formatted date

page[size]
integer >= 1

Number of elements per page

page[number]
integer >= 1

Number of the page

show_relationships
string

Show relationships (true or false), false by default

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Update a Well

Update a Well

path Parameters
id
required
integer

ID of Well to update

Request Body schema: application/json

Well object in JSON-API format; This data is used to update the Well

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "data": {
    }
}

Get a Well

Get a Well by id

path Parameters
id
required
integer

Well ID

query Parameters
show_relationships
string

Show relationships (true or false), false by default

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "data": {
    }
}

Delete a Well

Delete a Well

path Parameters
id
required
integer

ID of Well to delete

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "data": {
    }
}

Expense Payments

Operations for creating, patching, listing, updating, reading, and deleting expense payments.

Create a Expense Payment

Create a Expense Payment

Request Body schema: application/json

Payment payload in JSON-API format; This data is used to create the Payment

type
string

JSON-API type. Will always be 'payments'.

object

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "meta": {
    },
  • "id": "string",
  • "entity_code": "string",
  • "attributes": {
    }
}

Patch Expense Payments

Bulk update many payments by id.

Request Body schema: application/json

Payload to bulk update many payments by id.

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Expense Payments

Get a list of Expense Payments. Uses pagination with default page size of 10.

query Parameters
page[size]
integer >= 1

Number of elements per page

page[number]
integer >= 1

Number of the page

filters[payment_status]
string

Filter by payment workflow status. Allowed values: 'new', 'pending', 'rejected', 'approved', 'processed', 'failed_integration'

filters[>payment_due_date]
string

Filter by payment due date greater than a specified date in ISO 8601 format

filters[<payment_due_date]
string

Filter by payment due date less than a specified date in ISO 8601 format

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Update a Expense Payment

Update a Expense Payment

path Parameters
id
required
string

Payment ID

Request Body schema: application/json

Payment payload in JSON-API format; This data is used to update the Payment

type
string

JSON-API type. Will always be 'payments'.

object

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "meta": {
    },
  • "id": "string",
  • "entity_code": "string",
  • "attributes": {
    }
}

Get an Expense Payment

Get an Expense Payment by id

path Parameters
id
required
string

Payment ID

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "meta": {
    },
  • "id": "string",
  • "entity_code": "string",
  • "attributes": {
    }
}

Delete a Expense Payment

Delete a Expense Payment

path Parameters
id
required
string

ID of Payment to delete

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Expense Payment Payee

Operations for creating, patching, and reading Expense Payment Payee.

Create Expense Payment Payee Histories

Create Expense Payment Payee Histories by payment_id and payee_id

path Parameters
payment_id
required
string

Payment ID

payee_id
required
integer

Payee ID

Request Body schema: application/json

Payment Payee payload in JSON-API format; This data is used to create the Payment Payee Histories

type
string

JSON-API type. Will always be 'payment_payees'.

payment_id
string

Full GUID of the payment.

payee_id
integer

ID of Contact who is receiving the payment.

object

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "payment_id": "string",
  • "payee_id": 0,
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "payment_id": "string",
  • "payee_id": 0,
  • "attributes": {
    }
}

Patch Expense Payment Payee Histories

Patch Expense Payment Payee Histories by payment_id and payee_id

path Parameters
payment_id
required
string

Payment ID

payee_id
required
integer

Payee ID

Request Body schema: application/json

Payment Payee payload in JSON-API format; This data is used to patch Payment Payee Histories

type
string

JSON-API type. Will always be 'payment_payees'.

payment_id
string

Full GUID of the payment.

payee_id
integer

ID of Contact who is receiving the payment.

object

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "payment_id": "string",
  • "payee_id": 0,
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "payment_id": "string",
  • "payee_id": 0,
  • "attributes": {
    }
}

Get Expense Payment Payee with Payee Histories

Get Expense Payment Payee with Payee Histories by payment_id and payee_id

path Parameters
payment_id
required
string

Payment ID

payee_id
required
integer

Payee ID

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "payment_id": "string",
  • "payee_id": 0,
  • "attributes": {
    }
}

Revenue Payments

Operations for updating, reading, deleting, creating, patching, and listing Revenue Payments.

Update a Revenue Payment

Update a Revenue Payment

path Parameters
id
required
string

Payment ID

Request Body schema: application/json

Payment payload in JSON-API format; This data is used to update the Payment

type
string

JSON-API type. Will always be 'payments'.

object

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "meta": {
    },
  • "id": "string",
  • "entity_code": "string",
  • "attributes": {
    }
}

Get a Revenue Payment

Get a Revenue Payment by id

path Parameters
id
required
string

Payment ID

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "meta": {
    },
  • "id": "string",
  • "entity_code": "string",
  • "attributes": {
    }
}

Delete a Revenue Payment

Delete a Revenue Payment

path Parameters
id
required
string

ID of Payment to delete

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Create a Revenue Payment

Create a Revenue Payment

Request Body schema: application/json

Payment payload in JSON-API format; This data is used to create the Payment

type
string

JSON-API type. Will always be 'payments'.

object

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "meta": {
    },
  • "id": "string",
  • "entity_code": "string",
  • "attributes": {
    }
}

Patch Revenue Payments

Bulk update many payments by id.

Request Body schema: application/json

Payload to bulk update many payments by id.

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Revenue Payments

Get a list of Revenue Payments. Uses pagination with default page size of 10.

query Parameters
page[size]
integer >= 1

Number of elements per page

page[number]
integer >= 1

Number of the page

payment_status
string

Filter by payment workflow status. Allowed values: 'new', 'pending', 'rejected', 'approved', 'processed', 'failed_integration'

>payment_due_date
string

Filter by payment due date greater than a specified date in ISO 8601 format

<payment_due_date
string

Filter by payment due date less than a specified date in ISO 8601 format

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Standard Relationship

Operations for reading standard relationships in the application.

Create a Standard Relationship

Create a Standard Relationship

Supported relationships:

  • For wells, can create relationship with units
  • For tracts, can create relationship with units, projects
  • For projects, can create relationship with tracts, contacts
  • For units, can create relationship with wells, tracts
path Parameters
parent_form_schema_name
required
string

Parent Form Schema Name

id
required
integer

Form ID

form_schema_name
required
string

Form Schema Name

Request Body schema: application/json

A list of form ids to attach to parent form

data
Array of integers

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "id": 0,
  • "form_schema_name": "string",
  • "entity_code": "string",
  • "active": true
}

List Standard Relationships

Get a list of Form Schemas. Uses pagination with default page size of 10.

Supported relationships:

  • For units, can query relationship for tracts, wells, leases
  • For leases, can query relationship for tracts, projects, units, wells
  • For wells, can query relationship for tracts, leases, units
  • For tracts, can query relationship for projects, units, wells, leases
  • For projects, can query relationship for tracts, afes, contacts, leases
path Parameters
parent_form_schema_name
required
string

Parent Form Schema Name

id
required
integer

Form ID

form_schema_name
required
string

Form Schema Name

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "id": 0,
  • "form_schema_name": "string",
  • "entity_code": "string",
  • "active": true
}

Delete a Standard Relationship

Delete a Standard Relationship

Supported relationships:

  • For wells, can delete relationship with units
  • For tracts, can delete relationship with units, projects
  • For projects, can delete relationship with tracts, contacts
path Parameters
parent_form_schema_name
required
string

Parent Form Schema Name

id
required
integer

Form ID

form_schema_name
required
string

Form Schema Name

Request Body schema: application/json

A list of form ids to detach from parent form

data
Array of integers

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "id": 0,
  • "form_schema_name": "string",
  • "entity_code": "string",
  • "active": true
}

Custom Forms

Operations for reading, creating, updating, and deleting Custom Forms.

Create a Custom Form

Create a Custom Form

path Parameters
form_schema_name
required
string

Form Schema Name

Request Body schema: application/json

Custom Form object in JSON-API format; This data is used to create the Custom Form

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

List Custom Forms

Get a list of Custom Forms. Uses pagination with default page size of 10. To retrieve further information on an individual Custom Form, use the individual Custom Form request.

path Parameters
form_schema_name
required
string

Form Schema Name

query Parameters
updated_since
string

ISO8601 formatted date

page[size]
integer >= 1

Number of elements per page

page[number]
integer >= 1

Number of the page

show_relationships
string

Show relationships (true or false), false by default

data_validation_status
string
Enum: "new" "pending" "approved" "rejected" "edited_after_approval"

Filter forms by data validation status

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Update a Custom Form

Update a Custom Form

path Parameters
id
required
integer

ID of Custom Form to update

form_schema_name
required
string

Form Schema Name

Request Body schema: application/json

Custom Form object in JSON-API format; This data is used to update the Custom Form

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get a Custom Form

Get a Custom Form by id

path Parameters
id
required
integer

Form ID

form_schema_name
required
string

Form Schema Name

query Parameters
show_relationships
string

Show relationships (true or false), false by default

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete a Custom Form

Delete a Custom Form

path Parameters
id
required
integer

ID of Custom Form to delete

form_schema_name
required
string

Form Schema Name

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Form Schemas

Operations for reading Form Schemas. Form Schemas define the name, label, icon, and fields on Forms. Contacts, Leases, Tracts, Units, Wells, and Custom Forms are all types of Forms. That means they also have a Form Schema that define what fields each form has.

This endpoint is useful for getting the name of a Custom Form. The name is used in the route. At this time, you can not edit the name of a Form Schema through the On Demand Land app. You can only change its label.

List Form Schemas

Get a list of Form Schemas. Uses pagination with default page size of 10.

query Parameters
page[size]
integer >= 1

Number of elements per page

page[number]
integer >= 1

Number of the page

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Shapefile Importer

The Shapefile Importer allows you to upload a .zip shapefile to On Demand Land. This will update the tracts or units geometries within On Demand Land. We do not allow deleting of geometries with the importer.

To import a shapefile, you first create a shapefile import job. This will start the import in a background process. This may take some time depending on the size of the import.

You can then check the status of that job using the id returned from the create shapefile import endpoint. We will return the current status including any errors or the number of tracts/units that were updated.

To ensure a successful import:

  • Shapefiles must be in EPSG 4326, WGS 84 format.
  • Shapefiles can be imported into leases, projects, tracts, units, wells, custom forms, and custom agreements but not combinations thereof at the same time.
  • Shapefiles imported to leases must include a "lease_name" column in their attribute table.
  • Shapefiles imported to projects must include a "proj_name" column in their attribute table.
  • Shapefiles imported to tracts must include a "tract_name" column in their attribute table.
  • Shapefiles imported to units must include a "unit_name" column in their attribute table.
  • Shapefiles imported to wells must include a "well_name" column in their attribute table.
  • Shapefiles imported to custom form must include a "form_type" and "form_name" column in their attribute table.
  • Shapefiles imported to wells can include points (well spots) or lines(well sticks). A single well can have both a point and a line, but two shapefiles cannot be imported at the same time.
  • Shapefiles imported to custom agreement forms must include a "form_type" and "form_name" column in their attribute table.

Get a Shapefile Import Job

Get a Shapefile Job by id. You get the id for a Shapefile Job from the Create Import Job endpoint. This endpoint will allow you to check on the status of your Shapfile Import.

path Parameters
id
required
integer

Shapefile ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Create Shapefile Import Job

Allows creating a Shapefile Job. This starts a background job to perform the actual import. Be sure to save the id of the import because you will need it to check on the status of the import.

Request Body schema: application/json

Request body for Shapefile Payload

filename
string

Name of the file uploaded as part of this shapefile import

file
string

Binary of the .zip shapefile

Responses

Request samples

Content type
application/json
{
  • "filename": "string",
  • "file": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Billing Properties

Operations for creating, listing, updating, reading, and deleting Billing Properties.

Create a Billing Property

Create a Billing Property

Request Body schema: application/json

Billing Property payload in JSON-API format; This data is used to create the Billing Property

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "meta": {
    },
  • "id": "string",
  • "attributes": {
    }
}

List Billing Properties

Get a list of Billing Properties. Uses pagination with default page size of 10.

query Parameters
page[size]
integer >= 1

Number of elements per page

page[number]
integer >= 1

Number of the page

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Update a Billing Property

Update a Billing Property

path Parameters
id
required
string

Billing Property ID

Request Body schema: application/json

Billing Property payload in JSON-API format; This data is used to update the Billing Property

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "meta": {
    },
  • "id": "string",
  • "attributes": {
    }
}

Get a Billing Property

Get a Billing Property by id

path Parameters
id
required
string

Billing Property ID

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "meta": {
    },
  • "id": "string",
  • "attributes": {
    }
}

Delete a Billing Property

Delete a Billing Property

path Parameters
id
required
string

ID of Billing Property to delete

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Calendar Events

Operation for listing Calendar Events.

List Calendar Events

Get a list of Calendar events for a date range.

query Parameters
from_date
required
string

From Date

to_date
required
string

To Date

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Calculated Well Decks

Operations for reading Calculated Welldecks.

Get Calculated Well Decks

Returns interests calculated for a well. This includes all the leased and unleased interests from units, tracts, and leases tied to the well.

path Parameters
well_id
required
integer

ID of Well

deck_type
required
string

Deck type: either revenue or expense

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Custom Well Decks

Operations for reading, creating, updating, and deleting Custom Well Decks.

Create Custom Well Deck

Creates a custom well deck with the passed in values for a well.

Custom well deck values are tied to either a calculated well deck (aka interest) or a custom interest.

If you are entering a value for a custom interest, then you are required to have the custom interest id. You can find the custom interest id from getting the custom sections for a well.

path Parameters
well_id
required
integer

ID of Well

deck_type
required
string

Deck type: either revenue or expense

Request Body schema: application/json

Well deck payload; This data and values are used to create the well deck.

Array of objects
order
integer

Order of Well Deck.

name
string

Name of Well Deck.

active
boolean

Flag Well Deck as active or inactive.

Responses

Request samples

Content type
application/json
{
  • "values": [
    ],
  • "order": 0,
  • "name": "string",
  • "active": true
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get Custom Well Decks

Returns custom well decks, custom sections, and their values for a well.

path Parameters
well_id
required
integer

ID of Well

deck_type
required
string

Deck type: either revenue or expense

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Delete Custom Well Deck

Deletes custom well deck.

path Parameters
well_id
required
integer

ID of Well.

deck_type
required
string

Deck type: either revenue or expense.

well_deck_id
required
integer

ID of Well Deck.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Custom Well Deck Sections

Operations for reading, creating, updating, and deleting Custom Well Deck Sections.

Update Custom Well Deck Section

Updates a custom section that can be used for custom well decks for the well.

path Parameters
well_id
required
integer

ID of Well

deck_type
required
string

Deck type: either revenue or expense

custom_section_id
required
integer

ID of Custom Section

Request Body schema: application/json

Custom section payload

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Delete Custom Well Deck Section

Delete a custom section and its related custom interests.

path Parameters
well_id
required
integer

ID of Well

deck_type
required
string

Deck type: either revenue or expense

custom_section_id
required
integer

ID of Custom Section

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Save Custom Well Deck Sections

Accepts a payload representing a custom section with custom interests and their deck values. Replaces the current custom section with the passed in payload.

path Parameters
well_id
required
integer

ID of Well

deck_type
required
string

Deck type: either revenue or expense

Request Body schema: application/json

Custom section payload

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Create Custom Well Deck Section

Creates custom section that can be used for custom welldecks for the well.

path Parameters
well_id
required
integer

ID of Well

deck_type
required
string

Deck type: either revenue or expense

Request Body schema: application/json

Custom section payload

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Custom Well Deck Sections

Returns custom sections and their custom interests for well decks for a well.

path Parameters
well_id
required
integer

ID of Well

deck_type
required
string

Deck type: either revenue or expense

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Custom Well Deck Interests

Operations for reading, creating, updating, and deleting Custom Well Deck Interests.

Get Custom Interest Types

Returns custom interest types available to use with custom interests for well decks for a wells.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Delete Custom Well Deck Interest

Deletes a custom interest for a custom section on a well.

path Parameters
well_id
required
integer

ID of Well

deck_type
required
string

Deck type: either revenue or expense

custom_section_id
required
integer

Custom Section ID

id
required
integer

ID of Custom Interest

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Create Custom Well Deck Interest

Creates a custom interest for a custom section on a well.

path Parameters
well_id
required
integer

ID of Well

deck_type
required
string

Deck type: either revenue or expense

id
required
integer

Custom Section ID

Request Body schema: application/json

Custom interest payload

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Integrations

Operations for reading, saving, and deleting Integrations.

Forms missing Integrations

Returns a list of form ids for the form schema that do not have an integration for the passed in vendor name. Requires a start and end date that at most can be 90 days apart.

path Parameters
form_schema_name
required
string

Form schema name

vendor_name
required
string

Vendor name

query Parameters
start_date
required
string

Date time in ISO 8601 format

end_date
required
string

Date time in ISO 8601 format

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Save Integration Record

Saves an integration record on a form. If a record already exists for the given form and the given vendor_id matches the existing vendor_id, the record will be updated. An error will be returned if the given and existing vendor_ids do not match. To update the record instead of producing an error, pass the option 'on_conflict=update'.

path Parameters
vendor_name
required
string

Name of integration / vendor name

query Parameters
on_conflict
string
Enum: "error" "update"

Option to determine the endpoint's behavior when an existing record is found for the given form under a different vendor_id. Should be 'update' or 'error'. Defaults to 'error'.

Request Body schema: application/json

Integration payload; The intended attributes of the integration record.

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Gets a list of integration records by vendor name and vendor ids

Gets a list of integration records by vendor name and vendor ids

path Parameters
vendor_name
required
string

Name of integration / vendor name

query Parameters
vendor_ids
string

Comma delimited string of vendor IDs to return records for.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Delete Integration Record by Vendor ID

Deletes an integration record with the given vendor_id, vendor_name, form_id, and form_schema_name. Errors if the given vendor_id does not match the vendor_id found on the record.

path Parameters
vendor_name
required
string

Name of integration / vendor name

vendor_id
required
string

Vendor ID associated with the integration record

Request Body schema: application/json

Payload of attributes required to locate and delete the integration.

object

Responses

Request samples

Content type
application/json
{
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Locations

Operation for listing Locations.

Update locations for a schema and entity ID

path Parameters
form_schema_name
required
string

Form Schema Name

id
required
integer

Form ID

Request Body schema: application/json

Location object in JSON-API format; This data is used to update the location. Full payload is needed to update locations on a form.

Array of objects (Location Payload)

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "valid": true,
  • "tax_parcel_id": "string",
  • "tax_parcel_district_township": "string",
  • "survey": "string",
  • "state_name": "string",
  • "state_fip": "string",
  • "state_abbr": "string",
  • "section": "string",
  • "plss_township_number": "string",
  • "plss_township_direction": "string",
  • "plss_section": "string",
  • "plss_range_number": "string",
  • "plss_range_direction": "string",
  • "plss_meridian": "string",
  • "offshore_region": "string",
  • "offshore_protraction_area_name": "string",
  • "offshore_protraction_area_code": "string",
  • "offshore_block": "string",
  • "location_id": "string",
  • "grid_source": "string",
  • "formatted_location": "string",
  • "county_name": "string",
  • "county_fip": "string",
  • "block": "string",
  • "abstract": "string"
}

List Locations for a schema and entity ID

path Parameters
form_schema_name
required
string

Form Schema Name

id
required
integer

Form ID

Responses

Response samples

Content type
application/json
{
  • "valid": true,
  • "tax_parcel_id": "string",
  • "tax_parcel_district_township": "string",
  • "survey": "string",
  • "state_name": "string",
  • "state_fip": "string",
  • "state_abbr": "string",
  • "section": "string",
  • "plss_township_number": "string",
  • "plss_township_direction": "string",
  • "plss_section": "string",
  • "plss_range_number": "string",
  • "plss_range_direction": "string",
  • "plss_meridian": "string",
  • "offshore_region": "string",
  • "offshore_protraction_area_name": "string",
  • "offshore_protraction_area_code": "string",
  • "offshore_block": "string",
  • "location_id": "string",
  • "grid_source": "string",
  • "formatted_location": "string",
  • "county_name": "string",
  • "county_fip": "string",
  • "block": "string",
  • "abstract": "string"
}

Notes

Operations for updating, reading, creating, and listing Notes.

Update a Note

Update a Note

path Parameters
id
required
integer

ID of Note to update

Request Body schema: application/json

Note object in JSON-API format; This data is used to update the Note

object
id
integer

ID of the Note

object

Responses

Request samples

Content type
application/json
{
  • "meta": {
    },
  • "id": 0,
  • "attributes": {
    }
}

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "id": 0,
  • "attributes": {
    }
}

Get a Note

Get a Note by id

path Parameters
id
required
integer

Note ID

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "id": 0,
  • "attributes": {
    }
}

Create a Note on a Form

Create a Note on a Form

path Parameters
form_schema_name
required
string

Form Schema Name

form_id
required
string

Form ID

Request Body schema: application/json

Note object in JSON-API format; This data is used to create the Note

object
id
integer

ID of the Note

object

Responses

Request samples

Content type
application/json
{
  • "meta": {
    },
  • "id": 0,
  • "attributes": {
    }
}

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "id": 0,
  • "attributes": {
    }
}

List Notes on a Form

Get a list of Notes attached to a Form. To retrieve further information on an individual Note, use the individual Note request.

path Parameters
form_schema_name
required
string

Form Schema Name

form_id
required
string

Form ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Provisions

Operation for listing Provisions.

List provisions

Get a list of provisions. Uses pagination with default page size of 10.

query Parameters
page[size]
integer >= 1

Number of elements per page

page[number]
integer >= 1

Number of the page

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "attributes": {
    },
  • "assets": {
    }
}

Provision Models

Operation for listing Provision Models.

List provision models

Get a list of provision models. Uses pagination with default page size of 10.

query Parameters
page[size]
integer >= 1

Number of elements per page

page[number]
integer >= 1

Number of the page

Responses

Response samples

Content type
application/json
{
  • "provisions": {
    },
  • "id": 0,
  • "attributes": {
    },
  • "assets": {
    }
}

Update provisions for a form

path Parameters
form_schema_name
required
string

Form Schema Name

form_id
required
string

Form ID

Request Body schema: application/json

Provision object in JSON-API format; This data is used to update the provision. Full payload is needed to update provisions on a form.

Array of objects (Provision Payload)

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "provision_id": 0,
  • "id": 0,
  • "form_id": 0
}

List Provisions for a schema and entity ID

path Parameters
form_schema_name
required
string

Form Schema Name

form_id
required
string

Form ID

Responses

Response samples

Content type
application/json
{
  • "reminder": {
    },
  • "provision_name": "string",
  • "provision_model_name": "string",
  • "provision_model_id": 0,
  • "provision_id": 0,
  • "next_due_date": "string",
  • "fields": { },
  • "due_date": "string",
  • "document_paragraph": 0,
  • "document_page": 0,
  • "document_name": "string",
  • "document_content": "string",
  • "comments": "string",
  • "apply": "string"
}

Users

Operations for getting a list of users in your organization.

List Users

Returns a list of your users.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}