---
title: "List a product's first-party services"
method: GET
path: "/ops/first_party_services/product/{product_id}"
tags: ["ops", "ops-first-party-services"]
---

# List a product's first-party services

`GET /ops/first_party_services/product/{product_id}`

## Request

- Base URL: `https://api.topi-staging.eu`
- URL: `https://api.topi-staging.eu/ops/first_party_services/product/{product_id}`
- Auth: OAuth 2
  - Authorization code: `/oauth2/authorize`
  - Token URL: `/oauth2/token` scopes: `catalog:read`

List first party services for a product

## Path parameters

- `product_id` string, regexp, required: topi product ID

## Response `200`

OK response.

- FirstPartyServiceProductOverride[]
  - `additional_values` FirstPartyServiceAdditionalValues: Additional values for specific first party types.
    - `accessory_type` string: if the first party service is an accessory, this value is the kind of the accessory
    - `deductible_price` MoneyAmountWithOptionalGross
      - `currency` string, required: Currency code, see ISO 4127 (https://www.iso.org/iso-4217-currency-codes.html) (supported: EUR, GBP, USD)
      - `gross` integer: Gross amount of money, expressed in the minor unit for the currency
      - `net` integer, required: Net amount of money, expressed in the minor unit for the currency
    - `images` FirstPartyServiceImages
      - `url1x` string, required: URL to redirect to on success
      - `url2x` string, required: URL to redirect to on success
      - `url3x` string, required: URL to redirect to on success
  - `disabled` boolean, required: If the service should be disabled for a given product
  - `monthly_price` MoneyAmount
    - `currency` string, required: Currency code, see ISO 4127 (https://www.iso.org/iso-4217-currency-codes.html) (supported: EUR, GBP, USD)
    - `gross` integer, required: Gross amount of money, expressed in the minor unit for the currency
    - `net` integer, required: Net amount of money, expressed in the minor unit for the currency
  - `product_id` string, regexp, required: The internal ID for the product
  - `type` 'topi_repair' | 'topi_replace' | 'demo_first_party_service' | 'topi_accessory' | 'topi_data_deletion_certificate' | 'topi_care_plus_synaxon' | 'topi_care_plus_michaelag', required

## Other responses

- `401`: Unauthorized: Unauthorized response.
- `403`: InvalidScopes: Forbidden response.
- `404`: NotFound: Not Found response.

## Changes

- **2026-10-27** `ac6979514123`: 1 info
  - api operation id `catalog.ListFirstPartyServicesForProduct` removed and replaced with `catalog#ListFirstPartyServicesForProduct`
- **2026-10-26** `7ff7ee94b30e`: 2 info
  - api operation id `catalog#ListFirstPartyServicesForProduct` removed and replaced with `catalog.ListFirstPartyServicesForProduct`
  - api tag `ops-first-party-services` added

[Operation history](https://skmtc.dev/topi/apis/topi-public-api/changes/ops/first_party_services/product/:product_id/get.md)

---

[API](https://skmtc.dev/topi/apis/topi-public-api.md) - [All operations](https://skmtc.dev/topi/apis/topi-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/topi/apis/topi-public-api/revisions/09f585e29aa8?raw)
