Sign In Enterprise Packages API

All endpoints relating to the Packages model

OpenAPI Specification

sign-in-enterprise-packages-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: Sign In Solutions VMS AuditLogs Packages 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: Packages
  description: All endpoints relating to the Packages model
paths:
  /packages:
    get:
      summary: Get packages
      tags:
      - Packages
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                $ref: ./models/PaginatedPackagesList.v1.yaml
              examples:
                example:
                  value:
                    packages:
                    - id: 70
                      package_state: picked_up
                      recipient:
                        id: 5
                        email: tsala@example.com
                        first_name: Tatiane
                        last_name: Sala
                        mobile_number: (604)111-1111
                        profile_pic_url: https://i.pravatar.cc/
                        department: Development
                      location:
                        name: Vancouver
                        id: 2
                      carrier_name: Purolator
                      created_at: '2020-08-11T01:59:59.999Z'
                      picked_up_at: '2020-08-17T01:59:59.999Z'
                      image:
                        full_size_url: https://i.pravatar.cc/
                    - id: 72
                      package_state: processing
                      location:
                        name: Vancouver
                        id: 2
                      created_at: '2020-08-19T01:59:59.999Z'
                      image:
                        full_size_url: https://i.pravatar.cc/
                    - id: 73
                      package_state: needs_attention
                      location:
                        name: Default
                        id: 1
                      created_at: '2020-09-18T01:59:59.999Z'
                      image:
                        full_size_url: https://i.pravatar.cc/
                    - id: 74
                      package_state: recipient_matched
                      recipient:
                        id: 4
                        email: vbaldys@example.com
                        first_name: Veronica
                        last_name: Baldys
                        mobile_number: (604)999-9999
                        profile_pic_url: https://i.pravatar.cc/
                        department: Development
                      location:
                        name: Vancouver
                        id: 2
                      carrier_name: Canada Post
                      created_at: '2020-07-18T01:59:59.999Z'
                      picked_up_at: null
                      image:
                        full_size_url: https://i.pravatar.cc/
                    pagination:
                      total_records: 5
                      current_offset: 0
                      next_offset: null
                      last_id: null
                      limit: 20
        4XX:
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
          description: ''
      operationId: getPackages
      description: Gets a list of [Package] entities.
      parameters:
      - schema:
          type: string
          example: 1,2,3
        in: query
        name: location_ids
        description: 'A comma separated list of Location ids for filtering. i.e. ''1,2,3''

          Will return all packages from all locations if none are specified'
      - schema:
          type: integer
          minimum: 1
          default: 50
        in: query
        name: limit
        description: Limits the results to a specified number, defaults to 50
      - schema:
          type: integer
          minimum: 0
          default: 0
        in: query
        name: offset
        description: Offsets the results to a specified number, defaults to 0
      - schema:
          type: string
          example: recipient,location,image
        in: query
        name: include
        description: 'A list of comma-separated related models to include. Possible values: ''recipient'', ''location'', ''image'''
      - schema:
          type: boolean
        in: query
        name: picked_up
        description: Filters packages by their "picked_up" state..
        allowEmptyValue: false
      - schema:
          type: string
        in: query
        name: query
        description: Searches for packages by recipient name
    post:
      summary: Create package
      operationId: createPackage
      tags:
      - Packages
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: ./models/Package.v1.yaml
              examples: {}
        4XX:
          description: ''
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
      description: Creates a [Package] entity by extracting information about the recipient and carrier from the given image file.
      requestBody:
        content:
          application/json:
            schema:
              $ref: ./models/PackageCreateParams.v1.yaml
        description: Parameters for creating a package
  /packages/{package_id}:
    parameters:
    - schema:
        type: string
      name: package_id
      in: path
      required: true
    get:
      summary: Get Package
      tags:
      - Packages
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: ./models/Package.v1.yaml
        4XX:
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
          description: User submission error
      operationId: getPackage
      description: Gets the details of a single instance of a Package
      parameters:
      - schema:
          type: string
        in: query
        name: include
        description: 'A list of comma-separated related models to include

          '
    put:
      summary: Update Package
      operationId: updatePackage
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: ./models/Package.v1.yaml
        4XX:
          description: User submission error
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
      description: 'Update/Edit information about a Package.


        picked_up - changes the package_state to picked up and assigns non null value to picked_up_at


        recipient_id - update the package''s intended recipient. Changes package_state to ''recipient_matched'' if a match hasn''t been found and notifies host about their package via email. A previous recipient will stop getting notifications


        carrier_name - change/update the package''s carrier/courier information

        '
      tags:
      - Packages
      requestBody:
        content:
          application/json:
            schema:
              $ref: ./models/PackageUpdateParams.v1.yaml
        description: ''
      parameters:
      - $ref: '#/components/parameters/idempotencyKey'
    delete:
      summary: Delete Package
      operationId: deletePackage
      responses:
        '204':
          description: The package has been deleted
        4XX:
          description: Bad request
          content:
            application/json:
              schema:
                $ref: ./models/ErrorsList.v1.yaml
      description: Delete a pacakge
      parameters:
      - $ref: '#/components/parameters/idempotencyKey'
      security:
      - TractionGuestAuth: []
      tags:
      - Packages
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