Skip to content

Get service of product

GET
/products/{productId}/services
curl --request GET \
--url https://api-uat.flinkey.de/v3/products/1/services \
--header 'Authorization: Bearer <token>' \
--header 'Customer-ID: example' \
--header 'flinkey-API-Key: <flinkey-API-Key>'

Purpose

Retrieve service information assigned to one specific product in the selected customer context.

A product represents a flinkey hardware product assigned to the customer context.

A service represents the service relationship or service state associated with that product.

Use this operation for operational lookup, reconciliation and support workflows where service-level information for a product is required.

When to use this operation

Use this operation when the partner backend needs to retrieve service information for a specific product.

Typical situations:

  • checking whether a product has an assigned service,
  • checking whether the assigned service is terminated,
  • retrieving service termination date,
  • retrieving service termination cause,
  • supporting operational troubleshooting,
  • reconciling product and service state with partner or support records.

Do not treat Service as the primary access permission object.

Access permissions are managed through assignments between User and Car.

Validation notes

  • The base request returned 200 OK with one service object despite the plural /services path.
  • The response included the additional productId field.
  • name was observed both as a string and as null across active services.
  • Development services with unlimited duration and ordinary automatically renewed services both returned isTerminated: false with null termination fields. Automatic renewal is handled outside the integration-facing service state.
  • Collection-style OData options returned 400 Bad Request because the resource is not a collection.
  • When no service-to-product relation existed, the operation returned 404 Not Found with "No product can be found for this productId that is assigned to this customerId.". The wording is misleading and must not be interpreted as proof that the product itself was deleted.

Async behavior

Synchronous.

The service information is returned directly in the API response.

Webhook result

No.

This operation does not produce a webhook result.

Security notes

Never log:

  • flinkey-API-Key,
  • bearer token,
  • full request headers.

Product and service identifiers are environment-specific.

Do not mix UAT and PROD product IDs or service IDs.

Use placeholders in documentation, examples, screenshots and AI prompts.

For standard partner integrations, the mobile app must not receive API Manager credentials, backend bearer tokens or the flinkey-API-Key.

productId
required
number

Database ID of the product

Customer-ID
required
string

Customer database ID

Service information for the product was retrieved successfully

Media typeapplication/json
object
id

Service database ID

number
name

Service name, if available

string | null
productId

Product database ID assigned to the service

number | null
isTerminated

Indicates whether the service is terminated

boolean
terminationDate

Service termination date in date-time format, if available

string | null
terminationCause

Termination cause, if available

string | null
Example
{
"id": 11111,
"name": "flinkey Access",
"productId": 123,
"isTerminated": false,
"terminationDate": null,
"terminationCause": null
}

Invalid subscription key or missing / invalid access token

Recommended handling: Check flinkey-API-Key, bearer token and environment configuration

API Manager, customer context, product or assigned service data was not found. The observed missing-relation response was “No product can be found for this productId that is assigned to this customerId.”

Recommended handling: Check credentials, Customer-ID, local productId reference and product assignment; verify the product separately before treating it as missing

Server-side error

Recommended handling: Retry later if appropriate and escalate if persistent