openapi: 3.2.0 info: title: SmartCustomer (Sitejabber) Business Partners API version: v1 summary: Business review, product review, review request, messaging and privacy API for SmartCustomer (formerly Sitejabber). description: 'Transcribed by API Evangelist from SmartCustomer''s own published API reference at https://api.sitejabber.com/ (Slate source: https://github.com/smartcustomer-reviews/business-api-docs). SmartCustomer does not publish an OpenAPI definition; every path, parameter, default, enum and schema field below is copied from the provider''s published reference tables. Where the reference names an object but publishes no field table (ProductCategory, ProductAttribute) the schema is left open rather than invented. Response wrappers are modelled from the published example payloads and the documented status/success envelope. Authentication is two-part: a client_token (API key) passed as a query parameter on every call, plus a user_token request header obtained from POST /login.' contact: name: SmartCustomer API Support email: support@smartcustomer.com url: https://api.sitejabber.com/ termsOfService: https://www.smartcustomer.com/terms x-transcribed-by: API Evangelist enrichment pipeline x-transcription-source: https://api.sitejabber.com/ servers: - url: https://api.smartcustomer.com/v1 description: Production. The same reference is also served from https://api.sitejabber.com/ under the pre-rebrand Sitejabber name. security: - client_token: [] user_token: [] tags: - name: Partners paths: /partners/{business}/write-link/get: get: operationId: getWriteReviewLink summary: Get write review link tags: - Partners responses: '200': description: Successful response content: application/json: schema: allOf: - $ref: '#/components/schemas/ResponseEnvelope' - $ref: '#/components/schemas/PartnerWrapper' '429': $ref: '#/components/responses/TooManyRequests' description: Get the link to write a review for the given business. parameters: - $ref: '#/components/parameters/business' /partners/{business}/edit-link/get: get: operationId: getEditReviewLink summary: Get edit review link tags: - Partners responses: '200': description: Successful response content: application/json: schema: allOf: - $ref: '#/components/schemas/ResponseEnvelope' - $ref: '#/components/schemas/PartnerWrapper' '429': $ref: '#/components/responses/TooManyRequests' description: User must still login to edit the review. parameters: - $ref: '#/components/parameters/business' - name: email in: query description: email of the reviewer whose review link is requested (shown in the reference's request example) required: false schema: type: string components: parameters: business: name: business in: path required: true description: The business's display address (domain without scheme), e.g. yourdomain.com schema: type: string example: yourdomain.com schemas: PartnerWrapper: type: object properties: partner: $ref: '#/components/schemas/Partner' ResponseEnvelope: type: object description: Every response carries a success flag and a status key. When success is false and status is ERROR, errorCode and errorReason are present. properties: status: type: string description: OK if everything went good, ERROR if there was an error processing the request success: type: boolean description: true or false errorCode: type: integer description: Error code, only present when status is ERROR errorReason: type: string description: Error message, only present when status is ERROR Partner: type: object title: Partner Object properties: url: type: string description: Url link to access the requested review page hash: type: string description: Hash identifier for the requested review page expire: type: string description: When the link will expire responses: TooManyRequests: description: Too many requests. 1000 calls per hour per unique user token; no more than 10 calls in a 10 second window. content: application/json: schema: $ref: '#/components/schemas/ResponseEnvelope' securitySchemes: client_token: type: apiKey in: query name: client_token description: API key issued to the business, passed as a query parameter on every request. user_token: type: apiKey in: header name: user_token description: User session token returned by POST /login. Typically expires after 6 months; calling login invalidates any previous token. externalDocs: description: SmartCustomer API reference url: https://api.sitejabber.com/