## Get a customer by ID `client.customers.retrieve(stringid, CustomerRetrieveParamsparams, RequestOptionsoptions?): CustomerRetrieveResponse` **get** `/customers/{id}` Get a customer by ID ### Parameters - `id: string` - `params: CustomerRetrieveParams` - `rotorAPIVersion: "1.1.0"` Required OpenAPI version header. - `"1.1.0"` ### Returns - `CustomerRetrieveResponse` - `data?: Data` - `id?: string` - `address?: Address` - `city: string` - `country: string` - `state: string` - `street1: string` - `zip: string` - `street2?: string | null` - `company_name?: string` - `created_at?: string` - `email?: string` - `first_name?: string` - `has_payment_method?: boolean` Whether the customer has at least one saved payment method on file - `last_name?: string` - `location?: Array | null` - `notes?: string | null` - `phone?: string` - `source?: string` - `status?: "active" | "inactive"` - `"active"` - `"inactive"` - `tags?: Array | null` - `status?: string` ### Example ```typescript import Rotor from 'getrotor'; const client = new Rotor({ rotorAPIVersion: '1.1.0', apiKey: process.env['ROTOR_API_KEY'], // This is the default and can be omitted }); const customer = await client.customers.retrieve('182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { 'rotor-api-version': '1.1.0', }); console.log(customer.data); ``` #### Response ```json { "data": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "address": { "city": "city", "country": "country", "state": "state", "street1": "street1", "zip": "zip", "street2": "street2" }, "company_name": "company_name", "created_at": "2019-12-27T18:11:19.117Z", "email": "dev@stainless.com", "first_name": "first_name", "has_payment_method": true, "last_name": "last_name", "location": [ 0 ], "notes": "notes", "phone": "phone", "source": "source", "status": "active", "tags": [ "string" ] }, "status": "success" } ```