<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://undefined/changelog</id>
    <title>CO3 OpenApi Blog</title>
    <updated>2026-05-22T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://undefined/changelog"/>
    <subtitle>CO3 OpenApi Blog</subtitle>
    <icon>https://undefined/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[Drive Time: Duration objects for consistency]]></title>
        <id>https://undefined/changelog/asset-drive-time-duration-objects</id>
        <link href="https://undefined/changelog/asset-drive-time-duration-objects"/>
        <updated>2026-05-22T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Time-valued fields on GET /api/assets/{assetIdentifier}/drive-time are now `Duration` objects instead of inline `…Minutes` primitives — aligning with the existing `Distance` and `Weight` shape.]]></summary>
        <content type="html"><![CDATA[<p>For consistency with the rest of API 2.0 — where <code>Distance</code> and <code>Weight</code> are
already exposed as <code>{ value, unit }</code> objects — every time-valued field on the
drive-time endpoint is now a <code>Duration</code> object. The inline <code>…Minutes</code> floats
are gone.</p>
<!-- -->
<p>Field semantics, computation, and rounding are unchanged — only the wrapper
changes. See the full schema at
<a class="" href="https://undefined/docs/latest/openapi/get-asset-drive-time"><code>GET /api/assets/{assetIdentifier}/drive-time</code></a>.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-whats-new">🚀 What's New<a href="https://undefined/changelog/asset-drive-time-duration-objects#-whats-new" class="hash-link" aria-label="Direct link to 🚀 What's New" title="Direct link to 🚀 What's New" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-new-duration-schema">⏱️ New <code>Duration</code> schema<a href="https://undefined/changelog/asset-drive-time-duration-objects#%EF%B8%8F-new-duration-schema" class="hash-link" aria-label="Direct link to ️-new-duration-schema" title="Direct link to ️-new-duration-schema" translate="no">​</a></h3>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">75.00</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"min"</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p><code>unit</code> for drive-time is always <code>"min"</code> today. The full <code>Duration</code> enum is
<code>[ ms, s, min, h ]</code> — always read <code>.unit</code> instead of assuming. <code>value</code> is a
floating-point number rounded to two decimal places — same precision as
before.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-affected-fields">🔧 Affected fields<a href="https://undefined/changelog/asset-drive-time-duration-objects#-affected-fields" class="hash-link" aria-label="Direct link to 🔧 Affected fields" title="Direct link to 🔧 Affected fields" translate="no">​</a></h3>
<p><strong><code>currentActivity</code></strong></p>
<ul>
<li class=""><code>durationMinutes</code> → <code>duration</code> (nullable <code>Duration</code>)</li>
</ul>
<p><strong><code>capacities.&lt;bucket&gt;</code></strong> (for <code>nextDrive</code>, <code>dailyDrive</code>, <code>weeklyDrive</code>,
<code>biWeeklyDrive</code>, <code>weeklyWork</code>)</p>
<ul>
<li class=""><code>remaining</code> — now a <code>Duration</code> (was a bare number)</li>
<li class=""><code>limit</code> — now a <code>Duration</code> (was a bare number)</li>
<li class=""><code>remainingInPercent</code> — unchanged</li>
</ul>
<p><strong><code>shiftWindow</code></strong></p>
<ul>
<li class=""><code>remainingShiftMinutes</code> → <code>remainingShift</code> (<code>Duration</code>)</li>
<li class=""><code>restCompensationOwedMinutes</code> → <code>restCompensationOwed</code> (<code>Duration</code>)</li>
<li class=""><code>nextDailyRestRequiredMinutes</code> → <code>nextDailyRestRequired</code> (<code>Duration</code>)</li>
<li class=""><code>nextWeeklyRestRequiredMinutes</code> → <code>nextWeeklyRestRequired</code> (<code>Duration</code>)</li>
<li class=""><code>nightWorkDurationTodayMinutes</code> → <code>nightWorkDurationToday</code> (<code>Duration</code>)</li>
</ul>
<p><code>budgets</code> is <strong>not</strong> affected — its <code>remaining</code> and <code>limit</code> are counts of
permitted uses, not time, and remain plain integers.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-before--after">📦 Before / after<a href="https://undefined/changelog/asset-drive-time-duration-objects#-before--after" class="hash-link" aria-label="Direct link to 📦 Before / after" title="Direct link to 📦 Before / after" translate="no">​</a></h3>
<p>Before:</p>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token property" style="color:#36acaa">"shiftWindow"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"remainingShiftMinutes"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">496.00</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"nextDailyRestRequiredMinutes"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">660.00</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<p>After:</p>
<div class="language-json codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-json codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token property" style="color:#36acaa">"shiftWindow"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"remainingShift"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">496.00</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"min"</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">  </span><span class="token property" style="color:#36acaa">"nextDailyRestRequired"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> </span><span class="token property" style="color:#36acaa">"value"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">660.00</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token property" style="color:#36acaa">"unit"</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"min"</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-what-you-should-do">✅ What You Should Do<a href="https://undefined/changelog/asset-drive-time-duration-objects#-what-you-should-do" class="hash-link" aria-label="Direct link to ✅ What You Should Do" title="Direct link to ✅ What You Should Do" translate="no">​</a></h2>
<ul>
<li class="">Use the <code>Duration</code> shape and the new field names listed above when
modelling the response.</li>
<li class="">Read minute values from <code>.value</code> rather than the field itself.</li>
<li class="">Key logic off the explicit <code>unit</code> discriminator on <code>Duration</code> rather
than field-name suffixes — it leaves room for future units without
another rename.</li>
</ul>
<p>The full schema is on the endpoint page:
<a class="" href="https://undefined/docs/latest/openapi/get-asset-drive-time"><code>GET /api/assets/{assetIdentifier}/drive-time</code></a>.</p>
<hr>
<p>As always, if you have feedback or questions, reach out to us via
<a href="mailto:api@co3.io" target="_blank" rel="noopener noreferrer" class="">support</a>.</p>]]></content>
        <category label="Release" term="Release"/>
        <category label="OpenApi" term="OpenApi"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[New Endpoint: Asset Drive Time]]></title>
        <id>https://undefined/changelog/asset-drive-time-v2-response</id>
        <link href="https://undefined/changelog/asset-drive-time-v2-response"/>
        <updated>2026-04-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[GET /api/assets/{assetIdentifier}/drive-time returns the driver's full hours budget — capacities, budgets, shift window, and data lineage.]]></summary>
        <content type="html"><![CDATA[<p>We're introducing a new API 2.0 endpoint that returns the driver-hours budget
for the driver assigned to an asset (vehicle): every regulatory capacity
bucket, extension and rest-reduction allowances, the active shift window, and
full data lineage describing which sources produced the result.</p>
<!-- -->
<p>The response is computed at request time from the freshest data available.
Integrators can use it to build live driver-availability views, compliance
dashboards, and dispatch decisions without maintaining their own aggregation
layer.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-whats-new">🚀 What's New<a href="https://undefined/changelog/asset-drive-time-v2-response#-whats-new" class="hash-link" aria-label="Direct link to 🚀 What's New" title="Direct link to 🚀 What's New" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-new-endpoint">🔧 New endpoint<a href="https://undefined/changelog/asset-drive-time-v2-response#-new-endpoint" class="hash-link" aria-label="Direct link to 🔧 New endpoint" title="Direct link to 🔧 New endpoint" translate="no">​</a></h3>
<ul>
<li class=""><a class="" href="https://undefined/docs/latest/openapi/get-asset-drive-time"><code>GET /api/assets/{assetIdentifier}/drive-time</code></a></li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-what-the-response-contains">🧾 What the response contains<a href="https://undefined/changelog/asset-drive-time-v2-response#-what-the-response-contains" class="hash-link" aria-label="Direct link to 🧾 What the response contains" title="Direct link to 🧾 What the response contains" translate="no">​</a></h3>
<ul>
<li class=""><strong>Identifiers.</strong> <code>vehicleId</code> is the stable key for the vehicle.
<code>driverCardId</code> is the tachograph driver-card identifier resolved at request
time; it is nullable and only present when a card can be resolved.</li>
<li class=""><strong><code>currentActivity</code></strong> — working <code>state</code>, <code>startedAt</code>, and <code>duration</code>.
The <code>state</code> enum covers <code>DRIVING</code>, <code>BREAK</code>, <code>AVAILABLE</code>, <code>WORK</code>, and
<code>NOT_AVAILABLE</code>.</li>
<li class=""><strong><code>capacities</code></strong> — all five regulatory buckets: <code>nextDrive</code>,
<code>dailyDrive</code>, <code>weeklyDrive</code>, <code>biWeeklyDrive</code>, <code>weeklyWork</code>.</li>
<li class=""><strong><code>budgets</code></strong> — extension and rest-reduction allowances:
<code>drivingExtension</code>, <code>dailyRestReduction</code>, <code>weeklyRestReduction</code>.</li>
<li class=""><strong><code>shiftWindow</code></strong> — shift timing and the rest obligations that will
follow it (<code>remainingShift</code>, <code>restCompensationOwed</code>,
<code>nextDailyRestRequired</code>, <code>nextWeeklyRestRequired</code>).</li>
<li class=""><strong><code>dataLineage</code></strong> — which strategy produced the result
(<code>REAL_TIME_TACHO</code>, <code>EXTRAPOLATED_TACHO</code>, <code>DRIVER_STATUS_HISTORY</code>,
<code>VIRTUAL_TACHO</code>), an ordered list of <code>contributions</code> (each with source
type, provider, and coverage window), and an optional <code>backfill</code> block
listing the fields a fallback strategy had to fill in.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-self-describing-enums">🏷️ Self-describing enums<a href="https://undefined/changelog/asset-drive-time-v2-response#%EF%B8%8F-self-describing-enums" class="hash-link" aria-label="Direct link to 🏷️ Self-describing enums" title="Direct link to 🏷️ Self-describing enums" translate="no">​</a></h3>
<p>Enum values are exposed as <code>{ code, label }</code> or
<code>{ code, label, description }</code> objects. <code>code</code> is stable and safe to
switch on; <code>label</code> and <code>description</code> are presentation-only.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-duration-convention">⏱️ Duration convention<a href="https://undefined/changelog/asset-drive-time-v2-response#%EF%B8%8F-duration-convention" class="hash-link" aria-label="Direct link to ⏱️ Duration convention" title="Direct link to ⏱️ Duration convention" translate="no">​</a></h3>
<p>Time-valued fields are <code>Duration</code> objects of the shape <code>{ value, unit }</code>.
<code>unit</code> is currently always <code>"min"</code> and <code>value</code> is a floating-point
number rounded to two decimal places.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-what-you-should-do">✅ What You Should Do<a href="https://undefined/changelog/asset-drive-time-v2-response#-what-you-should-do" class="hash-link" aria-label="Direct link to ✅ What You Should Do" title="Direct link to ✅ What You Should Do" translate="no">​</a></h2>
<ul>
<li class="">Integrate this endpoint when your workflows depend on driver
availability and compliance windows.</li>
<li class="">Key any enum-driven logic off <code>.code</code>, never off <code>.label</code> or
<code>.description</code> (which may change).</li>
<li class="">Read <code>vehicleId</code> as the stable identifier and treat <code>driverCardId</code> as
optional context — handle <code>null</code>.</li>
<li class="">Use <code>dataLineage.strategy</code> together with <code>dataLineage.backfill</code> to
understand the confidence and provenance of each result.</li>
</ul>
<p>See the full schema on the endpoint page:
<a class="" href="https://undefined/docs/latest/openapi/get-asset-drive-time"><code>GET /api/assets/{assetIdentifier}/drive-time</code></a>.</p>
<hr>
<p>As always, if you have feedback or questions, reach out to us via
<a href="mailto:api@co3.io" target="_blank" rel="noopener noreferrer" class="">support</a>.</p>]]></content>
        <category label="Release" term="Release"/>
        <category label="OpenApi" term="OpenApi"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[New Endpoint: Tour Trackings List]]></title>
        <id>https://undefined/changelog/tour-trackings-list-endpoint</id>
        <link href="https://undefined/changelog/tour-trackings-list-endpoint"/>
        <updated>2026-02-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Added endpoint for listing tour trackings.]]></summary>
        <content type="html"><![CDATA[<p>We’re introducing a new API 2.0 endpoint that provides a paginated list of tour trackings.</p>
<!-- -->
<p>This update gives integrations a dedicated listing endpoint for tour-level tracking workflows.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-whats-new-in-api-20">🚀 What's New in API 2.0?<a href="https://undefined/changelog/tour-trackings-list-endpoint#-whats-new-in-api-20" class="hash-link" aria-label="Direct link to 🚀 What's New in API 2.0?" title="Direct link to 🚀 What's New in API 2.0?" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-new-endpoint">🔧 New Endpoint<a href="https://undefined/changelog/tour-trackings-list-endpoint#-new-endpoint" class="hash-link" aria-label="Direct link to 🔧 New Endpoint" title="Direct link to 🔧 New Endpoint" translate="no">​</a></h3>
<p>We added a new endpoint:</p>
<ul>
<li class=""><a class="" href="https://undefined/docs/latest/openapi/retrieve-a-list-of-tour-trackings"><code>GET /api/trackings/tour</code></a></li>
</ul>
<p>The endpoint returns paginated tour tracking records and supports standard paging parameters.</p>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-what-you-should-do">✅ What You Should Do<a href="https://undefined/changelog/tour-trackings-list-endpoint#-what-you-should-do" class="hash-link" aria-label="Direct link to ✅ What You Should Do" title="Direct link to ✅ What You Should Do" translate="no">​</a></h3>
<ul>
<li class="">Use this endpoint to build tour-tracking lists and synchronization jobs.</li>
<li class="">Review your pagination handling to consume all available pages correctly.</li>
</ul>
<hr>
<p>As always, if you have feedback or questions, reach out to us via <a href="mailto:api@co3.io" target="_blank" rel="noopener noreferrer" class="">support</a>.</p>]]></content>
        <category label="Release" term="Release"/>
        <category label="OpenApi" term="OpenApi"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[New Endpoint: Tour CO2 Emission Report]]></title>
        <id>https://undefined/changelog/tour-co2-emission-report-endpoint</id>
        <link href="https://undefined/changelog/tour-co2-emission-report-endpoint"/>
        <updated>2026-02-17T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Added endpoint for retrieving CO2 emission report for tour tracking.]]></summary>
        <content type="html"><![CDATA[<p>We’re introducing a new API 2.0 endpoint for retrieving CO2 emission reports for tour tracking.</p>
<!-- -->
<p>This endpoint enables integrations to access tracking-based emissions in a consistent, structured
format.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-whats-new-in-api-20">🚀 What's New in API 2.0?<a href="https://undefined/changelog/tour-co2-emission-report-endpoint#-whats-new-in-api-20" class="hash-link" aria-label="Direct link to 🚀 What's New in API 2.0?" title="Direct link to 🚀 What's New in API 2.0?" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-new-endpoint">🔧 New Endpoint<a href="https://undefined/changelog/tour-co2-emission-report-endpoint#-new-endpoint" class="hash-link" aria-label="Direct link to 🔧 New Endpoint" title="Direct link to 🔧 New Endpoint" translate="no">​</a></h3>
<p>We added a new endpoint:</p>
<ul>
<li class=""><a class="" href="https://undefined/docs/latest/openapi/retrieve-co-2-emission-report-for-tour-tracking"><code>GET /api/trackings/tour/{trackingIdentifier}/reports/co2-emission</code></a></li>
</ul>
<p>The endpoint provides CO2 emission report data for a selected tour tracking, including detailed
emission structures used in API 2.0.</p>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-what-you-should-do">✅ What You Should Do<a href="https://undefined/changelog/tour-co2-emission-report-endpoint#-what-you-should-do" class="hash-link" aria-label="Direct link to ✅ What You Should Do" title="Direct link to ✅ What You Should Do" translate="no">​</a></h3>
<ul>
<li class="">Integrate this endpoint if you need tour-level CO2 reporting in your systems.</li>
<li class="">Validate your existing report mapping against the updated tracking-based response model.</li>
</ul>
<hr>
<p>As always, if you have feedback or questions, reach out to us via <a href="mailto:api@co3.io" target="_blank" rel="noopener noreferrer" class="">support</a>.</p>]]></content>
        <category label="Release" term="Release"/>
        <category label="OpenApi" term="OpenApi"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[New Endpoint: Asset Drive Time]]></title>
        <id>https://undefined/changelog/asset-drive-time-endpoint</id>
        <link href="https://undefined/changelog/asset-drive-time-endpoint"/>
        <updated>2025-12-22T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Added endpoint for retrieving current drive-time capacities for asset drivers.]]></summary>
        <content type="html"><![CDATA[<p>We’re introducing a new endpoint in API 2.0 for retrieving drive-time capacities and driver working
state data linked to assets.</p>
<!-- -->
<p>This update helps teams consume operational drive-time information directly from the API without
building custom aggregation layers.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-whats-new-in-api-20">🚀 What's New in API 2.0?<a href="https://undefined/changelog/asset-drive-time-endpoint#-whats-new-in-api-20" class="hash-link" aria-label="Direct link to 🚀 What's New in API 2.0?" title="Direct link to 🚀 What's New in API 2.0?" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-new-endpoint">🔧 New Endpoint<a href="https://undefined/changelog/asset-drive-time-endpoint#-new-endpoint" class="hash-link" aria-label="Direct link to 🔧 New Endpoint" title="Direct link to 🔧 New Endpoint" translate="no">​</a></h3>
<p>We added a new endpoint:</p>
<ul>
<li class=""><a class="" href="https://undefined/docs/latest/openapi/get-asset-drive-time"><code>GET /api/assets/{assetIdentifier}/drive-time</code></a></li>
</ul>
<p>The endpoint returns driver working state and drive-time capacities such as next, daily, and weekly
remaining limits.</p>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-what-you-should-do">✅ What You Should Do<a href="https://undefined/changelog/asset-drive-time-endpoint#-what-you-should-do" class="hash-link" aria-label="Direct link to ✅ What You Should Do" title="Direct link to ✅ What You Should Do" translate="no">​</a></h3>
<ul>
<li class="">Integrate this endpoint if your workflows depend on driver availability and compliance windows.</li>
<li class="">Update monitoring dashboards to include drive-time data from the API response.</li>
</ul>
<hr>
<p>As always, if you have feedback or questions, reach out to us via <a href="mailto:api@co3.io" target="_blank" rel="noopener noreferrer" class="">support</a>.</p>]]></content>
        <category label="Release" term="Release"/>
        <category label="OpenApi" term="OpenApi"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[New Endpoint: Asset Characteristics]]></title>
        <id>https://undefined/changelog/asset-characteristics-endpoint</id>
        <link href="https://undefined/changelog/asset-characteristics-endpoint"/>
        <updated>2025-10-08T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Added endpoint for retrieving asset characteristics.]]></summary>
        <content type="html"><![CDATA[<p>We’re introducing a new endpoint in API 2.0 to retrieve vehicle and asset characteristic data in a
single place.</p>
<!-- -->
<p>This update simplifies integrations that need enriched asset metadata for analytics, planning, and
operational decisions.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-whats-new-in-api-20">🚀 What's New in API 2.0?<a href="https://undefined/changelog/asset-characteristics-endpoint#-whats-new-in-api-20" class="hash-link" aria-label="Direct link to 🚀 What's New in API 2.0?" title="Direct link to 🚀 What's New in API 2.0?" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-new-endpoint">🔧 New Endpoint<a href="https://undefined/changelog/asset-characteristics-endpoint#-new-endpoint" class="hash-link" aria-label="Direct link to 🔧 New Endpoint" title="Direct link to 🔧 New Endpoint" translate="no">​</a></h3>
<p>We added a new endpoint:</p>
<ul>
<li class=""><a class="" href="https://undefined/docs/latest/openapi/get-asset-characteristics"><code>GET /api/assets/{assetIdentifier}/characteristics</code></a></li>
</ul>
<p>The endpoint returns available characteristics for a selected asset, including characteristic
values and metadata provided by the source system.</p>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-what-you-should-do">✅ What You Should Do<a href="https://undefined/changelog/asset-characteristics-endpoint#-what-you-should-do" class="hash-link" aria-label="Direct link to ✅ What You Should Do" title="Direct link to ✅ What You Should Do" translate="no">​</a></h3>
<ul>
<li class="">Use this endpoint whenever your integration needs structured asset characteristics.</li>
<li class="">Align your asset data mapping with the characteristic model from the new response.</li>
</ul>
<hr>
<p>As always, if you have feedback or questions, reach out to us via <a href="mailto:api@co3.io" target="_blank" rel="noopener noreferrer" class="">support</a>.</p>]]></content>
        <category label="Release" term="Release"/>
        <category label="OpenApi" term="OpenApi"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[New Endpoint: Asset Offboarding Status Details]]></title>
        <id>https://undefined/changelog/asset-offboarding-status-details</id>
        <link href="https://undefined/changelog/asset-offboarding-status-details"/>
        <updated>2025-06-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Added endpoint for retrieving detailed offboarding status per asset.]]></summary>
        <content type="html"><![CDATA[<p>We’re introducing a new endpoint that gives more visibility into the offboarding process at the
asset level in API 2.0.</p>
<!-- -->
<p>This update makes it easier to track exactly which assets were processed and what their current
offboarding status is.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-whats-new-in-api-20">🚀 What's New in API 2.0?<a href="https://undefined/changelog/asset-offboarding-status-details#-whats-new-in-api-20" class="hash-link" aria-label="Direct link to 🚀 What's New in API 2.0?" title="Direct link to 🚀 What's New in API 2.0?" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-new-endpoint">🔧 New Endpoint<a href="https://undefined/changelog/asset-offboarding-status-details#-new-endpoint" class="hash-link" aria-label="Direct link to 🔧 New Endpoint" title="Direct link to 🔧 New Endpoint" translate="no">​</a></h3>
<p>We added a new endpoint:</p>
<ul>
<li class=""><a class="" href="https://undefined/docs/latest/openapi/get-assets-offboarding-status-details"><code>GET /api/assets/offboardings/{id}/details</code></a></li>
</ul>
<p>The endpoint returns detailed status entries for assets included in a specific offboarding request.</p>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-what-you-should-do">✅ What You Should Do<a href="https://undefined/changelog/asset-offboarding-status-details#-what-you-should-do" class="hash-link" aria-label="Direct link to ✅ What You Should Do" title="Direct link to ✅ What You Should Do" translate="no">​</a></h3>
<ul>
<li class="">Start using this endpoint to monitor per-asset offboarding outcomes.</li>
<li class="">Update integrations that currently rely only on high-level offboarding status.</li>
</ul>
<hr>
<p>As always, if you have feedback or questions, reach out to us via <a href="mailto:api@co3.io" target="_blank" rel="noopener noreferrer" class="">support</a>.</p>]]></content>
        <category label="Release" term="Release"/>
        <category label="OpenApi" term="OpenApi"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[API 2.0 Release Notes]]></title>
        <id>https://undefined/changelog/open-api-2-0-release</id>
        <link href="https://undefined/changelog/open-api-2-0-release"/>
        <updated>2025-06-17T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Major upgrade to our API platform with versioning, new endpoints, unified models, and clear EOL policies.]]></summary>
        <content type="html"><![CDATA[<p>We’re excited to announce the release of <strong>API 2.0</strong>, a major milestone in our journey to provide a
modern, consistent, and developer-friendly API platform. 🎉</p>
<!-- -->
<p>This release is the result of extensive feedback, evolving best practices, and our commitment to
long-term stability and clarity for developers.</p>
<hr>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-whats-new-in-api-20">🚀 What's New in API 2.0?<a href="https://undefined/changelog/open-api-2-0-release#-whats-new-in-api-20" class="hash-link" aria-label="Direct link to 🚀 What's New in API 2.0?" title="Direct link to 🚀 What's New in API 2.0?" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-new-endpoints">🔧 New Endpoints<a href="https://undefined/changelog/open-api-2-0-release#-new-endpoints" class="hash-link" aria-label="Direct link to 🔧 New Endpoints" title="Direct link to 🔧 New Endpoints" translate="no">​</a></h3>
<p>We've introduced several new endpoints to expand the functionality and reduce the need for
workarounds in your integration.</p>
<p>Operation links:</p>
<ul>
<li class=""><a class="" href="https://undefined/docs/latest/openapi/co-3-open-api">All API 2.0 operations</a></li>
<li class=""><a class="" href="https://undefined/docs/latest/category/openapi">OpenAPI category view</a></li>
</ul>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-unified-data-model">🧱 Unified Data Model<a href="https://undefined/changelog/open-api-2-0-release#-unified-data-model" class="hash-link" aria-label="Direct link to 🧱 Unified Data Model" title="Direct link to 🧱 Unified Data Model" translate="no">​</a></h3>
<p>We’ve refactored the underlying data structure to follow a <strong>consistent schema</strong> across all
resources. This ensures predictable response shapes and cleaner code for clients. Key improvements:</p>
<ul>
<li class="">Standardized data structures</li>
<li class="">Consistent pagination and filtering</li>
<li class="">Stronger typing and enum-based validations</li>
</ul>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-brand-new-documentation">📘 Brand-New Documentation<a href="https://undefined/changelog/open-api-2-0-release#-brand-new-documentation" class="hash-link" aria-label="Direct link to 📘 Brand-New Documentation" title="Direct link to 📘 Brand-New Documentation" translate="no">​</a></h3>
<p>API 2.0 comes with <strong>completely revamped documentation</strong> that is easier to navigate, searchable, and
full of practical examples.</p>
<p>Highlights:</p>
<ul>
<li class="">Embedded code samples (cURL, JS/TS, Python, ...)</li>
<li class="">Schema definitions for all endpoints</li>
</ul>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-versioning-via-http-header">🧭 Versioning via HTTP Header<a href="https://undefined/changelog/open-api-2-0-release#-versioning-via-http-header" class="hash-link" aria-label="Direct link to 🧭 Versioning via HTTP Header" title="Direct link to 🧭 Versioning via HTTP Header" translate="no">​</a></h3>
<p>We now use the <code>Api-Version</code> HTTP header to manage API versions. This enables us to ship changes
without breaking existing clients.</p>
<p><strong>Example:</strong></p>
<div class="language-http codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-http codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#393A34"><span class="token plain">Api-Version: 2.0</span><br></div></code></pre></div></div>
<p>Read more in our <a class="" href="https://undefined/docs/latest/api-design/versioning">versioning &amp; deprecation policy</a>.</p>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-clear-api-lifecycle-policy">🛑 Clear API Lifecycle Policy<a href="https://undefined/changelog/open-api-2-0-release#-clear-api-lifecycle-policy" class="hash-link" aria-label="Direct link to 🛑 Clear API Lifecycle Policy" title="Direct link to 🛑 Clear API Lifecycle Policy" translate="no">​</a></h3>
<p>We now formally publish our API End-of-Life (EOL) policy:</p>
<ul>
<li class="">Deprecations will be announced via changelog and email</li>
<li class="">HTTP headers Deprecation and Sunset will also be present in API responses</li>
</ul>
<hr>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="-what-you-should-do">✅ What You Should Do<a href="https://undefined/changelog/open-api-2-0-release#-what-you-should-do" class="hash-link" aria-label="Direct link to ✅ What You Should Do" title="Direct link to ✅ What You Should Do" translate="no">​</a></h3>
<ul>
<li class="">Start integrating with API 2.0 today!</li>
<li class="">Update your API clients to use Api-Version: 2.0</li>
</ul>
<hr>
<p>We’re committed to providing a stable, scalable, and delightful developer experience. API 2.0 is a big step forward, and we can’t wait to see what you build with it.</p>
<p>As always, if you have feedback or questions, reach out to us via <a href="mailto:api@co3.io" target="_blank" rel="noopener noreferrer" class="">support</a>.</p>
<p>Happy building! 🚀</p>]]></content>
        <category label="Release" term="Release"/>
        <category label="OpenApi" term="OpenApi"/>
    </entry>
</feed>