{ "aid": "careemnow.com:main-2.1.0", "name": "Careem POS API", "type": "Index", "description": "Careem POS API enables partners to provide restaurants a convenient way to manage Careem orders as part of their regular operations.\n\nYou may download the OpenAPI specification here.\n# Overview\n\nThis section discusses challenges that arise from manual integration, followed by an overview of Careem's POS API and its advantages.\n\n## Challenges with manual integration\n\nManual integration with POS systems is known to be associated with many problems. Some of the common problems have been highlighted below:\n\n- Punching data manually is **error-prone**. This can cause data inconsistencies in the POS system, leading to order cancellations.\n- Punching data manually is **time-consuming**. This slows down order processing and impacts customer satisfaction directly.\n- Punching data manually can be extremely **demanding** during high volumes of orders, leading to burnout.\n- Punching data manually is **unscalable**. This can make it challenging for businesses to scale their operations.\n\n## POS API overview\n\nCareem offers its own integration API, which partners can use to seamlessly integrate with their POS systems.\n\nThe **Store API** allows partners to create and manage their stores on Careem's platform. Store management includes the following key features:\n\n- Enable/disable POS integration\n- Mark the store online/offline\n- Update operational hours\n\nThe **Catalog API** allows partners to create and manage catalogs for their stores. The API also includes sending catalog sync notifications to a partner's webhook. Catalog management includes the following key features:\n\n- Support partial catalogs\n- Track catalog sync status\n- Reset catalog\n- Update item availability\n\nThe **Order API** allows partners to retrieve and manage orders. The API also includes sending order notifications to a partner's webhook. Order management includes the following key features:\n\n- Accept/cancel orders\n- Mark order as ready\n- Tag orders\n- Receive order notifications via webhook\n\n## Benefits\n\nWith Careem's integration API, partners can take advantage of the following benefits:\n\n- Increased order accuracy\n- Increased operational excellence\n- Enhanced customer experience\n- Improved order fulfillment KPIs\n\n# Getting started\n\nThis section serves as a starting point for using our API.\n\n## Pre-requisites\n\nBefore you begin to use our APIs, please ensure:\n\n- Completion of contract and submission of essential legal and regulatory compliance documentation as per instructions by our commercial team. If you've not done so already, please feel free to reach out to them.\n- Received approval from our information security & legal teams.\n\nFurthermore, it is also necessary to complete the following tasks:\n\n### Webhook configuration\n\nIn order to receive catalog sync and order notifications from our platform, you need to provide the following information:\n\n- **A valid webhook URL:** This URL must be a secure HTTPS URL that is capable of receiving requests via the POST method, as this is the method our API uses to send notifications to your system.\n- **An API key secret value:** Our API will send this key to your system as part of every API request, and it will be included in a header called `x-careem-api-key`. This will allow you to confirm that the notification is coming from our API and that it has been authenticated.\n\n#### Example of the webhook request header\n\n```text\nx-careem-api-key: a12345f-1337-4bff-8e6b-6b38a221322f\n```\n\n**Note: Your service must have a valid SSL certificate and be accessible via the standard SSL port (port 443).**\n\n## Integration Process Overview\n\n```mermaid\nflowchart TD\n A[Timeline agreement] --> B[Setup client]\n B --> C[Setup test brand]\n C --> D[Setup test branch]\n D --> E[Map the test branch]\n E --> F[Push catalog]\n F --> G[Share SuperApp APK]\n G --> H[Provide ongoing support]\n H --> I[Perform end-to-end testing with QA]\n I --> J[Production rollout]\n```\n\n### Timeline agreement\n\nWe require due dates from our partners for completion of their development work so we can make a project plan accordingly.\n\n### Setup client\n\nWe would set up an OAuth client on our end and share its credentials with you.\n\n### Setup test brand\n\nThe partner would create a test brand via the brand API.\n\n### Setup test branch\n\nThe partner would create a test branch (linked to the test brand) via the branch API.\n\nAdditionally, the partner would also enable POS integration for the test branch (also via the branch API).\n\n### Map the test branch\n\nUpon creation of the test branch, the partner would request the operations team to map the test branch to an outlet on our platform.\n\n### Push catalog\n\nThe partner would push a catalog for the test branch via the catalog API.\n\n### Share SuperApp APK\n\nThe engineering team would share an APK for the SuperApp so that the partner can validate their pushed catalog and also perform their own testing.\n\n### Provide ongoing support\n\nThe engineering team will provide ongoing assistance to the partner during the development process, as needed to address any issues that may arise.\n\n### Perform end-to-end testing with QA\n\nOnce the partner completes their development, our QA team would assist in scheduling a one-hour testing session with your team. If any issues arise, they will be addressed by the engineering team.\n\n### Production rollout\n\nThe rollout for production will follow the same steps mentioned above, starting from setting up a client all the way to pushing catalogs.\n\n## API endpoints\n\nThe API operates in three countries, namely, UAE (Dubai), Jordan and KSA.\n\n### Staging environment\n\nYou can test your integration with the API in this environment. The base URL for the staging environment is:\n\n[https://apigateway-stg.careemdash.com/pos/api/v1](https://apigateway-stg.careemdash.com/pos/api/v1)\n\n#### Production environment\n\nThe base URL for the production environment is:\n\n[https://apigateway.careemdash.com/pos/api/v1](https://apigateway.careemdash.com/pos/api/v1)\n\n## Pagination\nAPI requests that return list of resources will be paginated to `20` resources by default. To navigate through the list of resources, you can use the `page_number` query parameter. You can also specify a different number of resources on each page by using the `page_size` parameter, with a maximum limit of 20.\n\n## Rate limiting\n\nIn order to prevent abuse and ensure overall system stability, the API implements rate limiting. We expect our partners to adhere to the following thresholds:\n\n- **Catalog API**\n - 1 catalog sync per branch every 2 minutes\n - 50 catalog syncs across all branches per minute\n - No more than 8,500 items can be provided in a catalog sync\n\n- **Item availability API**\n - No more than 40 items can be updated in a single API call\n\nYou must apply necessary checks on your end to handle 429 (too many requests) status code from our APIs.\n\n## Webhook availability\n\nOur API supports up to 4 retries for failed requests to the partner's webhook endpoint, with a maximum of 5 attempts in total, including the initial call.\n\nIn case of the webhook endpoint being down, any event sent after the API exhausts its retries would be lost, making it crucial for partners to ensure its high availability.", "url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/careemnow.com/main/2.1.0/apis.json", "tags": [ "careemnow.com", "main" ], "created": "2026-04-08", "modified": "2026-04-08", "specificationVersion": "0.19", "access": "3rd-Party", "maintainers": [ { "FN": "Jentic", "X-github": "jentic", "url": "https://github.com/jentic" } ], "apis": [ { "aid": "careemnow.com:main-2.1.0", "name": "Careem POS API", "description": "Careem POS API enables partners to provide restaurants a convenient way to manage Careem orders as part of their regular operations.\n\nYou may download the OpenAPI specification here.\n# Overview\n\nThis section discusses challenges that arise from manual integration, followed by an overview of Careem's POS API and its advantages.\n\n## Challenges with manual integration\n\nManual integration with POS systems is known to be associated with many problems. Some of the common problems have been highlighted below:\n\n- Punching data manually is **error-prone**. This can cause data inconsistencies in the POS system, leading to order cancellations.\n- Punching data manually is **time-consuming**. This slows down order processing and impacts customer satisfaction directly.\n- Punching data manually can be extremely **demanding** during high volumes of orders, leading to burnout.\n- Punching data manually is **unscalable**. This can make it challenging for businesses to scale their operations.\n\n## POS API overview\n\nCareem offers its own integration API, which partners can use to seamlessly integrate with their POS systems.\n\nThe **Store API** allows partners to create and manage their stores on Careem's platform. Store management includes the following key features:\n\n- Enable/disable POS integration\n- Mark the store online/offline\n- Update operational hours\n\nThe **Catalog API** allows partners to create and manage catalogs for their stores. The API also includes sending catalog sync notifications to a partner's webhook. Catalog management includes the following key features:\n\n- Support partial catalogs\n- Track catalog sync status\n- Reset catalog\n- Update item availability\n\nThe **Order API** allows partners to retrieve and manage orders. The API also includes sending order notifications to a partner's webhook. Order management includes the following key features:\n\n- Accept/cancel orders\n- Mark order as ready\n- Tag orders\n- Receive order notifications via webhook\n\n## Benefits\n\nWith Careem's integration API, partners can take advantage of the following benefits:\n\n- Increased order accuracy\n- Increased operational excellence\n- Enhanced customer experience\n- Improved order fulfillment KPIs\n\n# Getting started\n\nThis section serves as a starting point for using our API.\n\n## Pre-requisites\n\nBefore you begin to use our APIs, please ensure:\n\n- Completion of contract and submission of essential legal and regulatory compliance documentation as per instructions by our commercial team. If you've not done so already, please feel free to reach out to them.\n- Received approval from our information security & legal teams.\n\nFurthermore, it is also necessary to complete the following tasks:\n\n### Webhook configuration\n\nIn order to receive catalog sync and order notifications from our platform, you need to provide the following information:\n\n- **A valid webhook URL:** This URL must be a secure HTTPS URL that is capable of receiving requests via the POST method, as this is the method our API uses to send notifications to your system.\n- **An API key secret value:** Our API will send this key to your system as part of every API request, and it will be included in a header called `x-careem-api-key`. This will allow you to confirm that the notification is coming from our API and that it has been authenticated.\n\n#### Example of the webhook request header\n\n```text\nx-careem-api-key: a12345f-1337-4bff-8e6b-6b38a221322f\n```\n\n**Note: Your service must have a valid SSL certificate and be accessible via the standard SSL port (port 443).**\n\n## Integration Process Overview\n\n```mermaid\nflowchart TD\n A[Timeline agreement] --> B[Setup client]\n B --> C[Setup test brand]\n C --> D[Setup test branch]\n D --> E[Map the test branch]\n E --> F[Push catalog]\n F --> G[Share SuperApp APK]\n G --> H[Provide ongoing support]\n H --> I[Perform end-to-end testing with QA]\n I --> J[Production rollout]\n```\n\n### Timeline agreement\n\nWe require due dates from our partners for completion of their development work so we can make a project plan accordingly.\n\n### Setup client\n\nWe would set up an OAuth client on our end and share its credentials with you.\n\n### Setup test brand\n\nThe partner would create a test brand via the brand API.\n\n### Setup test branch\n\nThe partner would create a test branch (linked to the test brand) via the branch API.\n\nAdditionally, the partner would also enable POS integration for the test branch (also via the branch API).\n\n### Map the test branch\n\nUpon creation of the test branch, the partner would request the operations team to map the test branch to an outlet on our platform.\n\n### Push catalog\n\nThe partner would push a catalog for the test branch via the catalog API.\n\n### Share SuperApp APK\n\nThe engineering team would share an APK for the SuperApp so that the partner can validate their pushed catalog and also perform their own testing.\n\n### Provide ongoing support\n\nThe engineering team will provide ongoing assistance to the partner during the development process, as needed to address any issues that may arise.\n\n### Perform end-to-end testing with QA\n\nOnce the partner completes their development, our QA team would assist in scheduling a one-hour testing session with your team. If any issues arise, they will be addressed by the engineering team.\n\n### Production rollout\n\nThe rollout for production will follow the same steps mentioned above, starting from setting up a client all the way to pushing catalogs.\n\n## API endpoints\n\nThe API operates in three countries, namely, UAE (Dubai), Jordan and KSA.\n\n### Staging environment\n\nYou can test your integration with the API in this environment. The base URL for the staging environment is:\n\n[https://apigateway-stg.careemdash.com/pos/api/v1](https://apigateway-stg.careemdash.com/pos/api/v1)\n\n#### Production environment\n\nThe base URL for the production environment is:\n\n[https://apigateway.careemdash.com/pos/api/v1](https://apigateway.careemdash.com/pos/api/v1)\n\n## Pagination\nAPI requests that return list of resources will be paginated to `20` resources by default. To navigate through the list of resources, you can use the `page_number` query parameter. You can also specify a different number of resources on each page by using the `page_size` parameter, with a maximum limit of 20.\n\n## Rate limiting\n\nIn order to prevent abuse and ensure overall system stability, the API implements rate limiting. We expect our partners to adhere to the following thresholds:\n\n- **Catalog API**\n - 1 catalog sync per branch every 2 minutes\n - 50 catalog syncs across all branches per minute\n - No more than 8,500 items can be provided in a catalog sync\n\n- **Item availability API**\n - No more than 40 items can be updated in a single API call\n\nYou must apply necessary checks on your end to handle 429 (too many requests) status code from our APIs.\n\n## Webhook availability\n\nOur API supports up to 4 retries for failed requests to the partner's webhook endpoint, with a maximum of 5 attempts in total, including the initial call.\n\nIn case of the webhook endpoint being down, any event sent after the API exhausts its retries would be lost, making it crucial for partners to ensure its high availability.", "image": "https://docs.careemnow.com/logo.png", "baseURL": "https://apigateway.careemdash.com/pos/api/v1", "humanURL": "https://github.com/jentic/jentic-public-apis/tree/main/apis/openapi/careemnow.com/main/2.1.0", "version": "2.1.0", "tags": [ "careemnow.com", "main" ], "properties": [ { "type": "OpenAPI", "name": "OpenAPI definition", "url": "https://raw.githubusercontent.com/jentic/jentic-public-apis/refs/heads/main/apis/openapi/careemnow.com/main/2.1.0/openapi.json", "mediaType": "application/openapi+json" }, { "type": "GitHubRepo", "url": "https://github.com/jentic/jentic-public-apis/tree/main/apis/openapi/careemnow.com/main/2.1.0" } ] } ] }