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

# Get Product Page with Type Filter

> Endpoint where you can get your products with type filter

<RequestExample>
  ```bash Request Example theme={null}
  curl --request GET 'https://api.mayar.id/hl/v2/products/types/generic_link?limit=10' \
  --header 'Authorization: Bearer Paste-Your-API-Key-Here'
  ```
</RequestExample>

<ResponseExample>
  ```json Response Example 200 theme={null}
  {
      "statusCode": 200,
      "messages": "success",
      "data": [
          {
              "id": "3d4a503a-04a7-4587-915a-8983f0ab05f7",
              "amount": 150000,
              "category": null,
              "createdAt": 1768375011056,
              "description": "<p>Jasa pembuatan website company profile.</p>\n",
              "link": "jasa-pembuatan-website",
              "type": "generic_link",
              "subType": null,
              "status": "active",
              "name": "Jasa Pembuatan Website",
              "limit": null,
              "redirectUrl": null,
              "installmentId": null,
              "variant": null,
              "membershipTier": [],
              "event": null,
              "order": null,
              "coverImageId": "2529541f-dc98-4ca0-93bb-3c1d35a8dd07",
              "multipleImageId": null,
              "coverImage": {
                  "id": "2529541f-dc98-4ca0-93bb-3c1d35a8dd07",
                  "fileType": "jpeg",
                  "url": "https://media.mayar.id/images/2529541f-dc98-4ca0-93bb-3c1d35a8dd07.jpeg"
              },
              "multipleImage": null,
              "variants": null,
              "linkUrl": "https://testingmayar.myr.id/plink/jasa-pembuatan-website",
              "linkPayment": "https://testingmayar.myr.id/pl/jasa-pembuatan-website"
          }
      ],
      "hasMore": true,
      "nextStartingAfter": "1768375011056"
  }
  ```
</ResponseExample>

Endpoint:

<CodeGroup>
  ```Production Production theme={null}
  https://api.mayar.id/hl/v2/products/types/generic_link?limit=10
  ```

  ```Sandbox Sandbox theme={null}
  https://api.mayar.club/hl/v2/products/types/generic_link?limit=10
  ```
</CodeGroup>

## Authorization

<ResponseField name="Authorization" type="string" required>
  Example:

  `Authorization | Bearer Paste-Your-API-Key-Here`
</ResponseField>

## Path Parameters

<ParamField path="type" type="string" required>
  Product type for filtering, list all product with filter:

  * generic\_link
  * physical\_product
  * event
  * webinar
  * digital\_product
  * coaching
  * course
  * cohort\_based
  * fundraising
  * ebook
  * podcast
  * audiobook
  * membership
  * zakat
  * invoice
  * bundling
  * saas
  * payment\_request
  * support
</ParamField>

## Query Parameters

<ParamField query="search" path="search" type="string">
  Filter the listed products by name keyword.
</ParamField>

<ParamField query="limit" path="limit" default="10" type="integer">
  Number of items to return per page. Defaults to `10`, with a maximum of `50`.
</ParamField>

<ParamField query="startingAfter" path="startingAfter" type="string">
  Cursor for forward pagination. Pass the `nextStartingAfter` value from the
  previous response (a Unix timestamp in milliseconds, as a string) to fetch the
  next page.
</ParamField>

## Response

Successful Response

### Main Structure (Root)

<ResponseField name="statusCode" type="integer">
  Status code form API.
</ResponseField>

<ResponseField name="messages" type="string">
  Status message that describes the status code.
</ResponseField>

<ResponseField name="data" type="array of object">
  List of products of the requested type.
</ResponseField>

<ResponseField name="hasMore" type="boolean">
  Information on whether there is additional data to be retrieved (true/false).
</ResponseField>

<ResponseField name="nextStartingAfter" type="string | null">
  Cursor to pass as `startingAfter` to fetch the next page. `null` when there is
  no further data.
</ResponseField>

### data Structure (Array Of Object)

<ResponseField name="id" type="string">
  Unique identifier of the product.
</ResponseField>

<ResponseField name="amount" type="integer">
  Product price amount.
</ResponseField>

<ResponseField name="category" type="string | null">
  Product category if available.
</ResponseField>

<ResponseField name="createdAt" type="number">
  Timestamp in milliseconds indicating when the product was created.
</ResponseField>

<ResponseField name="description" type="string">
  Product description in HTML format.
</ResponseField>

<ResponseField name="link" type="string">
  Unique slug or identifier used in the product URL.
</ResponseField>

<ResponseField name="type" type="string">
  Product type (e.g., `saas`, `event`, `membership`, `ebook`, etc.).
</ResponseField>

<ResponseField name="subType" type="string | null">
  Product subtype if applicable.
</ResponseField>

<ResponseField name="status" type="string">
  Current product status (e.g., `active`, `inactive`).
</ResponseField>

<ResponseField name="name" type="string">
  Product name.
</ResponseField>

<ResponseField name="limit" type="integer | null">
  Purchase or access limit if configured.
</ResponseField>

<ResponseField name="redirectUrl" type="string | null">
  URL where the customer will be redirected after checkout.
</ResponseField>

<ResponseField name="installmentId" type="string | null">
  Installment identifier if the product supports installment payments.
</ResponseField>

<ResponseField name="variant" type="string | null">
  Product variant.
</ResponseField>

<ResponseField name="membershipTier" type="array | null">
  Membership product tier.
</ResponseField>

<ResponseField name="event" type="object | null">
  Event details.
</ResponseField>

<ResponseField name="order" type="object | null">
  Order configuration if applicable.
</ResponseField>

<ResponseField name="coverImageId" type="string | null">
  Identifier of the cover image.
</ResponseField>

<ResponseField name="multipleImageId" type="string | null">
  Identifier list of additional images.
</ResponseField>

<ResponseField name="coverImage" type="object | null">
  Cover image object containing image details.
</ResponseField>

<ResponseField name="multipleImage" type="array | null">
  List of additional image objects.
</ResponseField>

<ResponseField name="variants" type="array | null">
  Product variants.
</ResponseField>

<ResponseField name="linkUrl" type="string">
  Public product page URL.
</ResponseField>

<ResponseField name="linkPayment" type="string">
  Public payment link URL.
</ResponseField>
