Sign In Enterprise Watchlists API

All endpoint related to the Watchlist model

OpenAPI Specification

sign-in-enterprise-watchlists-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Sign In Solutions VMS AuditLogs Watchlists 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: Watchlists
  description: All endpoint related to the Watchlist model
paths:
  /watchlists/{watchlist_id}:
    summary: Path used to manage a single Watchlist.
    description: The REST endpoint/path used to get single instances of a `Watchlist`.
    parameters:
    - schema:
        type: string
      name: watchlist_id
      in: path
      required: true
    get:
      tags:
      - Watchlists
      parameters:
      - name: include
        description: A list of comma-separated related models to include
        schema:
          type: string
        in: query
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./models/Watchlist.v1.yaml
              examples:
                default:
                  value:
                    id: 7
                    colour: GREEN
                    email: name@example.com
                    first_name: Alex
                    last_name: Trebec
                    notes: some text
                    photo: some text
                    aliases:
                    - some text
                    - some text
                    driver_license: some text
          description: Successful response - returns a single `Watchlist`.
        4XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
              examples: {}
      security:
      - TractionGuestAuth:
        - all
        - watchlists:*
        - watchlists:read
      operationId: getWatchlist
      summary: Get a Watchlist
      description: Gets the details of a single instance of a `Watchlist`.
    put:
      requestBody:
        description: The watchlist record attributes to update
        content:
          application/json:
            schema:
              $ref: ./models/WatchlistCreateParams.v1.yaml
            examples:
              NewWatchlist:
                value:
                  colour: YELLOW
                  email: some text
                  first_name: some text
                  last_name: some text
                  notes: some text
                  aliases:
                  - some text
                  - some text
                  base64_image: aGVsbG8=
                  driver_license: some text
        required: true
      tags:
      - Watchlists
      parameters:
      - $ref: '#/components/parameters/idempotencyKey'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./models/Watchlist.v1.yaml
              examples:
                UpdatedWatchlist:
                  value:
                    id: 66
                    colour: GREEN
                    email: some text
                    first_name: some text
                    last_name: some text
                    notes: some text
                    photo: some text
                    aliases:
                    - some text
                    - some text
                    driver_license: some text
          description: The complete updated watchlist record
        4XX:
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
          description: Bad request
      security:
      - TractionGuestAuth:
        - all
        - watchlists:*
        - watchlists:write
      operationId: updateWatchlist
      summary: Update a Watchlist
      description: Update an existing `Watchlist` record. Every operation against this endpoint is recorded in the audit log.
    delete:
      tags:
      - Watchlists
      parameters:
      - $ref: '#/components/parameters/idempotencyKey'
      responses:
        '204':
          description: The Watchlist has been deleted
        4XX:
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
              examples:
                default:
                  value:
                    errors:
                    - domain: some text
                      attribute: some text
                      code: some text
                      message: some text
                    - domain: some text
                      attribute: some text
                      code: some text
                      message: some text
          description: Bad request
      security:
      - TractionGuestAuth:
        - all
        - watchlists:*
        - watchlists:write
      operationId: deleteWatchlist
      summary: Deletes a Watchlist
      description: Deletes a single instance of `Watchlist`
  /watchlists:
    summary: Path used to manage the list of Watchlists.
    description: The REST endpoint/path used to list zero or more `Watchlist` entities.
    get:
      tags:
      - Watchlists
      parameters:
      - name: limit
        description: Limits the results to a specified number, defaults to 50
        schema:
          type: integer
        in: query
      - name: offset
        description: Offsets the results to a specified number, defaults to 0
        schema:
          type: integer
        in: query
      - name: query
        description: Query the results by `first_name`, `last_name`, `email`, `colour`, and `notes` all at once.
        schema:
          type: string
        in: query
      - name: with_colours
        description: 'A comma separated list of case-insensitive colour values.

          i.e., `red`, `green`, `yellow`, and `orange`'
        schema:
          type: string
        in: query
      - name: include
        description: A list of comma-separated related models to include
        schema:
          type: string
        in: query
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: ./models/PaginatedWatchlistList.v1.yaml
              examples:
                default:
                  value:
                    pagination:
                      total_records: 78
                      current_offset: 62
                      next_offset: 57
                    watchlists:
                    - id: 24
                      colour: GREEN
                      email: some text
                      first_name: some text
                      last_name: some text
                      notes: some text
                      photo: some text
                      aliases:
                      - some text
                      - some text
                      driver_license: some text
                    - id: 26
                      colour: ORANGE
                      email: some text
                      first_name: some text
                      last_name: some text
                      notes: some text
                      photo: some text
                      aliases:
                      - some text
                      - some text
                      driver_license: some text
          description: Successful response - returns an array of `Watchlist` entities.
        4XX:
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
              examples:
                default:
                  value:
                    errors:
                    - domain: some text
                      attribute: some text
                      code: some text
                      message: some text
                    - domain: some text
                      attribute: some text
                      code: some text
                      message: some text
          description: A generic error
      security:
      - TractionGuestAuth:
        - all
        - watchlists:*
        - watchlists:read
      operationId: getWatchlists
      summary: List all Watchlists
      description: Gets a list of all `Watchlist` entities.
    post:
      requestBody:
        description: The new `Watchlist` to create
        content:
          application/json:
            schema:
              $ref: ./models/WatchlistCreateParams.v1.yaml
            examples:
              NewWatchlist:
                value:
                  colour: GREEN
                  email: some text
                  first_name: some text
                  last_name: some text
                  notes: some text
                  aliases:
                  - some text
                  - some text
                  base64_image: aGVsbG8=
                  driver_license: some text
        required: true
      tags:
      - Watchlists
      parameters:
      - $ref: '#/components/parameters/idempotencyKey'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: ./models/Watchlist.v1.yaml
              examples:
                NewWatchlist:
                  value:
                    id: 77
                    colour: GREEN
                    email: some text
                    first_name: some text
                    last_name: some text
                    notes: some text
                    photo: some text
                    aliases:
                    - some text
                    - some text
                    driver_license: some text
          description: The newly created `Watchlist`
        4XX:
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
          description: An error happened
      security:
      - TractionGuestAuth:
        - all
        - watchlists:*
        - watchlists:write
      operationId: createWatchlist
      summary: Create Watchlist
      description: Create a new `Watchlist` record. Please note, every action taken against this endpoint is recorded in the audit log.
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