# Get Services

The operation fetches a list of supported services for a carrier with respect to specific origin and destination country. If query parameters are not provided, this will default to `USPS` as carrier, `US` as both origin and destination country code.

Endpoint: GET /api/v1/services
Version: 1.0.0
Security: bearerAuth

## Query parameters:

  - `carrier` (string)
    The CarrierID, a unique identifier provided to an individual carrier. It can be referred from the response of Get Carriers API

  - `originCountryCode` (string)
    The Source Country. The two-character ISO country code for the country where the Shipment originates.

  - `destinationCountryCode` (string)
    The Destination Country for the Shipment. The two-character ISO country code for the country where the shipment is to be delivered.

## Header parameters:

  - `X-PB-Developer-Partner-Id` (string)
    This is the Developer Partner ID. When the developer is the only partner, this field is not required.

## Response 200 fields (application/json):

  - `services` (array)

  - `services.brandedName` (string)
    The branded name of service.

  - `services.serviceId` (string)
    The unique identifier given to the carrier specific service.

## Response 400 fields (application/json):

  - `errorCode` (string)
    Error code(s) that appear due to HTTP  400- Invalid or Bad Request, e.g., validation-error.
    Example: validation_error

  - `errorDescription` (string)
    The HTTP 400 Bad Request response status code indicates that the server cannot process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
    Example: string

  - `additionalCode` (string)
    A unique identifier for the error, for example 1101055, 0100008, or 1021126.

  - `additionalInfo` (string)
    This is an additional information about the error. This error 'Invalid Request' might appear due to invalid dimension, weight, or serviceID, or if the information is missing.

  - `additionalParameters` (array)

## Response 401 fields (application/json):

  - `message` (string, required)
    This is HTTP 401 Unauthorized response status code, which indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource.

## Response 500 fields (application/json):

  - `message` (string, required)
    This is HTTP 500 Internal Server Error response status code, which indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.

