Sign In Enterprise GroupVisits API

All endpoints related to Group Visits (Appointments).

OpenAPI Specification

sign-in-enterprise-groupvisits-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Sign In Solutions VMS AuditLogs GroupVisits API
  version: 0.21.0
  x-logo:
    url: https://signinenterprise.com/wp-content/uploads/tg-logo-light@2.png
    backgroundColor: '#FFFFFF'
    altText: Sign In Solutions
    href: https://signinsolutions.com/signinenterprise
  description: 'The Traction Guest API is currently under limited release to select customers as we gather and iterate on feedback.


    # Getting Started

    If you are interested in getting early access to the API, please send us an email to [support@tractionguest.com](mailto:support@tractionguest.com).


    We will also add you to our Slack channel where you can ask questions and get further help.


    # Terms and Conditions

    Please visit: [https://signinsolutions.com/compliance-hub](https://signinsolutions.com/compliance-hub)


    # Versioning

    This API follows [semantic versioning](https://semver.org/), which follows the `Major`.`Minor`.`Patch` format.


    * The `Major` number increments when potentially incompatible changes are made.

    * The `Minor` number increments when backwards-compatible additions are made.

    * The `Patch` number increments when backwards-compatible bug-fixes are made.

    '
  contact:
    name: API Support
    url: https://signinsolutions.com/signinenterprise
    email: support@tractionguest.com
servers:
- url: '{domain}'
  variables:
    domain:
      enum:
      - https://us.tractionguest.com/api/v3
      - http://localhost:3000/api/v3
      default: https://us.tractionguest.com/api/v3
security:
- TractionGuestAuth:
  - all
  - openid
  - admin:webhooks
  - watchlists:*
  - watchlists:read
  - watchlists:write
  - users:*
  - users:read
  - users:write
  - visitors:*
  - visitors:read
  - visitors:write
  - parking:*
  - parking:read
  - parking:write
  - locations:*
  - locations:read
  - locations:write
  - hosts:*
  - hosts:read
  - hosts:write
  - email_templates:*
  - email_templates:read
  - email_templates:write
tags:
- name: GroupVisits
  description: All endpoints related to Group Visits (Appointments).
paths:
  /group_visits:
    get:
      summary: List all Group Visits (Appointments)
      tags:
      - GroupVisits
      responses:
        '200':
          description: Successful response - returns an array of `GroupVisit` entities.
          content:
            application/json:
              schema:
                $ref: ./models/PaginatedGroupVisitsList.v1.yaml
              examples:
                default:
                  value:
                    pagination:
                      total_records: 0
                      current_offset: 0
                      next_offset: 0
                      last_id: 0
                      limit: 0
                    group_visits:
                    - id: 1
                      location:
                        id: 1
                        name: Location Name
                        max_capacity: 10
                        timezone: UTC
                      hosts:
                      - id: 0
                        email: email@sample.com
                        first_name: John
                        last_name: Smith
                        profile_pic_url: string
                        department: Accounting
                        mobile_number: string
                      name: Appointment Name
                      start_time: '2021-01-01T12:34:56Z'
                      end_time: '2021-01-01T12:34:56Z'
                      created_at: '2021-01-01T12:34:56Z'
                      updated_at: '2021-01-01T12:34:56Z'
                      registration_limit: 5
                      registration_url: null
                      invites_count: 0
                      unconfirmed_registrations_count: 0
                      manual_registration_approval: true
                      public_registration_enabled: true
        '400':
          description: A generic error
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
        '401':
          description: You do not have permission to view this
        '403':
          description: You do not have permission for this action
      security:
      - TractionGuestAuth:
        - all
        - visitors:*
        - visitors:read
      operationId: getGroupVisits
      description: Gets a list of all `GroupVisit` entities (Appointments).
      parameters:
      - schema:
          type: string
        in: query
        name: limit
        description: Limits the results to a specified number. Defaults to 50.
      - schema:
          type: string
        in: query
        name: offset
        description: Offsets the results to a specified number. Defaults to 0.
      - schema:
          type: string
        in: query
        name: location_ids
        description: A comma-separated string of locations IDs, to only show group visits (appointments) from those locations.
      - schema:
          type: string
        in: query
        name: sort_with
        description: 'A combination of attribute and direction, joined with an underscore, for sorting. Valid attributes are: `created_at`, `updated_at`, `name`, and `start_time`. Valid directions are `asc` and `desc`. E.g., `name_desc`, `start_time_asc`.'
    post:
      summary: Create a new Group Visit (Appointment)
      security:
      - TractionGuestAuth:
        - all
        - visitors:*
        - visitors:write
      operationId: createGroupVisit
      responses:
        '201':
          description: Created the `GroupVisit`
          content:
            application/json:
              schema:
                $ref: ./models/GroupVisit.v1.yaml
              examples:
                default:
                  value:
                    id: 0
                    location:
                      id: 0
                      name: Location Name
                      max_capacity: 0
                      timezone: UTC
                    hosts:
                    - id: 0
                      email: email@sample.com
                      first_name: Jane
                      last_name: Doe
                      profile_pic_url: string
                      department: Engineering
                      mobile_number: string
                    name: Appointment Name
                    start_time: '2021-01-01T12:34:56Z'
                    end_time: '2021-01-01T12:34:56Z'
                    created_at: '2021-01-01T12:34:56Z'
                    updated_at: '2021-01-01T12:34:56Z'
                    registration_limit: 0
                    registration_url: url
                    invites_count: 0
                    unconfirmed_registrations_count: 0
                    manual_registration_approval: true
                    public_registration_enabled: true
        '400':
          description: A generic error
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
        '401':
          description: You do not have permission to create this
        '403':
          description: You do not have permission for this action
        '422':
          description: Your request was not formatted correctly
      description: Creates a `GroupVisit` (Appointment)
      parameters:
      - $ref: '#/components/parameters/idempotencyKey'
      requestBody:
        content:
          application/json:
            schema:
              $ref: ./models/GroupVisitCreateParams.v1.yaml
        description: ''
      tags:
      - GroupVisits
  /group_visits/{group_visit_id}:
    parameters:
    - schema:
        type: string
      name: group_visit_id
      in: path
      required: true
    get:
      summary: Get a Group Visit (Appointment)
      tags:
      - GroupVisits
      responses:
        '200':
          description: Successful response - returns a single `GroupVisit`.
          content:
            application/json:
              schema:
                $ref: ./models/GroupVisit.v1.yaml
              examples:
                default:
                  value:
                    id: 0
                    location:
                      id: 0
                      name: Location Name
                      max_capacity: 0
                      timezone: UTC
                    hosts:
                    - id: 0
                      email: demo@example.com
                      first_name: Jack
                      last_name: Frost
                      profile_pic_url: url
                      department: Weather Monitoring
                      mobile_number: string
                    name: Appointment Name
                    start_time: '2021-01-01T12:34:56Z'
                    end_time: '2021-01-01T12:34:56Z'
                    created_at: '2021-01-01T12:34:56Z'
                    updated_at: '2021-01-01T12:34:56Z'
                    registration_limit: 0
                    registration_url: url
                    invites_count: 0
                    unconfirmed_registrations_count: 0
                    manual_registration_approval: true
                    public_registration_enabled: true
        '400':
          description: A generic error
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
        '401':
          description: You do not have permission to view this GroupVisit
        '403':
          description: You do not have permission for this action
        '404':
          description: The GroupVisit does not exist
      security:
      - TractionGuestAuth:
        - all
        - visitors:*
        - visitors:read
      operationId: getGroupVisit
      description: Gets the details of a single instance of a `GroupVisit`.
    put:
      summary: Update a Group Visit (Appointment)
      security:
      - TractionGuestAuth:
        - all
        - visitors:*
        - visitors:write
      operationId: updateGroupVisit
      responses:
        '202':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: ./models/GroupVisit.v1.yaml
              examples:
                default:
                  value:
                    id: 0
                    location:
                      id: 0
                      name: Location Name
                      max_capacity: 0
                      timezone: UTC
                    hosts:
                    - id: 0
                      email: email@sample.com
                      first_name: Jane
                      last_name: Doe
                      profile_pic_url: string
                      department: Engineering
                      mobile_number: string
                    name: Appointment Name
                    start_time: '2021-01-01T12:34:56Z'
                    end_time: '2021-01-01T12:34:56Z'
                    created_at: '2021-01-01T12:34:56Z'
                    updated_at: '2021-01-01T12:34:56Z'
                    registration_limit: 0
                    registration_url: url
                    invites_count: 0
                    unconfirmed_registrations_count: 0
                    manual_registration_approval: true
                    public_registration_enabled: true
        '400':
          description: A generic error
          headers: {}
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
        '401':
          description: You do not have permission to view this GroupVisit
        '403':
          description: You do not have permission for this action
        '404':
          description: The GroupVisit does not exist
        '422':
          description: Your request was not formatted correctly
      description: Updates an existing `GroupVisit` (Appointment).
      parameters:
      - $ref: '#/components/parameters/idempotencyKey'
      requestBody:
        content:
          application/json:
            schema:
              $ref: ./models/GroupVisitUpdateParams.v1.yaml
        description: ''
      tags:
      - GroupVisits
    delete:
      summary: Delete a Group Visit (Appointment)
      security:
      - TractionGuestAuth:
        - all
        - visitors:*
        - visitors:write
      operationId: deleteGroupVisit
      responses:
        '204':
          description: The `GroupVisit` has been deleted
        '400':
          description: There was an error in trying to delete the `GroupVisit`
      description: Deletes a single instance of `GroupVisit` (Appointment).
      parameters:
      - $ref: '#/components/parameters/idempotencyKey'
      tags:
      - GroupVisits
components:
  parameters:
    idempotencyKey:
      name: Idempotency-Key
      description: An optional idempotency key to allow for repeat API requests. Any API request with this key will only be executed once, no matter how many times it's submitted. We store idempotency keys for only 24 hours. Any `Idempotency-Key` shorter than 10 characters will be ignored
      schema:
        type: string
      in: header
      required: false
  securitySchemes:
    TractionGuestAuth:
      openIdConnectUrl: https://us.tractionguest.com/.well-known/openid-configuration
      type: openIdConnect