# API overview

REST over HTTPS with JSON bodies. Every store endpoint lives under one base path and takes an OAuth 2.0 access token.

Base URL: `https://larm.sa/stores/{storeId}/v1`

## Store

- `GET /stores/{storeId}/v1/me` — [Current installation](https://docs.larm.sa/api/me.md)

## OAuth

- `GET /oauth/authorize` — [Start authorization](https://docs.larm.sa/api/oauth-authorize.md)
- `POST /oauth/token` — [Issue and refresh tokens](https://docs.larm.sa/api/oauth-token.md)
- `POST /oauth/launch/verify` — [Verify a launch URL](https://docs.larm.sa/api/oauth-launch-verify.md)
- `POST /oauth/operations/lookup` — [Look up a token operation](https://docs.larm.sa/api/oauth-lookup.md)
- `POST /oauth/operations/status` — [Get token operation status](https://docs.larm.sa/api/oauth-status.md)
- `POST /oauth/operations/recover` — [Recover a token operation](https://docs.larm.sa/api/oauth-recover.md)

## Orders

- `GET /stores/{storeId}/v1/orders` — [List orders](https://docs.larm.sa/api/orders-list.md)
- `GET /stores/{storeId}/v1/orders/{id}` — [Get an order](https://docs.larm.sa/api/orders-get.md)
- `GET /stores/{storeId}/v1/orders/{id}/digital-items` — [Get delivered digital content](https://docs.larm.sa/api/orders-digital-get.md)

## Abandoned carts

- `GET /stores/{storeId}/v1/abandoned-carts` — [List abandoned carts](https://docs.larm.sa/api/carts-list.md)
- `GET /stores/{storeId}/v1/abandoned-carts/{id}` — [Get an abandoned cart](https://docs.larm.sa/api/carts-get.md)

## Payments

- `GET /stores/{storeId}/v1/payments` — [List payments](https://docs.larm.sa/api/payments-list.md)
- `GET /stores/{storeId}/v1/payments/{id}` — [Get a payment](https://docs.larm.sa/api/payments-get.md)

## Products

- `GET /stores/{storeId}/v1/products` — [List products](https://docs.larm.sa/api/products-list.md)
- `GET /stores/{storeId}/v1/products/{id}` — [Get a product](https://docs.larm.sa/api/products-get.md)
- `POST /stores/{storeId}/v1/products` — [Create a product](https://docs.larm.sa/api/products-create.md)
- `PATCH /stores/{storeId}/v1/products/{id}/content` — [Update product content](https://docs.larm.sa/api/products-content.md)
- `GET /stores/{storeId}/v1/products/{id}/prices` — [Get a product price](https://docs.larm.sa/api/products-price-get.md)
- `PATCH /stores/{storeId}/v1/products/{id}/prices` — [Update a product price](https://docs.larm.sa/api/products-prices.md)
- `GET /stores/{storeId}/v1/products/{id}/media` — [Get product media](https://docs.larm.sa/api/products-media-get.md)
- `PATCH /stores/{storeId}/v1/products/{id}/media` — [Update product media](https://docs.larm.sa/api/products-media-update.md)
- `GET /stores/{storeId}/v1/products/{id}/seo` — [Get product SEO](https://docs.larm.sa/api/products-seo-get.md)
- `PATCH /stores/{storeId}/v1/products/{id}/seo` — [Update product SEO](https://docs.larm.sa/api/products-seo-update.md)

## Categories

- `GET /stores/{storeId}/v1/categories` — [List categories](https://docs.larm.sa/api/categories-list.md)
- `GET /stores/{storeId}/v1/categories/{id}` — [Get a category](https://docs.larm.sa/api/categories-get.md)
- `POST /stores/{storeId}/v1/categories` — [Create a category](https://docs.larm.sa/api/categories-create.md)
- `PATCH /stores/{storeId}/v1/categories/{id}` — [Update a category](https://docs.larm.sa/api/categories-update.md)

## Inventory

- `GET /stores/{storeId}/v1/inventory` — [List inventory](https://docs.larm.sa/api/inventory-list.md)
- `GET /stores/{storeId}/v1/products/{id}/inventory` — [Get product inventory](https://docs.larm.sa/api/inventory-get.md)
- `POST /stores/{storeId}/v1/products/{id}/inventory-adjustments` — [Adjust inventory](https://docs.larm.sa/api/inventory-adjust.md)

## Pages

- `GET /stores/{storeId}/v1/pages` — [List pages](https://docs.larm.sa/api/pages-list.md)
- `GET /stores/{storeId}/v1/pages/{id}` — [Get a page](https://docs.larm.sa/api/pages-get.md)
- `POST /stores/{storeId}/v1/pages` — [Create a page](https://docs.larm.sa/api/pages-create.md)
- `PATCH /stores/{storeId}/v1/pages/{id}` — [Update a page](https://docs.larm.sa/api/pages-update.md)
- `PATCH /stores/{storeId}/v1/pages/{id}/publication` — [Publish or hide a page](https://docs.larm.sa/api/pages-publish.md)
- `DELETE /stores/{storeId}/v1/pages/{id}` — [Delete a page](https://docs.larm.sa/api/pages-delete.md)

## Coupons

- `GET /stores/{storeId}/v1/coupons` — [List coupons](https://docs.larm.sa/api/coupons-list.md)
- `GET /stores/{storeId}/v1/coupons/{id}` — [Get a coupon](https://docs.larm.sa/api/coupons-get.md)
- `PATCH /stores/{storeId}/v1/coupons/{id}/status` — [Activate or deactivate a coupon](https://docs.larm.sa/api/coupons-status.md)

## Reviews

- `GET /stores/{storeId}/v1/reviews` — [List reviews](https://docs.larm.sa/api/reviews-list.md)
- `GET /stores/{storeId}/v1/reviews/{id}` — [Get a review](https://docs.larm.sa/api/reviews-get.md)
- `PATCH /stores/{storeId}/v1/reviews/{id}/moderation` — [Publish or hide a review](https://docs.larm.sa/api/reviews-moderation.md)

## Analytics

- `GET /stores/{storeId}/v1/analytics/overview` — [Sales overview](https://docs.larm.sa/api/analytics-overview.md)
- `GET /stores/{storeId}/v1/analytics/sales` — [Daily sales](https://docs.larm.sa/api/analytics-sales.md)
- `GET /stores/{storeId}/v1/analytics/sales-by-product` — [Product sales](https://docs.larm.sa/api/analytics-products.md)
- `GET /stores/{storeId}/v1/analytics/sales-by-category` — [Category sales](https://docs.larm.sa/api/analytics-categories.md)

## Webhook subscriptions

- `GET /stores/{storeId}/v1/webhook-subscriptions` — [List webhook subscriptions](https://docs.larm.sa/api/webhooks-list.md)
- `POST /stores/{storeId}/v1/webhook-subscriptions` — [Create a subscription](https://docs.larm.sa/api/webhooks-create.md)
- `PATCH /stores/{storeId}/v1/webhook-subscriptions/{id}` — [Update a subscription](https://docs.larm.sa/api/webhooks-update.md)
- `DELETE /stores/{storeId}/v1/webhook-subscriptions/{id}` — [Delete a subscription](https://docs.larm.sa/api/webhooks-delete.md)
- `POST /stores/{storeId}/v1/webhook-subscriptions/{id}/rotate-secret` — [Rotate the signing secret](https://docs.larm.sa/api/webhooks-rotate.md)
- `POST /stores/{storeId}/v1/webhook-subscriptions/{id}/test` — [Send a test webhook](https://docs.larm.sa/api/webhooks-test.md)
- `POST /stores/{storeId}/v1/webhook-subscriptions/{id}/replay` — [Replay a time range](https://docs.larm.sa/api/webhooks-replay.md)
