{
"opencollection": "1.0.0",
"info": {
"name": "Platform Functions API",
"version": "1.0"
},
"items": [
{
"info": {
"name": "Locations",
"type": "folder"
},
"items": [
{
"info": {
"name": "Get Locations List",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/locations",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "location_id",
"value": "",
"type": "query",
"description": "Unique ID of a particular location. This is generated by Punchh. If both `location_id` and `store_number` are provided, `location_id` will be given priority."
},
{
"name": "store_number",
"value": "",
"type": "query",
"description": "Unique store number provided by the business. If both `location_id` and `store_number` are provided, `location_id` will be given priority."
},
{
"name": "page",
"value": "",
"type": "query",
"description": "Page number. If this parameter is not provided with the request, the default is to return all. If `page` is specified, only that page will be returned using the value of `per` as the number of locations returned on that page."
},
{
"name": "per",
"value": "",
"type": "query",
"description": "Number of locations per page. If `per` is not specified, the default is 25."
}
]
},
"docs": "Returns a list of locations and their details. The `page` and `per` request parameters determine the page(s) returned and the number of locations returned per page."
},
{
"info": {
"name": "Create Location",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/locations",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Content-Type",
"value": ""
},
{
"name": "Accept",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Creates a location in the database\n\n### Permissions Requirement\nAn admin account with Business Manager permission is required. Accounts without required permission will receive a 302 error response.\n\n#### Need help with permissions? \nReach out to your Punchh representative. \n\n#### Need a Punchh admin account? \nYour business will already have an admin with the necessary permissions to create an additional account if needed. If additional help is needed, your Punchh representative can assist."
},
{
"info": {
"name": "Update Location",
"type": "http"
},
"http": {
"method": "PATCH",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/locations",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Edits a location in the database"
},
{
"info": {
"name": "Delete Location",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/locations",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Deletes a business location from the database"
},
{
"info": {
"name": "Get Location Group List",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/location_groups",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "location_group_id",
"value": "",
"type": "query",
"description": "Unique ID that identifies a location group for the business. This ID is assigned to the location group at the time of creation."
}
]
},
"docs": "Returns a list of all location groups in the business, including details about the specific locations in each location group. A location in a business can belong to multiple location groups."
},
{
"info": {
"name": "Create Location Group",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/location_groups",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Creates a location group with one location. More locations can be included by using the [Add Location to Location Group](/docs/dev-portal-platform-functions/13dd7ab9d1483-add-location-to-location-group) API."
},
{
"info": {
"name": "Update Location Group",
"type": "http"
},
"http": {
"method": "PATCH",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/location_groups",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Updates the name of an existing location group"
},
{
"info": {
"name": "Delete Location Group",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/location_groups",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Deletes a location group. Deleting a location group does not delete the locations that make up the location group."
},
{
"info": {
"name": "Add Location to Location Group",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/location_groups/add_location",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Adds a location to an existing location group"
},
{
"info": {
"name": "Delete Location From a Location Group",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/location_groups/remove_location",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Removes a location from a location group. This does not delete the location from the business."
},
{
"info": {
"name": "Allow Admin To Access a Location or Location Group",
"type": "http"
},
"http": {
"method": "PATCH",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/business_admins/authorizations",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Updates the permission settings of an admin user to allow the admin to access a store number, location, or location group"
},
{
"info": {
"name": "Revoke Admin Access From a Location or Location Group",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/business_admins/authorizations",
"headers": [
{
"name": "Accept",
"value": ""
},
{
"name": "Authorization",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Updates the permission settings of an admin user to remove the admin's access to a store number, location, or location group"
},
{
"info": {
"name": "Delete Location Async",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/locations/destroy_async",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Puts a location in the queue to be deleted from the database"
}
]
},
{
"info": {
"name": "Redemptions",
"type": "folder"
},
"items": [
{
"info": {
"name": "Search Redemption Code",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/redemptions",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "location_id",
"value": "",
"type": "query",
"description": "Unique ID of a particular location. This is generated by Punchh."
},
{
"name": "redemption_code",
"value": "",
"type": "query",
"description": "Redemption code of the user as generated on the app or web."
}
]
},
"docs": "Search Redemption Code"
},
{
"info": {
"name": "Process Redemption",
"type": "http"
},
"http": {
"method": "PATCH",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/redemptions",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Marks a redemption as processed"
},
{
"info": {
"name": "Force Redeem",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/redemptions/force_redeem",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "The Force Redemption API allows administrators (e.g., restaurant managers, support staff, or corporate team members) to override normal redemption flows and manually or programmatically redeem an offer or promotion on behalf of a guest. This functionality is particularly useful in various customer support, operational, and exception-handling scenarios.\n\nNote: The Force Redemption API is intended primarily for support-related scenarios where offers need to be redeemed on a limited scale. I"
}
]
},
{
"info": {
"name": "Users",
"type": "folder"
},
"items": [
{
"info": {
"name": "Ban a User",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/users/ban",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Bans a user in the Punchh system to disallow check-ins, redemptions, emails, etc."
},
{
"info": {
"name": "Unban a User",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/users/ban",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "user_id",
"value": "",
"type": "query",
"description": "User ID of the guest in the Punchh system that will be unbanned"
}
]
},
"docs": "Removes a user ban to resume check-ins, redemptions, emails, etc."
},
{
"info": {
"name": "Send Message to a User",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/users/send_message",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Sends a message to a user along with gift points, visits, rewards, or progress of a challenge. This also allows you to gift the user different types of rewards at once."
},
{
"info": {
"name": "Reactivate a User",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/users/reactivate",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "user_id",
"value": "",
"type": "query",
"description": "User ID of the guest in the Punchh system that will be reactivated. You can get this value from the [User object](/docs/dev-portal-platform-functions/z6d3vh41qnftr-user-object)."
}
]
},
"docs": "Reactivates a user to resume check-ins, redemptions, emails, etc."
},
{
"info": {
"name": "Deactivate a User",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/users/deactivate",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "user_id",
"value": "",
"type": "query",
"description": "User ID of the guest in the Punchh system that will be deactivated. You can get this value from the [User object](/docs/dev-portal-platform-functions/z6d3vh41qnftr-user-object)."
}
]
},
"docs": "Deactivates a user in the Punchh system to disallow check-ins, redemptions, emails etc."
},
{
"info": {
"name": "Update a User",
"type": "http"
},
"http": {
"method": "PATCH",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/users",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Content-Type",
"value": ""
},
{
"name": "Accept",
"value": ""
},
{
"name": "User-Agent",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Updates any information contained within the User object\n\nNote: Due to fraud protections, guests are permitted to update their birthdays only once. Subsequent attempts to modify the birthday parameter using the API will fail. In such a case, even though the API returns a 200 response, the user's birthday is not updated in Punchh.\n\nIf you are updating custom profile fields, see [Updating Custom Profile Fields With the Punchh Platform API](/docs/dev-portal-platform-functions/ebc7b58d69e82-updating"
},
{
"info": {
"name": "Delete a User",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/users",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Marks a deactivated user for deletion from the Punchh platform\n\n**Note**: Before deleting the user, deactivate the user via the [Deactivate a User API](/docs/dev-portal-platform-functions/b3A6NTAyODA0OTI-deactivate-a-user). \n\nThe number of days within which Punchh will delete a user can be configured for a business in the Punchh platform. The default value is set to 7 days. Contact your Punchh representative to update this configuration. After an API call is made to delete a user, the system wai"
},
{
"info": {
"name": "Get User Export",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/users/send_user_details_export",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Emails a guest export to the guest as well as the requester"
},
{
"info": {
"name": "Get Extended User History",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/users/extensive_timeline",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "user_id",
"value": "",
"type": "query",
"description": "User ID of the guest in the Punchh system"
}
]
},
"docs": "Get Extended User History"
},
{
"info": {
"name": "Fetch User Favorite Locations",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/user_favourite_locations",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "user_id",
"value": "",
"type": "query",
"description": "Unique user ID"
}
]
},
"docs": "Gets a user's favorite locations for eClub/loyalty"
},
{
"info": {
"name": "Delete User Favorite Location",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/user_favourite_locations",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "user_id",
"value": "",
"type": "query",
"description": "User ID"
},
{
"name": "user_favourite_location_id",
"value": "",
"type": "query",
"description": "ID of the favorite location returned in the response of the [Fetch User Favorite Locations API](/docs/dev-portal-platform-functions/2fa1a4b243153-fetch-user-favorite-locations)"
}
]
},
"docs": "Deletes a user's favorite locations for eClub/loyalty. Only one location can be deleted at a time."
},
{
"info": {
"name": "Get User Information",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/users/info",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "This API lets you fetch a user’s information by user ID, phone number, or email address. You cannot search using phone number if phone number uniqueness is disabled. The option to validate the uniqueness of phone number across guests must be enabled in the Punchh platform. Contact your Punchh representative to update this Punchh platform configuration. \n\nThe Punchh platform provides businesses an option to exclude a user’s personal information (e.g., b"
},
{
"info": {
"name": "Redemption Look-up",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/users/redemption",
"headers": [
{
"name": "Accept",
"value": ""
},
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Enables businesses to retrieve detailed redemption information for transactions processed through Online Ordering or Point-of-Sale (POS) channels. By providing order-level visibility into applied offers and discounts, this API supports accurate reconciliation across platforms, improves reporting and analytics, and ensures consistency in backend systems and on customer receipts."
}
]
},
{
"info": {
"name": "Business Migration Users",
"type": "folder"
},
"items": [
{
"info": {
"name": "Create Business Migration User",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/migration_users",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Creates a business migration user in the system"
},
{
"info": {
"name": "Update Business Migration User",
"type": "http"
},
"http": {
"method": "PATCH",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/migration_users/:ID",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"params": [
{
"name": "ID",
"value": "",
"type": "path",
"description": "The value of the `migration_user_id` parameter returned in the response of the [Create Business Migration User](/docs/dev-portal-platform-functions/e3f5573f9451c-create-business-migration-user) API"
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Updates a business migration user in the Punchh system. The user attributes in the [Create Business Migration User](/docs/dev-portal-platform-functions/apis/platform-functions-api/paths/~1api2~1dashboard~1migration_users/post) API can be updated by invoking the Update Business Migration User API. Append the value of the `migration_user_id` parameter to the endpoint path."
},
{
"info": {
"name": "Delete Business Migration User",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/migration_users/:ID",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
}
],
"params": [
{
"name": "ID",
"value": "",
"type": "path",
"description": "The value of the `migration_user_id` parameter returned in the response of the [Create Business Migration User](/docs/dev-portal-platform-functions/e3f5573f9451c-create-business-migration-user) API"
}
]
},
"docs": "Deletes a business migration user from the Punchh system. Append the value of the `migration_user_id` parameter to the endpoint path."
},
{
"info": {
"name": "Bulk Upload Business Migration Users",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/migration_users/bulk_bmu_upload",
"headers": [
{
"name": "Accept",
"value": ""
},
{
"name": "Content-Type",
"value": ""
},
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Allows you to upload a list of business migration users along with their details using a CSV file. See the [Create Business Migration User](/docs/dev-portal-platform-functions/apis/platform-functions-api/paths/~1api2~1dashboard~1migration_users/post) API for details about the user attributes that can be uploaded in the CSV file.
These are the maximum values that can be included per user in the business migration user CSV file:\n- Gift card: 15\n- User relations: 6\n- Profile fields: 25\n- Reward"
}
]
},
{
"info": {
"name": "Meta",
"type": "folder"
},
"items": [
{
"info": {
"name": "Dashboard Meta",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/meta",
"headers": [
{
"name": "Authorization",
"value": ""
}
]
},
"docs": "Returns a list of redeemables created in the business\n\n>Any update made to the configuration in the Punchh platform will be reflected in the API response after a 15-minute delay, instead of in real time, to improve performance."
}
]
},
{
"info": {
"name": "Business Admin Users",
"type": "folder"
},
"items": [
{
"info": {
"name": "Get Admin Roles List",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/roles",
"headers": [
{
"name": "Authorization",
"value": ""
}
]
},
"docs": "Returns the list of roles created in a business"
},
{
"info": {
"name": "Show Business Admin",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/business_admins",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Gets the details of a business admin in the Punchh platform"
},
{
"info": {
"name": "Create Business Admin",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/business_admins",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Creates a business admin in the Punchh platform"
},
{
"info": {
"name": "Update Business Admin",
"type": "http"
},
"http": {
"method": "PATCH",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/business_admins",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Updates a business admin in the Punchh platform"
},
{
"info": {
"name": "Delete Business Admin",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/business_admins",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Deletes a business admin from the Punchh platform"
},
{
"info": {
"name": "Invite Business Admin",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/business_admins/invite",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Invites a business admin to use the Punchh platform"
}
]
},
{
"info": {
"name": "Custom Segments",
"type": "folder"
},
"items": [
{
"info": {
"name": "List All Custom Segments",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/custom_segments",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
}
],
"params": [
{
"name": "ID",
"value": "",
"type": "path",
"description": "The value of the `custom_segment_id` parameter returned in the response of the [Create a Custom Segment](/docs/dev-portal-platform-functions/1fd466d125efd-create-a-custom-segment) API"
}
]
},
"docs": "Returns a list of all custom segments created by a business"
},
{
"info": {
"name": "Create a Custom Segment",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/custom_segments",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Creates an empty custom segment for a business. Users have to be added later to an empty segment."
},
{
"info": {
"name": "Update a Custom Segment",
"type": "http"
},
"http": {
"method": "PATCH",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/custom_segments",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
}
],
"params": [
{
"name": "name",
"value": "",
"type": "query",
"description": "Updated name of the custom segment"
},
{
"name": "description",
"value": "",
"type": "query",
"description": "Updated description of the custom segment"
},
{
"name": "custom_segment_id",
"value": "",
"type": "query",
"description": "Unique ID of the custom segment that will be updated. This ID is generated by Punchh when the custom segment is created."
}
]
},
"docs": "Updates the name and/or description of a custom segment"
},
{
"info": {
"name": "Delete a Custom Segment",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/custom_segments",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
}
],
"params": [
{
"name": "custom_segment_id",
"value": "",
"type": "query",
"description": "Unique ID of the custom segment that will be deleted"
}
]
},
"docs": "Deletes a custom segment from the database"
},
{
"info": {
"name": "Search If User Exists in a Custom Segment",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/custom_segments/members",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
}
],
"params": [
{
"name": "custom_segment_id",
"value": "",
"type": "query",
"description": "Unique ID of the custom segment"
},
{
"name": "email",
"value": "",
"type": "query",
"description": "Email address of the user"
},
{
"name": "user_id",
"value": "",
"type": "query",
"description": "Unique ID of the user. This is generated by Punchh."
}
]
},
"docs": "Determines if a specific user belongs to a custom segment. Either `email` or `user_id` should be provided in the request to search for the user; `user_id` will be preferred if both are provided."
},
{
"info": {
"name": "Add User to a Custom Segment",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/custom_segments/members",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Adds a user to a custom segment. Either `email` or `user_id` should be provided in the request; `user_id` will be preferred if both are provided."
},
{
"info": {
"name": "Remove User From a Custom Segment",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/custom_segments/members",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
}
],
"params": [
{
"name": "custom_segment_id",
"value": "",
"type": "query",
"description": "Unique ID of the custom segment from which the user will be removed. This is assigned by Punchh."
},
{
"name": "email",
"value": "",
"type": "query",
"description": "Email address of the user"
},
{
"name": "user_id",
"value": "",
"type": "query",
"description": "Unique ID of the user. This is generated by Punchh."
}
]
},
"docs": "Removes a user from a custom segment. Either `email` or `user_id` should be provided in the request; `user_id` will be preferred if both are provided."
},
{
"info": {
"name": "Bulk Add Users to a Custom Segment",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/custom_segments/members/bulk_add",
"headers": [
{
"name": "Accept",
"value": ""
},
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "This API allows you to add users in bulk to a custom segment by uploading a CSV file that contains a list of users and their details. The uploaded file must be a CSV file. \n\nThe CSV file will have two columns: \"user_id\" and \"email\". The \"user_id\" column contains all user IDs that need to be added to the custom segment. Either email or user ID should be passed in the CSV file. If both email and user ID values are provided in the CSV file, the look-up process for adding user IDs to the custom segm"
},
{
"info": {
"name": "Bulk Remove Users From a Custom Segment",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/custom_segments/members/bulk_remove",
"headers": [
{
"name": "Accept",
"value": ""
},
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "This API allows you to remove users in bulk from a custom segment by uploading a CSV file that contains a list of users and their details. The uploaded file must be a CSV file.\n\nThe CSV file will have two columns: \"user_id\" and \"email\". The \"user_id\" column contains all user IDs that need to be removed from the custom segment. Either email or user ID should be passed in the CSV file. If both email and user ID values are provided in the CSV file, the look-up process for deleting user IDs from the"
},
{
"info": {
"name": "Bulk Add Users to a Custom List Segment",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/custom_segments/members/add_users",
"headers": [
{
"name": "Accept",
"value": ""
},
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Adds users in bulk to a custom list segment using their email addresses and IDs. This API supports both sync and async modes. It validates the provided email addresses and IDs, returning a list of invalid identifiers that are neither valid integer IDs nor valid email addresses.\n\nAsync Mode
\nAsync, or asynchronous, mode is the preferred method for using this API. In this mode, the API processes the users' email addresses and IDs provided in the request in the background. You can specify"
}
]
},
{
"info": {
"name": "eClub",
"type": "folder"
},
"items": [
{
"info": {
"name": "eClub Guest Upload",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/eclub_guests",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Allows you to upload a list of eClub guests along with their details\n\n#### eClub Update\nUse the eClub Guest Upload API to update the user information as well. The eClub user information that can be updated and other eClub settings are configured in the Punchh platform. This determines which parameters in the `user` object can be updated. The eClub user information can also be updated manually via the Punchh platform. Contact your Punchh representative to update these Punchh platform configuratio"
}
]
},
{
"info": {
"name": "Franchisee",
"type": "folder"
},
"items": [
{
"info": {
"name": "Create Franchisee",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/franchisees",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Allows a business admin user to create franchisees for accessible locations"
},
{
"info": {
"name": "Update Franchisee",
"type": "http"
},
"http": {
"method": "PATCH",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/franchisees",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Allows a business admin user to update franchisees for accessible locations"
},
{
"info": {
"name": "Delete Franchisee",
"type": "http"
},
"http": {
"method": "DELETE",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/franchisees",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Allows a business admin user to delete franchisees for accessible locations"
}
]
},
{
"info": {
"name": "Social Cause Campaigns",
"type": "folder"
},
"items": [
{
"info": {
"name": "Create Social Cause Campaign",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/social_cause_campaigns",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Allows an admin user to create a social cause campaign on the Punchh platform"
},
{
"info": {
"name": "Activate Social Cause Campaign",
"type": "http"
},
"http": {
"method": "PATCH",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/social_cause_campaigns/activate",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Activates a social cause campaign"
},
{
"info": {
"name": "Deactivate Social Cause Campaign",
"type": "http"
},
"http": {
"method": "PATCH",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/social_cause_campaigns/deactivate",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Deactivates a social cause campaign"
}
]
},
{
"info": {
"name": "WiFi Acquisition",
"type": "folder"
},
"items": [
{
"info": {
"name": "Guest Look-up for WiFi Enrollment",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/wifi/users",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"params": [
{
"name": "client",
"value": "",
"type": "query",
"description": "Client key of the business"
},
{
"name": "email",
"value": "",
"type": "query",
"description": "Email address of the user that will be looked up"
},
{
"name": "phone",
"value": "",
"type": "query",
"description": "Phone number of the user that will be looked up"
}
]
},
"docs": "Returns whether a user exists in the business or not. Either `email` or `phone` should be provided with the request."
},
{
"info": {
"name": "Enroll Guests via WiFi",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/wifi/users",
"headers": [
{
"name": "Authorization",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Enrolls guests for eClub using WiFi as the acquisition channel. If both `location_id` and `store_number` are provided, `store_number` will be preferred."
}
]
},
{
"info": {
"name": "Check-in",
"type": "folder"
},
"items": [
{
"info": {
"name": "Create Loyalty Check-in",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/checkins",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Creates a loyalty check-in for an order against a receipt when the user’s access token or authentication token is not available at the time of creating the check-in in the Punchh system -- for example, in the case of future-dated orders. The user is identified using email address, phone number, or user ID, with user ID given top priority if multiple look-up parameters are passed in the API. \n\nPhone number will work only if it is set up as a unique parameter in the Punchh platform. The option to "
}
]
},
{
"info": {
"name": "Feedback",
"type": "folder"
},
"items": [
{
"info": {
"name": "Create Feedback",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/feedbacks",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Creates feedback in the system based on the message and/or rating provided by a user when the user’s access token or authentication token is not available at the time of creating the feedback in the Punchh system. The user is identified using email address, phone number, or user ID, with user ID given top priority if multiple look-up parameters are passed in the API.\n\nPhone number will work only if it is set up as a unique parameter in the Punchh platform. The option to validate the uniqueness o"
},
{
"info": {
"name": "Update Feedback",
"type": "http"
},
"http": {
"method": "PATCH",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/feedbacks/:feedback_id",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"params": [
{
"name": "feedback_id",
"value": "",
"type": "path",
"description": "The value of the `feedback_id` parameter returned in the response of the [Create Feedback](/docs/dev-portal-platform-functions/47280bbc46cda-create-feedback) API"
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Updates feedback in the system based on the ID of the feedback"
}
]
},
{
"info": {
"name": "Swag",
"type": "folder"
},
"items": [
{
"info": {
"name": "Get Swag Shipping Details",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/swag_shipping_details",
"headers": [
{
"name": "Authorization",
"value": ""
},
{
"name": "Accept",
"value": ""
},
{
"name": "Content-Type",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Returns shipping details for swag redemptions fulfilled through home delivery within the specified date range. Swag redemptions fulfilled through store pick-up (which do not include shipping details) are excluded.\n\n**Authentication Note**: This is a Dashboard API endpoint. It uses a business admin API key (not a mobile guest access token) and does not require `client` or `x-pch-digest` headers.\n\n**Notes**:\n- Pagination applies only when `response_format=JSON`.\n- When `response_format=CSV`, pagin"
}
]
}
],
"bundled": true
}