Reputation Requests API

Review request management

OpenAPI Specification

reputation-requests-api-openapi.yml Raw ↑
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.