[API] Get Terms
The Get Terms API returns the current state and details of one terms record identified by its terms UUID. Records in any lifecycle state can be retrieved.
¶ Use case
Use this API to retrieve a terms record after creating or terminating it, confirm its current state, and review its duration, charges, and metadata.
¶ Support for Hierarchical Data
The API operates within the hierarchical structure of the organization linked to the developer’s account at the time of setup.
¶ Supported supplier types
Financiers/Rentals
¶ Scopes
vehicle_suppliers.terms.management
¶ Required permissions
The caller must represent the terms record’s sender organization or have the supplier.terms.read permission for that organization.
¶ Resource
/v1/vehicle-supplier/terms/:terms_id
¶ HTTP Method
GET
¶ Authorization
¶ Example Request
curl -X GET "https://api.uber.com/v1/vehicle-supplier/terms/<terms_id>" \
-H "Authorization: Bearer <TOKEN>"
¶ Request Path Parameters
| Name | Type | Description |
|---|---|---|
terms_id |
string | Terms UUID returned by Create Terms. |
¶ Example Response
200 OK
{
"terms": {
"termsUuid": {
"value": "<terms_id>"
},
"organization": {
"orgUuid": {
"value": "<organization_id>"
}
},
"driver": {
"userUuid": {
"value": "<driver_id>"
},
"contactType": "CONTACT_TYPE_EMAIL"
},
"vehicle": {
"vehicleUuid": {
"value": "<vehicle_id>"
}
},
"state": "STATE_ACCEPTED",
"duration": {
"startsAt": {
"value": "1730205147000"
},
"endsAt": {
"value": "1730291547000"
}
},
"chargeDetails": {
"rentalFee": {
"frequency": "FREQUENCY_WEEKLY",
"fixed": {
"amountE5": "500000000",
"currencyCode": "USD"
}
},
"maxDebit": {
"frequency": "FREQUENCY_WEEKLY",
"fixed": {
"amountE5": "300000000",
"currencyCode": "USD"
}
}
},
"externalMetadata": {
"value": "example metadata"
},
"metadata": {
"createdAt": {
"value": "1730138204298"
},
"lastUpdatedAt": {
"value": "1730138213017"
}
}
}
}
Fields without a value are omitted from the response.
¶ Response Body Parameters
| Name | Type | Description |
|---|---|---|
terms |
object | Terms object, using the same shape returned by Create Terms. |
¶ Terms
| Name | Type | Description |
|---|---|---|
termsUuid |
object | UUID object containing the terms ID |
organization |
object | Organization object |
driver |
object | Driver object |
vehicle |
object | Vehicle object. Omitted when the terms record is not associated with a vehicle. |
state |
enum | State enum |
duration |
object | Duration object |
chargeDetails |
object | Charge details object. Omitted when charge details are not available. |
externalMetadata |
object | External metadata object. Omitted when no external metadata was supplied. |
metadata |
object | Metadata object |
¶ Organization
| Name | Type | Description |
|---|---|---|
orgUuid |
object | UUID object containing the organization ID |
¶ Driver
| Name | Type | Description |
|---|---|---|
userUuid |
object | UUID object containing the driver ID |
contactType |
enum | Contact type enum |
¶ Contact Type
| Name | Definition |
|---|---|
CONTACT_TYPE_EMAIL |
The driver was contacted by email. |
CONTACT_TYPE_PHONE |
The driver was contacted by telephone. |
¶ Vehicle
| Name | Type | Description |
|---|---|---|
vehicleUuid |
object | UUID object containing the vehicle ID |
¶ UUID
| Name | Type | Description |
|---|---|---|
value |
string | Terms IDs use standard UUID format. Organization, driver, and vehicle IDs are encrypted identifiers. |
¶ State
| Name | Definition |
|---|---|
STATE_DRAFT |
The terms record is in draft state. |
STATE_PENDING_ACCEPTANCE |
The terms record is waiting for the driver’s acceptance. |
STATE_ACCEPTED |
The driver accepted the terms. They take effect when the duration starts. |
STATE_REJECTED |
The driver rejected the terms. |
STATE_TERMINATED |
The terms were terminated and will not renew. |
STATE_ARCHIVED |
The terms were archived and can no longer be debited. |
¶ Duration
| Name | Type | Description |
|---|---|---|
startsAt |
object | Timestamp object. When the terms take effect. |
endsAt |
object | Timestamp object. When the terms end. Omitted when no end time is specified. |
¶ Charge Details
| Name | Type | Description |
|---|---|---|
rentalFee |
object | Amount details object. The recurring rental fee. |
maxDebit |
object | Amount details object. The most that can be debited in addition to the rental fee each period. |
¶ Amount Details
| Name | Type | Description |
|---|---|---|
frequency |
enum | Frequency enum |
fixed |
object | Amount object containing the fixed amount charged each period. |
¶ Frequency
| Name | Definition |
|---|---|
FREQUENCY_WEEKLY |
The fee or maximum debit applies to a weekly period. |
¶ Amount
| Name | Type | Description |
|---|---|---|
amountE5 |
int64 | Amount multiplied by 100,000. For example, 1000000 represents 10.00. Responses return this value as a string. |
currencyCode |
string | ISO 4217 currency code, such as USD, INR, or CAD. |
¶ External Metadata
| Name | Type | Description |
|---|---|---|
value |
string | Plain text or JSON supplied for the organization’s internal use and returned without modification. |
¶ Metadata
| Name | Type | Description |
|---|---|---|
createdAt |
object | Timestamp object. When the terms record was created. |
lastUpdatedAt |
object | Timestamp object. When the terms record was last updated. |
terminatedAt |
object | Timestamp object. When the terms were terminated, if applicable. |
archivedAt |
object | Timestamp object. When the terms were archived, if applicable. |
terminationDetail |
object | Termination detail object. Why and by whom the terms ended, when available. |
¶ Termination Detail
| Name | Type | Description |
|---|---|---|
terminatedBy |
string | May identify the driver, supplier, administrator, or lifecycle workflow that terminated the terms. |
terminateReason |
enum | Termination reason enum |
terminateDetails |
string | Additional information about why the terms ended. |
¶ Termination Reason
| Name | Definition |
|---|---|
TERMINATE_REASON_SUCCESS |
The terms ended successfully after their effective end time. |
TERMINATE_REASON_ERROR |
A backend or system issue, such as a vehicle assignment failure, ended them. |
TERMINATE_REASON_EXPIRED |
The terms were not accepted or were rejected before their start time. |
TERMINATE_REASON_MANUAL |
The sender or recipient manually terminated the terms. |
¶ Timestamp
| Name | Type | Description |
|---|---|---|
value |
int64 | Unix epoch time in milliseconds. Responses return it as a string. |
¶ Rate limit
- The rate limit for this endpoint is 10,000 requests per 10 seconds for each developer application.
¶ Endpoint Specific Errors
| HTTP Status Code | Code | Cause |
|---|---|---|
400 |
missing-argument |
The terms ID is missing. |
400 |
invalid-argument |
The terms ID is not a valid UUID. |
400 |
not-found |
No terms record has this ID. |
401 |
unauthorized |
The OAuth credentials are missing or invalid. |
403 |
permission-denied |
The application lacks the required scope or the caller cannot read the terms record. |
429 |
rate-limited |
The application exceeded the endpoint’s rate limit. |
500 |
internal-server-error |
An internal error occurred. Retry with exponential backoff. |
¶ Notes
- The API returns terms in any state, including draft, rejected, terminated, and archived.
- The response contains the stored vehicle ID only; it does not include vehicle make, model, year, or image data.
- The
amountE5and timestampvaluefields are serialized as strings in the JSON response. - This endpoint retrieves one known terms ID. It does not list or search for terms.
Use case
Support for Hierarchical Data
Supported supplier types
Scopes
Required permissions
Resource
HTTP Method
Authorization
Example Request
Request Path Parameters
Example Response
Response Body Parameters
Terms
Organization
Driver
Contact Type
Vehicle
UUID
State
Duration
Charge Details
Amount Details
Frequency
Amount
External Metadata
Metadata
Termination Detail
Termination Reason
Timestamp
Rate limit
Endpoint Specific Errors
Notes