# GET /customer/{{customer_id}} — Get Single Customer via Customer ID

> Product: **Pabbly Subscription Billing** (v1)
> Base URL: `https://payments.pabbly.com/api/v1`
> Auth: Basic via `Authorization` header
> Canonical: `/subscription-billing/customers/get-single-customer-via-customer-id`

This API is fired with GET request. You will need to fill the customer Id in the link and fire it. In response you will get all the details in customer like name, email, created date and so on.

**Path parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| customer_id | string | Yes |  |

**Response (200)** — Get Single Customer via Customer ID:

```json
{
    "status": "success",
    "message": "Customer data",
    "data": {
        "company_name": "Omni Source",
        "website": "anstudios.com",
        "phone": "406-775-3868",
        "billing_address": {
            "attention": "Mr. Lance Crews",
            "street1": "936 Tibbs Avenue",
            "street2": "Jenna Lane",
            "city": "Ekalaka",
            "state": "MT",
            "zip_code": "59324",
            "country": "US"
        },
        "shipping_address": {
            "attention": "Mr. Lance Crews",
            "street1": "936 Tibbs Avenue",
            "street2": "Jenna Lane",
            "city": "Ekalaka",
            "state": "MT",
            "zip_code": "59324",
            "country": "US"
        },
        "createdAt": "2020-01-09T06:25:25.498Z",
        "updatedAt": "2020-01-09T06:25:25.498Z",
        "id": "5e16c7556d73c34665ade042",
        "first_name": "John",
        "last_name": "Doe",
        "email_id": "johndoe@teleworm.us"
    }
}
```

**Code examples:**

_cURL_

```curl
curl https://payments.pabbly.com/api/v1/customer/{{customer_id}} \
  -u {{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}}
```

_Ruby_

```ruby
require 'net/http'
require 'json'

uri = URI('https://payments.pabbly.com/api/v1/customer/{{customer_id}}')
request = Net::HTTP::Get.new(uri)
request.basic_auth '{{YOUR_API_KEY}}', '{{YOUR_SECRET_KEY}}'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

data = JSON.parse(response.body)
```

_Python_

```python
import requests
from requests.auth import HTTPBasicAuth

response = requests.get(
    'https://payments.pabbly.com/api/v1/customer/{{customer_id}}',
    auth=HTTPBasicAuth('{{YOUR_API_KEY}}', '{{YOUR_SECRET_KEY}}'),
)

data = response.json()
```

_PHP_

```php
<?php
$ch = curl_init('https://payments.pabbly.com/api/v1/customer/{{customer_id}}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, '{{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}}');

$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
```

_Java_

```java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Base64;

String credentials = Base64.getEncoder().encodeToString("{{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}}".getBytes());

HttpClient client = HttpClient.newHttpClient();
HttpRequest.Builder builder = HttpRequest.newBuilder()
    .uri(URI.create("https://payments.pabbly.com/api/v1/customer/{{customer_id}}"))
    .header("Authorization", "Basic " + credentials)
    .GET();

HttpRequest request = builder.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
```

_Node.js_

```node
const credentials = Buffer.from('{{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}}').toString('base64');

const response = await fetch('https://payments.pabbly.com/api/v1/customer/{{customer_id}}', {
  method: 'GET',
  headers: {
    'Authorization': `Basic ${credentials}`,
  },
});

const data = await response.json();
```

_Go_

```go
package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://payments.pabbly.com/api/v1/customer/{{customer_id}}", nil)
    req.SetBasicAuth("{{YOUR_API_KEY}}", "{{YOUR_SECRET_KEY}}")

    res, _ := http.DefaultClient.Do(req)
    defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)
    fmt.Println(string(body))
}
```

_.NET_

```dotnet
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

var credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes("{{YOUR_API_KEY}}:{{YOUR_SECRET_KEY}}"));

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://payments.pabbly.com/api/v1/customer/{{customer_id}}");
request.Headers.TryAddWithoutValidation("Authorization", $"Basic {credentials}");

var response = await client.SendAsync(request);
var data = await response.Content.ReadAsStringAsync();
Console.WriteLine(data);
```

---

**Other endpoints in Customers:**

- [GET /customer/ — Get Single Customer via Customer Email](/subscription-billing/customers/get-single-customer-via-customer-email)
- [GET /customer/purchase-info/{{customer_id}} — Get Customer Purchase Information](/subscription-billing/customers/get-customer-purchase-information)
- [GET /customers — List All Customers](/subscription-billing/customers/list-all-customers)
- [PUT /customer/{{customer_id}} — Update Customer Detail](/subscription-billing/customers/update-customer-detail)
- [POST /subscription — Create Customer With Subscription](/subscription-billing/customers/create-customer-with-subscription)
- [DELETE /customers/{{customer_id}} — Delete Customer](/subscription-billing/customers/delete-customer)
- [POST /customer — Create Customer](/subscription-billing/customers/create-customer)

