> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revolv3.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Customer

> Retrieves the **full details of a specific customer** using their unique Customer ID.
The response includes personal information (first name, last name), billing and shipping addresses, merchant customer reference ID, and linked data.

This endpoint is useful for displaying customer profiles, validating identity before performing operations, or populating customer data in UI forms.
It can also be used to fetch up-to-date customer records during checkout or subscription management flows.



## OpenAPI

````yaml /api-reference/swagger.json get /api/Customers/{customerId}
openapi: 3.0.4
info:
  title: Revolv3 OpenApi Spec
  description: Spec for Revolv3
  version: 1.29.1
servers:
  - url: 'https://api-sandbox.revolv3.com '
security: []
paths:
  /api/Customers/{customerId}:
    get:
      tags:
        - Customers
      summary: Get Customer
      description: "Retrieves the **full details of a specific customer** using their unique Customer ID.\r\nThe response includes personal information (first name, last name), billing and shipping addresses, merchant customer reference ID, and linked data.\r\n\r\nThis endpoint is useful for displaying customer profiles, validating identity before performing operations, or populating customer data in UI forms.\r\nIt can also be used to fetch up-to-date customer records during checkout or subscription management flows."
      parameters:
        - name: customerId
          in: path
          required: true
          schema:
            maximum: 1000000000
            minimum: 1
            type: integer
            format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/CustomerDTO'
              example:
                customerId: 1
                merchantCustomerRefId: 1234-5678-9101
                firstName: John
                lastName: Doe
                billingAddresses:
                  - addressId: 1
                    addressLine1: 100 Main Street
                    addressLine2: null
                    city: Santa Ana
                    state: CA
                    postalCode: '90000'
                    phoneNumber: null
                    email: null
                    country: US
                shippingAddresses:
                  - addressId: 2
                    addressLine1: 101 First Street
                    addressLine2: null
                    city: Costa Mesa
                    state: CA
                    postalCode: '90001'
                    phoneNumber: null
                    email: null
                    country: US
                taxAddresses: []
                subscriptions: []
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerDTO'
              example:
                customerId: 1
                merchantCustomerRefId: 1234-5678-9101
                firstName: John
                lastName: Doe
                billingAddresses:
                  - addressId: 1
                    addressLine1: 100 Main Street
                    addressLine2: null
                    city: Santa Ana
                    state: CA
                    postalCode: '90000'
                    phoneNumber: null
                    email: null
                    country: US
                shippingAddresses:
                  - addressId: 2
                    addressLine1: 101 First Street
                    addressLine2: null
                    city: Costa Mesa
                    state: CA
                    postalCode: '90001'
                    phoneNumber: null
                    email: null
                    country: US
                taxAddresses: []
                subscriptions: []
            text/json:
              schema:
                $ref: '#/components/schemas/CustomerDTO'
              example:
                customerId: 1
                merchantCustomerRefId: 1234-5678-9101
                firstName: John
                lastName: Doe
                billingAddresses:
                  - addressId: 1
                    addressLine1: 100 Main Street
                    addressLine2: null
                    city: Santa Ana
                    state: CA
                    postalCode: '90000'
                    phoneNumber: null
                    email: null
                    country: US
                shippingAddresses:
                  - addressId: 2
                    addressLine1: 101 First Street
                    addressLine2: null
                    city: Costa Mesa
                    state: CA
                    postalCode: '90001'
                    phoneNumber: null
                    email: null
                    country: US
                taxAddresses: []
                subscriptions: []
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
        '404':
          description: If the customer ID cannot be associated with an active customer
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to find an entity with the provided data.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to find an entity with the provided data.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to find an entity with the provided data.
      security:
        - Bearer: []
components:
  schemas:
    CustomerDTO:
      type: object
      properties:
        customerId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        merchantCustomerRefId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        firstName:
          maxLength: 150
          minLength: 0
          type: string
          nullable: true
        lastName:
          maxLength: 150
          minLength: 0
          type: string
          nullable: true
        billingAddresses:
          type: array
          items:
            $ref: '#/components/schemas/AddressDTO'
          nullable: true
        shippingAddresses:
          type: array
          items:
            $ref: '#/components/schemas/AddressDTO'
          nullable: true
        taxAddresses:
          type: array
          items:
            $ref: '#/components/schemas/AddressDTO'
          nullable: true
        subscriptions:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionDTO'
          nullable: true
      additionalProperties: false
    StatusMessageResponse:
      type: object
      properties:
        message:
          type: string
          nullable: true
        errors:
          type: array
          items:
            type: string
          nullable: true
        fluentValidatorErrors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationFailure'
          nullable: true
      additionalProperties: false
    AddressDTO:
      type: object
      properties:
        addressId:
          type: integer
          description: The unique identifier of the address.
          format: int64
        addressLine1:
          maxLength: 40
          minLength: 2
          type: string
          description: Address.
          nullable: true
        addressLine2:
          maxLength: 40
          minLength: 0
          type: string
          description: Supplemental information for the address.
        city:
          maxLength: 25
          minLength: 2
          type: string
          description: City.
          nullable: true
        state:
          maxLength: 2
          minLength: 2
          type: string
          description: Two-letter state abbreviation.
          nullable: true
        postalCode:
          maxLength: 20
          minLength: 2
          type: string
          description: Postal Code.
          nullable: true
        phoneNumber:
          maxLength: 20
          minLength: 0
          type: string
          description: >-
            The phone number associated with a payment method that is used for
            billing purposes.
        email:
          maxLength: 100
          minLength: 0
          type: string
          description: The email associated with a billing address.
          format: email
        country:
          maxLength: 2
          minLength: 2
          type: string
          description: Country.
          nullable: true
      additionalProperties: false
    SubscriptionDTO:
      type: object
      properties:
        subscriptionId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        customerId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        merchantSubscriptionRefId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        networkTransactionId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        billingIntervalType:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        billingIntervalCount:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int32
        subscriptionStatusType:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        subscriptionCancelType:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        initialBillDate:
          maxLength: 20
          minLength: 0
          type: string
          nullable: true
        nextBillDate:
          maxLength: 20
          minLength: 0
          type: string
          nullable: true
        taxAddress:
          $ref: '#/components/schemas/AddressDTO'
        paymentMethodIds:
          type: array
          items:
            type: integer
            format: int64
          nullable: true
        cancelledAt:
          maxLength: 40
          type: string
          format: date-time
          nullable: true
        billingPlans:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionBillingPlanDTO'
          nullable: true
        message:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        paymentProcessor:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        processorMerchantId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        processorRawResponse:
          maxLength: 10000
          minLength: 0
          type: string
          nullable: true
        currency:
          maxLength: 3
          minLength: 0
          type: string
          nullable: true
        responseMessage:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        responseCode:
          maxLength: 10
          minLength: 0
          type: string
          nullable: true
      additionalProperties: false
    ValidationFailure:
      type: object
      properties:
        propertyName:
          type: string
          nullable: true
        errorMessage:
          type: string
          nullable: true
        attemptedValue:
          nullable: true
        customState:
          nullable: true
        severity:
          $ref: '#/components/schemas/Severity'
        errorCode:
          type: string
          nullable: true
        formattedMessagePlaceholderValues:
          type: object
          additionalProperties:
            nullable: true
          nullable: true
      additionalProperties: false
    SubscriptionBillingPlanDTO:
      type: object
      properties:
        subscriptionBillingPlanId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        subscriptionId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        name:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        value:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        startDate:
          maxLength: 20
          minLength: 0
          type: string
          nullable: true
        cyclesRemaining:
          maximum: 1000000000
          minimum: 0
          type: integer
          format: int32
        cycleCount:
          maximum: 100
          minimum: -1
          type: integer
          format: int32
        valueType:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
      additionalProperties: false
    Severity:
      enum:
        - Error
        - Warning
        - Info
      type: string
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````