---
title: Wellbore Sucker Rod Pump
slug: wellbore-sucker-rod-pump
docTags: 
createdAt: 2023-03-22T19:17:35.000Z
---

The Wellbore Sucker Rod Pump table describes rod pumps installed in the wellbore, used for rod pump modeling. Unlike the tubing-hosted equipment tables (PCP, ESP, gas lift valves, plunger), a sucker rod pump belongs directly to the [Wellbore](docId\:XPqwCAS8aWDaWyssmVjY6).

The unique constraint on sucker rod pump entries is **sourceWellboreId + sourceId**.

| **Variable**        | **Data Type**   | **Unit of Measure** | **Is Nullable?** | **Default Value** | **Description**                                                                                                                       |
| ------------------- | --------------- | ------------------- | ---------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| sourceId            | String          | -                   | No               | -                 | Unique identifier of the pump, to enable upserts<br /><br />**From WellView:** wvrod table, idrec column<br />**From OpenWells:** TBD |
| sourceWellId        | String          | -                   | No               | -                 | Source ID for the well<br /><br />**From WellView:** wvrod table, idwell column<br />**From OpenWells:** TBD                          |
| sourceWellboreId    | String          | -                   | No               | -                 | Source ID for the wellbore<br /><br />**From WellView:** wvrod table, idrecwellbore column<br />**From OpenWells:** TBD               |
| installDate         | Datetime Offset | -                   | Yes              | -                 | Install date of the pump. Datetime offset (with timezone) in ISO 8601 format. Example: 2022-09-27T16:28:37+0000                       |
| surfaceStrokeLength | Double          | in                  | No               | -                 | Length of the surface stroke                                                                                                          |
| installMd           | Double          | ft                  | No               | -                 | Install measured depth                                                                                                                |
| plungerDIA          | Double          | in                  | No               | -                 | Plunger diameter                                                                                                                      |
| plungerLength       | Double          | in                  | No               | -                 | Plunger length                                                                                                                        |
| plungerClearance    | Double          | in                  | Yes              | -                 | Plunger clearance                                                                                                                     |
| rodNumber           | Integer         | -                   | No               | -                 | API rod number (unitless)                                                                                                             |

***

# Data Integrity Checks

| **Condition**                                                        | **Response**    |
| -------------------------------------------------------------------- | --------------- |
| Any non-nullable field is NULL or empty                              | Record Rejected |
| (sourceWellId, sourceWellboreId) does not match an existing wellbore | Row Skipped     |

:::hint{type="info"}
**Partial success on bulk ingest**

Rows referencing an unknown wellbore are skipped while the remaining rows are written. The error response names each skipped row. An error response therefore does not mean nothing was written.
:::

***

# Common Error Messages

| **API**           | **Scenario**     | **Error Response**                                                                                                       |
| ----------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------ |
| Add / Upsert pump | Unknown wellbore | SuckerRodPump with sourceId 'xxx' was skipped: wellbore with sourceWellId 'xxx' and sourceWellboreId 'xxx' was not found |
