Goodays core API

The core API from Goodays — 22 operation(s) for core.

OpenAPI Specification

goodays-core-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Goodays core API
  description: 'Goodays (formerly Critizr) REST API for managing your customer experience environment: places, levels, surveys, users, customer reviews (responses), solicitations (email/SMS outreach), events, and statistics. Reconstructed by API Evangelist from the per-endpoint OpenAPI fragments published on the Goodays ReadMe docs.'
  version: v2
servers:
- url: https://api.goodays.co/v2
security:
- tokenAuth: []
tags:
- name: core
paths:
  /configuration:
    get:
      operationId: configuration_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Configuration_read'
      tags:
      - core
  /levels:
    get:
      operationId: levels_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Level_read'
      parameters:
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: category_id
        required: false
        in: query
        description: ''
        schema:
          type: number
      tags:
      - core
  /levels/{id}:
    get:
      operationId: levels_read
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/LevelDetail_read'
      parameters:
      - name: id
        required: true
        in: path
        description: A unique value identifying this brand level.
        schema:
          type: string
      tags:
      - core
  /levels/{level_pk}/places:
    get:
      operationId: levels_places_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Place_read'
      parameters:
      - name: level_pk
        required: true
        in: path
        description: A unique value identifying the parent level.
        schema:
          type: string
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: partner_id
        required: false
        in: query
        description: ''
        schema:
          type: string
      tags:
      - core
  /levels/{level_pk}/responses:
    get:
      operationId: levels_responses_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Response_read'
      parameters:
      - name: level_pk
        required: true
        in: path
        description: ''
        schema:
          type: string
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: start_date
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: end_date
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: date_field
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: first_name
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: last_name
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: email
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: phone
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: crm_id
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: place
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: source
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: survey
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: has_answers
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: has_message
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: has_reply
        required: false
        in: query
        description: ''
        schema:
          type: string
      tags:
      - core
  /levels/{level_pk}/responses/bulk:
    get:
      operationId: levels_responses_bulk
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ResponseDetail_read'
      parameters:
      - name: level_pk
        required: true
        in: path
        description: ''
        schema:
          type: string
      tags:
      - core
  /places:
    get:
      operationId: places_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Place_read'
      parameters:
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: partner_id
        required: false
        in: query
        description: ''
        schema:
          type: string
      tags:
      - core
  /places/{id}:
    get:
      operationId: places_read
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PlaceDetail_read'
      parameters:
      - name: id
        required: true
        in: path
        description: A unique value identifying this place.
        schema:
          type: string
      tags:
      - core
  /places/{place_pk}/levels:
    get:
      operationId: places_levels_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Level_read'
      parameters:
      - name: place_pk
        required: true
        in: path
        description: A unique value identifying the parent place.
        schema:
          type: string
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: category_id
        required: false
        in: query
        description: ''
        schema:
          type: number
      tags:
      - core
  /places/{place_pk}/responses:
    get:
      operationId: places_responses_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Response_read'
      parameters:
      - name: place_pk
        required: true
        in: path
        description: ''
        schema:
          type: string
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: start_date
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: end_date
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: date_field
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: first_name
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: last_name
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: email
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: phone
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: crm_id
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: place
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: source
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: survey
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: has_answers
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: has_message
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: has_reply
        required: false
        in: query
        description: ''
        schema:
          type: string
      tags:
      - core
  /places/{place_pk}/responses/bulk:
    get:
      operationId: places_responses_bulk
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ResponseDetail_read'
      parameters:
      - name: place_pk
        required: true
        in: path
        description: ''
        schema:
          type: string
      tags:
      - core
  /places/{place_pk}/surveys:
    get:
      operationId: places_surveys_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Survey_read'
      parameters:
      - name: place_pk
        required: true
        in: path
        description: A unique value identifying the parent place.
        schema:
          type: string
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: slug
        required: false
        in: query
        description: ''
        schema:
          type: string
      tags:
      - core
  /places/{place_pk}/users:
    get:
      operationId: places_users_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserProfile_read'
      parameters:
      - name: place_pk
        required: true
        in: path
        description: A unique value identifying the parent place.
        schema:
          type: string
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: email
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: first_name
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: last_name
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: phone
        required: false
        in: query
        description: ''
        schema:
          type: string
      tags:
      - core
  /surveys:
    get:
      operationId: surveys_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Survey_read'
      parameters:
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: slug
        required: false
        in: query
        description: ''
        schema:
          type: string
      tags:
      - core
  /surveys/{id}:
    get:
      operationId: surveys_read
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/SurveyDetail_read'
      parameters:
      - name: id
        required: true
        in: path
        description: A unique value identifying this rating question tag.
        schema:
          type: string
      tags:
      - core
  /surveys/{survey_pk}/places:
    get:
      operationId: surveys_places_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Place_read'
      parameters:
      - name: survey_pk
        required: true
        in: path
        description: A unique value identifying the parent survey.
        schema:
          type: string
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: partner_id
        required: false
        in: query
        description: ''
        schema:
          type: string
      tags:
      - core
  /surveys/{survey_pk}/responses:
    get:
      operationId: surveys_responses_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Response_read'
      parameters:
      - name: survey_pk
        required: true
        in: path
        description: ''
        schema:
          type: string
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: start_date
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: end_date
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: date_field
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: first_name
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: last_name
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: email
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: phone
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: crm_id
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: place
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: source
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: survey
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: has_answers
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: has_message
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: has_reply
        required: false
        in: query
        description: ''
        schema:
          type: string
      tags:
      - core
  /surveys/{survey_pk}/responses/bulk:
    get:
      operationId: surveys_responses_bulk
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ResponseDetail_read'
      parameters:
      - name: survey_pk
        required: true
        in: path
        description: ''
        schema:
          type: string
      tags:
      - core
  /universes:
    get:
      operationId: universes_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Universe_read'
      parameters:
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      tags:
      - core
  /users:
    get:
      operationId: users_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserProfile_read'
      parameters:
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: email
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: first_name
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: last_name
        required: false
        in: query
        description: ''
        schema:
          type: string
      - name: phone
        required: false
        in: query
        description: ''
        schema:
          type: string
      tags:
      - core
  /users/{id}:
    get:
      operationId: users_read
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/UserProfile_read'
      parameters:
      - name: id
        required: true
        in: path
        description: A unique value identifying this user profile.
        schema:
          type: string
      tags:
      - core
  /users/{user_pk}/places:
    get:
      operationId: users_places_list
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Place_read'
      parameters:
      - name: user_pk
        required: true
        in: path
        description: A unique value identifying the parent user.
        schema:
          type: string
      - name: cursor
        required: false
        in: query
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: sort
        required: false
        in: query
        description: Which field to use when ordering the results.
        schema:
          type: string
      - name: partner_id
        required: false
        in: query
        description: ''
        schema:
          type: string
      tags:
      - core
components:
  schemas:
    Level_read:
      type: object
      properties:
        id:
          type: string
        partner_id:
          type: string
        category_id:
          type: integer
        name:
          type: string
        detail_url:
          type: string
      additionalProperties:
        type: string
    PlaceDetail_read:
      type: object
      properties:
        id:
          type: string
        partner_id:
          type: string
        universe:
          type: string
        name:
          type: string
        street:
          type: string
        postal_code:
          type: string
        city:
          type: string
        phone:
          type: string
        latitude:
          type: number
        longitude:
          type: number
        lang:
          type: string
        is_active:
          type: boolean
        created_date:
          type: string
          format: date-time
        logo:
          type: string
        levels:
          type: string
        surveys:
          type: string
        users:
          type: string
        responses:
          type: string
      additionalProperties:
        type: string
    SurveyDetail_read:
      type: object
      properties:
        id:
          type: string
        slug:
          type: string
        label:
          type: string
        enabled:
          type: boolean
        questions:
          type: string
        places:
          type: string
        responses:
          type: string
      additionalProperties:
        type: string
    Place_read:
      type: object
      properties:
        id:
          type: string
        partner_id:
          type: string
        name:
          type: string
        enabled:
          type: boolean
        detail_url:
          type: string
      additionalProperties:
        type: string
    Response_read:
      type: object
      properties:
        id:
          type: string
        created_date:
          type: string
          format: date-time
        updated_date:
          type: string
          format: date-time
        has_answers:
          type: boolean
        has_message:
          type: boolean
        has_reply:
          type: boolean
        alert_triggered:
          type: boolean
        detail_url:
          type: string
      additionalProperties:
        type: string
    LevelDetail_read:
      type: object
      properties:
        id:
          type: string
        partner_id:
          type: string
        category_id:
          type: integer
        category:
          type: string
        name:
          type: string
        created_date:
          type: string
          format: date-time
        is_active:
          type: string
        lang:
          type: string
        places:
          type: string
        responses:
          type: string
      additionalProperties:
        type: string
    ResponseDetail_read:
      type: object
      properties:
        id:
          type: string
        token:
          type: string
        created_date:
          type: string
          format: date-time
        updated_date:
          type: string
          format: date-time
        source:
          type: string
          enum:
          - email
          - sms_trans
          - sms_conv
          - sms_text
          - plv
          - receipt
          - google
          - google_messaging
          - critizr
          - tripadvisor
          - pagesjaunes
          - sdk
          - facebook
          - facebook_reviews
          - facebook_messenger
          - widget
          - terminal
          - outbound_call
          - wifi
          - sms
          - api
          - undefined
          - merci
          - google_play_store
          - apple_app_store
          - uber_eats
          - whatsapp
        survey:
          type: object
          properties:
            id:
              type: string
            slug:
              type: string
            label:
              type: string
            enabled:
              type: boolean
            detail_url:
              type: string
          additionalProperties:
            type: string
        answers:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              value:
                type: string
              question:
                type: object
                properties:
                  id:
                    type: string
                  title:
                    type: string
                  type:
                    type: string
                    enum:
                    - none
                    - stars
                    - yesno
                    - choices
                    - nps
                    - emoji
                    - text
                    - multiple_answers
                    - csat
                  enabled:
                    type: boolean
                additionalProperties:
                  type: string
            additionalProperties:
              type: string
        message:
          type: object
          properties:
            id:
              type: string
            created_date:
              type: string
              format: date-time
            type:
              type: string
              enum:
              - Question
              - Idea
              - Problem
              - Praise
              - Message
              - NoType
            content:
              type: string
            attachment:
              type: string
            sender:
              type: object
              properties:
                email:
                  type: string
                first_name:
                  type: string
                last_name:
                  type: string
              additionalProperties:
                type: string
          additionalProperties:
            type: string
        reply:
          type: object
          properties:
            id:
              type: string
            created_date:
              type: string
              format: date-time
            type:
              type: string
              enum:
              - call
              - text
            content:
              type: string
            attachment:
              type: string
            sender:
              type: object
              properties:
                email:
                  type: string
                first_name:
                  type: string
                last_name:
                  type: string
              additionalProperties:
                type: string
          additionalProperties:
            type: string
        user:
          type: object
          properties:
            email:
              type: string
            first_name:
              type: string
            last_name:
              type: string
            opt_in:
              type: object
              properties:
                newsletter:
                  type: boolean
                email:
                  type: boolean
                sms:
                  type: boolean
              additionalProperties:
                type: string
          additionalProperties:
            type: string
        context:
          type: string
        place:
          type: object
          properties:
            id:
              type: string
            partner_id:
              type: string
            name:
              type: string
            enabled:
              type: boolean
            detail_url:
              type: string
          additionalProperties:
            type: string
        delegated_to:
          type: object
          properties:
            id:
              type: string
            partner_id:
              type: string
            name:
              type: string
            enabled:
              type: boolean
            detail_url:
              type: string
          additionalProperties:
            type: string
        attached_messages:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              created_date:
                type: string
                format: date-time
              type:
                type: string
                enum:
                - Question
                - Idea
                - Problem
                - Praise
          

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/goodays/refs/heads/main/openapi/goodays-core-api-openapi.yml