openapi: 3.0.0 info: title: Reputation Asset Library Requests API description: REST API for aggregating customer feedback, managing reviews and listings, running surveys, and accessing reputation metrics and insights across locations. version: v3 contact: name: Reputation Support url: https://support.reputation.com/ servers: - url: https://api.reputation.com description: US Production - url: https://api-eu.reputation.com description: EU Production security: - ApiKeyAuth: [] tags: - name: Requests description: Review request management paths: /v3/request-urls: get: summary: Get Request URLs (Deprecated) operationId: get_request_urls tags: - Requests security: - ApiKeyAuth: [] responses: '200': description: Successful response content: application/json: schema: type: object '400': description: Bad request - invalid or missing parameters content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized - invalid API key content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden - insufficient permissions content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Too many requests - rate limit exceeded '500': description: Internal server error description: 'Retrieve specific request URLs associated with given parameters. This endpoint allows users to fetch URLs based on specified location IDs, source IDs and optional template names, and source IDs. A "request URL" refers to a specific web address (or URL) associated with a certain platform, source, or service where reviews, feedback, or other user-generated content related to a business or entity can be found or requested. Note: This endpoint is now deprecated, and support for it has been discontin' deprecated: true /v3/requests/metrics: get: summary: Get Metrics operationId: get_requests_metrics tags: - Requests security: - ApiKeyAuth: [] responses: '200': description: Successful response content: application/json: schema: type: object '400': description: Bad request - invalid or missing parameters content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized - invalid API key content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden - insufficient permissions content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Too many requests - rate limit exceeded '500': description: Internal server error description: 'Retrieve key metrics related to the request processes within the Reputation platform. This endpoint offers insight into request analytics segmented by various criteria such as mode, location, or requester role. It''s tailored to provide a comprehensive view of request-related activities, ensuring users have the data needed to optimize their strategies and ensure effective engagement. Sample JavaScript XHR Request var xhr = new XMLHttpRequest(); xhr.open(''GET'', ''https://api.reputation.com/v3/reque' parameters: - name: offset in: query description: Offset for pagination schema: type: integer default: 0 - name: limit in: query description: Maximum number of objects to return schema: type: integer default: 20 maximum: 2000 /v3/requests/request-urls: get: summary: Get Request Urls operationId: get_requests_request_urls tags: - Requests security: - ApiKeyAuth: [] responses: '200': description: Successful response content: application/json: schema: type: object '400': description: Bad request - invalid or missing parameters content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized - invalid API key content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden - insufficient permissions content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Too many requests - rate limit exceeded '500': description: Internal server error description: 'Retrieve specific request URLs associated with given parameters. This endpoint allows users to fetch URLs based on specified location IDs, optional template names, and source ID A Request URL refers to a specific web address (or URL) associated with a certain platform, source, or service where reviews, feedback, or other user-generated content related to a business or entity can be found or requested. Sample JavaScript XHR Request var xhr = new XMLHttpRequest(); xhr.open(''GET'', ''https://api.repu' parameters: - name: offset in: query description: Offset for pagination schema: type: integer default: 0 - name: limit in: query description: Maximum number of objects to return schema: type: integer default: 20 maximum: 2000 /v3/requests/send-email: post: summary: Send Email operationId: post_requests_send_email tags: - Requests security: - ApiKeyAuth: [] responses: '200': description: Successful response content: application/json: schema: type: object '400': description: Bad request - invalid or missing parameters content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized - invalid API key content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden - insufficient permissions content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Too many requests - rate limit exceeded '500': description: Internal server error description: "Facilitates the sending of email requests, leveraging customizable templates and personalization through variables. The emails can be tailored based on location, sources, and other criteria.\nSample\nJavaScript XHR Request\nvar xhr = new XMLHttpRequest();\nxhr.open('POST', 'https://api.reputation.com/v3/requests/send-email', true);\nxhr.setRequestHeader('Content-Type', 'application/json');\nxhr.setRequestHeader('x-api-key', 'Your API key');\nxhr.onreadystatechange = function() {\n if (xhr.readyState " requestBody: required: true content: application/json: schema: type: object example: id: String templateName: String from: name: String email: String to: name: String email: String phone: String bcc: name: String email: String phone: String subject: String sourceSelection: String sourceIDs: - String Array excludedSourceIDs: - String Array locationID: String variables: - name: String value: String /v3/requests/send-sms: post: summary: Send SMS operationId: post_requests_send_sms tags: - Requests security: - ApiKeyAuth: [] responses: '200': description: Successful response content: application/json: schema: type: object '400': description: Bad request - invalid or missing parameters content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized - invalid API key content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden - insufficient permissions content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Too many requests - rate limit exceeded '500': description: Internal server error description: "Send an SMS request to a client. By using specific templates and defining the recipient, you can send tailored SMS messages to your desired audience.\nSample\nJavaScript XHR Request\nvar xhr = new XMLHttpRequest();\nxhr.open('POST', 'https://api.reputation.com/v3/requests/send-sms', true);\nxhr.setRequestHeader('x-api-key', 'Your API key');\nxhr.setRequestHeader('Content-Type', 'application/json');\nxhr.onreadystatechange = function() {\n if (xhr.readyState == 4 && xhr.status == 200) {\n var " requestBody: required: true content: application/json: schema: type: object example: id: String templateName: String to: name: String email: String phone: String sourceSelection: String sourceIDs: - String Array excludedSourceIDs: - String Array locationID: String variables: - name: String value: String /v3/requests/unsubscribe-email: post: summary: Unsubscribe Email operationId: post_requests_unsubscribe_email tags: - Requests security: - ApiKeyAuth: [] responses: '200': description: Successful response content: application/json: schema: type: object '400': description: Bad request - invalid or missing parameters content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized - invalid API key content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden - insufficient permissions content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Too many requests - rate limit exceeded '500': description: Internal server error description: "Unsubscribe a client's email from your marketing. Once requested the email address will no longer recieve emails.\nSample\nJavaScript XHR Request\nvar xhr = new XMLHttpRequest();\nxhr.open(\"POST\", \"https://api.reputation.com/v3/requests/unsubscribe-email\", true);\nxhr.setRequestHeader(\"Content-Type\", \"application/json;charset=UTF-8\");\nxhr.setRequestHeader(\"x-api-key\", \"Your API key\");\nxhr.onreadystatechange = function() {\n if (xhr.readyState == 4 && xhr.status == 200) {\n console.log(xhr.r" requestBody: required: true content: application/json: schema: type: object example: email: String /v3/requests/unsubscribe-phone: post: summary: Unsubscribe Phone operationId: post_requests_unsubscribe_phone tags: - Requests security: - ApiKeyAuth: [] responses: '200': description: Successful response content: application/json: schema: type: object '400': description: Bad request - invalid or missing parameters content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized - invalid API key content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden - insufficient permissions content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Too many requests - rate limit exceeded '500': description: Internal server error description: "Unsubscribe a client's phone number from your marketing. Once requested the phone number will no longer recieve SMSs.\nSample\nJavaScript XHR Request\nvar xhr = new XMLHttpRequest();\nxhr.open(\"POST\", \"https://api.reputation.com/v3/requests/unsubscribe-phone\", true);\nxhr.setRequestHeader(\"Content-Type\", \"application/json;charset=UTF-8\");\nxhr.setRequestHeader(\"x-api-key\", \"Your API key\");\nxhr.onreadystatechange = function() {\n if (xhr.readyState == 4 && xhr.status == 200) {\n console.log(x" requestBody: required: true content: application/json: schema: type: object example: phone: String /v3/requests/unsubscribes: get: summary: Get Unsubscribes operationId: get_requests_unsubscribes tags: - Requests security: - ApiKeyAuth: [] responses: '200': description: Successful response content: application/json: schema: type: object '400': description: Bad request - invalid or missing parameters content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized - invalid API key content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden - insufficient permissions content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Too many requests - rate limit exceeded '500': description: Internal server error description: "Retrieve a list of unsubscribes based on a specified date range and pagination constraints. This endpoint is useful for monitoring customers who have opted out of communications, whether via email or phone.\nSample\nJavaScript XHR Request\nvar xhr = new XMLHttpRequest();\nxhr.open('GET', 'https://api.reputation.com/v3/requests/unsubscribes?offset=0&limit=20', true);\nxhr.setRequestHeader('x-api-key', 'Your API key');\nxhr.onreadystatechange = function() {\n if (xhr.readyState == 4 && xhr" parameters: - name: offset in: query description: Offset for pagination schema: type: integer default: 0 - name: limit in: query description: Maximum number of objects to return schema: type: integer default: 20 maximum: 2000 /v3/requests/templates: get: summary: Get Request Templates operationId: get_requests_templates tags: - Requests security: - ApiKeyAuth: [] responses: '200': description: Successful response content: application/json: schema: type: object '400': description: Bad request - invalid or missing parameters content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized - invalid API key content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden - insufficient permissions content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Too many requests - rate limit exceeded '500': description: Internal server error description: 'This endpoint allows you to retrieve a list of available request templates based on the specified template type. The request templates define preset formats and structures for various types of requests such as Kiosk, Request Review, or SMS. By passing the appropriate templateType parameter, you can filter out the templates that match the desired type. Sample JavaScript XHR Request var xhr = new XMLHttpRequest(); xhr.open(''GET'', ''https://api.reputation.com/v3/requests/templates?templateType=3'', ' parameters: - name: offset in: query description: Offset for pagination schema: type: integer default: 0 - name: limit in: query description: Maximum number of objects to return schema: type: integer default: 20 maximum: 2000 components: schemas: Error: type: object properties: errors: type: array items: type: object properties: field: type: string code: type: string message: type: string securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-KEY description: API key for authentication. For agency accounts, also include X-TENANT-ID header.