Skip to content

Products API

The Products API allows you to retrieve information about available products with customer-specific pricing.

Get All Products

GET/api/products

Retrieves a list of all available products with your customer-specific discounts applied.

Response

json
[
  {
    "_id": "507f1f77bcf86cd799439011",
    "name": "microsoft-office-2021-home-business",
    "displayName": "Microsoft Office 2021 Home & Business",
    "price": 149.99,
    "productImageUrl": "https://example.com/office-2021.jpg",
    "manufacturer": {
      "name": "Microsoft"
    },
    "categoryName": "ESD",
    "isMultidevice": false,
    "isSubscription": false,
    "isTerm": false,
    "isMobileOnly": false,
    "oldPrice": 249.99,
    "duration": "Lifetime",
    "seats": 1,
    "description": {
      "DE": "Microsoft Office 2021 für PC und Mac",
      "EN": "Microsoft Office 2021 for PC and Mac"
    },
    "availableStock": 100,
    "validRegion": "DACH",
    "validRegionInfo": "Valid for Germany, Austria and Switzerland"
  }
]
bash
curl -X GET https://api.attivita.de/api/products \
  -H "Authorization: Bearer YOUR_API_ACCESS_TOKEN"

Response Fields

FieldTypeDescription
_idstringUnique product identifier
namestringInternal product name
displayNamestringCustomer-facing product name
pricenumberPrice after customer discounts
productImageUrlstringProduct image URL
manufacturerobjectManufacturer information
categoryNamestringProduct category
isMultidevicebooleanMulti-device license
isSubscriptionbooleanSubscription product
isTermbooleanTerm-based license
isMobileOnlybooleanMobile-only product
oldPricenumberOriginal price (optional)
durationstringLicense duration
seatsnumberNumber of seats/devices
descriptionobjectMultilingual descriptions
availableStocknumberCurrent stock (max 100)
validRegionstringRegion validity (DACH/EU/GLOBAL/null)
validRegionInfostringRegion description (optional)

Get Product by ID

GET/api/products/:id

Retrieves details of a specific product by its ID.

Parameters

ParameterTypeRequiredDescription
idstringYesThe product ID

Response

The response format is identical to a single product object from the "Get All Products" endpoint.

Example

bash
curl -X GET https://api.attivita.de/api/products/507f1f77bcf86cd799439011 \
  -H "Authorization: Bearer YOUR_API_ACCESS_TOKEN"
javascript
const productId = '507f1f77bcf86cd799439011';
const response = await fetch(`https://api.attivita.de/api/products/${productId}`, {
  headers: {
    'Authorization': 'Bearer YOUR_API_ACCESS_TOKEN'
  }
});

const product = await response.json();

Error Responses

StatusErrorDescription
404Product not foundThe specified product ID doesn't exist
401UnauthorizedInvalid or missing API token

Important Notes

Customer Pricing

All prices shown in the API responses include your customer-specific discounts. The price field shows the final price you'll pay.

Stock Levels

The availableStock field shows a maximum of 100 even if actual stock is higher. This is to protect sensitive inventory information while still indicating availability.

Product Availability

Only products with isListed: true are returned by these endpoints. Unlisted products cannot be accessed or ordered.

Next Steps

The usage of this API is at your own risk. Attivita GmbH is not responsible for any damages or losses.