Three lines

Uber

Developers

[API] Get Terms

Privileged and Confidential This endpoint design has been confidentially shared with you. It is still under development and is subject to change without notice. Please do not share this document or API endpoint details with anyone who is not authorized to have access. For more information read about scopes.

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

Client Credentials

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 amountE5 and timestamp value fields are serialized as strings in the JSON response.
  • This endpoint retrieves one known terms ID. It does not list or search for terms.

Uber

Developers
© 2026 Uber Technologies Inc.