-
Notifications
You must be signed in to change notification settings - Fork 2
/
swagger-gateway.json
1 lines (1 loc) · 85.8 KB
/
swagger-gateway.json
1
{"swagger":"2.0","info":{"description":"Piazza Core Services API","version":"0.1.0","title":"Gateway API","contact":{"name":"The VeniceGeo Project","url":"http://radiantblue.com","email":"[email protected]"}},"host":"localhost:8081","basePath":"/","tags":[{"name":"admin-controller","description":"Admin Controller"},{"name":"data-controller","description":"Data Controller"},{"name":"event-controller","description":"Event Controller"},{"name":"service-controller","description":"Service Controller"},{"name":"deployment-controller","description":"Deployment Controller"},{"name":"job-controller","description":"Job Controller"},{"name":"alert-trigger-controller","description":"Alert Trigger Controller"}],"paths":{"/alert":{"get":{"tags":["Alert","Workflow"],"summary":"Get User Alerts","description":"Gets all of the Alerts","operationId":"getAlertsUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"page","in":"query","description":"Paginating large numbers of results. This will determine the starting page for the query.","required":false,"type":"integer","default":0,"format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","default":10,"format":"int32"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string","default":"desc"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string","default":"createdOn"},{"name":"triggerId","in":"query","description":"The Trigger Id by which to filter results.","required":false,"type":"string"},{"name":"inflate","in":"query","description":"If this flag is set to true, then Workflow objects otherwise referenced by a single Unique ID will be populated in full.","required":false,"type":"boolean"}],"responses":{"200":{"description":"The list of Alerts.","schema":{"$ref":"#/definitions/AlertResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/alert/query":{"post":{"tags":["Alert","Search","Workflow"],"summary":"Query Alerts in Piazza Workflow","description":"Sends a complex query message to the Piazza Workflow component, that allow users to search for Alerts. Searching is capable of filtering by keywords or other dynamic information.","operationId":"searchAlertsUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"query","description":"The Query string for the Workflow component.","required":true,"schema":{"$ref":"#/definitions/SearchRequest"}},{"name":"page","in":"query","description":"Paginating large datasets. This will determine the starting page for the query.","required":false,"type":"integer","format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","format":"int32"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string"},{"name":"inflate","in":"query","description":"If this flag is set to true, then Workflow objects otherwise referenced by a single Unique ID will be populated in full.","required":false,"type":"boolean"}],"responses":{"200":{"description":"The list of Alert results that match the query string.","schema":{"$ref":"#/definitions/AlertResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/alert/{alertId}":{"get":{"tags":["Alert","Workflow"],"summary":"Get Alert Information","description":"Gets an Alert by its Id","operationId":"getAlertUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"alertId","in":"path","description":"The Id of the Alert to retrieve data for.","required":true,"type":"string"}],"responses":{"200":{"description":"The Alert","schema":{"$ref":"#/definitions/Alert"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/data":{"get":{"tags":["Data"],"summary":"Query Piazza Data","description":"Sends a simple GET Query for fetching lists of Piazza Data.","operationId":"getDataUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"keyword","in":"query","description":"A general keyword search to apply to all Datasets.","required":false,"type":"string"},{"name":"createdByJobId","in":"query","description":"Filter datasets that were created by a specific Job Id.","required":false,"type":"string"},{"name":"page","in":"query","description":"Paginating large datasets. This will determine the starting page for the query.","required":false,"type":"integer","default":0,"format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","default":10,"format":"int32"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string","default":"desc"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string","default":"metadata.createdOn"},{"name":"createdBy","in":"query","description":"Filter for the username that published the service.","required":false,"type":"string"}],"responses":{"200":{"description":"The list of Search results that match the query string.","schema":{"$ref":"#/definitions/DataResourceResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"post":{"tags":["Data"],"summary":"Load Data into Piazza","description":"Loads Data into the Piazza Core metadata holdings. Piazza can either host the Data, or reflect an external location where the data is stored. Data must be loaded into Piazza before core components such as the ServiceController, or other external services, are able to consume that Data.","operationId":"ingestDataUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"data","description":"The description, location, and metadata for the Data to be loaded into Piazza.","required":true,"schema":{"$ref":"#/definitions/LoadJob"}}],"responses":{"201":{"description":"The Id of the Job created to handle the Loading of the Data.","schema":{"$ref":"#/definitions/JobResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/data/file":{"post":{"tags":["Data"],"summary":"Load a Data File into Piazza","description":"Loads a local user Data file into Piazza. This functions the same as /data endpoint, but a file is specified instead of a URI.","operationId":"ingestDataFileUsingPOST","consumes":["multipart/form-data"],"produces":["application/json"],"parameters":[{"name":"data","in":"formData","description":"The description, location, and metadata for the Data to be loaded into Piazza. This is the identical model to the LoadJob as specified in the body of the /data request. It is only noted as a string type here because of a Swagger deficiency.","required":true,"type":"string"},{"name":"file","in":"formData","description":"The file to be uploaded.","required":true,"type":"file"}],"responses":{"201":{"description":"The Id of the Job created to handle the Loading of the Data.","schema":{"$ref":"#/definitions/JobResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/data/me":{"get":{"tags":["Data"],"summary":"Query Piazza Data","description":"Sends a simple GET Query for fetching lists of Piazza Data for the authenticated user.","operationId":"getDataForCurrentUserUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"keyword","in":"query","description":"A general keyword search to apply to all Datasets.","required":false,"type":"string"},{"name":"createdByJobId","in":"query","description":"Filter datasets that were created by a specific Job Id.","required":false,"type":"string"},{"name":"page","in":"query","description":"Paginating large datasets. This will determine the starting page for the query.","required":false,"type":"integer","default":0,"format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","default":10,"format":"int32"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string","default":"desc"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string"}],"responses":{"200":{"description":"The list of Search results that match the query string.","schema":{"$ref":"#/definitions/DataResourceResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/data/query":{"post":{"tags":["Data","Search"],"summary":"Query Metadata in Piazza Data holdings","description":"Sends a complex query message to the Piazza Search component, that allow users to search for loaded data. Searching is capable of filtering by keywords, spatial metadata, or other dynamic information.","operationId":"searchDataUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"query","description":"The Query string for the Search component.","required":true,"schema":{"$ref":"#/definitions/SearchRequest"}},{"name":"page","in":"query","description":"Paginating large datasets. This will determine the starting page for the query.","required":false,"type":"integer","format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","format":"int32"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string"}],"responses":{"200":{"description":"The list of Search results that match the query string.","schema":{"$ref":"#/definitions/DataResourceResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/data/{dataId}":{"get":{"tags":["Data"],"summary":"Get Metadata for Loaded Data","description":"Reads all metadata for a Data item that has been previously loaded into Piazza.","operationId":"getMetadataUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"dataId","in":"path","description":"Id of the Data item to pull Metadata for.","required":true,"type":"string"}],"responses":{"200":{"description":"Metadata describing the Data Item that matches the specified Data Id. Includes release metadata, and spatial metadata, etc.","schema":{"$ref":"#/definitions/DataResourceResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"put":{"tags":["Data"],"summary":"Update Metadata for Loaded Data.","description":"This will update the metadata for a specific data item. Non-null values will overwrite. This will only update the corresponding 'metadata' field in the Data item. Spatial metadata, and file information cannot be updated. For cases where spatial metadata or file data needs to change, and re-load of the Data must be done.","operationId":"updateMetadataUsingPUT_1","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"dataId","in":"path","description":"Id of the Data item to update the Metadata for.","required":true,"type":"string"},{"in":"body","name":"metadata","description":"The Resource Metadata object containing the updated metadata fields to write.","required":true,"schema":{"$ref":"#/definitions/ResourceMetadata"}}],"responses":{"200":{"description":"Confirmation that the Metadata has been updated.","schema":{"$ref":"#/definitions/SuccessResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"delete":{"tags":["Data"],"summary":"Delete Loaded Data","description":"Deletes an entry to Data that has been previously loaded into Piazza. If the file was hosted by Piazza, then that file will also be deleted.","operationId":"deleteDataUsingDELETE","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"dataId","in":"path","description":"Id of the Data item to Delete.","required":true,"type":"string"}],"responses":{"200":{"description":"Message indicating confirmation of delete","schema":{"$ref":"#/definitions/SuccessResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/deployment":{"get":{"tags":["Deployment"],"summary":"Obtain a list of all GIS Server Deployments held by Piazza.","description":"Data can be made available through the Piazza GIS Server as WMS/WCS/WFS. This must be done through POSTing to the /deployment endpoint. This endpoint will return a list of all Deployed resources.","operationId":"getDeploymentUsingGET_1","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"keyword","in":"query","description":"A general keyword search to apply to all Deployments.","required":false,"type":"string"},{"name":"page","in":"query","description":"Paginating large datasets. This will determine the starting page for the query.","required":false,"type":"integer","default":0,"format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","default":10,"format":"int32"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string","default":"desc"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string","default":"createdOn"}],"responses":{"200":{"description":"The list of Search results that match the query string.","schema":{"$ref":"#/definitions/DeploymentResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"post":{"tags":["Data","Deployment"],"summary":"Obtain a GIS Server Deployment for a Data Resource object","description":"Data that has been loaded into Piazza can be deployed to the GIS Server. This will copy the data to the GIS Server data directory (if needed), or point to the Piazza PostGIS; and then create a WMS/WCS/WFS layer (as available) for the service. Only data that has been internally hosted within Piazza can be deployed.","operationId":"createDeploymentUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"data","description":"The Data Id and deployment information for creating the Deployment","required":true,"schema":{"$ref":"#/definitions/AccessJob"}}],"responses":{"201":{"description":"The Job Id for the specified Deployment. This could be a long-running process to copy the data over to the GIS Server, so a new Job is spawned.","schema":{"$ref":"#/definitions/JobResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/deployment/group":{"post":{"tags":["Deployment"],"summary":"Create a DeploymentGroup.","description":"Creates a new DeploymentGroup Id that can be used in order to add some future set of Deployments into a single WMS layer.","operationId":"createDeploymentGroupUsingPOST","consumes":["application/json"],"produces":["application/json"],"responses":{"201":{"description":"Metadata about for the DeploymentGroup that has been created.","schema":{"$ref":"#/definitions/DeploymentGroupResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/deployment/group/{deploymentGroupId}":{"delete":{"tags":["Deployment"],"summary":"Delete a DeploymentGroup.","description":"Deletes a DeploymentGroup from the Piazza metadata, and the GIS server.","operationId":"deleteDeploymentGroupUsingDELETE","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"deploymentGroupId","in":"path","description":"deploymentGroupId","required":true,"type":"string"}],"responses":{"200":{"description":"Successful deletion of DeploymentGroup.","schema":{"$ref":"#/definitions/SuccessResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/deployment/{deploymentId}":{"get":{"tags":["Deployment"],"summary":"Get Deployment Metadata","description":"Fetches the Metadata for a Piazza Deployment.","operationId":"getDeploymentUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"deploymentId","in":"path","description":"Id of the Deployment to Fetch","required":true,"type":"string"}],"responses":{"200":{"description":"The metadata about the Deployment. Contains the unique Id of the Deployment; the Data Id that it represents; and server information regarding the access of the deployed service including the GetCapabilities document.","schema":{"$ref":"#/definitions/DeploymentResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"delete":{"tags":["Deployment"],"summary":"Remove an active Deployment","description":"If a user wishes to delete a Deployment before its lease time is up (and automatic deletion could take place) then this endpoint provides a way to do so manually.","operationId":"deleteDeploymentUsingDELETE","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"deploymentId","in":"path","description":"Id of the Deployment to Delete.","required":true,"type":"string"}],"responses":{"200":{"description":"Confirmation that the deployment has been deleted.","schema":{"$ref":"#/definitions/SuccessResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/event":{"get":{"tags":["Event","Workflow"],"summary":"Get all Events","description":"Retrieves a list of all Events","operationId":"getEventsUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"eventTypeName","in":"query","description":"The name of the EventType to filter by.","required":false,"type":"string"},{"name":"eventTypeId","in":"query","description":"The Id of the EventType to filter by.","required":false,"type":"string"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string","default":"desc"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string","default":"createdOn"},{"name":"page","in":"query","description":"Paginating large numbers of results. This will determine the starting page for the query.","required":false,"type":"integer","default":0,"format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","default":10,"format":"int32"}],"responses":{"200":{"description":"The list of Events.","schema":{"$ref":"#/definitions/EventResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"post":{"tags":["Event","Workflow"],"summary":"Creates an Event for the EventType","description":"Sends an Event to the Piazza workflow component","operationId":"fireEventUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"event","description":"The Event JSON object.","required":true,"schema":{"$ref":"#/definitions/Event"}}],"responses":{"201":{"description":"The created Event","schema":{"$ref":"#/definitions/EventResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/event/query":{"post":{"tags":["Event","Search","Workflow"],"summary":"Query Events in Piazza Workflow","description":"Sends a complex query message to the Piazza Workflow component, that allow users to search for Events. Searching is capable of filtering by keywords or other dynamic information.","operationId":"searchEventsUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"query","description":"The Query string for the Workflow component.","required":true,"schema":{"$ref":"#/definitions/SearchRequest"}},{"name":"page","in":"query","description":"Paginating large datasets. This will determine the starting page for the query.","required":false,"type":"integer","format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","format":"int32"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string"}],"responses":{"200":{"description":"The list of Event results that match the query string.","schema":{"$ref":"#/definitions/EventResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/event/{eventId}":{"get":{"tags":["Event","Workflow"],"summary":"Get a Event","description":"Gets an Event by its Id, that corresponds with the EventType","operationId":"getEventInformationUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"eventId","in":"path","description":"The Event Id for the event to retrieve.","required":true,"type":"string"}],"responses":{"200":{"description":"The requested Event","schema":{"$ref":"#/definitions/Event"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"delete":{"tags":["Event","Workflow"],"summary":"Delete an Event","description":"Deletes a specific Event by Id","operationId":"deleteEventUsingDELETE","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"eventId","in":"path","description":"The unique identifier for the Event to delete.","required":true,"type":"string"}],"responses":{"200":{"description":"Confirmation of Event deletion.","schema":{"$ref":"#/definitions/SuccessResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/eventType":{"get":{"tags":["EventType","Workflow"],"summary":"List EventTypes","description":"Returns all EventTypes","operationId":"getEventTypesUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"name","in":"query","description":"The EventType name to select on.","required":false,"type":"string"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string","default":"desc"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string","default":"createdOn"},{"name":"page","in":"query","description":"Paginating large numbers of results. This will determine the starting page for the query.","required":false,"type":"integer","default":0,"format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","default":10,"format":"int32"}],"responses":{"200":{"description":"The list of EventTypes.","schema":{"$ref":"#/definitions/EventTypeResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"post":{"tags":["EventType","Workflow"],"summary":"Register an EventType","description":"Defines an EventType","operationId":"createEventTypeUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"eventType","description":"The EventType information. This defines the schema for the Events that must be followed.","required":true,"schema":{"$ref":"#/definitions/EventType"}}],"responses":{"201":{"description":"The created EventType","schema":{"$ref":"#/definitions/EventTypeResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/eventType/query":{"post":{"tags":["EventType","Search","Workflow"],"summary":"Query EventTypes in Piazza Workflow","description":"Sends a complex query message to the Piazza Workflow component, that allow users to search for EventTypes. Searching is capable of filtering by keywords or other dynamic information.","operationId":"searchEventTypesUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"query","description":"The Query string for the Workflow component.","required":true,"schema":{"$ref":"#/definitions/SearchRequest"}},{"name":"page","in":"query","description":"Paginating large datasets. This will determine the starting page for the query.","required":false,"type":"integer","format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","format":"int32"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string"}],"responses":{"200":{"description":"The list of EventType results that match the query string.","schema":{"$ref":"#/definitions/EventTypeResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/eventType/{eventTypeId}":{"get":{"tags":["EventType","Workflow"],"summary":"Get an EventType","description":"Gets an EventType by Id","operationId":"getEventTypeUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"eventTypeId","in":"path","description":"The unique Id for the EventType.","required":true,"type":"string"}],"responses":{"200":{"description":"The EventType","schema":{"$ref":"#/definitions/EventType"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"delete":{"tags":["EventType","Workflow"],"summary":"Delete an EventType","description":"Deletes a specific EventType by Id","operationId":"deleteEventTypeUsingDELETE","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"eventTypeId","in":"path","description":"The unique identifier for the EventType to delete.","required":true,"type":"string"}],"responses":{"200":{"description":"Confirmation of EventType deletion.","schema":{"$ref":"#/definitions/SuccessResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/file/{dataId}":{"get":{"tags":["Data"],"summary":"Download Data File","description":"Gets the Bytes of Data loaded into Piazza. Only works for Data that is stored internally by Piazza.","operationId":"getFileUsingGET","consumes":["application/json"],"produces":["*/*"],"parameters":[{"name":"dataId","in":"path","description":"The Id of the Data to download.","required":true,"type":"string"},{"name":"fileName","in":"query","description":"Specify the name of the file that the user wishes to retrieve the data as. This will set the content-disposition header.","required":false,"type":"string"}],"responses":{"200":{"description":"The downloaded data file, byte array.","schema":{"type":"array","items":{"type":"string","format":"byte"}}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/job":{"post":{"tags":["Job","Service"],"summary":"Executes a registered Service","description":"Creates a Piazza Job to execute a registered service in the system, with the specified parameters.","operationId":"executeServiceUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","description":"The Payload that describes the Service to be executed, and the inputs for that service.","required":true,"schema":{"$ref":"#/definitions/ExecuteJob"}}],"responses":{"201":{"description":"The Job Id for the execution of the Service. This can be queried using Job Status to track progress and, when available, fetch the result object.","schema":{"$ref":"#/definitions/JobResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/job/{jobId}":{"get":{"tags":["Job"],"summary":"Get Job Status","description":"Gets the Status for a Piazza Job by its Id.","operationId":"getJobStatusUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"jobId","in":"path","description":"Id of the Job to Fetch","required":true,"type":"string"}],"responses":{"200":{"description":"Information regarding the requested Job. At bare minimum, this will contain the Job Id of the Job that has been spawned as a result of the POSTed message. If more information is available, such as Status, it will also be included.","schema":{"$ref":"#/definitions/JobStatusResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/JobErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"post":{"tags":["Job"],"summary":"Repeat Job","description":"Repeats a previously submitted Job. This will clone the original Job, and run it again with identical parameters, using the requesting users authentication in the new Job.","operationId":"repeatJobUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"jobId","in":"path","description":"Id of the Job to Repeat","required":true,"type":"string"}],"responses":{"201":{"description":"A new Job Id that corresponds to the cloned Job in Piazza.","schema":{"$ref":"#/definitions/JobResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"delete":{"tags":["Job"],"summary":"Abort Job","description":"Requests a Running Job to be cancelled. If the Job is already completed in some way, then cancellation will not occur.","operationId":"abortJobUsingDELETE","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"jobId","in":"path","description":"Id of the Job to cancel.","required":true,"type":"string"},{"name":"reason","in":"query","description":"Details for the cancellation of the Job.","required":false,"type":"string"}],"responses":{"200":{"description":"The Job has requested to be cancelled. This may take some time, as the process may not be in an easily cancelled state at the time the request is made.","schema":{"$ref":"#/definitions/SuccessResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/JobErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/profile":{"get":{"tags":["User"],"summary":"Get Current User Profile","description":"Gets the User Profile for the user based on provided API Key from Authentication block.","operationId":"getUserProfileUsingGET","consumes":["application/json"],"produces":["*/*"],"responses":{"200":{"description":"User Profile information.","schema":{"$ref":"#/definitions/UserProfileResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/service":{"get":{"tags":["Service"],"summary":"Retrieve list of Services","description":"Retrieves the list of available Services currently registered to this Piazza system.","operationId":"getServicesUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"keyword","in":"query","description":"A general keyword search to apply to all Services.","required":false,"type":"string"},{"name":"page","in":"query","description":"Paginating large results. This will determine the starting page for the query.","required":false,"type":"integer","default":0,"format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","default":10,"format":"int32"},{"name":"createdBy","in":"query","description":"Filter for the user name that published the service.","required":false,"type":"string"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string","default":"desc"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string","default":"resourceMetadata.createdOn"}],"responses":{"200":{"description":"The list of Services registered to Piazza.","schema":{"$ref":"#/definitions/ServiceResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"post":{"tags":["Service"],"summary":"Register new Service definition","description":"Creates a new Service with the Piazza Service Controller; that can be invoked through Piazza jobs with Piazza data.","operationId":"registerServiceUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"service","description":"The metadata for the service. This includes the URL, parameters, inputs and outputs. It also includes other release metadata such as classification and availability.","required":true,"schema":{"$ref":"#/definitions/Service"}}],"responses":{"201":{"description":"The Id of the newly created Service","schema":{"$ref":"#/definitions/ServiceIdResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/service/me":{"get":{"tags":["Service"],"summary":"Retrieve list of Services","description":"Retrieves the list of available Services currently registered to this Piazza system.","operationId":"getServicesForCurrentUserUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"keyword","in":"query","description":"A general keyword search to apply to all Services.","required":false,"type":"string"},{"name":"page","in":"query","description":"Paginating large results. This will determine the starting page for the query.","required":false,"type":"integer","default":0,"format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","default":10,"format":"int32"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string","default":"asc"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string"}],"responses":{"200":{"description":"The list of Services registered to Piazza.","schema":{"$ref":"#/definitions/ServiceResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/service/query":{"post":{"tags":["Search","Service"],"summary":"Query Metadata in Piazza Services","description":"Sends a complex query message to the Piazza Search component, that allow users to search for registered Services. Searching is capable of filtering by keywords, spatial metadata, or other dynamic information.","operationId":"searchServicesUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"search","description":"The Query string for the Search component.","required":true,"schema":{"$ref":"#/definitions/SearchRequest"}},{"name":"page","in":"query","description":"Paginating large datasets. This will determine the starting page for the query.","required":false,"type":"integer","default":0,"format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","default":10,"format":"int32"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string","default":"desc"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string","default":"service.serviceId"}],"responses":{"200":{"description":"The list of Search results that match the query string.","schema":{"$ref":"#/definitions/ServiceResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/service/{serviceId}":{"get":{"tags":["Service"],"summary":"Retrieve Service information","description":"Gets a Service by its Id","operationId":"getServiceUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"serviceId","in":"path","description":"The Id of the Service to retrieve.","required":true,"type":"string"}],"responses":{"200":{"description":"The Service object.","schema":{"$ref":"#/definitions/ServiceResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"put":{"tags":["Service"],"summary":"Update Service Information","description":"Updates Service Metadata, to the Service specified by Id.","operationId":"updateServiceUsingPUT","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"serviceId","in":"path","description":"The Id of the Service to Update.","required":true,"type":"string"},{"in":"body","name":"service","description":"The Service Metadata. All properties specified in the Service data here will overwrite the existing properties of the Service.","required":true,"schema":{"$ref":"#/definitions/Service"}}],"responses":{"200":{"description":"Confirmation of Update.","schema":{"$ref":"#/definitions/SuccessResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"delete":{"tags":["Service"],"summary":"Unregister a Service","description":"Unregisters a Service by its Id.","operationId":"deleteServiceUsingDELETE","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"serviceId","in":"path","description":"The Id of the Service to unregister.","required":true,"type":"string"},{"name":"softDelete","in":"query","description":"Determines if the Service should be completely removed, or just disabled. If set to false, the Service will be entirely deleted.","required":false,"type":"boolean"}],"responses":{"200":{"description":"Confirmation of Deleted.","schema":{"$ref":"#/definitions/SuccessResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/service/{serviceId}/task":{"post":{"tags":["Service"],"summary":"Get Next Job in Service's Job Queue","description":"For the specified Service, assuming it was registed as a Task-Managed Service, this will retrieve the next Job off of that Service's Jobs Queue.","operationId":"getNextJobInQueueUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"serviceId","in":"path","description":"The Id of the Service whose Queue to retrieve a Job from.","required":false,"type":"string"}],"responses":{"200":{"description":"The payload containing the Job information, including input and Id.","schema":{"$ref":"#/definitions/ServiceJobResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/service/{serviceId}/task/metadata":{"get":{"tags":["Service"],"summary":"Get Task-Managed Service Metadata","description":"Returns specific metadata on the current Job Queue for a Task-Managed Service, such as the number of jobs currently in the queue.","operationId":"getServiceQueueDataUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"serviceId","in":"path","description":"serviceId","required":true,"type":"string"}],"responses":{"200":{"description":"Metadata information","schema":{"type":"object"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/service/{serviceId}/task/{jobId}":{"post":{"tags":["Service"],"summary":"Update Job information for the specified Service.","description":"Allows for updating of Status (including Results) for Jobs handled by a Task-Managed User Service","operationId":"updateServiceJobStatusUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"serviceId","in":"path","description":"The Id of the Service whose Job to Update.","required":false,"type":"string"},{"name":"jobId","in":"path","description":"The Id of the Job whose Status to Update.","required":false,"type":"string"},{"in":"body","name":"statusUpdate","description":"The contents of the Status Update.","required":false,"schema":{"$ref":"#/definitions/StatusUpdate"}}],"responses":{"200":{"description":"OK message stating the update succeeded","schema":{"$ref":"#/definitions/SuccessResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/trigger":{"get":{"tags":["Trigger","Workflow"],"summary":"List Triggers","description":"Returns an array of Triggers","operationId":"getTriggersUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"page","in":"query","description":"Paginating large numbers of results. This will determine the starting page for the query.","required":false,"type":"integer","default":0,"format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","default":10,"format":"int32"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string","default":"desc"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string","default":"createdOn"}],"responses":{"200":{"description":"The list of Triggers.","schema":{"$ref":"#/definitions/TriggerResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"post":{"tags":["Trigger","Workflow"],"summary":"Creates a Trigger","description":"Creates a new Trigger","operationId":"createTriggerUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"trigger","description":"The Trigger information to register. This defines the Conditions that must be hit in order for some Action to occur.","required":true,"schema":{"$ref":"#/definitions/Trigger"}}],"responses":{"201":{"description":"The newly created Trigger","schema":{"$ref":"#/definitions/TriggerResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/trigger/query":{"post":{"tags":["Search","Trigger","Workflow"],"summary":"Query Triggers in Piazza Workflow","description":"Sends a complex query message to the Piazza Workflow component, that allow users to search for Triggers. Searching is capable of filtering by keywords or other dynamic information.","operationId":"searchTriggersUsingPOST","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"query","description":"The Query string for the Workflow component.","required":true,"schema":{"$ref":"#/definitions/SearchRequest"}},{"name":"page","in":"query","description":"Paginating large datasets. This will determine the starting page for the query.","required":false,"type":"integer","format":"int32"},{"name":"perPage","in":"query","description":"The number of results to be returned per query.","required":false,"type":"integer","format":"int32"},{"name":"order","in":"query","description":"Indicates ascending or descending order.","required":false,"type":"string"},{"name":"sortBy","in":"query","description":"The data field to sort by.","required":false,"type":"string"}],"responses":{"200":{"description":"The list of Trigger results that match the query string.","schema":{"$ref":"#/definitions/TriggerResults"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/trigger/{triggerId}":{"get":{"tags":["Trigger","Workflow"],"summary":"Gets a Trigger","description":"Gets a Trigger by its Id.","operationId":"getTriggerUsingGET","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"triggerId","in":"path","description":"The Id of the Trigger to retrieve.","required":true,"type":"string"}],"responses":{"200":{"description":"The Trigger definition matching the specified Trigger Id","schema":{"$ref":"#/definitions/Trigger"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"put":{"tags":["Trigger","Workflow"],"summary":"Update a Trigger","description":"This will update the Trigger to either be enabled or disabled.","operationId":"updateMetadataUsingPUT","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"triggerId","in":"path","description":"Id of the Trigger to update","required":true,"type":"string"},{"in":"body","name":"triggerUpdate","description":"The object containing the boolean field to enable or disable","required":true,"schema":{"$ref":"#/definitions/TriggerUpdate"}}],"responses":{"200":{"description":"Confirmation that the Trigger has been updated.","schema":{"$ref":"#/definitions/SuccessResponse"}},"400":{"description":"Bad Request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"delete":{"tags":["Trigger","Workflow"],"summary":"Deletes a Trigger","description":"Deletes a Trigger. This Trigger will no longer listen for conditions for events to fire.","operationId":"deleteTriggerUsingDELETE","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"triggerId","in":"path","description":"The Id of the Trigger to delete.","required":true,"type":"string"}],"responses":{"200":{"description":"Message indicating Trigger was deleted successfully","schema":{"$ref":"#/definitions/SuccessResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/ErrorResponse"}}}}},"/v2/key":{"get":{"tags":["User"],"summary":"Get Current API Key","description":"Gets the current API Key based on the provided Authentication block. Will not create a new key.","operationId":"getExistingApiKeyV2UsingGET","consumes":["application/json"],"produces":["*/*"],"responses":{"200":{"description":"API Key information.","schema":{"$ref":"#/definitions/UUIDResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}},"post":{"tags":["User"],"summary":"Create new API Key","description":"Creates a new Piazza API Key based on the Authentication block. This creates a new Key and overrides any previous keys.","operationId":"getNewApiKeyV2UsingPOST","consumes":["application/json"],"produces":["*/*"],"responses":{"200":{"description":"API Key information.","schema":{"$ref":"#/definitions/UUIDResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"500":{"description":"Internal Error","schema":{"$ref":"#/definitions/ErrorResponse"}}}}}},"definitions":{"TextDataType":{"type":"object","required":["content"],"properties":{"content":{"type":"string","description":"The text content of the Data"},"mimeType":{"type":"string","description":"The media type of the stored Data. Refer to http://www.iana.org for standard values"}}},"EventType":{"type":"object","required":["createdBy","eventTypeId","name"],"properties":{"createdBy":{"type":"string","description":"Supplied by system"},"createdOn":{"type":"string"},"eventTypeId":{"type":"string","description":"The unique Id of this EventType. Not used in POST requests"},"mapping":{"type":"object","description":"The map of key-value pairs that define the properties of this EventType. The key is the name of the property, and the value is the type of that property. Valid types are 'string', 'boolean', 'integer', 'double' 'date', 'float', 'short', 'long' and 'byte''"},"name":{"type":"string","description":"A human-readable name for this EventType"}}},"UUIDResponse":{"type":"object","required":["uuid"],"properties":{"uuid":{"type":"string","description":"Contains the Id for the requested user"}}},"ErrorResult":{"type":"object","required":["message"],"properties":{"details":{"type":"string","description":"Specific details regarding the error"},"message":{"type":"object","description":"A description of the error describing the failure"},"statusCode":{"type":"integer","format":"int32","description":"Specific statusCode for errors if available"}}},"Deployment":{"type":"object","required":["deploymentId"],"properties":{"capabilitiesUrl":{"type":"string","description":"Fully qualified URL for accessing the GetCapabilities action for the Deployment service"},"createdOn":{"type":"string"},"dataId":{"type":"string","description":"The unique Id of the Data that this Deployment hosts"},"deploymentId":{"type":"string","description":"The unique Id for this Deployment"},"host":{"type":"string","description":"The host name for the Deployment server"},"layer":{"type":"string","description":"The layer name for the hosted service on the Deployment server"},"port":{"type":"string","description":"The port number for the Deployment server"}}},"ServiceIdResponse":{"type":"object","required":["data"],"properties":{"data":{"description":"The Object containing the Service Id","$ref":"#/definitions/ServiceIdData"}}},"ServiceJobResponse":{"type":"object","required":["data"],"properties":{"data":{"description":"The Service Job Metadata.","$ref":"#/definitions/ServiceJobData"}}},"Pagination":{"type":"object","required":["count","order","page","perPage","sortBy"],"properties":{"count":{"type":"integer","format":"int32","description":"The number of results that matched the query"},"order":{"type":"string","description":"The order of the results. Either 'asc' or 'desc' for ascending or descending"},"page":{"type":"integer","format":"int32","description":"The current page returned"},"perPage":{"type":"integer","format":"int32","description":"The current number of results returned per page"},"sortBy":{"type":"string","description":"The field that the data is being sorted by"}}},"ServiceResults":{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","description":"The array of Service results","items":{"$ref":"#/definitions/Service"}},"pagination":{"description":"The pagination metadata for this query","$ref":"#/definitions/Pagination"}}},"Trigger":{"type":"object","required":["condition","createdBy","createdOn","enabled","eventTypeId","job","name","percolationId","triggerId"],"properties":{"condition":{"type":"object","description":"Elastic Search DSL Query 2.2, for details see https://www.elastic.co/guide/en/elasticsearch/reference/2.2/query-dsl.html"},"createdBy":{"type":"string","description":"Supplied by system"},"createdOn":{"type":"string","description":"Supplied by system"},"enabled":{"type":"boolean","example":false,"description":"Field that will determine if the trigger fires"},"eventTypeId":{"type":"string","description":"The EventTypeId of the EventType to run the query for"},"job":{"description":"The template of the Job to be executed when the conditions are met","$ref":"#/definitions/PiazzaJobRequest"},"name":{"type":"string","description":"The description of what this Trigger intends to accomplish"},"percolationId":{"type":"string","description":"Supplied by system"},"triggerId":{"type":"string","description":"The unique Id for this Trigger. Not used in POST requests"}}},"URLParameterDataType":{"type":"object","required":["content"],"properties":{"content":{"type":"string","description":"The text content of the Data"},"mimeType":{"type":"string","description":"The media type of the stored Data. Refer to http://www.iana.org for standard values"}}},"JobErrorResponse":{"type":"object","required":["jobId","message"],"properties":{"jobId":{"type":"string","description":"The Id of the associated Job that encountered an Error"},"message":{"type":"string","description":"A description of the error describing the failure"},"origin":{"type":"string","description":"The Piazza component where the error originated"}}},"BodyDataType":{"type":"object","required":["content"],"properties":{"content":{"type":"string","description":"The text content of the Data"},"mimeType":{"type":"string","description":"The media type of the stored Data. Refer to http://www.iana.org for standard values"}}},"TextKeyValue":{"type":"object","required":["key","value"],"properties":{"key":{"type":"string","description":"The pair key"},"value":{"type":"string","description":"The value for the key"}}},"JobTypeInterface":{"type":"object","properties":{"impl01":{"description":"AbortJob Implementation","$ref":"#/definitions/AbortJob"},"impl02":{"description":"ExecuteServiceJob Implementation","$ref":"#/definitions/ExecuteJob"},"impl03":{"description":"RepeatJob Implementation","$ref":"#/definitions/RepeatJob"}}},"LoadJob":{"type":"object","required":["data","host","type"],"properties":{"data":{"description":"The Description of the Data being loaded, including metadata, and the path to the Data","$ref":"#/definitions/DataResource"},"host":{"type":"boolean","example":false,"description":"Dictates if Piazza should internally host the Data or not. If set to true, then the Data will be stored in Piazza's Data holdings. If false, then Piazza will point to the location of the Data, but will not store the Data internally"},"type":{"type":"string","description":"The type of Job","enum":["ingest"]}}},"JobStatusResponse":{"type":"object","required":["data"],"properties":{"data":{"description":"Contains the Job Status Information","$ref":"#/definitions/JobStatusData"}}},"SuccessResponse":{"type":"object","properties":{"data":{"description":"Object describing the nature of the action that took place","$ref":"#/definitions/SuccessData"}}},"JobIdData":{"type":"object","required":["jobId"],"properties":{"jobId":{"type":"string","description":"The Id of the Job referenced in the request"}}},"GeoJsonDataType":{"type":"object","properties":{"databaseTableName":{"type":"string","description":"The name of the database table holding the Data"},"geoJsonContent":{"type":"string","description":"The GeoJSON content of the Data"},"location":{"description":"The location of the Data. Used to describe S3 stores, or folder shares, for where the Data is located","$ref":"#/definitions/FileLocationInterface"},"mimeType":{"type":"string","description":"The media type of the stored Data. Refer to http://www.iana.org for standard values"}}},"FolderShare":{"type":"object","required":["type"],"properties":{"fileName":{"type":"string","description":"The name of the file stored"},"filePath":{"type":"string","description":"The path to the file on the shared folder"},"fileSize":{"type":"integer","format":"int64","description":"The size of the file stored, in bytes"},"type":{"type":"string","description":"The type of file location","enum":["share"]}}},"JobResult":{"type":"object","required":["jobId"],"properties":{"jobId":{"type":"string","description":"The Id of the Job referenced in the request"}}},"PiazzaJobRequest":{"type":"object","properties":{"createdBy":{"type":"string","description":"The user that submitted the job"},"jobType":{"description":"The type of Job submitted","$ref":"#/definitions/JobTypeInterface"}}},"LiteralDataType":{"type":"object","required":["value"],"properties":{"literalType":{"type":"string","enum":["DOUBLE","FLOAT","SHORT","LONG","BYTE","CHAR","BOOLEAN","STRING"]},"mimeType":{"type":"string","description":"The media type of the stored Data"},"value":{"type":"string","description":"The content of the Data"}}},"DeploymentResult":{"type":"object","required":["deployment"],"properties":{"deployment":{"description":"Object containing metadata regarding a Piazza Deployment","$ref":"#/definitions/Deployment"}}},"ServiceIdData":{"type":"object","required":["serviceId"],"properties":{"serviceId":{"type":"string","description":"The Id of the Service referenced in the request"}}},"ResultType":{"type":"object"},"AlertResults":{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","description":"The array of Alert results","items":{"$ref":"#/definitions/Alert"}},"pagination":{"description":"The pagination metadata for this query","$ref":"#/definitions/Pagination"}}},"DeploymentGroupResponse":{"type":"object","required":["data"],"properties":{"data":{"description":"Object containing metadata regarding a Piazza DeploymentGroup","$ref":"#/definitions/DeploymentGroup"}}},"StatusUpdate":{"type":"object","properties":{"progress":{"description":"The Progress information of the Job, including time spent/remaining, or percentage complete.","$ref":"#/definitions/JobProgress"},"result":{"description":"The Result object of this Job.","$ref":"#/definitions/ResultType"},"status":{"type":"string","description":"The Status of the Service.","enum":["Submitted","Pending","Running","Success","Cancelled","Cancelling","Error","Fail"]}}},"PostGISDataType":{"type":"object","required":["database","table"],"properties":{"database":{"type":"string","description":"The name of the database hosting the Data"},"mimeType":{"type":"string","description":"The media type of the stored Data"},"table":{"type":"string","description":"The name of the database table holding the Data"}}},"AbortJob":{"type":"object","required":["jobId","type"],"properties":{"jobId":{"type":"string","description":"The Id of the subject Job"},"reason":{"type":"string","description":"The reason given for aborting the Job"},"type":{"type":"string","description":"The type of Job","enum":["abort"]}}},"ServiceJobData":{"type":"object","required":["jobId","serviceData"],"properties":{"jobId":{"type":"string","description":"The Id of the Job"},"serviceData":{"description":"The Service Job Execution Metadata","$ref":"#/definitions/ExecuteJob"}}},"JobStatusData":{"type":"object","required":["createdBy","createdOn","executedServiceId","jobType","status"],"properties":{"createdBy":{"type":"string","description":"The name of the user who submitted the Job"},"createdOn":{"type":"string","description":"The time the Job was requested."},"executedServiceId":{"type":"string","description":"If a Service Job, this will contain the Id of the Service that was executed."},"jobId":{"type":"string","description":"The Id of the Job."},"jobType":{"type":"string","description":"Polymorphically describes the information defining what actions this Job should take"},"progress":{"description":"Object containing metadata describing the current status of the Job","$ref":"#/definitions/JobProgress"},"result":{"description":"A reference to the Result of the Job. This could be a Resource Id, or a Service Id, in certain cases. Or perhaps an error if the Job encountered an error during processing","$ref":"#/definitions/ResultTypeInterface"},"status":{"type":"string","description":"The status of the Job. Submitted, Running, Success, Error, or Failure"}}},"DeploymentResults":{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","description":"The array of Deployment results","items":{"$ref":"#/definitions/Deployment"}},"pagination":{"description":"The pagination metadata for this query","$ref":"#/definitions/Pagination"}}},"WfsDataType":{"type":"object","required":["featureType","url","version"],"properties":{"featureType":{"type":"string","description":"The type of geospatial feature represented in the Data"},"mimeType":{"type":"string","description":"The media type of the stored Data"},"url":{"type":"string","description":"HTTP web address to the WFS endpoint"},"version":{"type":"string","description":"The current version of the Data"}}},"TriggerUpdate":{"type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean","example":false,"description":"Field that will determine if the trigger fires"}}},"JobProgress":{"type":"object","properties":{"percentComplete":{"type":"integer","format":"int32","description":"The percentage complete for the Job, in whole numbers, out of 100 percent"},"timeRemaining":{"type":"string","description":"The last value for the Time Remaining as reported by the processor of this Job"},"timeSpent":{"type":"string","description":"The amount of time spent by the processor of this Job, according to that processor"}}},"PointCloudDataType":{"type":"object","required":["location"],"properties":{"location":{"description":"The location of the Data. Used to describe S3 stores, or folder shares, for where the Data is located","$ref":"#/definitions/FileLocationInterface"},"mimeType":{"type":"string","description":"The media type of the stored Data"}}},"SearchRequest":{"type":"object","required":["query"],"properties":{"query":{"type":"object","description":"Elastic Search DSL Query 2.2, for details see https://www.elastic.co/guide/en/elasticsearch/reference/2.2/query-dsl.html"}}},"PiazzaResponse":{"type":"object"},"DeploymentData":{"type":"object","required":["deployment","expiresOn"],"properties":{"deployment":{"description":"The Deployment metadata, including GIS Server URL to access the data","$ref":"#/definitions/Deployment"},"expiresOn":{"type":"string","description":"If one exists, the date at which this Deployment may be subject to automatic resource cleanup on the Piazza GIS Server"}}},"DataResourceResults":{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","description":"The array of Data Resource results","items":{"$ref":"#/definitions/DataResource"}},"pagination":{"description":"The pagination metadata for this query","$ref":"#/definitions/Pagination"}}},"UserProfileResponse":{"type":"object","required":["data"],"properties":{"data":{"description":"The Object containing the User Profile.","$ref":"#/definitions/UserProfileData"}}},"UserProfile":{"type":"object","properties":{"createdBy":{"type":"string"},"createdOn":{"type":"string"},"distinguishedName":{"type":"string"},"profileTemplateId":{"type":"string"},"username":{"type":"string"}}},"EventResults":{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","description":"The array of Event results","items":{"$ref":"#/definitions/Event"}},"pagination":{"description":"The pagination metadata for this query","$ref":"#/definitions/Pagination"}}},"FileLocationInterface":{"type":"object","properties":{"impl01":{"description":"S3FileStore Implementation","$ref":"#/definitions/S3FileStore"},"impl02":{"description":"FolderShare Implementation","$ref":"#/definitions/FolderShare"}}},"JobResponse":{"type":"object","required":["data"],"properties":{"data":{"description":"The Object containing the Job Id","$ref":"#/definitions/JobIdData"}}},"UserProfileData":{"type":"object","required":["userProfile"],"properties":{"userProfile":{"description":"The User Profile information.","$ref":"#/definitions/UserProfile"}}},"DataTypeInterface":{"type":"object","properties":{"impl01":{"description":"BodyDataType Implementation","$ref":"#/definitions/BodyDataType"},"impl02":{"description":"GeoJsonDataType Implementation","$ref":"#/definitions/GeoJsonDataType"},"impl03":{"description":"LiteralDataType Implementation","$ref":"#/definitions/LiteralDataType"},"impl04":{"description":"PointCloudDataType Implementation","$ref":"#/definitions/PointCloudDataType"},"impl05":{"description":"PostGISDataType Implementation","$ref":"#/definitions/PostGISDataType"},"impl06":{"description":"RasterDataType Implementation","$ref":"#/definitions/RasterDataType"},"impl07":{"description":"ShapefileDataType Implementation","$ref":"#/definitions/ShapefileDataType"},"impl08":{"description":"TextDataType Implementation","$ref":"#/definitions/TextDataType"},"impl09":{"description":"URLParameterDataType Implementation","$ref":"#/definitions/URLParameterDataType"},"impl10":{"description":"WfsDataType Implementation","$ref":"#/definitions/WfsDataType"}}},"TriggerResults":{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","description":"The array of Trigger results","items":{"$ref":"#/definitions/Trigger"}},"pagination":{"description":"The pagination metadata for this query","$ref":"#/definitions/Pagination"}}},"ResourceMetadata":{"type":"object","required":["classType"],"properties":{"availability":{"type":"string","description":"Describes the status of the resource(ONLINE, FAILED (The resoure has failed), DEGRADED (The resource is not performing well), OFFLINE (the resource has been turned off)","enum":["status_type"]},"classType":{"description":"Classification of the resource","$ref":"#/definitions/SecurityClassification"},"clientCertRequired":{"type":"boolean","example":false,"description":"Indication on whether a client certificate required to access thie resource. Could be a user certificate or computer certificate"},"contacts":{"type":"string","description":"Name, e-mail and phone number of point of contact (String concatenated together)"},"createdBy":{"type":"string","description":"Username of the individual submitting the resource"},"createdByJobId":{"type":"string","description":"Provided by the system. If available, the Id of the Job that resulted in the creation of this resource."},"createdOn":{"type":"string","description":"The date and time of data submission to Piazza"},"credentialsRequired":{"type":"boolean","example":false,"description":"Indication on whether credentials are required to access this resource"},"description":{"type":"string","description":"Human-readable description of the resource"},"format":{"type":"string","description":"In case of ComplexData, Format defines the allowed input representation"},"metadata":{"type":"object","description":"A generic Map of String:String (key:value) pairs with additional metadata","additionalProperties":{"type":"string"}},"name":{"type":"string","description":"Human-readable name of the resource"},"networkAvailable":{"type":"string","description":"A list of networks names where this resource is available"},"numericKeyValueList":{"type":"array","description":"Allows for the optional specification of user-defined key-value pairs of numeric values","items":{"$ref":"#/definitions/NumericKeyValue"}},"preAuthRequired":{"type":"boolean","example":false,"description":"Indication on whether preauthorization is required before using the resource? (e.g. do users need to sign a user agreement, etc.)"},"qos":{"type":"string","description":"Quality level of the resource (Production, Development)"},"reason":{"type":"string","description":"Human readable reason on the status of the resource"},"statusType":{"type":"string","description":"Status of the resource","enum":["ONLINE","OFFLINE","DEGRADED","FAILED"]},"tags":{"type":"string","description":"Keywords describing the resource"},"textKeyValueList":{"type":"array","description":"Allows for the optional specification ofu ser-defined key-value pairs for string values","items":{"$ref":"#/definitions/TextKeyValue"}},"version":{"type":"string","description":"The current version of the resource"}}},"SecurityClassification":{"type":"object","required":["classification"],"properties":{"classification":{"type":"string","description":"The security classification marking for the Data"}}},"RasterDataType":{"type":"object","required":["location"],"properties":{"location":{"description":"The location of the Data. Used to describe S3 stores, or folder shares, for where the Data is located","$ref":"#/definitions/FileLocationInterface"},"mimeType":{"type":"string","description":"The media type of the stored Data"}}},"ServiceResponse":{"type":"object","required":["data"],"properties":{"data":{"description":"Object containing information regarding a Piazza Service","$ref":"#/definitions/Service"}}},"EventResponse":{"type":"object","required":["data"],"properties":{"data":{"description":"Object containing information regarding a Piazza Event","$ref":"#/definitions/Event"}}},"ExecuteJob":{"type":"object","required":["data","type"],"properties":{"data":{"description":"The parameter inputs for Service execution","$ref":"#/definitions/ExecuteServiceData"},"jobId":{"type":"string","description":"Specified by the system. The Job Id created for executing the Service"},"type":{"type":"string","description":"The type of Job","enum":["execute-service"]}}},"RepeatJob":{"type":"object","required":["jobId","type"],"properties":{"jobId":{"type":"string","description":"The Id of the subject Job"},"type":{"type":"string","description":"The type of Job","enum":["repeat"]}}},"DataResult":{"type":"object","required":["dataId"],"properties":{"dataId":{"type":"string","description":"The unique Id of the Data resource"}}},"ShapefileDataType":{"type":"object","properties":{"databaseTableName":{"type":"string","description":"The PostGIS table name that contains the Shapefile Data"},"location":{"description":"The location of the Data. Used to describe S3 stores, or folder shares, for where the Data is located","$ref":"#/definitions/FileLocationInterface"},"mimeType":{"type":"string","description":"The media type of the stored Data"}}},"TextResult":{"type":"object","required":["text"],"properties":{"text":{"type":"object","description":"The text content of the Data"}}},"EventTypeResponse":{"type":"object","required":["data"],"properties":{"data":{"description":"Object containing information regarding a Piazza EventType","$ref":"#/definitions/EventType"}}},"SuccessData":{"type":"object","properties":{"message":{"type":"string","description":"A description of the successful operation performed"},"origin":{"type":"string","description":"The Piazza component where the message originated"}}},"SpatialMetadata":{"type":"object","properties":{"coordinateReferenceSystem":{"type":"string","description":"The CRS (Coordinate Reference System) of the data"},"epsgCode":{"type":"integer","format":"int32","description":"The EPSG code of the CRS"},"maxX":{"type":"number","format":"double","description":"The maximum X ordinate of the bounding box"},"maxY":{"type":"number","format":"double","description":"The maximum Y ordinate of the bounding box"},"maxZ":{"type":"number","format":"double","description":"The maximum Z ordinate of the bounding box"},"minX":{"type":"number","format":"double","description":"The minimum X ordinate of the bounding box"},"minY":{"type":"number","format":"double","description":"The minimum Y ordinate of the bounding box"},"minZ":{"type":"number","format":"double","description":"The minimum Z ordinate of the bounding box"},"numFeatures":{"type":"integer","format":"int32","description":"The number of features contained in the resource"},"projectedSpatialMetadata":{"description":"Supplied by the System. If populated, this contains the spatial bounding box of the dataset in a reprojection to WGS84 (EPSG 4326)","$ref":"#/definitions/SpatialMetadata"}}},"DataResourceResponse":{"type":"object","required":["data"],"properties":{"data":{"description":"Object containing metadata describing the Data","$ref":"#/definitions/DataResource"}}},"NumericKeyValue":{"type":"object","required":["key","value"],"properties":{"key":{"type":"string","description":"The pair key"},"value":{"type":"number","format":"double","description":"The value for the key"}}},"Service":{"type":"object","required":["contractUrl","method","url"],"properties":{"contractUrl":{"type":"string","description":"URL to the schema or contract to interface with the Service, such as a Swagger file, or documentation"},"heartbeat":{"type":"integer","format":"int64","description":"The frequency in which Piazza sends heartbeat requests to check on the health of the Service (defaults to 120 seconds)"},"isAsynchronous":{"type":"boolean","example":false,"description":"Determines if this User Service is a long-running service that supports asynchronous endpoints, or if this is a synchronous service that returns results directly. If `isTaskManaged` is set to `true`, then this value is ignored."},"isTaskManaged":{"type":"boolean","example":false,"description":"Determines if this User Service uses Piazza Task Management as a Service functionality. If this value is set to true, then the `isSynchronous` value is ignored."},"method":{"type":"string","description":"The HTTP Method used to invoke this User Service. For Asynchronous Services, this applies only to the Execution endpoint.","enum":["GET","HEAD","POST","PUT","DELETE","TRACE","CONNECT"]},"methodType":{"type":"string","description":"HTTP method types","enum":["GET","HEAD","POST","PUT","DELETE","TRACE","CONNECT"]},"resourceMetadata":{"description":"Object of common metadata fields used to describe Data or Services within the Piazza system","$ref":"#/definitions/ResourceMetadata"},"serviceId":{"type":"string","description":"Provided by the System. The unique Id of the Service"},"taskAdministrators":{"type":"array","description":"The list of Piazza user names (not API Keys) who are able to administrate this services Task Management capabilities. By default, the user registering the service will have these privelages. This user list is only applicable if `isTaskManaged` is set to `true`.","items":{"type":"string"}},"timeout":{"type":"integer","format":"int64","description":"The timeout in seconds Piazza waits for a response (defaults to 600 seconds)"},"url":{"type":"string","description":"The URL to the user Service to be executed. This is *optional* for Task Managed services, and rqeuired for all other types."}}},"DataResource":{"type":"object","required":["dataType"],"properties":{"dataId":{"type":"string","description":"Provided by the System. The unique Id of the Data"},"dataType":{"description":"Polymorphically defines the information specific to this Data Resource, based on its format","$ref":"#/definitions/DataTypeInterface"},"metadata":{"description":"Object of common metadata fields used to describe Data or Services within the Piazza system","$ref":"#/definitions/ResourceMetadata"},"spatialMetadata":{"description":"Supplied by the System. Object of spatial metadata fields associated with a Resource. Used to generically specify the bounding box and the spatial reference of a dataset in its native projection system","$ref":"#/definitions/SpatialMetadata"}}},"ResultTypeInterface":{"type":"object","properties":{"impl01":{"description":"DataResult Implementation","$ref":"#/definitions/DataResult"},"impl02":{"description":"DeploymentResult Implementation","$ref":"#/definitions/DeploymentResult"},"impl03":{"description":"ErrorResult Implementation","$ref":"#/definitions/ErrorResult"},"impl04":{"description":"FileResult Implementation","$ref":"#/definitions/FileResult"},"impl05":{"description":"JobResult Implementation","$ref":"#/definitions/JobResult"},"impl06":{"description":"TextResult Implementation","$ref":"#/definitions/TextResult"}}},"EventTypeResults":{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","description":"The array of EventType results","items":{"$ref":"#/definitions/EventType"}},"pagination":{"description":"The pagination metadata for this query","$ref":"#/definitions/Pagination"}}},"ErrorResponse":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"A description of the error describing the failure"},"origin":{"type":"string","description":"The Piazza component where the error originated"}}},"FileResult":{"type":"object","required":["dataId"],"properties":{"dataId":{"type":"string","description":"The unique Id of the Data resource"}}},"ExecuteServiceData":{"type":"object","required":["dataInputs","dataOutput","serviceId"],"properties":{"dataInputs":{"description":"The Inputs for the execution","$ref":"#/definitions/DataTypeInterface"},"dataOutput":{"description":"The Output for the execution","$ref":"#/definitions/DataTypeInterface"},"serviceId":{"type":"string","description":"The Id of the Service to Execute"}}},"AccessJob":{"type":"object","required":["dataId","deploymentType","type"],"properties":{"dataId":{"type":"string","description":"The Id of the subject Data"},"deploymentGroupId":{"type":"string","description":"Optional. If provided, the Deployment will also be added to the specified DeploymentGroup"},"deploymentType":{"type":"string","example":"geoserver","description":"The type of Deployment, such as hosted on a Piazza GIS Server instance. Currently, the only acceptable value for this is 'geoserver'"},"durationDays":{"type":"integer","format":"int32","description":"Optional. The number of days that this Deployment will be needed for. Once the Deployment expires, it is subject to automatic resource cleanup on the Piazza GIS Server"},"type":{"type":"string","description":"The type of Job","enum":["access"]}}},"DeploymentResponse":{"type":"object","required":["data"],"properties":{"data":{"description":"Contains the Deployment and the Expiration Date","$ref":"#/definitions/DeploymentData"}}},"Event":{"type":"object","required":["createdBy","createdOn","data","eventId","eventTypeId"],"properties":{"createdBy":{"type":"string","description":"Supplied by system"},"createdOn":{"type":"string","description":"Supplied by system"},"cronSchedule":{"type":"string","description":"Optional. The cron expression representing the schedule at which this event will be repeated"},"data":{"type":"object","description":"The populated values for the Key-value pairs defined by the EventType's 'mapping' dictionary. Each value in this dictionary must be populated here under this 'data' property"},"eventId":{"type":"string","description":"The unique Id for this Event. Not used in POST requests"},"eventTypeId":{"type":"string","description":"The unique Id of the EventType whose schema this Event conforms to"}}},"Alert":{"type":"object","required":["alertId","createdBy","createdOn","eventId","jobId","triggerId"],"properties":{"alertId":{"type":"string","description":"The unique Id for this Alert"},"createdBy":{"type":"string","description":"Supplied by system"},"createdOn":{"type":"string","description":"Supplied by system"},"eventId":{"type":"string","description":"The unique Id for the Event that fired the Trigger"},"jobId":{"type":"string","description":"The unique Id for the Job that was submitted"},"triggerId":{"type":"string","description":"The unique Id for the Trigger that was fired"}}},"TriggerResponse":{"type":"object","required":["data"],"properties":{"data":{"description":"Object containing information regarding a Piazza Trigger","$ref":"#/definitions/Trigger"}}},"S3FileStore":{"type":"object","required":["type"],"properties":{"bucketName":{"type":"string","description":"The name of the Amazon S3 bucket hosting the data"},"domainName":{"type":"string","description":"The name of the domain in the Amazon S3 URL hosting the data"},"fileName":{"type":"string","description":"The name of the file stored"},"fileSize":{"type":"integer","format":"int64","description":"The size of the file stored, in bytes"},"type":{"type":"string","description":"The type of file location","enum":["s3"]}}},"DeploymentGroup":{"type":"object","required":["createdBy","deploymentGroupId","hasGisServerLayer"],"properties":{"createdBy":{"type":"string","description":"The user who created this DeploymentGroup"},"deploymentGroupId":{"type":"string","description":"The unique identifier for this DeploymentGroup"},"hasGisServerLayer":{"type":"boolean","example":false,"description":"Determines if the GIS Server instance has a corresponding Layer Group for this DeploymentGroup"}}}}}