Title: Run Connection

URL Source: https://docs.shipp.ai/api-reference/connections-run/

Markdown Content:
---
description: API Reference to Run Connection
---

[ Skip to content](#post-apiv1connectionsconnection%5Fid) 

* [  How to Shipp ](../../how-to/)
* [  API Reference ](../)
* [  Sport Schedule ](../sport-schedule/)
* [  Run Connection Output ](../connections-run-data-shape/)
* [  Error Format ](../error-format/)
* [  Usage Tips ](../usage-tips/)
* [  Versioning ](../versioning/)
* [  x402 Payments ](../x402/)
* [  Guides ](../../platform-guides/)
* [  Go To Shipp Dashboard ](https://platform.shipp.ai)

# Run Connection

Diving Deep?

This page is designed for AI Agents & users developing code directly. See [Getting Started](../../) and [Platform Guides](../../platform-guides/)

---

## `POST /api/v1/connections/{connection_id}`[¶](#post-apiv1connectionsconnection%5Fid "Permanent link")

Run a connection and return **raw event data**.

### Path params[¶](#path-params "Permanent link")

* `connection_id` (required): ULID of the connection

### Body Params[¶](#body-params "Permanent link")

* `since` (string, ISO 8601 / RFC 3339, optional): A reference time to pull results starting from. Default: 48 hours ago
* `limit` (int, optional): a limit of events to return. Default: 100
* `since_event_id` (ULID, optional): the last id received, only sends data from newer events. Limit and since are respected. Causes events to be ordered asc by wall\_clock\_start time

cURLJavaScriptPython

`[](#%5F%5Fcodelineno-0-1)curl https://api.shipp.ai/api/v1/connections/01KFXTX1WDQ68A1GS77T1XJ5YB?api_key=$api_key -d '{
[](#%5F%5Fcodelineno-0-2)  "since_event_id": "01KGE1JQG5HMR9A3AQHVZF9W37",
[](#%5F%5Fcodelineno-0-3)  "since": "2026-01-27T19:41:30Z",
[](#%5F%5Fcodelineno-0-4)  "limit": 10
[](#%5F%5Fcodelineno-0-5)}'
`

`` [](#%5F%5Fcodelineno-1-1)const apiKey = "YOUR_API_KEY_HERE";
[](#%5F%5Fcodelineno-1-2)const url = `https://api.shipp.ai/api/v1/connections/01KFXTX1WDQ68A1GS77T1XJ5YB?api_key=${apiKey}`;
[](#%5F%5Fcodelineno-1-3)
[](#%5F%5Fcodelineno-1-4)const response = await fetch(url, {
[](#%5F%5Fcodelineno-1-5)  method: 'POST',
[](#%5F%5Fcodelineno-1-6)  headers: {
[](#%5F%5Fcodelineno-1-7)    'Content-Type': 'application/json'
[](#%5F%5Fcodelineno-1-8)  },
[](#%5F%5Fcodelineno-1-9)  body: JSON.stringify({
[](#%5F%5Fcodelineno-1-10)    since_event_id: "01KGE1JQG5HMR9A3AQHVZF9W37",
[](#%5F%5Fcodelineno-1-11)    since: "2026-01-27T19:41:30Z",
[](#%5F%5Fcodelineno-1-12)    limit: 10
[](#%5F%5Fcodelineno-1-13)  })
[](#%5F%5Fcodelineno-1-14)});
[](#%5F%5Fcodelineno-1-15)
[](#%5F%5Fcodelineno-1-16)const result = await response.json();
 ``

`[](#%5F%5Fcodelineno-2-1)import requests
[](#%5F%5Fcodelineno-2-2)
[](#%5F%5Fcodelineno-2-3)url = "https://api.shipp.ai/api/v1/connections/01KFXTX1WDQ68A1GS77T1XJ5YB"
[](#%5F%5Fcodelineno-2-4)api_key = "YOUR_API_KEY_HERE"
[](#%5F%5Fcodelineno-2-5)
[](#%5F%5Fcodelineno-2-6)params = {
[](#%5F%5Fcodelineno-2-7)    "api_key": api_key
[](#%5F%5Fcodelineno-2-8)}
[](#%5F%5Fcodelineno-2-9)
[](#%5F%5Fcodelineno-2-10)payload = {
[](#%5F%5Fcodelineno-2-11)    "since_event_id": "01KGE1JQG5HMR9A3AQHVZF9W37",
[](#%5F%5Fcodelineno-2-12)    "since": "2026-01-27T19:41:30Z",
[](#%5F%5Fcodelineno-2-13)    "limit": 10
[](#%5F%5Fcodelineno-2-14)}
[](#%5F%5Fcodelineno-2-15)
[](#%5F%5Fcodelineno-2-16)response = requests.post(url, json=payload, params=params)
`

### Response (200)[¶](#response-200 "Permanent link")

`[](#%5F%5Fcodelineno-3-1){
[](#%5F%5Fcodelineno-3-2)  "connection_id": "01KFXTX1WDQ68A1GS77T1XJ5YB",
[](#%5F%5Fcodelineno-3-3)  "data": [
[](#%5F%5Fcodelineno-3-4)    { "any": "shape varies by feed + event data availability" }
[](#%5F%5Fcodelineno-3-5)  ]
[](#%5F%5Fcodelineno-3-6)}
`

### Errors[¶](#errors "Permanent link")

* **400**: missing/invalid `connection_id`
* **400**: “Over Limit / Not Authorized” if billing/limits reject execution
* **500**: unexpected server error

 Back to top 