| { |
| "swagger": "2.0", |
| "info": { |
| "title": "Uber API", |
| "description": "Move your app forward with the Uber API", |
| "version": "1.0.0" |
| }, |
| "host": "api.uber.com", |
| "schemes": [ |
| "https" |
| ], |
| "basePath": "/v1", |
| "produces": [ |
| "application/json" |
| ], |
| "paths": { |
| "/products": { |
| "get": { |
| "summary": "Product Types", |
| "description": "The Products endpoint returns information about the Uber products offered at a given location. The response includes the display name and other details about each product, and lists the products in the proper display order.", |
| "parameters": [ |
| { |
| "name": "latitude", |
| "in": "query", |
| "description": "Latitude component of location.", |
| "required": true, |
| "type": "number", |
| "format": "double" |
| }, |
| { |
| "name": "longitude", |
| "in": "query", |
| "description": "Longitude component of location.", |
| "required": true, |
| "type": "number", |
| "format": "double" |
| } |
| ], |
| "tags": [ |
| "Products" |
| ], |
| "responses": { |
| "200": { |
| "description": "An array of products", |
| "schema": { |
| "type": "array", |
| "items": { |
| "$ref": "#/definitions/Product" |
| } |
| } |
| }, |
| "default": { |
| "description": "Unexpected error", |
| "schema": { |
| "$ref": "#/definitions/Error" |
| } |
| } |
| } |
| } |
| }, |
| "/estimates/price": { |
| "get": { |
| "summary": "Price Estimates", |
| "description": "The Price Estimates endpoint returns an estimated price range for each product offered at a given location. The price estimate is provided as a formatted string with the full price range and the localized currency symbol.<br><br>The response also includes low and high estimates, and the [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217) currency code for situations requiring currency conversion. When surge is active for a particular product, its surge_multiplier will be greater than 1, but the price estimate already factors in this multiplier.", |
| "parameters": [ |
| { |
| "name": "start_latitude", |
| "in": "query", |
| "description": "Latitude component of start location.", |
| "required": true, |
| "type": "number", |
| "format": "double" |
| }, |
| { |
| "name": "start_longitude", |
| "in": "query", |
| "description": "Longitude component of start location.", |
| "required": true, |
| "type": "number", |
| "format": "double" |
| }, |
| { |
| "name": "end_latitude", |
| "in": "query", |
| "description": "Latitude component of end location.", |
| "required": true, |
| "type": "number", |
| "format": "double" |
| }, |
| { |
| "name": "end_longitude", |
| "in": "query", |
| "description": "Longitude component of end location.", |
| "required": true, |
| "type": "number", |
| "format": "double" |
| } |
| ], |
| "tags": [ |
| "Estimates" |
| ], |
| "responses": { |
| "200": { |
| "description": "An array of price estimates by product", |
| "schema": { |
| "type": "array", |
| "items": { |
| "$ref": "#/definitions/PriceEstimate" |
| } |
| } |
| }, |
| "default": { |
| "description": "Unexpected error", |
| "schema": { |
| "$ref": "#/definitions/Error" |
| } |
| } |
| } |
| } |
| }, |
| "/estimates/time": { |
| "get": { |
| "summary": "Time Estimates", |
| "description": "The Time Estimates endpoint returns ETAs for all products offered at a given location, with the responses expressed as integers in seconds. We recommend that this endpoint be called every minute to provide the most accurate, up-to-date ETAs.", |
| "parameters": [ |
| { |
| "name": "start_latitude", |
| "in": "query", |
| "description": "Latitude component of start location.", |
| "required": true, |
| "type": "number", |
| "format": "double" |
| }, |
| { |
| "name": "start_longitude", |
| "in": "query", |
| "description": "Longitude component of start location.", |
| "required": true, |
| "type": "number", |
| "format": "double" |
| }, |
| { |
| "name": "customer_uuid", |
| "in": "query", |
| "type": "string", |
| "format": "uuid", |
| "description": "Unique customer identifier to be used for experience customization." |
| }, |
| { |
| "name": "product_id", |
| "in": "query", |
| "type": "string", |
| "description": "Unique identifier representing a specific product for a given latitude & longitude." |
| } |
| ], |
| "tags": [ |
| "Estimates" |
| ], |
| "responses": { |
| "200": { |
| "description": "An array of products", |
| "schema": { |
| "type": "array", |
| "items": { |
| "$ref": "#/definitions/Product" |
| } |
| } |
| }, |
| "default": { |
| "description": "Unexpected error", |
| "schema": { |
| "$ref": "#/definitions/Error" |
| } |
| } |
| } |
| } |
| }, |
| "/me": { |
| "get": { |
| "summary": "User Profile", |
| "description": "The User Profile endpoint returns information about the Uber user that has authorized with the application.", |
| "tags": [ |
| "User" |
| ], |
| "responses": { |
| "200": { |
| "description": "Profile information for a user", |
| "schema": { |
| "$ref": "#/definitions/Profile" |
| } |
| }, |
| "default": { |
| "description": "Unexpected error", |
| "schema": { |
| "$ref": "#/definitions/Error" |
| } |
| } |
| } |
| } |
| }, |
| "/history": { |
| "get": { |
| "summary": "User Activity", |
| "description": "The User Activity endpoint returns data about a user's lifetime activity with Uber. The response will include pickup locations and times, dropoff locations and times, the distance of past requests, and information about which products were requested.<br><br>The history array in the response will have a maximum length based on the limit parameter. The response value count may exceed limit, therefore subsequent API requests may be necessary.", |
| "parameters": [ |
| { |
| "name": "offset", |
| "in": "query", |
| "type": "integer", |
| "format": "int32", |
| "description": "Offset the list of returned results by this amount. Default is zero." |
| }, |
| { |
| "name": "limit", |
| "in": "query", |
| "type": "integer", |
| "format": "int32", |
| "description": "Number of items to retrieve. Default is 5, maximum is 100." |
| } |
| ], |
| "tags": [ |
| "User" |
| ], |
| "responses": { |
| "200": { |
| "description": "History information for the given user", |
| "schema": { |
| "$ref": "#/definitions/Activities" |
| } |
| }, |
| "default": { |
| "description": "Unexpected error", |
| "schema": { |
| "$ref": "#/definitions/Error" |
| } |
| } |
| } |
| } |
| } |
| }, |
| "definitions": { |
| "Product": { |
| "properties": { |
| "product_id": { |
| "type": "string", |
| "description": "Unique identifier representing a specific product for a given latitude & longitude. For example, uberX in San Francisco will have a different product_id than uberX in Los Angeles." |
| }, |
| "description": { |
| "type": "string", |
| "description": "Description of product." |
| }, |
| "display_name": { |
| "type": "string", |
| "description": "Display name of product." |
| }, |
| "capacity": { |
| "type": "string", |
| "description": "Capacity of product. For example, 4 people." |
| }, |
| "image": { |
| "type": "string", |
| "description": "Image URL representing the product." |
| } |
| } |
| }, |
| "PriceEstimate": { |
| "properties": { |
| "product_id": { |
| "type": "string", |
| "description": "Unique identifier representing a specific product for a given latitude & longitude. For example, uberX in San Francisco will have a different product_id than uberX in Los Angeles" |
| }, |
| "currency_code": { |
| "type": "string", |
| "description": "[ISO 4217](http://en.wikipedia.org/wiki/ISO_4217) currency code." |
| }, |
| "display_name": { |
| "type": "string", |
| "description": "Display name of product." |
| }, |
| "estimate": { |
| "type": "string", |
| "description": "Formatted string of estimate in local currency of the start location. Estimate could be a range, a single number (flat rate) or \"Metered\" for TAXI." |
| }, |
| "low_estimate": { |
| "type": "number", |
| "description": "Lower bound of the estimated price." |
| }, |
| "high_estimate": { |
| "type": "number", |
| "description": "Upper bound of the estimated price." |
| }, |
| "surge_multiplier": { |
| "type": "number", |
| "description": "Expected surge multiplier. Surge is active if surge_multiplier is greater than 1. Price estimate already factors in the surge multiplier." |
| } |
| } |
| }, |
| "Profile": { |
| "properties": { |
| "first_name": { |
| "type": "string", |
| "description": "First name of the Uber user." |
| }, |
| "last_name": { |
| "type": "string", |
| "description": "Last name of the Uber user." |
| }, |
| "email": { |
| "type": "string", |
| "description": "Email address of the Uber user" |
| }, |
| "picture": { |
| "type": "string", |
| "description": "Image URL of the Uber user." |
| }, |
| "promo_code": { |
| "type": "string", |
| "description": "Promo code of the Uber user." |
| } |
| } |
| }, |
| "Activity": { |
| "properties": { |
| "uuid": { |
| "type": "string", |
| "description": "Unique identifier for the activity" |
| } |
| } |
| }, |
| "Activities": { |
| "properties": { |
| "offset": { |
| "type": "integer", |
| "format": "int32", |
| "description": "Position in pagination." |
| }, |
| "limit": { |
| "type": "integer", |
| "format": "int32", |
| "description": "Number of items to retrieve (100 max)." |
| }, |
| "count": { |
| "type": "integer", |
| "format": "int32", |
| "description": "Total number of items available." |
| }, |
| "history": { |
| "type": "array", |
| "items": { |
| "$ref": "#/definitions/Activity" |
| } |
| } |
| } |
| }, |
| "Error": { |
| "properties": { |
| "code": { |
| "type": "integer", |
| "format": "int32" |
| }, |
| "message": { |
| "type": "string" |
| }, |
| "fields": { |
| "type": "string" |
| } |
| } |
| } |
| } |
| } |