swagger: '2.0' info: version: null title: Grdn grdn.handler grdn.routes.impl.popup API description: Eden Health Inc. primary backend API service. consumes: - application/json produces: - application/json tags: - name: grdn.routes.impl.popup description: Simple CRUD operations for popups. paths: /v2/popup: get: summary: get-popups-handler description: Returns popups depending on the category parameter and populates the start and end dates if possible. tags: - grdn.routes.impl.popup parameters: - in: query name: popup-category description: 'origin spec: grdn.specs.popup/get-popup-params' required: false enum: - past - draft - active type: string responses: default: description: Default success response. schema: type: array items: type: object properties: end-date: {} end-time: type: string x-nullable: true start-time: type: string x-nullable: true athena-reason-id: type: integer format: int64 city: type: string x-allOf: - type: string - {} x-nullable: true address-1: type: string x-allOf: - type: string - {} x-nullable: true athena-department-id: type: integer format: int64 x-nullable: true id: type: string format: uuid athena-scheduling-provider-id: type: integer format: int64 x-nullable: true updated-at: {} popup-state: enum: - draft - active type: string name: type: string created-at: {} instructions: type: string x-nullable: true eligible-members: enum: - employees_and_dependents - employees_only type: string sponsor-id: type: string format: uuid address-2: type: string x-nullable: true popup-dates: type: array items: type: object properties: start-time: type: string x-nullable: true end-time: type: string x-nullable: true required: - start-time - end-time title: grdn.specs.popup/popup-date state: type: string x-allOf: - type: string - {} x-nullable: true time-zone-id: type: string date: {} division-ids: type: array items: type: string format: uuid x-nullable: true zip: type: string x-allOf: - type: string - {} x-nullable: true required: - sponsor-id - date - name - athena-reason-id - athena-scheduling-provider-id - athena-department-id - address-1 - address-2 - city - state - zip - popup-state - created-at - updated-at - id - instructions - time-zone-id title: grdn.specs.popup/get-popup-response post: summary: create-popup-handler description: Creates a new popup. tags: - grdn.routes.impl.popup parameters: - in: body name: grdn.specs.popup/create-popup-params description: 'origin spec: grdn.specs.popup/create-popup-params' schema: type: object properties: end-date: {} athena-reason-id: type: integer format: int64 city: type: string x-allOf: - type: string - {} allowEmptyValue: true address-1: type: string x-allOf: - type: string - {} allowEmptyValue: true athena-scheduling-provider-id: type: integer format: int64 allowEmptyValue: true instructions: type: string allowEmptyValue: true eligible-members: enum: - employees_and_dependents - employees_only type: string sponsor-id: type: string format: uuid address-2: type: string allowEmptyValue: true state: type: string x-allOf: - type: string - {} allowEmptyValue: true time-zone-id: type: string date: type: string x-allOf: - type: string - {} division-ids: type: array items: type: string format: uuid allowEmptyValue: true zip: type: string x-allOf: - type: string - {} allowEmptyValue: true required: - sponsor-id - date - athena-reason-id - time-zone-id title: grdn.specs.popup/create-popup-params responses: default: description: Default success response. schema: type: object properties: end-date: {} end-time: type: string x-nullable: true start-time: type: string x-nullable: true athena-reason-id: type: integer format: int64 city: type: string x-allOf: - type: string - {} x-nullable: true address-1: type: string x-allOf: - type: string - {} x-nullable: true id: type: string format: uuid athena-scheduling-provider-id: type: integer format: int64 x-nullable: true updated-at: {} popup-state: enum: - draft - active type: string name: type: string created-at: {} instructions: type: string x-nullable: true eligible-members: enum: - employees_and_dependents - employees_only type: string sponsor-id: type: string format: uuid address-2: type: string x-nullable: true state: type: string x-allOf: - type: string - {} x-nullable: true time-zone-id: type: string date: {} division-ids: type: array items: type: string format: uuid x-nullable: true zip: type: string x-allOf: - type: string - {} x-nullable: true required: - sponsor-id - date - name - athena-reason-id - athena-scheduling-provider-id - address-1 - city - state - zip - popup-state - created-at - updated-at - id - instructions - address-2 - time-zone-id title: grdn.specs.popup/create-popup-response /v2/popup/{popup-id}: delete: summary: delete-popup-handler description: Deletes a popup. Cascade deletes associated popup dates tags: - grdn.routes.impl.popup parameters: - in: path name: popup-id description: 'origin spec: grdn.specs.popup/delete-popup-params' required: true type: string format: uuid responses: default: description: Default success response. schema: {} put: summary: update-popup-handler description: Sets popup status to be either draft or bookable, and updates fields. tags: - grdn.routes.impl.popup parameters: - in: path name: popup-id description: 'origin spec: grdn.specs.popup/update-popup-params' required: true type: string format: uuid - in: body name: grdn.specs.popup/update-popup-params description: 'origin spec: grdn.specs.popup/update-popup-params' schema: type: object properties: end-date: {} athena-reason-id: type: integer format: int64 city: type: string x-allOf: - type: string - {} allowEmptyValue: true address-1: type: string x-allOf: - type: string - {} allowEmptyValue: true athena-scheduling-provider-id: type: integer format: int64 allowEmptyValue: true popup-state: enum: - draft - active type: string name: type: string instructions: type: string allowEmptyValue: true eligible-members: enum: - employees_and_dependents - employees_only type: string address-2: type: string allowEmptyValue: true state: type: string x-allOf: - type: string - {} allowEmptyValue: true time-zone-id: type: string date: type: string x-allOf: - type: string - {} division-ids: type: array items: type: string format: uuid allowEmptyValue: true zip: type: string x-allOf: - type: string - {} allowEmptyValue: true title: grdn.specs.popup/update-popup-params responses: default: description: Default success response. schema: type: object properties: end-date: {} end-time: type: string x-nullable: true start-time: type: string x-nullable: true athena-reason-id: type: integer format: int64 city: type: string x-allOf: - type: string - {} x-nullable: true address-1: type: string x-allOf: - type: string - {} x-nullable: true id: type: string format: uuid athena-scheduling-provider-id: type: integer format: int64 x-nullable: true updated-at: {} popup-state: enum: - draft - active type: string name: type: string created-at: {} instructions: type: string x-nullable: true eligible-members: enum: - employees_and_dependents - employees_only type: string sponsor-id: type: string format: uuid address-2: type: string x-nullable: true state: type: string x-allOf: - type: string - {} x-nullable: true time-zone-id: type: string date: {} division-ids: type: array items: type: string format: uuid x-nullable: true zip: type: string x-allOf: - type: string - {} x-nullable: true required: - sponsor-id - date - name - athena-reason-id - athena-scheduling-provider-id - address-1 - city - state - zip - popup-state - created-at - updated-at - id - instructions - address-2 - time-zone-id title: grdn.specs.popup/update-popup-response