{"tags":[{"name":"admin","description":"General Admin Endpoints"},{"name":"admin-apps","description":"App Administration Endpoints"},{"name":"admin-comments","description":"Comment Administration Endpoints"},{"name":"admin-communities","description":"Community Administration Endpoints"},{"name":"admin-filesystem","description":"File System Administration Endpoints"},{"name":"admin-instant-launches","description":"Instant Launch Administration Endpoints"},{"name":"admin-permanent-id-requests","description":"Admin Permanent ID Request Endpoints"},{"name":"admin-qms","description":"Admin Quota Management Service Endpoints"},{"name":"admin-reference-genomes","description":"Admin Reference Genome Endpoints"},{"name":"admin-request-types","description":"Admin Request Type Endpoints"},{"name":"admin-requests","description":"Admin Request Endpoints"},{"name":"admin-resource-usage","description":"Resource Usage Administration Endpoints"},{"name":"admin-settings","description":"Admin Setting Endpoints"},{"name":"admin-token","description":"Admin OAuth Tokens"},{"name":"admin-tools","description":"Admin Tool Endpoints"},{"name":"admin-tool-requests","description":"Admin Tool Request Endpoints"},{"name":"admin-user-info","description":"User Info Administration Endpoints"},{"name":"admin-vice","description":"VICE Administration Endpoints"},{"name":"analyses","description":"Analysis Endpoints"},{"name":"analyses-quicklaunches","description":"Quick Launch Endpoints"},{"name":"apps","description":"Apps Endpoints"},{"name":"app-categories","description":"App Category Endpoints"},{"name":"app-communities","description":"App Community Endpoints"},{"name":"app-community-tags","description":"App Community Tag Endpoints"},{"name":"app-hierarchies","description":"App Hierarchy Endpoints"},{"name":"app-element-types","description":"App Element Endpoints"},{"name":"app-metadata","description":"App Metadata Endpoints"},{"name":"app-pipelines","description":"App Pipeline Endpoints"},{"name":"app-versions","description":"App Version Endpoints"},{"name":"bags","description":"Item Bag Endpoints"},{"name":"bootstrap","description":"Bootstrap Endpoints"},{"name":"callbacks","description":"Callback Endpoints"},{"name":"coge","description":"CoGe Endpoints"},{"name":"collaborator-lists","description":"Collaborator List Endpoints"},{"name":"communities","description":"Community Endpoints"},{"name":"dashboard","description":"Dashboard Aggregator Endpoints"},{"name":"data","description":"Data Endpoints"},{"name":"favorites","description":"Favorites Endpoints"},{"name":"fileio","description":"File Input/Output Endpoints"},{"name":"filesystem","description":"Filesystem Endpoints"},{"name":"instant-launches","description":"Instant Launch Endpoints"},{"name":"notifications","description":"Notifications and related Endpoints"},{"name":"permanent-id-requests","description":"Permanent ID Request Endpoints"},{"name":"qms","description":"Quota Management Service Endpoints"},{"name":"reference-genomes","description":"Reference Genome Endpoints"},{"name":"requests","description":"Request Endpoints"},{"name":"resource-usage","description":"Resource Usage Endpoints"},{"name":"subjects","description":"Subject Endpoints"},{"name":"support","description":"Support Endpoints"},{"name":"tags","description":"Tag Endpoints"},{"name":"teams","description":"Team Endpoints"},{"name":"tools","description":"Tool Endpoints"},{"name":"gpu-models","description":"GPU Model Configuration Endpoints"},{"name":"tool-requests","description":"Tool Request Endpoints"},{"name":"token","description":"OAuth Tokens"},{"name":"user-info","description":"User Information Endpoints"},{"name":"webhooks","description":"Webhook Endpoints"},{"name":"vice","description":"VICE Endpoints"},{"name":"service-account-email","description":"Service Account Email Endpoints"},{"name":"service-account-qms","description":"Service Account QMS Endpoints"},{"name":"service-account-user-info","description":"Service Account User Info Endpoints"}],"securityDefinitions":{"basic":{"type":"basic"},"bearer":{"type":"apiKey","name":"Authorization","in":"header"}},"definitions":{"APIError":{"type":"object","properties":{"field":{"description":"The top-level JSON field whose generation caused the error to occur","type":"string"},"message":{"description":"The error message","type":"string"},"error_code":{"description":"The HTTP status code that was generated by the error","type":"integer","format":"int32"}},"additionalProperties":false,"required":["field","message","error_code"]},"AccessTokenResponse":{"type":"object","properties":{"access_token":{"description":"The access token","type":"string"},"expires_in":{"description":"The lifetime of the token in seconds","type":"integer","format":"int32"},"refresh_expires_in":{"description":"The lifetime of the refresh token in seconds","type":"integer","format":"int32"},"refresh_token":{"description":"The refresh token","type":"string"},"token_type":{"description":"The type of the access token","type":"string"},"not-before-policy":{"description":"The number of seconds before the token can be used","type":"integer","format":"int32"},"session_state":{"description":"A string representing the login state of the user","type":"string"},"scope":{"description":"The scopes granted to the access token","type":"string"}},"additionalProperties":false,"required":["access_token","expires_in"]},"AddBagResponse":{"type":"object","properties":{"id":{"description":"The UUID assigned to the bag","type":"string","format":"uuid"}},"additionalProperties":false,"required":["id"]},"AddCollaboratorListRequest":{"type":"object","properties":{"name":{"description":"The internal collaborator list name","type":"string"},"description":{"description":"A brief description of the collaborator list","type":"string"}},"additionalProperties":false,"required":["name"]},"AddCommunityRequest":{"type":"object","properties":{"name":{"description":"The internal community name","type":"string"},"description":{"description":"A brief description of the community","type":"string"}},"additionalProperties":false,"required":["name"]},"AddOn":{"type":"object","properties":{"uuid":{"description":"The UUID for the add-on","type":"string","format":"uuid"},"name":{"description":"The name of the add-on","type":"string"},"description":{"description":"The description of the add-on","type":"string"},"default_amount":{"description":"The amount of the resource provided by the add-on","type":"number","format":"double"},"default_paid":{"description":"Whether the add-on needs to be paid for","type":"boolean"},"resource_type":{"$ref":"#/definitions/NATSResourceType"},"addon_rates":{"description":"The rates associated with the addon","type":"array","items":{"$ref":"#/definitions/AddonRate"}}},"additionalProperties":false,"required":["name","description","default_amount","default_paid","resource_type","addon_rates"]},"AddOnSummary":{"description":"The add-on applied to the subscription","type":"object","properties":{"id":{"description":"The UUID for the add-on","type":"string","format":"uuid"},"name":{"description":"The name of the add-on","type":"string"},"description":{"description":"The description of the add-on","type":"string"},"default_amount":{"description":"The amount of the resource provided by the add-on","type":"number","format":"double"},"default_paid":{"description":"Whether the add-on needs to be paid for","type":"boolean"},"resource_type":{"$ref":"#/definitions/ResourceTypeSummary"}},"additionalProperties":false,"required":["id","name","description","default_amount","default_paid","resource_type"]},"AddTeamRequest":{"type":"object","properties":{"name":{"description":"The internal team name","type":"string"},"description":{"description":"A brief description of the team","type":"string"},"public_privileges":{"description":"Team privileges granted to all DE users","type":"array","items":{"type":"string","enum":["groupAttrRead","optin","admin","read","update","groupAttrUpdate","view","optout"]}}},"additionalProperties":false,"required":["name"]},"AddTicketErrorResponses":{"type":"object","properties":{"error_code":{"type":"string","enum":["ERR_NOT_A_USER","ERR_TOO_MANY_RESULTS","ERR_SCHEMA_VALIDATION","ERR_UNCHECKED_EXCEPTION","ERR_DOES_NOT_EXIST","ERR_NOT_WRITEABLE"]},"reason":{"description":"A brief text or object describing the reason for the error"}},"additionalProperties":false,"required":["error_code"]},"AddTicketResponse":{"type":"object","properties":{"user":{"description":"The user performing the request.","type":"string"},"tickets":{"description":"The tickets created","type":"array","items":{"$ref":"#/definitions/TicketDefinition"}}},"additionalProperties":false,"required":["user","tickets"]},"AddUsage":{"type":"object","properties":{"username":{"description":"A user's username","type":"string"},"resource_name":{"description":"The name of the resource that was used","type":"string"},"usage_value":{"description":"The usage value","type":"number","format":"double"},"update_type":{"description":"The update type","type":"string"}},"additionalProperties":false,"required":["username","resource_name","usage_value","update_type"]},"AddonIDBody":{"type":"object","properties":{"uuid":{"description":"The UUID assigned to an add-on","type":"string","format":"uuid"}},"additionalProperties":false,"required":["uuid"]},"AddonListResponse":{"type":"object","properties":{"addons":{"description":"The returned list of add-ons","type":"array","items":{"$ref":"#/definitions/AddOn"}}},"additionalProperties":false,"required":["addons"]},"AddonRate":{"type":"object","properties":{"uuid":{"description":"The UUID for the add-on rate","type":"string","format":"uuid"},"rate":{"description":"The rate charged for the add-on","type":"number","format":"double"},"effective_date":{"description":"The date and time that the addon rate becomes effective","type":"string"}},"additionalProperties":false},"AddonRateSummary":{"description":"The active rate for the addon when it was added to the subscription","type":"object","properties":{"id":{"description":"The UUID for the add-on rate","type":"string","format":"uuid"},"rate":{"description":"The rate charged for the add-on","type":"number","format":"double"},"effective_date":{"description":"The date and time that the addon rate becomes effective","type":"string"}},"additionalProperties":false,"required":["id","rate","effective_date"]},"AddonResponse":{"type":"object","properties":{"addon":{"$ref":"#/definitions/AddOn"}},"additionalProperties":false,"required":["addon"]},"AdminAppDetails":{"type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"deleted":{"description":"Whether the App is marked as deleted","type":"boolean"},"pipeline_eligibility":{"$ref":"#/definitions/PipelineEligibility"},"is_favorite":{"description":"Whether the current user has marked the App as a favorite","type":"boolean"},"integrator_name":{"description":"The App integrator's full name","type":"string"},"beta":{"description":"Whether the App has been marked as `beta` release status","type":"boolean"},"permission":{"description":"The user's access level for the app.","type":"string"},"isBlessed":{"description":"Whether the App has been marked as having been reviewed and certified by Discovery Environment\n                     administrators","type":"boolean"},"can_favor":{"description":"Whether the current user can favorite this App","type":"boolean"},"disabled":{"description":"Whether the App is marked as disabled","type":"boolean"},"can_rate":{"description":"Whether the current user can rate this App","type":"boolean"},"version_id":{"description":"The latest App version ID","type":"string"},"suggested_categories":{"description":"The list of Categories the integrator wishes to associate with the App","type":"array","items":{"$ref":"#/definitions/AppDetailCategory"}},"hierarchies":{"description":"A list of Ontology Class hierarchies","type":"array","items":{"$ref":"#/definitions/OntologyClassHierarchy"}},"name":{"description":"The App's name","type":"string"},"tools":{"description":"The tools used to execute the App","type":"array","items":{"$ref":"#/definitions/AppDetailsTool"}},"limitChecks":{"$ref":"#/definitions/AppLimitCheckResultSummary"},"extra":{"$ref":"#/definitions/AppExtraInfo"},"system_id":{"description":"The ID of the app execution system","type":"string"},"overall_job_type":{"description":"The type of the App's tool(s)","type":"string"},"references":{"description":"The App's references","type":"array","items":{"type":"string"}},"documentation":{"$ref":"#/definitions/AppDocumentation"},"categories":{"description":"The list of Categories associated with the App","type":"array","items":{"$ref":"#/definitions/AppDetailCategory"}},"is_public":{"description":"Whether the App has been published and is viewable by all users","type":"boolean"},"id":{"description":"The app ID.","type":"string"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"step_count":{"description":"The number of Tasks this App executes","type":"integer","format":"int64"},"can_run":{"description":"This flag is calculated by comparing the number of steps in the app to the number of steps\n                     that have a tool associated with them. If the numbers are different then this flag is set to\n                     `false`. The idea is that every step in the analysis has to have, at the very least, a tool\n                     associated with it in order to run successfully","type":"boolean"},"job_stats":{"$ref":"#/definitions/AdminAppListingJobStats"},"integrator_email":{"description":"The App integrator's email address","type":"string"},"app_type":{"description":"The type ID of the App","type":"string"},"wiki_url":{"description":"The App's documentation URL","type":"string"},"versions":{"description":"The list of available versions for this app","type":"array","items":{"$ref":"#/definitions/AppVersionDetails"}},"version":{"description":"The App's latest version","type":"string"},"rating":{"$ref":"#/definitions/Rating"}},"additionalProperties":false,"required":["description","deleted","pipeline_eligibility","integrator_name","permission","can_favor","disabled","can_rate","suggested_categories","name","tools","references","categories","is_public","id","step_count","can_run","integrator_email","app_type","rating"]},"AdminAppDetailsExtraHtcondor":{"type":"object","properties":{"extra_requirements":{"description":"A set of additional requirements to add to the HTCondor submit file","type":"string"}},"additionalProperties":false,"required":["extra_requirements"]},"AdminAppListing":{"type":"object","properties":{"total":{"description":"The total number of Apps in the listing","type":"integer","format":"int64"},"apps":{"description":"A listing of App details","type":"array","items":{"$ref":"#/definitions/AdminAppListingDetail"}}},"additionalProperties":false,"required":["total","apps"]},"AdminAppListingDetail":{"type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"deleted":{"description":"Whether the App is marked as deleted","type":"boolean"},"pipeline_eligibility":{"$ref":"#/definitions/PipelineEligibility"},"is_favorite":{"description":"Whether the current user has marked the App as a favorite","type":"boolean"},"integrator_name":{"description":"The App integrator's full name","type":"string"},"beta":{"description":"Whether the App has been marked as `beta` release status","type":"boolean"},"permission":{"description":"The user's access level for the app.","type":"string"},"isBlessed":{"description":"Whether the App has been marked as having been reviewed and certified by Discovery Environment\n                     administrators","type":"boolean"},"can_favor":{"description":"Whether the current user can favorite this App","type":"boolean"},"disabled":{"description":"Whether the App is marked as disabled","type":"boolean"},"can_rate":{"description":"Whether the current user can rate this App","type":"boolean"},"version_id":{"description":"The latest App version ID","type":"string"},"name":{"description":"The App's name","type":"string"},"limitChecks":{"$ref":"#/definitions/AppLimitCheckResultSummary"},"system_id":{"description":"The ID of the app execution system","type":"string"},"overall_job_type":{"description":"The type of the App's tool(s)","type":"string"},"is_public":{"description":"Whether the App has been published and is viewable by all users","type":"boolean"},"id":{"description":"The app ID.","type":"string"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"step_count":{"description":"The number of Tasks this App executes","type":"integer","format":"int64"},"can_run":{"description":"This flag is calculated by comparing the number of steps in the app to the number of steps\n                     that have a tool associated with them. If the numbers are different then this flag is set to\n                     `false`. The idea is that every step in the analysis has to have, at the very least, a tool\n                     associated with it in order to run successfully","type":"boolean"},"job_stats":{"$ref":"#/definitions/AdminAppListingJobStats"},"integrator_email":{"description":"The App integrator's email address","type":"string"},"app_type":{"description":"The type ID of the App","type":"string"},"wiki_url":{"description":"The App's documentation URL","type":"string"},"version":{"description":"The App's latest version","type":"string"},"rating":{"$ref":"#/definitions/Rating"}},"additionalProperties":false,"required":["description","deleted","pipeline_eligibility","integrator_name","permission","can_favor","disabled","can_rate","name","is_public","id","step_count","can_run","integrator_email","app_type","rating"]},"AdminAppListingJobStats":{"description":"Some launch statistics associated with the App","type":"object","properties":{"job_count_completed":{"description":"The number of times this app has run to `Completed` status","type":"integer","format":"int64"},"job_last_completed":{"description":"The last date this app has run to `Completed` status","type":"string","format":"date-time"},"job_count":{"description":"The number of times this app has run","type":"integer","format":"int64"},"job_count_failed":{"description":"The number of times this app has run to `Failed` status","type":"integer","format":"int64"},"last_used":{"description":"The start date this app was last run","type":"string","format":"date-time"}},"additionalProperties":false,"required":["job_count_completed","job_count","job_count_failed"]},"AdminAppPatchRequest":{"description":"The App to update.","type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"deleted":{"description":"Whether the App is marked as deleted","type":"boolean"},"disabled":{"description":"Whether the App is marked as disabled","type":"boolean"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"},"name":{"description":"The App's name","type":"string"},"extra":{"$ref":"#/definitions/AppExtraInfo"},"system_id":{"description":"The ID of the app execution system","type":"string"},"references":{"description":"The App's references","type":"array","items":{"type":"string"}},"id":{"description":"A UUID that is used to identify the App","type":"string","format":"uuid"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"wiki_url":{"description":"The App's documentation URL","type":"string"},"groups":{"description":"The list of Parameter Groups associated with the App","type":"array","items":{"$ref":"#/definitions/AppGroup"}},"version":{"description":"The App's version","type":"string"}},"additionalProperties":false},"AdminAppPatchRequestExtraHtcondor":{"type":"object","properties":{"extra_requirements":{"description":"A set of additional requirements to add to the HTCondor submit file","type":"string"}},"additionalProperties":false,"required":["extra_requirements"]},"AdminCommunityListing":{"type":"object","properties":{"groups":{"description":"The list of communities in the result set","type":"array","items":{"$ref":"#/definitions/AdminCommunityListingGroups"}}},"additionalProperties":false,"required":["groups"]},"AdminCommunityListingGroups":{"type":"object","properties":{"description":{"description":"A brief description of the community","type":"string"},"name":{"description":"The internal community name","type":"string"},"type":{"description":"The community type name","type":"string"},"extension":{"description":"The internal community name extension","type":"string"},"id":{"description":"The community ID","type":"string"},"display_extension":{"description":"The displayable community name extension","type":"string"},"display_name":{"description":"The displayable community name","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"detail":{"$ref":"#/definitions/AdminCommunityListingGroupsDetail"}},"additionalProperties":false,"required":["name","type","id","id_index"]},"AdminCommunityListingGroupsDetail":{"description":"Detailed information about the community","type":"object","properties":{"modified_at":{"description":"The date and time the community was last modified (ms since epoch)","type":"integer","format":"int64"},"attribute_values":{"description":"Attribute values, not including the ones listed in the community itself","type":"array","items":{"type":"string"}},"type_names":{"description":"The types associated with this community","type":"array","items":{"type":"string"}},"right_group":{"$ref":"#/definitions/AdminCommunityListingGroupsDetailRightGroup"},"has_composite":{"description":"True if this community has a composite member","type":"boolean"},"left_group":{"$ref":"#/definitions/AdminCommunityListingGroupsDetailLeftGroup"},"is_composite_factor":{"description":"True if this community is a composite member of another group","type":"boolean"},"attribute_names":{"description":"Attribute names, not including the ones listed in the community itself","type":"array","items":{"type":"string"}},"created_by_detail":{"$ref":"#/definitions/Subject"},"modified_by":{"description":"The ID of the subject who last modified the community","type":"string"},"created_by":{"description":"The ID of the subject who created the community","type":"string"},"created_at":{"description":"The date and time the community was created (ms since epoch)","type":"integer","format":"int64"},"composite_type":{"description":"The type of composite community, if applicable","type":"string"}},"additionalProperties":false,"required":["has_composite","is_composite_factor","created_at"]},"AdminCommunityListingGroupsDetailLeftGroup":{"description":"The left community if this group is a composite","type":"object","properties":{"name":{"description":"The internal community name","type":"string"},"type":{"description":"The community type name","type":"string"},"description":{"description":"A brief description of the community","type":"string"},"display_extension":{"description":"The displayable community name extension","type":"string"},"display_name":{"description":"The displayable community name","type":"string"},"extension":{"description":"The internal community name extension","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"id":{"description":"The community ID","type":"string"}},"additionalProperties":false,"required":["name","type","id_index","id"]},"AdminCommunityListingGroupsDetailRightGroup":{"description":"The right community if this group is a composite","type":"object","properties":{"name":{"description":"The internal community name","type":"string"},"type":{"description":"The community type name","type":"string"},"description":{"description":"A brief description of the community","type":"string"},"display_extension":{"description":"The displayable community name extension","type":"string"},"display_name":{"description":"The displayable community name","type":"string"},"extension":{"description":"The internal community name extension","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"id":{"description":"The community ID","type":"string"}},"additionalProperties":false,"required":["name","type","id_index","id"]},"AdminTokenInfo":{"type":"object","properties":{"access_token":{"description":"The access token itself.","type":"string"},"expires_at":{"description":"The token expiration time as milliseconds since the epoch.","type":"integer","format":"int64"},"refresh_token":{"description":"The refresh token to use when the access token expires.","type":"string"},"webapp":{"description":"The name of the external web application.","type":"string"}},"additionalProperties":false,"required":["access_token","expires_at","refresh_token","webapp"]},"Alert":{"type":"object","properties":{"start-date":{"description":"The timestamp when the alert should begin showing, YYYY-MM-DDTHH:MM:SS-ZZ:ZZ format. Ignored for deletion requests.","type":"string"},"end-date":{"description":"The timestamp when the alert should stop showing, YYYY-MM-DDTHH:MM:SS-ZZ:ZZ format. Part of what identifies an alert, so must be provided to delete an alert.","type":"string"},"alert-text":{"description":"The text of the alert to be shown. Markdown formatting may be interpreted by the UI. Part of what identifes an alert, so must be provided to delete an alert.","type":"string"}},"additionalProperties":false,"required":["end-date","alert-text"]},"AnalysesRelauncherRequest":{"type":"object","properties":{"analyses":{"description":"The identifiers of the analyses to be relaunched.","type":"array","items":{"type":"string","format":"uuid"}}},"additionalProperties":false,"required":["analyses"]},"Analysis":{"type":"object","properties":{"description":{"description":"The analysis description.","type":"string"},"name":{"description":"The analysis name.","type":"string"},"can_share":{"description":"Indicates whether or not the analysis can be shared.","type":"boolean"},"username":{"description":"The name of the user who submitted the analysis.","type":"string"},"app_id":{"description":"The ID of the app used to perform the analysis.","type":"string"},"batch_status":{"$ref":"#/definitions/BatchStatus"},"system_id":{"description":"The ID of the app execution system","type":"string"},"app_disabled":{"description":"Indicates whether the app is currently disabled. DEPRECATED - always returns `false`.","type":"boolean"},"batch":{"description":"Indicates whether the analysis is a batch analysis.","type":"boolean"},"enddate":{"description":"The time the analysis ended.","type":"string"},"app_version_id":{"description":"The version ID of the app used to perform the analysis.","type":"string","format":"uuid"},"status":{"description":"The status of the analysis.","type":"string"},"parent_id":{"description":"The identifier of the parent analysis.","type":"string","format":"uuid"},"id":{"description":"The analysis ID.","type":"string","format":"uuid"},"startdate":{"description":"The time the analysis started.","type":"string"},"app_description":{"description":"A description of the app used to perform the analysis.","type":"string"},"interactive_urls":{"description":"The list of externally accessible interactive analysis URLs.","type":"array","items":{"type":"string"}},"wiki_url":{"description":"The URL to app documentation in Confluence.","type":"string"},"notify":{"description":"Indicates whether the user wants status updates via email.","type":"boolean"},"resultfolderid":{"description":"The path to the folder containing the anlaysis results.","type":"string"},"app_name":{"description":"The name of the app used to perform the analysis.","type":"string"}},"additionalProperties":false,"required":["can_share","username","app_id","system_id","app_disabled","status","id","notify"]},"AnalysisCount":{"type":"object","properties":{"count":{"description":"The total number of jobs with the attached job status.","type":"integer","format":"int64"},"status":{"description":"The status for the attached job count.","type":"string"}},"additionalProperties":false,"required":["count","status"]},"AnalysisHistory":{"type":"object","properties":{"analysis_id":{"description":"The analysis ID.","type":"string","format":"uuid"},"steps":{"description":"The history of each step in the analysis.","type":"array","items":{"$ref":"#/definitions/AnalysisStepHistory"}},"timestamp":{"description":"The time the list of analysis steps was retrieved.","type":"string"},"total":{"description":"The total number of results that would be returned without limits and offsets applied.","type":"integer","format":"int64"}},"additionalProperties":false,"required":["analysis_id","steps","timestamp","total"]},"AnalysisIdList":{"description":"The analysis permission listing request.","type":"object","properties":{"analyses":{"description":"A List of analysis IDs","type":"array","items":{"type":"string","format":"uuid"}}},"additionalProperties":false,"required":["analyses"]},"AnalysisList":{"type":"object","properties":{"analyses":{"description":"The list of analyses.","type":"array","items":{"$ref":"#/definitions/Analysis"}},"timestamp":{"description":"The time the analysis list was retrieved.","type":"string"},"total":{"description":"The total number of results that would be returned without limits and offsets applied.","type":"integer","format":"int64"},"status-count":{"description":"List the total number of jobs grouped by job status for a user.","type":"array","items":{"$ref":"#/definitions/AnalysisCount"}}},"additionalProperties":false,"required":["analyses","timestamp","total","status-count"]},"AnalysisParameter":{"type":"object","properties":{"param_type":{"description":"The type of the parameter.","type":"string"},"param_id":{"description":"The unqualified parameter ID.","type":"string"},"info_type":{"description":"The type of information associated with an input or output parameter.","type":"string"},"is_default_value":{"description":"Indicates whether the default parameter value was used.","type":"boolean"},"param_name":{"description":"The name of the parameter.","type":"string"},"param_value":{"$ref":"#/definitions/ParameterValue"},"is_visible":{"description":"Indicates whether the parameter is visible in the app UI.","type":"boolean"},"full_param_id":{"description":"The fully qualified parameter ID.","type":"string"},"data_format":{"description":"The data format associated with an input or output parameter.","type":"string"}},"additionalProperties":false,"required":["param_type","param_id","full_param_id"]},"AnalysisParameters":{"type":"object","properties":{"app_id":{"description":"The ID of the app used to perform the analysis.","type":"string"},"app_version_id":{"description":"The version ID of the app used to perform the analysis.","type":"string"},"system_id":{"description":"The ID of the app execution system","type":"string"},"parameters":{"description":"The list of parameters.","type":"array","items":{"$ref":"#/definitions/AnalysisParameter"}}},"additionalProperties":false,"required":["app_id","system_id","parameters"]},"AnalysisPermissionListElement":{"type":"object","properties":{"id":{"description":"The analysis ID","type":"string","format":"uuid"},"name":{"description":"The analysis name","type":"string"},"permissions":{"description":"The list of subject permissions for the analysis","type":"array","items":{"$ref":"#/definitions/SubjectPermissionListElement"}}},"additionalProperties":false,"required":["id","name","permissions"]},"AnalysisPermissionListing":{"type":"object","properties":{"analyses":{"description":"The list of analysis permissions","type":"array","items":{"$ref":"#/definitions/AnalysisPermissionListElement"}}},"additionalProperties":false,"required":["analyses"]},"AnalysisPodLogEntry":{"type":"object","properties":{"since_time":{"description":"Contains the seconds since the epoch for the time when the log entry was retrieved","type":"string"},"lines":{"description":"The lines that make up the log entry","type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["since_time","lines"]},"AnalysisResponse":{"type":"object","properties":{"id":{"description":"The ID of the submitted analysis.","type":"string","format":"uuid"},"name":{"description":"The name of the submitted analysis.","type":"string"},"status":{"description":"The current status of the analysis.","type":"string"},"start-date":{"description":"The analysis start date as milliseconds since the epoch.","type":"string"},"missing-paths":{"description":"Any paths parsed from an HT Analysis Path List that no longer exist.","type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["id","name","status","start-date"]},"AnalysisSharingRequest":{"description":"The analysis sharing request.","type":"object","properties":{"sharing":{"description":"The list of sharing requests for individual subjects","type":"array","items":{"$ref":"#/definitions/SubjectAnalysisSharingRequestElement"}}},"additionalProperties":false,"required":["sharing"]},"AnalysisSharingRequestElement":{"type":"object","properties":{"analysis_id":{"description":"The analysis ID","type":"string","format":"uuid"},"permission":{"description":"The requested permission level","type":"string","enum":["","read","own","write"]}},"additionalProperties":false,"required":["analysis_id","permission"]},"AnalysisSharingResponse":{"type":"object","properties":{"sharing":{"description":"The list of sharing responses for individual subjects","type":"array","items":{"$ref":"#/definitions/SubjectAnalysisSharingResponseElement"}},"asyncTaskID":{"description":"The ID of the asynchronous task being used to track the sharing request","type":"string","format":"uuid"}},"additionalProperties":false,"required":["sharing"]},"AnalysisSharingResponseElement":{"type":"object","properties":{"analysis_id":{"description":"The analysis ID","type":"string","format":"uuid"},"permission":{"description":"The requested permission level","type":"string","enum":["","read","own","write"]},"analysis_name":{"description":"The analysis name","type":"string"},"ok":{"description":"A Boolean flag indicating whether or not the request passed validation","type":"boolean"},"error":{"$ref":"#/definitions/ErrorResponse"}},"additionalProperties":false,"required":["analysis_id","permission","analysis_name","ok"]},"AnalysisShredderRequest":{"type":"object","properties":{"analyses":{"description":"The identifiers of the analyses to be deleted.","type":"array","items":{"type":"string","format":"uuid"}}},"additionalProperties":false,"required":["analyses"]},"AnalysisStats":{"type":"object","properties":{"status-count":{"description":"List the total number of jobs grouped by job status for a user.","type":"array","items":{"$ref":"#/definitions/AnalysisCount"}}},"additionalProperties":false,"required":["status-count"]},"AnalysisStatusUpdate":{"type":"object","properties":{"status":{"description":"The job status associated with the update.","type":"string"},"message":{"description":"A brief description of the job status update.","type":"string"},"timestamp":{"description":"The date and time when the job status update was created.","type":"string"}},"additionalProperties":false,"required":["status","message","timestamp"]},"AnalysisStep":{"type":"object","properties":{"step_number":{"description":"The sequential step number in the analysis.","type":"integer","format":"int64"},"external_id":{"description":"The step ID from the execution system.","type":"string"},"startdate":{"description":"The time the step started.","type":"string"},"enddate":{"description":"The time the step ended.","type":"string"},"status":{"description":"The status of the step.","type":"string"},"app_step_number":{"description":"The sequential step number from the app, which might be different from the analysis step number if app steps have been combined.","type":"integer","format":"int64"},"step_type":{"description":"The analysis type associated with the step.","type":"string"}},"additionalProperties":false,"required":["step_number"]},"AnalysisStepHistory":{"type":"object","properties":{"step_number":{"description":"The sequential step number in the analysis.","type":"integer","format":"int64"},"external_id":{"description":"The step ID from the execution system.","type":"string"},"startdate":{"description":"The time the step started.","type":"string"},"enddate":{"description":"The time the step ended.","type":"string"},"status":{"description":"The status of the step.","type":"string"},"app_step_number":{"description":"The sequential step number from the app, which might be different from the analysis step number if app steps have been combined.","type":"integer","format":"int64"},"step_type":{"description":"The analysis type associated with the step.","type":"string"},"updates":{"description":"The list of updates received for the analysis step.","type":"array","items":{"$ref":"#/definitions/AnalysisStatusUpdate"}}},"additionalProperties":false,"required":["step_number","updates"]},"AnalysisStepList":{"type":"object","properties":{"analysis_id":{"description":"The analysis ID.","type":"string","format":"uuid"},"steps":{"description":"The list of analysis steps.","type":"array","items":{"$ref":"#/definitions/AnalysisStep"}},"timestamp":{"description":"The time the list of analysis steps was retrieved.","type":"string"},"total":{"description":"The total number of results that would be returned without limits and offsets applied.","type":"integer","format":"int64"}},"additionalProperties":false,"required":["analysis_id","steps","timestamp","total"]},"AnalysisStepResourceRequirements":{"type":"object","properties":{"min_cpu_cores":{"description":"The minimum number of CPU cores needed to run the tool container","type":"number","format":"double"},"gpu_models":{"description":"The GPU models that work with this tool container. Empty means no limitation on GPU model.","type":"array","items":{"type":"string"}},"min_memory_limit":{"description":"The minimum about of memory (in bytes) that is required to run the tool container","type":"integer","format":"int64"},"min_disk_space":{"description":"The minimum amount of disk space needed to run the tool container","type":"integer","format":"int64"},"step_number":{"description":"The sequential step number of the Tool in the analysis","type":"integer","format":"int64"},"max_gpus":{"description":"The maximum number of GPUs allowed when running the tool container","type":"integer","format":"int64"},"max_cpu_cores":{"description":"The maximum number of CPU cores allowed when running the tool container","type":"number","format":"double"},"min_gpus":{"description":"The minimum number of GPUs needed to run the tool container","type":"integer","format":"int64"}},"additionalProperties":false,"required":["step_number"]},"AnalysisSubmission":{"type":"object","properties":{"description":{"description":"An optional description of the analysis.","type":"string"},"requirements":{"description":"The list of optional resource requirements requested for any step","type":"array","items":{"$ref":"#/definitions/AnalysisStepResourceRequirements"}},"notify_periodic":{"description":"Indicates whether the user wants to receive periodic email notifications that the job is still running, for interactive jobs.","type":"boolean"},"config":{"$ref":"#/definitions/AnalysisSubmissionConfig"},"file-metadata":{"description":"Custom file attributes to associate with result files.","type":"array","items":{"$ref":"#/definitions/FileMetadata"}},"starting_step":{"description":"The ordinal number of the step to start the job with.","type":"integer","format":"int64"},"name":{"description":"The name assigned to the analysis by the user.","type":"string"},"app_id":{"description":"The ID of the app used to perform the analysis.","type":"string"},"periodic_period":{"description":"The number of seconds between periodic notifications, if the user has opted to receive them.","type":"integer","format":"int32"},"system_id":{"description":"The ID of the app execution system","type":"string"},"debug":{"description":"A flag indicating whether or not job debugging should be enabled.","type":"boolean"},"create_output_subdir":{"description":"Indicates whether a subdirectory should be created beneath the specified output directory.","type":"boolean"},"archive_logs":{"description":"True if the job logs should be uploaded to the data store.","type":"boolean"},"mount_data_store":{"description":"True if iRODS CSI Driver mounts should be created in the container.","type":"boolean"},"app_version_id":{"description":"The ID of the app version used to perform the analysis.\n      If not provided, then it is assumed the submission is for the latest version of the app","type":"string","format":"uuid"},"output_dir":{"description":"The path to the analysis output directory in the data store.","type":"string"},"uuid":{"description":"The UUID of the analysis. A random UUID will be assigned if one isn't provided.","type":"string","format":"uuid"},"notify":{"description":"Indicates whether the user wants to receive job status update notifications.","type":"boolean"},"skip-parent-meta":{"description":"True if metadata should not associate metadata with the parent directory.","type":"boolean"},"callback":{"description":"The callback URL to use for job status updates.","type":"string"},"job_id":{"description":"The UUID of the job being submitted.","type":"string","format":"uuid"}},"additionalProperties":false,"required":["config","name","app_id","system_id","debug","output_dir","notify"]},"AnalysisSubmissionConfig":{"description":"A map from (str step-id \"_\" param-id) to param-value.","type":"object","additionalProperties":{"description":"The param-value"}},"AnalysisTimeLimit":{"type":"object","properties":{"time_limit":{"description":"Contains the seconds since the epoch for the analysis's time limit or the string 'null' if the time limit isn't set.","type":"string"}},"additionalProperties":false,"required":["time_limit"]},"AnalysisUnsharingRequest":{"description":"The analysis unsharing request.","type":"object","properties":{"unsharing":{"description":"The list of unsharing requests for individual subjects","type":"array","items":{"$ref":"#/definitions/SubjectAnalysisUnsharingRequestElement"}}},"additionalProperties":false,"required":["unsharing"]},"AnalysisUnsharingResponse":{"type":"object","properties":{"unsharing":{"description":"The list of unsharing responses for individual subjects","type":"array","items":{"$ref":"#/definitions/SubjectAnalysisUnsharingResponseElement"}},"asyncTaskID":{"description":"The ID of the asynchronous task being used to track the unsharing request","type":"string","format":"uuid"}},"additionalProperties":false,"required":["unsharing"]},"AnalysisUnsharingResponseElement":{"type":"object","properties":{"analysis_id":{"description":"The analysis ID","type":"string","format":"uuid"},"analysis_name":{"description":"The analysis name","type":"string"},"ok":{"description":"A Boolean flag indicating whether or not the request passed validation","type":"boolean"},"error":{"$ref":"#/definitions/ErrorResponse"}},"additionalProperties":false,"required":["analysis_id","analysis_name","ok"]},"AnalysisUpdate":{"type":"object","properties":{"description":{"description":"The analysis description.","type":"string"},"name":{"description":"The analysis name.","type":"string"}},"additionalProperties":false},"AnalysisUpdateResponse":{"type":"object","properties":{"id":{"description":"The analysis ID.","type":"string","format":"uuid"},"description":{"description":"The analysis description.","type":"string"},"name":{"description":"The analysis name.","type":"string"}},"additionalProperties":false,"required":["id"]},"App":{"type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"},"name":{"description":"The App's name","type":"string"},"tools":{"description":"The tools used to execute the App","type":"array","items":{"$ref":"#/definitions/Tool"}},"system_id":{"description":"The ID of the app execution system","type":"string"},"references":{"description":"The App's references","type":"array","items":{"type":"string"}},"id":{"description":"A UUID that is used to identify the App","type":"string","format":"uuid"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"versions":{"description":"The list of available versions for this app","type":"array","items":{"$ref":"#/definitions/AppVersionDetails"}},"groups":{"description":"The list of Parameter Groups associated with the App","type":"array","items":{"$ref":"#/definitions/AppGroup"}},"version":{"description":"The App's version","type":"string"}},"additionalProperties":false,"required":["description","name","id"]},"AppCategorization":{"type":"object","properties":{"category_ids":{"description":"A List of App Category identifiers","type":"array","items":{"$ref":"#/definitions/AppCategoryId"}},"system_id":{"description":"The ID of the app execution system","type":"string"},"app_id":{"description":"The ID of the App to be Categorized","type":"string"}},"additionalProperties":false,"required":["category_ids","system_id","app_id"]},"AppCategorizationRequest":{"description":"An App Categorization Request.","type":"object","properties":{"categories":{"description":"Apps and the Categories they should be listed under","type":"array","items":{"$ref":"#/definitions/AppCategorization"}}},"additionalProperties":false,"required":["categories"]},"AppCategory":{"type":"object","properties":{"system_id":{"description":"The ID of the app execution system","type":"string"},"id":{"description":"The App Category's UUID","type":"string","format":"uuid"},"name":{"description":"The App Category's name","type":"string"},"total":{"description":"The number of Apps under this Category and all of its children","type":"integer","format":"int64"},"is_public":{"description":"Whether this App Category is viewable to all users or private to only the user that owns its Workspace","type":"boolean"},"categories":{"description":"A listing of child App Categories under this App Category","type":"array","items":{"$ref":"#/definitions/AppCategory"}}},"additionalProperties":false,"required":["system_id","id","name","total","is_public"]},"AppCategoryAppListing":{"type":"object","properties":{"system_id":{"description":"The ID of the app execution system","type":"string"},"id":{"description":"The App Category's UUID","type":"string","format":"uuid"},"name":{"description":"The App Category's name","type":"string"},"total":{"description":"The number of Apps under this Category and all of its children","type":"integer","format":"int64"},"is_public":{"description":"Whether this App Category is viewable to all users or private to only the user that owns its Workspace","type":"boolean"},"categories":{"description":"A listing of child App Categories under this App Category","type":"array","items":{"$ref":"#/definitions/AppCategory"}},"apps":{"description":"A listing of Apps under this Category","type":"array","items":{"$ref":"#/definitions/AppListingDetail"}}},"additionalProperties":false,"required":["system_id","id","name","total","is_public","apps"]},"AppCategoryId":{"type":"object","properties":{"system_id":{"description":"The ID of the app execution system","type":"string"},"id":{"description":"The App Category's UUID","type":"string","format":"uuid"}},"additionalProperties":false,"required":["system_id","id"]},"AppCategoryListing":{"type":"object","properties":{"categories":{"description":"A listing of App Categories visisble to the requesting user","type":"array","items":{"$ref":"#/definitions/AppCategory"}}},"additionalProperties":false,"required":["categories"]},"AppCategoryMetadataAddRequest":{"description":"Community metadata to add to the App.","type":"object","properties":{"avus":{"description":"The AVUs to save for the target item","type":"array","items":{"$ref":"#/definitions/AvuRequest"}}},"additionalProperties":false,"required":["avus"]},"AppCategoryMetadataDeleteRequest":{"description":"Community metadata to remove from the App.","type":"object","properties":{"avus":{"description":"The AVUs to save for the target item","type":"array","items":{"$ref":"#/definitions/AvuRequest"}}},"additionalProperties":false,"required":["avus"]},"AppDeletionRequest":{"description":"List of App IDs to delete.","type":"object","properties":{"app_ids":{"description":"A List of qualified app identifiers","type":"array","items":{"$ref":"#/definitions/QualifiedAppId"}},"root_deletion_request":{"description":"Set to `true` to  delete one or more public apps","type":"boolean"}},"additionalProperties":false,"required":["app_ids"]},"AppDetailCategory":{"type":"object","properties":{"id":{"description":"The App Category's UUID","type":"string","format":"uuid"},"name":{"description":"The App Category's name","type":"string"}},"additionalProperties":false,"required":["id","name"]},"AppDetails":{"description":"Details about the app that the user wants to publish","type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"deleted":{"description":"Whether the App is marked as deleted","type":"boolean"},"pipeline_eligibility":{"$ref":"#/definitions/PipelineEligibility"},"is_favorite":{"description":"Whether the current user has marked the App as a favorite","type":"boolean"},"integrator_name":{"description":"The App integrator's full name","type":"string"},"beta":{"description":"Whether the App has been marked as `beta` release status","type":"boolean"},"permission":{"description":"The user's access level for the app.","type":"string"},"isBlessed":{"description":"Whether the App has been marked as having been reviewed and certified by Discovery Environment\n                     administrators","type":"boolean"},"can_favor":{"description":"Whether the current user can favorite this App","type":"boolean"},"disabled":{"description":"Whether the App is marked as disabled","type":"boolean"},"can_rate":{"description":"Whether the current user can rate this App","type":"boolean"},"version_id":{"description":"The latest App version ID","type":"string"},"suggested_categories":{"description":"The list of Categories the integrator wishes to associate with the App","type":"array","items":{"$ref":"#/definitions/AppDetailCategory"}},"hierarchies":{"description":"A list of Ontology Class hierarchies","type":"array","items":{"$ref":"#/definitions/OntologyClassHierarchy"}},"name":{"description":"The App's name","type":"string"},"tools":{"description":"The tools used to execute the App","type":"array","items":{"$ref":"#/definitions/AppDetailsTool"}},"limitChecks":{"$ref":"#/definitions/AppLimitCheckResultSummary"},"system_id":{"description":"The ID of the app execution system","type":"string"},"overall_job_type":{"description":"The type of the App's tool(s)","type":"string"},"references":{"description":"The App's references","type":"array","items":{"type":"string"}},"categories":{"description":"The list of Categories associated with the App","type":"array","items":{"$ref":"#/definitions/AppDetailCategory"}},"is_public":{"description":"Whether the App has been published and is viewable by all users","type":"boolean"},"id":{"description":"The app ID.","type":"string"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"step_count":{"description":"The number of Tasks this App executes","type":"integer","format":"int64"},"can_run":{"description":"This flag is calculated by comparing the number of steps in the app to the number of steps\n                     that have a tool associated with them. If the numbers are different then this flag is set to\n                     `false`. The idea is that every step in the analysis has to have, at the very least, a tool\n                     associated with it in order to run successfully","type":"boolean"},"job_stats":{"$ref":"#/definitions/AppListingJobStats"},"integrator_email":{"description":"The App integrator's email address","type":"string"},"app_type":{"description":"The type ID of the App","type":"string"},"wiki_url":{"description":"The App's documentation URL","type":"string"},"versions":{"description":"The list of available versions for this app","type":"array","items":{"$ref":"#/definitions/AppVersionDetails"}},"version":{"description":"The App's latest version","type":"string"},"rating":{"$ref":"#/definitions/Rating"}},"additionalProperties":false,"required":["description","deleted","pipeline_eligibility","integrator_name","permission","can_favor","disabled","can_rate","suggested_categories","name","tools","references","categories","is_public","id","step_count","can_run","integrator_email","app_type","rating"]},"AppDetailsTool":{"type":"object","properties":{"description":{"description":"A brief description of the Tool","type":"string"},"interactive":{"description":"Determines whether the tool is interactive.","type":"boolean"},"name":{"description":"The Tool's name (can be the file name or Docker image)","type":"string"},"type":{"description":"The Tool Type name","type":"string"},"restricted":{"description":"Determines whether a time limit is applied and whether network access is granted","type":"boolean"},"id":{"description":"The tool identifier.","type":"string"},"container":{"$ref":"#/definitions/ToolListingImage"},"attribution":{"description":"The Tool's author or publisher","type":"string"},"version":{"description":"The Tool's version","type":"string"},"location":{"description":"The path of the directory containing the Tool","type":"string"},"time_limit_seconds":{"description":"The number of seconds that a tool is allowed to execute. A value of 0 means the time limit is disabled","type":"integer","format":"int64"}},"additionalProperties":false,"required":["name","type","id","version"]},"AppDocumentation":{"description":"App documentation as returned by the specific app documentation endpoints.","type":"object","properties":{"app_id":{"description":"The App identifier","type":"string"},"version_id":{"description":"The latest App version ID","type":"string"},"documentation":{"description":"The App's documentation","type":"string"},"references":{"description":"The App's references","type":"array","items":{"type":"string"}},"created_on":{"description":"The Date the App's documentation was created","type":"string","format":"date-time"},"modified_on":{"description":"The Date the App's documentation was last modified","type":"string","format":"date-time"},"created_by":{"description":"The user that created the App's documentation","type":"string"},"modified_by":{"description":"The user that last modified the App's documentation","type":"string"}},"additionalProperties":false,"required":["documentation","references"]},"AppDocumentationRequest":{"description":"The App Documentation Request","type":"object","properties":{"app_id":{"description":"The App identifier","type":"string"},"version_id":{"description":"The latest App version ID","type":"string"},"documentation":{"description":"The App's documentation","type":"string"},"created_on":{"description":"The Date the App's documentation was created","type":"string","format":"date-time"},"modified_on":{"description":"The Date the App's documentation was last modified","type":"string","format":"date-time"},"created_by":{"description":"The user that created the App's documentation","type":"string"},"modified_by":{"description":"The user that last modified the App's documentation","type":"string"}},"additionalProperties":false,"required":["documentation"]},"AppExtraInfo":{"type":"object","properties":{"htcondor":{"$ref":"#/definitions/AdminAppPatchRequestExtraHtcondor"}},"additionalProperties":false,"required":["htcondor"]},"AppFileParameterDetails":{"type":"object","properties":{"id":{"description":"The Parameter's ID","type":"string"},"name":{"description":"The Parameter's name","type":"string"},"description":{"description":"The Parameter's description","type":"string"},"label":{"description":"The Input Parameter's label or the Output Parameter's value","type":"string"},"format":{"description":"The Parameter's file format","type":"string"},"required":{"description":"Whether or not a value is required for this Parameter","type":"boolean"}},"additionalProperties":false,"required":["id","name","description","label","format","required"]},"AppFileParameters":{"description":"The File Parameter specific details","type":"object","properties":{"format":{"description":"The Input/Output Parameter's file format","type":"string"},"file_info_type":{"description":"The Input/Output Parameter's info type","type":"string"},"is_implicit":{"description":"Whether the Output Parameter name is specified on the command line (but still be referenced in\n              Pipelines), or implicitly determined by the app itself. If the output file name is implicit\n              then the output file name either must always be the same or it must follow a naming convention\n              that can easily be matched with a glob pattern","type":"boolean"},"repeat_option_flag":{"description":"Whether or not the command-line option flag should preceed each file of a MultiFileSelector\n             on the command line when the App is run","type":"boolean"},"data_source":{"description":"The Output Parameter's source","type":"string"},"retain":{"description":"Whether or not the Input should be copied back to the job output directory in iRODS","type":"boolean"}},"additionalProperties":false},"AppGroup":{"type":"object","properties":{"id":{"description":"A UUID that is used to identify the Parameter Group","type":"string","format":"uuid"},"name":{"description":"The Parameter Group's name","type":"string"},"description":{"description":"The Parameter Group's description","type":"string"},"label":{"description":"The label used to identify the Parameter Group in the UI","type":"string"},"isVisible":{"description":"The Parameter Group's intended visibility in the job submission UI","type":"boolean"},"parameters":{"description":"The list of Parameters in this Group","type":"array","items":{"$ref":"#/definitions/AppParameter"}}},"additionalProperties":false,"required":["id","label"]},"AppGroupJobView":{"type":"object","properties":{"id":{"description":"The app group ID.","type":"string"},"name":{"description":"The Parameter Group's name","type":"string"},"description":{"description":"The Parameter Group's description","type":"string"},"label":{"description":"The label used to identify the Parameter Group in the UI","type":"string"},"isVisible":{"description":"The Parameter Group's intended visibility in the job submission UI","type":"boolean"},"parameters":{"description":"The list of Parameters in this Group","type":"array","items":{"$ref":"#/definitions/AppParameterJobView"}},"step_number":{"description":"The step number associated with this parameter group","type":"integer","format":"int64"}},"additionalProperties":false,"required":["id","label","step_number"]},"AppGroupRequest":{"type":"object","properties":{"name":{"description":"The Parameter Group's name","type":"string"},"description":{"description":"The Parameter Group's description","type":"string"},"label":{"description":"The label used to identify the Parameter Group in the UI","type":"string"},"isVisible":{"description":"The Parameter Group's intended visibility in the job submission UI","type":"boolean"},"parameters":{"description":"The list of Parameters in this Group","type":"array","items":{"$ref":"#/definitions/AppParameterRequest"}},"id":{"description":"A UUID that is used to identify the Parameter Group","type":"string","format":"uuid"}},"additionalProperties":false,"required":["label"]},"AppJobView":{"type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"requirements":{"description":"The list of resource requirements for each step","type":"array","items":{"$ref":"#/definitions/AppStepResourceRequirements"}},"deleted":{"description":"Whether the App is marked as deleted","type":"boolean"},"disabled":{"description":"Whether the App is marked as disabled","type":"boolean"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"},"name":{"description":"The App's name","type":"string"},"limitChecks":{"$ref":"#/definitions/AppLimitCheckResultSummary"},"system_id":{"description":"The ID of the app execution system","type":"string"},"debug":{"description":"True if input files should be retained for the job by default.","type":"boolean"},"label":{"description":"An alias for the App's name","type":"string"},"id":{"description":"The app ID.","type":"string"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"app_type":{"description":"DE or External.","type":"string"},"versions":{"description":"The list of available versions for this app","type":"array","items":{"$ref":"#/definitions/AppVersionDetails"}},"groups":{"description":"The list of Parameter Groups associated with the App","type":"array","items":{"$ref":"#/definitions/AppGroupJobView"}},"version":{"description":"The App's version","type":"string"}},"additionalProperties":false,"required":["description","deleted","disabled","name","label","id","app_type"]},"AppLimitCheckResult":{"type":"object","properties":{"limitCheckID":{"description":"An identifier indicating which limit check failed","type":"string"},"reasonCodes":{"description":"A list of codes indicating the reason for the limit check failure","type":"array","items":{"type":"string"}},"additionalInfo":{"description":"An arbitrary object providing information relevant to the limit check"}},"additionalProperties":false,"required":["limitCheckID","reasonCodes","additionalInfo"]},"AppLimitCheckResultSummary":{"description":"Indicates whether or not the user is currently permitted to launch an analysis using the app","type":"object","properties":{"canRun":{"description":"True if the user is currently permitted to launch an analysis using the app","type":"boolean"},"results":{"description":"A list of individual limit check results providing information about why the check failed. This list will be empty if the user is permitted to use the app","type":"array","items":{"$ref":"#/definitions/AppLimitCheckResult"}}},"additionalProperties":false,"required":["canRun","results"]},"AppListing":{"type":"object","properties":{"total":{"description":"The total number of Apps in the listing","type":"integer","format":"int64"},"apps":{"description":"A listing of App details","type":"array","items":{"$ref":"#/definitions/AppListingDetail"}}},"additionalProperties":false,"required":["total","apps"]},"AppListingDetail":{"type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"deleted":{"description":"Whether the App is marked as deleted","type":"boolean"},"pipeline_eligibility":{"$ref":"#/definitions/PipelineEligibility"},"is_favorite":{"description":"Whether the current user has marked the App as a favorite","type":"boolean"},"integrator_name":{"description":"The App integrator's full name","type":"string"},"beta":{"description":"Whether the App has been marked as `beta` release status","type":"boolean"},"permission":{"description":"The user's access level for the app.","type":"string"},"isBlessed":{"description":"Whether the App has been marked as having been reviewed and certified by Discovery Environment\n                     administrators","type":"boolean"},"can_favor":{"description":"Whether the current user can favorite this App","type":"boolean"},"disabled":{"description":"Whether the App is marked as disabled","type":"boolean"},"can_rate":{"description":"Whether the current user can rate this App","type":"boolean"},"version_id":{"description":"The latest App version ID","type":"string"},"name":{"description":"The App's name","type":"string"},"limitChecks":{"$ref":"#/definitions/AppLimitCheckResultSummary"},"system_id":{"description":"The ID of the app execution system","type":"string"},"overall_job_type":{"description":"The type of the App's tool(s)","type":"string"},"is_public":{"description":"Whether the App has been published and is viewable by all users","type":"boolean"},"id":{"description":"The app ID.","type":"string"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"step_count":{"description":"The number of Tasks this App executes","type":"integer","format":"int64"},"can_run":{"description":"This flag is calculated by comparing the number of steps in the app to the number of steps\n                     that have a tool associated with them. If the numbers are different then this flag is set to\n                     `false`. The idea is that every step in the analysis has to have, at the very least, a tool\n                     associated with it in order to run successfully","type":"boolean"},"integrator_email":{"description":"The App integrator's email address","type":"string"},"app_type":{"description":"The type ID of the App","type":"string"},"wiki_url":{"description":"The App's documentation URL","type":"string"},"version":{"description":"The App's latest version","type":"string"},"rating":{"$ref":"#/definitions/Rating"}},"additionalProperties":false,"required":["description","deleted","pipeline_eligibility","integrator_name","permission","can_favor","disabled","can_rate","name","is_public","id","step_count","can_run","integrator_email","app_type","rating"]},"AppListingJobStats":{"description":"Some launch statistics associated with the App","type":"object","properties":{"job_count_completed":{"description":"The number of times this app has run to `Completed` status","type":"integer","format":"int64"},"job_last_completed":{"description":"The last date this app has run to `Completed` status","type":"string","format":"date-time"}},"additionalProperties":false,"required":["job_count_completed"]},"AppParameter":{"type":"object","properties":{"description":{"description":"The Parameter's description","type":"string"},"arguments":{"description":"The List Parameter's arguments. Only used in cases where the user is given a fixed number of\n   values to choose from. This can occur for Parameters such as `TextSelection` or\n   `IntegerSelection` Parameters","type":"array","items":{"$ref":"#/definitions/AppParameterListItemOrTree"}},"name":{"description":"The Parameter's name. In most cases, this field indicates the command-line option used to\n              identify the Parameter on the command line. In these cases, the Parameter is assumed to be\n              positional and no command-line option is used if the name is blank. For Parameters that\n              specify a limited set of selection values, however, this is not the case. Instead, the\n              Parameter arguments specify both the command-line flag and the Parameter value to use for each\n              option that is selected","type":"string"},"value":{"description":"The Parameter's value, used for previewing this parameter on the command-line."},"type":{"description":"The Parameter's type name. Must contain the name of one of the Parameter types defined in the\n              database. You can get the list of defined and undeprecated Parameter types using the\n              `parameter-types` endpoint","type":"string"},"omit_if_blank":{"description":"Whether the command-line option should be omitted if the Parameter value is blank. This is\n              most useful for optional arguments that use command-line flags in conjunction with a value. In\n              this case, it is an error to include the command-line flag without a corresponding value. This\n              flag indicates that the command-line flag should be omitted if the value is blank. This can\n              also be used for positional arguments, but this flag tends to be useful only for trailing\n              positional arguments","type":"boolean"},"validators":{"description":"The Parameter's validation rules, which contains a list of rules that can be used to verify\n              that Parameter values entered by a user are valid. Note that in cases where the user is given\n              a list of possibilities to choose from, no validation rules are required because the selection\n              list itself can be used to validate the Parameter value","type":"array","items":{"$ref":"#/definitions/AppParameterValidator"}},"label":{"description":"The Parameter's prompt to display in the UI","type":"string"},"id":{"description":"A UUID that is used to identify the Parameter","type":"string","format":"uuid"},"file_parameters":{"$ref":"#/definitions/AppFileParameters"},"order":{"description":"The relative command-line order for the Parameter. If this field is not specified then the\n              arguments will appear on the command-line in the order in which they appear in the import JSON.\n              If you're not specifying the order, please be sure that the argument order is unimportant for\n              the tool being integrated","type":"integer","format":"int64"},"isVisible":{"description":"The Parameter's intended visibility in the job submission UI","type":"boolean"},"defaultValue":{"description":"The Parameter's default value"},"required":{"description":"Whether or not a value is required for this Parameter","type":"boolean"}},"additionalProperties":false,"required":["type","id"]},"AppParameterJobView":{"type":"object","properties":{"description":{"description":"The Parameter's description","type":"string"},"arguments":{"description":"The List Parameter's arguments. Only used in cases where the user is given a fixed number of\n   values to choose from. This can occur for Parameters such as `TextSelection` or\n   `IntegerSelection` Parameters","type":"array","items":{"$ref":"#/definitions/AppParameterListItemOrTree"}},"name":{"description":"The Parameter's name. In most cases, this field indicates the command-line option used to\n              identify the Parameter on the command line. In these cases, the Parameter is assumed to be\n              positional and no command-line option is used if the name is blank. For Parameters that\n              specify a limited set of selection values, however, this is not the case. Instead, the\n              Parameter arguments specify both the command-line flag and the Parameter value to use for each\n              option that is selected","type":"string"},"value":{"description":"The Parameter's value, used for previewing this parameter on the command-line."},"type":{"description":"The Parameter's type name. Must contain the name of one of the Parameter types defined in the\n              database. You can get the list of defined and undeprecated Parameter types using the\n              `parameter-types` endpoint","type":"string"},"omit_if_blank":{"description":"Whether the command-line option should be omitted if the Parameter value is blank. This is\n              most useful for optional arguments that use command-line flags in conjunction with a value. In\n              this case, it is an error to include the command-line flag without a corresponding value. This\n              flag indicates that the command-line flag should be omitted if the value is blank. This can\n              also be used for positional arguments, but this flag tends to be useful only for trailing\n              positional arguments","type":"boolean"},"validators":{"description":"The Parameter's validation rules, which contains a list of rules that can be used to verify\n              that Parameter values entered by a user are valid. Note that in cases where the user is given\n              a list of possibilities to choose from, no validation rules are required because the selection\n              list itself can be used to validate the Parameter value","type":"array","items":{"$ref":"#/definitions/AppParameterValidator"}},"label":{"description":"The Parameter's prompt to display in the UI","type":"string"},"id":{"description":"A string consisting of the App's step ID and the Parameter ID separated by an underscore.\n               Both identifiers are necessary because the same task may be associated with a single App,\n               which would cause duplicate keys in the job submission JSON. The step ID is prepended to\n               the Parameter ID in order to ensure that all parameter value keys are unique.","type":"string"},"file_parameters":{"$ref":"#/definitions/AppFileParameters"},"order":{"description":"The relative command-line order for the Parameter. If this field is not specified then the\n              arguments will appear on the command-line in the order in which they appear in the import JSON.\n              If you're not specifying the order, please be sure that the argument order is unimportant for\n              the tool being integrated","type":"integer","format":"int64"},"isVisible":{"description":"The Parameter's intended visibility in the job submission UI","type":"boolean"},"defaultValue":{"description":"The Parameter's default value"},"required":{"description":"Whether or not a value is required for this Parameter","type":"boolean"}},"additionalProperties":false,"required":["type","id"]},"AppParameterListGroup":{"type":"object","properties":{"id":{"description":"A UUID that is used to identify the List Item","type":"string","format":"uuid"},"name":{"description":"The List Item's name","type":"string"},"value":{"description":"The List Item's value","type":"string"},"description":{"description":"The List Item's description","type":"string"},"display":{"description":"The List Item's display label","type":"string"},"isDefault":{"description":"Flags this Item as the List's default selection","type":"boolean"},"arguments":{"description":"The TreeSelector Group's arguments","type":"array","items":{"$ref":"#/definitions/AppParameterListItem"}},"groups":{"description":"The TreeSelector Group's groups","type":"array","items":{"$ref":"#/definitions/AppParameterListGroup"}}},"additionalProperties":false,"required":["id"]},"AppParameterListGroupRequest":{"type":"object","properties":{"description":{"description":"The List Item's description","type":"string"},"isDefault":{"description":"Flags this Item as the List's default selection","type":"boolean"},"arguments":{"description":"The TreeSelector Group's arguments","type":"array","items":{"$ref":"#/definitions/AppParameterListItemRequest"}},"name":{"description":"The List Item's name","type":"string"},"value":{"description":"The List Item's value","type":"string"},"id":{"description":"A UUID that is used to identify the List Item","type":"string","format":"uuid"},"display":{"description":"The List Item's display label","type":"string"},"groups":{"description":"The TreeSelector Group's groups","type":"array","items":{"$ref":"#/definitions/AppParameterListGroupRequest"}}},"additionalProperties":false},"AppParameterListItem":{"type":"object","properties":{"id":{"description":"A UUID that is used to identify the List Item","type":"string","format":"uuid"},"name":{"description":"The List Item's name","type":"string"},"value":{"description":"The List Item's value","type":"string"},"description":{"description":"The List Item's description","type":"string"},"display":{"description":"The List Item's display label","type":"string"},"isDefault":{"description":"Flags this Item as the List's default selection","type":"boolean"}},"additionalProperties":false,"required":["id"]},"AppParameterListItemOrTree":{"type":"object","properties":{"description":{"description":"The List Item's description","type":"string"},"isDefault":{"description":"Flags this Item as the List's default selection","type":"boolean"},"arguments":{"description":"The TreeSelector root's arguments","type":"array","items":{"$ref":"#/definitions/AppParameterListItem"}},"name":{"description":"The List Item's name","type":"string"},"value":{"description":"The List Item's value","type":"string"},"selectionCascade":{"description":"The TreeSelector root's cascace option","type":"string"},"id":{"description":"A UUID that is used to identify the List Item","type":"string","format":"uuid"},"display":{"description":"The List Item's display label","type":"string"},"groups":{"description":"The TreeSelector root's groups","type":"array","items":{"$ref":"#/definitions/AppParameterListGroup"}},"isSingleSelect":{"description":"The TreeSelector root's single-selection flag","type":"boolean"}},"additionalProperties":false,"required":["id"]},"AppParameterListItemOrTreeRequest":{"type":"object","properties":{"description":{"description":"The List Item's description","type":"string"},"isDefault":{"description":"Flags this Item as the List's default selection","type":"boolean"},"arguments":{"description":"The TreeSelector root's arguments","type":"array","items":{"$ref":"#/definitions/AppParameterListItemRequest"}},"name":{"description":"The List Item's name","type":"string"},"value":{"description":"The List Item's value","type":"string"},"selectionCascade":{"description":"The TreeSelector root's cascace option","type":"string"},"id":{"description":"A UUID that is used to identify the List Item","type":"string","format":"uuid"},"display":{"description":"The List Item's display label","type":"string"},"groups":{"description":"The TreeSelector root's groups","type":"array","items":{"$ref":"#/definitions/AppParameterListGroupRequest"}},"isSingleSelect":{"description":"The TreeSelector root's single-selection flag","type":"boolean"}},"additionalProperties":false},"AppParameterListItemRequest":{"type":"object","properties":{"name":{"description":"The List Item's name","type":"string"},"value":{"description":"The List Item's value","type":"string"},"description":{"description":"The List Item's description","type":"string"},"display":{"description":"The List Item's display label","type":"string"},"isDefault":{"description":"Flags this Item as the List's default selection","type":"boolean"},"id":{"description":"A UUID that is used to identify the List Item","type":"string","format":"uuid"}},"additionalProperties":false},"AppParameterRequest":{"type":"object","properties":{"description":{"description":"The Parameter's description","type":"string"},"arguments":{"description":"The List Parameter's arguments. Only used in cases where the user is given a fixed number of\n   values to choose from. This can occur for Parameters such as `TextSelection` or\n   `IntegerSelection` Parameters","type":"array","items":{"$ref":"#/definitions/AppParameterListItemOrTreeRequest"}},"name":{"description":"The Parameter's name. In most cases, this field indicates the command-line option used to\n              identify the Parameter on the command line. In these cases, the Parameter is assumed to be\n              positional and no command-line option is used if the name is blank. For Parameters that\n              specify a limited set of selection values, however, this is not the case. Instead, the\n              Parameter arguments specify both the command-line flag and the Parameter value to use for each\n              option that is selected","type":"string"},"value":{"description":"The Parameter's value, used for previewing this parameter on the command-line."},"type":{"description":"The Parameter's type name. Must contain the name of one of the Parameter types defined in the\n              database. You can get the list of defined and undeprecated Parameter types using the\n              `parameter-types` endpoint","type":"string"},"omit_if_blank":{"description":"Whether the command-line option should be omitted if the Parameter value is blank. This is\n              most useful for optional arguments that use command-line flags in conjunction with a value. In\n              this case, it is an error to include the command-line flag without a corresponding value. This\n              flag indicates that the command-line flag should be omitted if the value is blank. This can\n              also be used for positional arguments, but this flag tends to be useful only for trailing\n              positional arguments","type":"boolean"},"validators":{"description":"The Parameter's validation rules, which contains a list of rules that can be used to verify\n              that Parameter values entered by a user are valid. Note that in cases where the user is given\n              a list of possibilities to choose from, no validation rules are required because the selection\n              list itself can be used to validate the Parameter value","type":"array","items":{"$ref":"#/definitions/AppParameterValidator"}},"label":{"description":"The Parameter's prompt to display in the UI","type":"string"},"id":{"description":"A UUID that is used to identify the Parameter","type":"string","format":"uuid"},"file_parameters":{"$ref":"#/definitions/AppFileParameters"},"order":{"description":"The relative command-line order for the Parameter. If this field is not specified then the\n              arguments will appear on the command-line in the order in which they appear in the import JSON.\n              If you're not specifying the order, please be sure that the argument order is unimportant for\n              the tool being integrated","type":"integer","format":"int64"},"isVisible":{"description":"The Parameter's intended visibility in the job submission UI","type":"boolean"},"defaultValue":{"description":"The Parameter's default value"},"required":{"description":"Whether or not a value is required for this Parameter","type":"boolean"}},"additionalProperties":false,"required":["type"]},"AppParameterValidator":{"type":"object","properties":{"type":{"description":"The validation rule's type, which describes how a property value should be validated. For\n              example, if the type is `IntAbove` then the property value entered by the user must be an\n              integer above a specific value, which is specified in the parameter list. You can use the\n              `rule-types` endpoint to get a list of validation rule types","type":"string"},"params":{"description":"The list of parameters to use when validating a Parameter value. For example, to ensure that a\n              Parameter contains a value that is an integer greater than zero, you would use a validation\n              rule of type `IntAbove` along with a parameter list of `[0]`","type":"array","items":{}}},"additionalProperties":false,"required":["type","params"]},"AppPermissionListElement":{"type":"object","properties":{"system_id":{"description":"The ID of the app execution system","type":"string"},"app_id":{"description":"The App identifier","type":"string"},"name":{"description":"The app name","type":"string"},"permissions":{"description":"The list of subject permissions for the app","type":"array","items":{"$ref":"#/definitions/SubjectPermissionListElement"}}},"additionalProperties":false,"required":["system_id","app_id","permissions"]},"AppPermissionListing":{"type":"object","properties":{"apps":{"description":"The list of app permissions","type":"array","items":{"$ref":"#/definitions/AppPermissionListElement"}}},"additionalProperties":false,"required":["apps"]},"AppPermissionListingRequest":{"description":"The app permission listing request.","type":"object","properties":{"apps":{"description":"A List of qualified app identifiers","type":"array","items":{"$ref":"#/definitions/QualifiedAppId"}}},"additionalProperties":false,"required":["apps"]},"AppPreviewRequest":{"description":"The App to preview.","type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"},"name":{"description":"The App's name","type":"string"},"tools":{"description":"The tools used to execute the App","type":"array","items":{"$ref":"#/definitions/AppToolRequest"}},"system_id":{"description":"The ID of the app execution system","type":"string"},"references":{"description":"The App's references","type":"array","items":{"type":"string"}},"is_public":{"description":"Whether the App has been published and is viewable by all users","type":"boolean"},"id":{"description":"A UUID that is used to identify the App","type":"string","format":"uuid"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"versions":{"description":"The list of available versions for this app","type":"array","items":{"$ref":"#/definitions/AppVersionDetails"}},"groups":{"description":"The list of Parameter Groups associated with the App","type":"array","items":{"$ref":"#/definitions/AppGroupRequest"}},"version":{"description":"The App's version","type":"string"}},"additionalProperties":false},"AppPublicationRequest":{"type":"object","properties":{"id":{"description":"The app publication request identifier","type":"string","format":"uuid"},"app":{"$ref":"#/definitions/AppDetails"},"requestor":{"description":"The username of the person who requested the app publication","type":"string"}},"additionalProperties":false,"required":["id","app","requestor"]},"AppPublicationRequestListing":{"type":"object","properties":{"publication_requests":{"description":"The list of app publication requests","type":"array","items":{"$ref":"#/definitions/AppPublicationRequest"}}},"additionalProperties":false,"required":["publication_requests"]},"AppPublishableResponse":{"type":"object","properties":{"publishable":{"description":"True if the app is publishable.","type":"boolean"},"reason":{"description":"The reason the app can't be published if it's not publishable.","type":"string"}},"additionalProperties":false,"required":["publishable"]},"AppRequest":{"description":"The App to add.","type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"},"name":{"description":"The App's name","type":"string"},"tools":{"description":"The tools used to execute the App","type":"array","items":{"$ref":"#/definitions/AppToolRequest"}},"system_id":{"description":"The ID of the app execution system","type":"string"},"references":{"description":"The App's references","type":"array","items":{"type":"string"}},"id":{"description":"A UUID that is used to identify the App","type":"string","format":"uuid"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"groups":{"description":"The list of Parameter Groups associated with the App","type":"array","items":{"$ref":"#/definitions/AppGroupRequest"}},"version":{"description":"The App's version","type":"string"}},"additionalProperties":false,"required":["description","name"]},"AppSharingRequest":{"description":"The app sharing request.","type":"object","properties":{"sharing":{"description":"The list of app sharing requests","type":"array","items":{"$ref":"#/definitions/SubjectAppSharingRequestElement"}}},"additionalProperties":false,"required":["sharing"]},"AppSharingRequestElement":{"type":"object","properties":{"system_id":{"description":"The ID of the app execution system","type":"string"},"app_id":{"description":"The App identifier","type":"string"},"permission":{"description":"The requested permission level","type":"string","enum":["","read","own","write"]}},"additionalProperties":false,"required":["system_id","app_id","permission"]},"AppSharingResponse":{"type":"object","properties":{"sharing":{"description":"The list of app sharing responses","type":"array","items":{"$ref":"#/definitions/SubjectAppSharingResponseElement"}}},"additionalProperties":false,"required":["sharing"]},"AppSharingResponseElement":{"type":"object","properties":{"system_id":{"description":"The ID of the app execution system","type":"string"},"app_id":{"description":"The App identifier","type":"string"},"permission":{"description":"The requested permission level","type":"string","enum":["","read","own","write"]},"app_name":{"description":"The app name","type":"string"},"success":{"description":"A Boolean flag indicating whether the sharing request succeeded","type":"boolean"},"error":{"$ref":"#/definitions/ErrorResponse"}},"additionalProperties":false,"required":["system_id","app_id","permission","app_name","success"]},"AppStepResourceRequirements":{"description":"The Tool resource requirements for this step","type":"object","properties":{"max_cpu_cores":{"description":"The maximum number of CPU cores allowed when running the tool container","type":"number","format":"double"},"default_max_cpu_cores":{"description":"The default limit of CPU cores requested to run the tool container","type":"number","format":"double"},"min_cpu_cores":{"description":"The minimum number of CPU cores needed to run the tool container","type":"number","format":"double"},"default_disk_space":{"description":"The default amount of disk space requested to run the tool container","type":"integer","format":"int64"},"min_memory_limit":{"description":"The minimum about of memory (in bytes) that is required to run the tool container","type":"integer","format":"int64"},"min_gpus":{"description":"The minimum number of GPUs needed to run the tool container","type":"integer","format":"int64"},"step_number":{"description":"The sequential step number of the Tool in the analysis","type":"integer","format":"int64"},"default_memory":{"description":"The default amount of memory (in bytes) requested to run the tool container","type":"integer","format":"int64"},"gpu_models":{"description":"The GPU models that work with this tool container. Empty means no limitation on GPU model.","type":"array","items":{"type":"string"}},"default_cpu_cores":{"description":"The default minimum of CPU cores requested to run the tool container","type":"number","format":"double"},"memory_limit":{"description":"The amount of memory (in bytes) that the tool container is restricted to","type":"integer","format":"int64"},"default_gpu_models":{"description":"The default list of acceptable GPU models","type":"array","items":{"type":"string"}},"min_disk_space":{"description":"The minimum amount of disk space needed to run the tool container","type":"integer","format":"int64"},"default_max_gpus":{"description":"The default limit for GPUs for running the tool container","type":"integer","format":"int64"},"default_gpus":{"description":"The default minimum for GPUs requested for running the tool container","type":"integer","format":"int64"},"max_gpus":{"description":"The maximum number of GPUs allowed when running the tool container","type":"integer","format":"int64"}},"additionalProperties":false,"required":["step_number"]},"AppTask":{"type":"object","properties":{"system_id":{"description":"The Task's System ID","type":"string"},"id":{"description":"The Task's ID","type":"string"},"name":{"description":"The Task's name","type":"string"},"description":{"description":"The Task's description","type":"string"},"tool":{"$ref":"#/definitions/ToolDetails"},"inputs":{"description":"The Task's input parameters","type":"array","items":{"$ref":"#/definitions/AppFileParameterDetails"}},"outputs":{"description":"The Task's output parameters","type":"array","items":{"$ref":"#/definitions/AppFileParameterDetails"}}},"additionalProperties":false,"required":["system_id","id","name","description","inputs","outputs"]},"AppTaskListing":{"type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"},"name":{"description":"The App's name","type":"string"},"system_id":{"description":"The ID of the app execution system","type":"string"},"tasks":{"description":"The App's tasks","type":"array","items":{"$ref":"#/definitions/AppTask"}},"id":{"description":"The App's ID.","type":"string"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"version":{"description":"The App's version","type":"string"}},"additionalProperties":false,"required":["description","name","tasks","id"]},"AppToolListing":{"type":"object","properties":{"tools":{"description":"Listing of App Tools","type":"array","items":{"$ref":"#/definitions/AppDetailsTool"}}},"additionalProperties":false,"required":["tools"]},"AppToolRequest":{"type":"object","properties":{"description":{"description":"A brief description of the Tool","type":"string"},"permission":{"description":"The user's access level for the Tool","type":"string"},"interactive":{"description":"Determines whether the tool is interactive.","type":"boolean"},"name":{"description":"The Tool's name (can be the file name or Docker image)","type":"string"},"type":{"description":"The Tool Type name","type":"string"},"restricted":{"description":"Determines whether a time limit is applied and whether network access is granted","type":"boolean"},"is_public":{"description":"Whether the Tool has been published and is viewable by all users","type":"boolean"},"deprecated":{"description":"Flag indicating if this Tool has been deprecated","type":"boolean"},"id":{"description":"A UUID that is used to identify the Tool","type":"string","format":"uuid"},"container":{"$ref":"#/definitions/ToolListingImage"},"attribution":{"description":"The Tool's author or publisher","type":"string"},"version":{"description":"The Tool's version","type":"string"},"tool_request":{"$ref":"#/definitions/ToolListingToolRequestSummary"},"location":{"description":"The path of the directory containing the Tool","type":"string"},"implementation":{"$ref":"#/definitions/ToolImplementor"},"time_limit_seconds":{"description":"The number of seconds that a tool is allowed to execute. A value of 0 means the time limit is disabled","type":"integer","format":"int64"}},"additionalProperties":false,"required":["name","type","id","version"]},"AppUnsharingRequest":{"description":"The app unsharing request.","type":"object","properties":{"unsharing":{"description":"The list of app unsharing requests","type":"array","items":{"$ref":"#/definitions/SubjectAppUnsharingRequestElement"}}},"additionalProperties":false,"required":["unsharing"]},"AppUnsharingResponse":{"type":"object","properties":{"unsharing":{"description":"The list of app unsharing responses","type":"array","items":{"$ref":"#/definitions/SubjectAppUnsharingResponseElement"}}},"additionalProperties":false,"required":["unsharing"]},"AppUnsharingResponseElement":{"type":"object","properties":{"system_id":{"description":"The ID of the app execution system","type":"string"},"app_id":{"description":"The App identifier","type":"string"},"app_name":{"description":"The app name","type":"string"},"success":{"description":"A Boolean flag indicating whether the unsharing request succeeded","type":"boolean"},"error":{"$ref":"#/definitions/ErrorResponse"}},"additionalProperties":false,"required":["system_id","app_id","app_name","success"]},"AppVersionDetails":{"type":"object","properties":{"version":{"description":"The App's version","type":"string"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"}},"additionalProperties":false,"required":["version","version_id"]},"AppVersionOrderRequest":{"type":"object","properties":{"versions":{"description":"The app versions in descending order, with the newest (or latest) first.","type":"array","items":{"$ref":"#/definitions/AppVersionOrderRequestVersions"}}},"additionalProperties":false,"required":["versions"]},"AppVersionOrderRequestVersions":{"type":"object","properties":{"version":{"description":"The App's version","type":"string"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"}},"additionalProperties":false,"required":["version_id"]},"AppVersionRequest":{"description":"The App Version to add.","type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"name":{"description":"The App's name","type":"string"},"tools":{"description":"The tools used to execute the App","type":"array","items":{"$ref":"#/definitions/AppToolRequest"}},"system_id":{"description":"The ID of the app execution system","type":"string"},"references":{"description":"The App's references","type":"array","items":{"type":"string"}},"id":{"description":"A UUID that is used to identify the App","type":"string","format":"uuid"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"groups":{"description":"The list of Parameter Groups associated with the App","type":"array","items":{"$ref":"#/definitions/AppGroupRequest"}},"version":{"description":"The App's version","type":"string"}},"additionalProperties":false,"required":["description","name","version"]},"AppsBootstrapResponse":{"type":"object","properties":{"webhooks":{"description":"A List of webhooks","type":"array","items":{"$ref":"#/definitions/Webhook"}},"system_ids":{"$ref":"#/definitions/SystemIds"},"workspace":{"$ref":"#/definitions/Workspace"}},"additionalProperties":false,"required":["webhooks","system_ids","workspace"]},"AsyncData":{"type":"object","properties":{"analysisID":{"description":"The UUID assigned to the analysis","type":"string","format":"uuid","x-nullable":true},"ipAddr":{"description":"The IP address of the user that launched the analysis","type":"string","x-nullable":true},"subdomain":{"description":"The subdomain assigned to the analysis","type":"string","x-nullable":true}},"additionalProperties":false,"required":["analysisID","ipAddr","subdomain"]},"AttachedTagDetails":{"type":"object","properties":{"id":{"description":"The service-provided UUID associated with the tag","type":"string","format":"uuid"},"value":{"description":"A non-blank string.","type":"string"},"description":{"description":"The description of the purpose of the tag","type":"string"},"owner_id":{"description":"The owner of the tag","type":"string"},"public":{"description":"Whether the tag is publicly accessible","type":"boolean"},"created_on":{"description":"The date the tag was created in ms since the POSIX epoch","type":"integer","format":"int64"},"modified_on":{"description":"The date the tag was last modified in ms since the POSIX epoch","type":"integer","format":"int64"},"targets":{"description":"A list of targets attached to the tag","type":"array","items":{"$ref":"#/definitions/AttachedTagTarget"}}},"additionalProperties":false,"required":["id","value","owner_id","public","created_on","modified_on","targets"]},"AttachedTagTarget":{"type":"object","properties":{"id":{"description":"The target's UUID","type":"string","format":"uuid"},"type":{"description":"The target's data type","type":"string","enum":["folder","file"]}},"additionalProperties":false,"required":["id","type"]},"AttachedTagsListing":{"type":"object","properties":{"tags":{"description":"A list of tags and their attached targets","type":"array","items":{"$ref":"#/definitions/AttachedTagDetails"}}},"additionalProperties":false,"required":["tags"]},"Avu":{"type":"object","properties":{"modified_on":{"description":"The date the AVU was last modified in ms since the POSIX epoch","type":"integer","format":"int64"},"unit":{"description":"The Attribute's unit","type":"string"},"value":{"description":"The Attribute's value","type":"string"},"target_id":{"description":"The target item's UUID","type":"string","format":"uuid"},"created_on":{"description":"The date the AVU was created in ms since the POSIX epoch","type":"integer","format":"int64"},"id":{"description":"The AVU's UUID","type":"string","format":"uuid"},"avus":{"description":"AVUs attached to this AVU","type":"array","items":{"$ref":"#/definitions/Avu"}},"modified_by":{"description":"The ID of the user who last modified the AVU","type":"string"},"created_by":{"description":"The ID of the user who created the AVU","type":"string"},"attr":{"description":"The Attribute's name","type":"string"}},"additionalProperties":false,"required":["modified_on","unit","value","target_id","created_on","id","modified_by","created_by","attr"]},"AvuList":{"type":"object","properties":{"avus":{"description":"The list of AVUs","type":"array","items":{"$ref":"#/definitions/Avu"}}},"additionalProperties":false,"required":["avus"]},"AvuListRequest":{"description":"The Metadata AVU update request","type":"object","properties":{"avus":{"description":"The AVUs to save for the target item","type":"array","items":{"$ref":"#/definitions/AvuRequest"}}},"additionalProperties":false,"required":["avus"]},"AvuRequest":{"type":"object","properties":{"modified_on":{"description":"The date the AVU was last modified in ms since the POSIX epoch","type":"integer","format":"int64"},"unit":{"description":"The Attribute's unit","type":"string"},"value":{"description":"The Attribute's value","type":"string"},"target_id":{"description":"The target item's UUID","type":"string","format":"uuid"},"created_on":{"description":"The date the AVU was created in ms since the POSIX epoch","type":"integer","format":"int64"},"id":{"description":"The AVU's UUID","type":"string","format":"uuid"},"avus":{"description":"AVUs attached to this AVU","type":"array","items":{"$ref":"#/definitions/AvuRequest"}},"modified_by":{"description":"The ID of the user who last modified the AVU","type":"string"},"created_by":{"description":"The ID of the user who created the AVU","type":"string"},"attr":{"description":"The Attribute's name","type":"string"}},"additionalProperties":false,"required":["unit","value","attr"]},"AvuSearchParams":{"type":"object","properties":{"attribute":{"description":"Attribute names to search for.","type":"array","items":{"type":"string"}},"value":{"description":"Values to search for.","type":"array","items":{"type":"string"}},"unit":{"description":"Units to search for.","type":"array","items":{"type":"string"}},"target-id":{"description":"Target IDs to search for.","type":"array","items":{"type":"string","format":"uuid"}}},"additionalProperties":false},"BackendObjectReference":{"description":"Refers to the backend where mirrored requests are sent","type":"object","properties":{"group":{"description":"The Kubernetes API group of the referent","type":"string"},"kind":{"description":"The kind of Kubernetes resource being referenced","type":"string"},"name":{"description":"The name of the referent","type":"string"},"namespace":{"description":"The Kubernetes namespace of the referent","type":"string"},"port":{"description":"The destination port number to use for the referent","type":"integer","format":"int64"}},"additionalProperties":false},"Bag":{"type":"object","properties":{"id":{"description":"The bag id","type":"string","format":"uuid"},"user_id":{"description":"The user's id","type":"string","format":"uuid"},"contents":{"$ref":"#/definitions/BagContents"}},"additionalProperties":false,"required":["id","user_id","contents"]},"BagContents":{"type":"object","additionalProperties":{"description":"Bag value"}},"BagList":{"type":"object","properties":{"bags":{"description":"The list of bags associated with the user","type":"array","items":{"$ref":"#/definitions/Bag"}}},"additionalProperties":false,"required":["bags"]},"BaseSubject":{"description":"The user or group identification","type":"object","properties":{"id":{"description":"The subject identifier","type":"string"},"source_id":{"description":"The ID of the source of the subject information","type":"string"}},"additionalProperties":false,"required":["id","source_id"]},"BatchStatus":{"description":"A summary of the status of the batch.","type":"object","properties":{"total":{"description":"The total number of jobs in the batch.","type":"integer","format":"int64"},"completed":{"description":"The number of completed jobs in the batch.","type":"integer","format":"int64"},"running":{"description":"The number of running jobs in the batch.","type":"integer","format":"int64"},"submitted":{"description":"The number of submitted jobs in the batch.","type":"integer","format":"int64"}},"additionalProperties":false,"required":["total","completed","running","submitted"]},"Body1347":{"type":"object","properties":{"name":{"description":"The name of the quick launch","type":"string"},"description":{"description":"The description of the quick launch","type":"string"},"app_id":{"description":"The UUID for the app the quick launch is associated with","type":"string","format":"uuid"},"app_version_id":{"description":"The UUID for the app version the quick launch is associated with","type":"string","format":"uuid"},"is_public":{"description":"Whether the quick launch is publicly available. Defaults to false","type":"boolean"},"submission":{"$ref":"#/definitions/AnalysisSubmission"}},"additionalProperties":false,"required":["name","app_id","submission"]},"Body1355":{"description":"The App to update.","type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"},"name":{"description":"The App's name","type":"string"},"tools":{"description":"The tools used to execute the App","type":"array","items":{"$ref":"#/definitions/Tool"}},"system_id":{"description":"The ID of the app execution system","type":"string"},"references":{"description":"The App's references","type":"array","items":{"type":"string"}},"id":{"description":"A UUID that is used to identify the App","type":"string","format":"uuid"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"groups":{"description":"The list of Parameter Groups associated with the App","type":"array","items":{"$ref":"#/definitions/AppGroup"}},"version":{"description":"The App's version","type":"string"}},"additionalProperties":false,"required":["description","name","id"]},"Body1356":{"description":"The App to update.","type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"},"name":{"description":"The App's name","type":"string"},"tools":{"description":"The tools used to execute the App","type":"array","items":{"$ref":"#/definitions/Tool"}},"system_id":{"description":"The ID of the app execution system","type":"string"},"references":{"description":"The App's references","type":"array","items":{"type":"string"}},"id":{"description":"A UUID that is used to identify the App","type":"string","format":"uuid"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"groups":{"description":"The list of Parameter Groups associated with the App","type":"array","items":{"$ref":"#/definitions/AppGroup"}},"version":{"description":"The App's version","type":"string"}},"additionalProperties":false,"required":["description","name","id"]},"BootstrapServiceError":{"type":"object","properties":{"status":{"description":"Status Code","type":"integer","format":"int64"},"error":{"description":"Error Message"}},"additionalProperties":false,"required":["error"]},"BulkSubscriptionResponse":{"type":"object","properties":{"result":{"description":"The response for each of the subscription requests","type":"array","items":{"$ref":"#/definitions/SubscriptionResponse"},"x-nullable":true},"error":{"description":"The error message if the request could not be completed","type":"string","x-nullable":true},"status":{"description":"The status of the request","type":"string"}},"additionalProperties":false,"required":["status"]},"CPUHoursTotal":{"description":"The object containing the CPU hours total","type":"object","properties":{"id":{"description":"The UUID assigned to the total","type":"string"},"user_id":{"description":"The UUID assigned to the user the total applies to","type":"string"},"username":{"description":"The username of the user the total applies to","type":"string"},"total":{"description":"The total number of CPU hours that the user has reserved","type":"string"},"effective_start":{"description":"The start date for the time range during which the total is applicable","type":"string"},"effective_end":{"description":"The end date for the time range during which the total is applicable ","type":"string"},"last_modified":{"description":"The date the record in the database was last modified","type":"string"}},"additionalProperties":false,"required":["id","user_id","username","total","effective_start","effective_end","last_modified"]},"Clause":{"type":"object","properties":{"any":{"description":"At least one of the following must be true","type":"array","items":{"$ref":"#/definitions/Clause"}},"all":{"description":"All of the following must be true","type":"array","items":{"$ref":"#/definitions/Clause"}},"none":{"description":"All of the following must not be true","type":"array","items":{"$ref":"#/definitions/Clause"}},"type":{"description":"A string containing the clause type. If the `type` key is used,\n                                    the `args` key should also be used. Documentation on the clause types\n                                    can be found via the [/filesystem/search-documentation](#/filesystem/get_terrain_secured_filesystem_search_documentation) endpoint","type":"string","enum":["permissions","owner","created","label","path","tag","metadata","modified","size"]},"args":{"description":"A set of arguments that further refine the clause terms. The `args`\n                                    key should only be used alongside a corresponding `type` key.\n                                    Documentation on the corresponding args for each clause can be found\n                                    via the [/filesystem/search-documentation](#/filesystem/get_terrain_secured_filesystem_search_documentation) endpoint"}},"additionalProperties":false},"CollaboratorList":{"type":"object","properties":{"name":{"description":"The internal collaborator list name","type":"string"},"type":{"description":"The collaborator list type name","type":"string"},"description":{"description":"A brief description of the collaborator list","type":"string"},"display_extension":{"description":"The displayable collaborator list name extension","type":"string"},"display_name":{"description":"The displayable collaborator list name","type":"string"},"extension":{"description":"The internal collaborator list name extension","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"id":{"description":"The collaborator list ID","type":"string"}},"additionalProperties":false,"required":["name","type","id_index","id"]},"CollaboratorListMembers":{"type":"object","properties":{"members":{"description":"The list of collaborator list members","type":"array","items":{"$ref":"#/definitions/Subject"}}},"additionalProperties":false,"required":["members"]},"CollaboratorListStub":{"type":"object","properties":{"description":{"description":"A brief description of the collaborator list","type":"string"},"name":{"description":"The internal collaborator list name","type":"string"},"type":{"description":"The collaborator list type name","type":"string"},"extension":{"description":"The internal collaborator list name extension","type":"string"},"id":{"description":"The collaborator list ID","type":"string"},"display_extension":{"description":"The displayable collaborator list name extension","type":"string"},"display_name":{"description":"The displayable collaborator list name","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"}},"additionalProperties":false},"CollaboratorListUpdate":{"type":"object","properties":{"name":{"description":"The internal collaborator list name","type":"string"},"description":{"description":"A brief description of the collaborator list","type":"string"}},"additionalProperties":false},"Comment":{"type":"object","properties":{"id":{"description":"The service-provided UUID associated with the comment","type":"string","format":"uuid"},"commenter":{"description":"The authenticated username of the person who made the comment","type":"string"},"post_time":{"description":"The time when the comment was posted in ms since the POSIX epoch","type":"integer","format":"int64"},"retracted":{"description":"A flag indicating whether or not the comment is currently retracted","type":"boolean"},"comment":{"description":"The text of the comment","type":"string"}},"additionalProperties":false,"required":["id","commenter","post_time","retracted","comment"]},"CommentDetails":{"type":"object","properties":{"commenter":{"description":"The authenticated username of the person who made the comment","type":"string"},"deleted":{"description":"True if the comment has been deleted","type":"boolean"},"post_time":{"description":"The time when the comment was posted in ms since the POSIX epoch","type":"integer","format":"int64"},"target_id":{"description":"The identifier of the target the comment is attached to","type":"string","format":"uuid"},"retracted":{"description":"A flag indicating whether or not the comment is currently retracted","type":"boolean"},"id":{"description":"The service-provided UUID associated with the comment","type":"string","format":"uuid"},"comment":{"description":"The text of the comment","type":"string"},"target_type":{"description":"The type of target the comment is attached to","type":"string"},"retracted_by":{"description":"The username of the person who retracted the comment","type":"string"}},"additionalProperties":false,"required":["commenter","deleted","post_time","target_id","retracted","id","comment","target_type"]},"CommentDetailsList":{"type":"object","properties":{"comments":{"description":"A list of comment details","type":"array","items":{"$ref":"#/definitions/CommentDetails"}}},"additionalProperties":false,"required":["comments"]},"CommentList":{"type":"object","properties":{"comments":{"description":"A list of comments","type":"array","items":{"$ref":"#/definitions/Comment"}}},"additionalProperties":false,"required":["comments"]},"CommentRequest":{"description":"The comment to add","type":"object","properties":{"comment":{"description":"The text of the comment","type":"string"}},"additionalProperties":false,"required":["comment"]},"CommentResponse":{"type":"object","properties":{"comment":{"$ref":"#/definitions/Comment"}},"additionalProperties":false,"required":["comment"]},"Community":{"type":"object","properties":{"name":{"description":"The internal community name","type":"string"},"type":{"description":"The community type name","type":"string"},"description":{"description":"A brief description of the community","type":"string"},"display_extension":{"description":"The displayable community name extension","type":"string"},"display_name":{"description":"The displayable community name","type":"string"},"extension":{"description":"The internal community name extension","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"id":{"description":"The community ID","type":"string"}},"additionalProperties":false,"required":["name","type","id_index","id"]},"CommunityAdmins":{"type":"object","properties":{"members":{"description":"The list of community administrators","type":"array","items":{"$ref":"#/definitions/Subject"}}},"additionalProperties":false,"required":["members"]},"CommunityListing":{"type":"object","properties":{"groups":{"description":"The list of communities in the result set","type":"array","items":{"$ref":"#/definitions/CommunityListingEntry"}}},"additionalProperties":false,"required":["groups"]},"CommunityListingEntry":{"type":"object","properties":{"description":{"description":"A brief description of the community","type":"string"},"name":{"description":"The internal community name","type":"string"},"type":{"description":"The community type name","type":"string"},"member":{"description":"True if the authenticated user belongs to the community","type":"boolean"},"extension":{"description":"The internal community name extension","type":"string"},"id":{"description":"The community ID","type":"string"},"display_extension":{"description":"The displayable community name extension","type":"string"},"display_name":{"description":"The displayable community name","type":"string"},"privileges":{"description":"The privileges the authenticated user has for the community","type":"array","items":{"type":"string"}},"id_index":{"description":"The sequential ID index number","type":"string"},"detail":{"$ref":"#/definitions/CommunityListingGroupsDetail"}},"additionalProperties":false,"required":["name","type","member","id","privileges","id_index"]},"CommunityListingGroupsDetail":{"description":"Detailed information about the community","type":"object","properties":{"modified_at":{"description":"The date and time the community was last modified (ms since epoch)","type":"integer","format":"int64"},"attribute_values":{"description":"Attribute values, not including the ones listed in the community itself","type":"array","items":{"type":"string"}},"type_names":{"description":"The types associated with this community","type":"array","items":{"type":"string"}},"right_group":{"$ref":"#/definitions/CommunityListingGroupsDetailRightGroup"},"has_composite":{"description":"True if this community has a composite member","type":"boolean"},"left_group":{"$ref":"#/definitions/CommunityListingGroupsDetailLeftGroup"},"is_composite_factor":{"description":"True if this community is a composite member of another group","type":"boolean"},"attribute_names":{"description":"Attribute names, not including the ones listed in the community itself","type":"array","items":{"type":"string"}},"created_by_detail":{"$ref":"#/definitions/Subject"},"modified_by":{"description":"The ID of the subject who last modified the community","type":"string"},"created_by":{"description":"The ID of the subject who created the community","type":"string"},"created_at":{"description":"The date and time the community was created (ms since epoch)","type":"integer","format":"int64"},"composite_type":{"description":"The type of composite community, if applicable","type":"string"}},"additionalProperties":false,"required":["has_composite","is_composite_factor","created_at"]},"CommunityListingGroupsDetailLeftGroup":{"description":"The left community if this group is a composite","type":"object","properties":{"name":{"description":"The internal community name","type":"string"},"type":{"description":"The community type name","type":"string"},"description":{"description":"A brief description of the community","type":"string"},"display_extension":{"description":"The displayable community name extension","type":"string"},"display_name":{"description":"The displayable community name","type":"string"},"extension":{"description":"The internal community name extension","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"id":{"description":"The community ID","type":"string"}},"additionalProperties":false,"required":["name","type","id_index","id"]},"CommunityListingGroupsDetailRightGroup":{"description":"The right community if this group is a composite","type":"object","properties":{"name":{"description":"The internal community name","type":"string"},"type":{"description":"The community type name","type":"string"},"description":{"description":"A brief description of the community","type":"string"},"display_extension":{"description":"The displayable community name extension","type":"string"},"display_name":{"description":"The displayable community name","type":"string"},"extension":{"description":"The internal community name extension","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"id":{"description":"The community ID","type":"string"}},"additionalProperties":false,"required":["name","type","id_index","id"]},"CommunityMembers":{"type":"object","properties":{"members":{"description":"The list of community members","type":"array","items":{"$ref":"#/definitions/Subject"}}},"additionalProperties":false,"required":["members"]},"CommunityStub":{"type":"object","properties":{"description":{"description":"A brief description of the community","type":"string"},"name":{"description":"The internal community name","type":"string"},"type":{"description":"The community type name","type":"string"},"extension":{"description":"The internal community name extension","type":"string"},"id":{"description":"The community ID","type":"string"},"display_extension":{"description":"The displayable community name extension","type":"string"},"display_name":{"description":"The displayable community name","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"}},"additionalProperties":false},"ConcurrentJobLimit":{"type":"object","properties":{"username":{"description":"The username of the limited user, omitted for the default setting","type":"string"},"concurrent_jobs":{"description":"The maximum number of concurrently running jobs","type":"integer","format":"int64"},"is_default":{"description":"True if the default setting is being used for the user.","type":"boolean"}},"additionalProperties":false,"required":["concurrent_jobs","is_default"]},"ConcurrentJobLimitListItem":{"type":"object","properties":{"username":{"description":"The username of the limited user, omitted for the default setting","type":"string"},"concurrent_jobs":{"description":"The maximum number of concurrently running jobs","type":"integer","format":"int64"},"is_default":{"description":"True for the default setting.","type":"boolean"}},"additionalProperties":false,"required":["concurrent_jobs","is_default"]},"ConcurrentJobLimitUpdate":{"type":"object","properties":{"concurrent_jobs":{"description":"The maximum number of concurrently running jobs","type":"integer","format":"int64"}},"additionalProperties":false,"required":["concurrent_jobs"]},"ConcurrentJobLimits":{"type":"object","properties":{"limits":{"description":"The list of concurrent job limits","type":"array","items":{"$ref":"#/definitions/ConcurrentJobLimitListItem"}}},"additionalProperties":false,"required":["limits"]},"ConfigMap":{"type":"object","properties":{"appName":{"description":"The name of the app the resource is associated with","type":"string"},"analysisName":{"description":"The name of the analysis the resource is associated with","type":"string"},"creationTimestamp":{"description":"The time the resource was created","type":"string"},"name":{"description":"The name of the resource","type":"string"},"analysisID":{"description":"The UUID assigned to the analysis","type":"string","format":"uuid","x-nullable":true},"username":{"description":"The username of the user that launched the analysis","type":"string"},"appID":{"description":"The UUID of the app the resource is associated with","type":"string","format":"uuid"},"externalID":{"description":"The UUID assigned to the job step","type":"string","format":"uuid"},"userID":{"description":"The UUID assigned to the user that launched the analysis","type":"string","format":"uuid"},"namespace":{"description":"The namespace for the resource","type":"string"},"data":{"description":"The data of the config map"}},"additionalProperties":false,"required":["appName","analysisName","creationTimestamp","name","username","appID","externalID","userID","namespace","data"]},"ContainerState":{"description":"The current state of the container","type":"object","properties":{"waiting":{"$ref":"#/definitions/ContainerStateWaiting","x-nullable":true},"running":{"$ref":"#/definitions/ContainerStateRunning","x-nullable":true},"terminated":{"$ref":"#/definitions/ContainerStateTerminated","x-nullable":true}},"additionalProperties":false},"ContainerStateRunning":{"type":"object","properties":{"startedAt":{"description":"The time the container started running","type":"string"}},"additionalProperties":false,"required":["startedAt"]},"ContainerStateTerminated":{"type":"object","properties":{"exitCode":{"description":"The exit code for the container","type":"integer","format":"int64"},"signal":{"description":"The numerical signal sent to the container process","type":"integer","format":"int64"},"reason":{"description":"The reason the container terminated","type":"string","x-nullable":true},"message":{"description":"The message associated with the container termination","type":"string","x-nullable":true},"startedAt":{"description":"The time the container started","type":"string","x-nullable":true},"finishedAt":{"description":"The time the container finished","type":"string","x-nullable":true},"containerID":{"description":"The ID of the container","type":"string"}},"additionalProperties":false},"ContainerStateWaiting":{"type":"object","properties":{"reason":{"description":"The reason the container is in the waiting state","type":"string","x-nullable":true},"message":{"description":"The message associated with the waiting state","type":"string","x-nullable":true}},"additionalProperties":false},"ContainerStatus":{"type":"object","properties":{"started":{"description":"Whether or not the container has started","type":"boolean"},"volumeMounts":{"description":"The volume mounts associated with the container","type":"array","items":{},"x-nullable":true},"ready":{"description":"Whether or not the container is ready","type":"boolean"},"name":{"description":"The name of the container","type":"string"},"restartCount":{"description":"The number of times the container has restarted","type":"integer","format":"int64"},"state":{"$ref":"#/definitions/ContainerState"},"lastState":{"$ref":"#/definitions/ContainerState"},"containerID":{"description":"The ID associated with the container","type":"string"},"imageID":{"description":"The image ID associated with the container","type":"string"},"image":{"description":"The image name used for the container","type":"string"}},"additionalProperties":{},"required":["ready","name","restartCount","state","lastState","imageID","image"]},"CookieConfig":{"description":"Cookie-based session storage configuration","type":"object","properties":{"lifetimeType":{"description":"Specifies whether the cookie has a permanent or session-based lifetime","type":"string","enum":["Session","Persistent"]}},"additionalProperties":false},"DashboardAggregatedAnalyses":{"description":"The analysis listings returned for the dashboard","type":"object","properties":{"recent":{"description":"Analyses recent launched by the user","type":"array","items":{"$ref":"#/definitions/Analysis"},"x-nullable":true},"running":{"description":"Analyses currently running for the user","type":"array","items":{"$ref":"#/definitions/Analysis"},"x-nullable":true}},"additionalProperties":false},"DashboardAggregatedApps":{"description":"The app listings returned for the dashboard","type":"object","properties":{"recentlyAdded":{"description":"Apps recently added by the user","type":"array","items":{"$ref":"#/definitions/DashboardApp"},"x-nullable":true},"recentlyUsed":{"description":"Apps that the user has used recently","type":"array","items":{"$ref":"#/definitions/DashboardApp"},"x-nullable":true},"popularFeatured":{"description":"Apps that are the most popular featured apps","type":"array","items":{"$ref":"#/definitions/DashboardApp"},"x-nullable":true},"public":{"description":"Apps recently made public","type":"array","items":{"$ref":"#/definitions/DashboardApp"}}},"additionalProperties":false,"required":["popularFeatured"]},"DashboardAggregatorResponse":{"type":"object","properties":{"apps":{"$ref":"#/definitions/DashboardAggregatedApps"},"analyses":{"$ref":"#/definitions/DashboardAggregatedAnalyses"},"feeds":{"$ref":"#/definitions/DashboardFeeds"},"instantLaunches":{"description":"The instant launches marked for the dashboard","type":"array","items":{"$ref":"#/definitions/FullInstantLaunch"}}},"additionalProperties":false,"required":["apps"]},"DashboardApp":{"type":"object","properties":{"integration_date":{"description":"The date the app was integrated. Milliseconds since epoch","type":"string","x-nullable":true},"description":{"description":"The description of the app","type":"string","x-nullable":true},"is_favorite":{"description":"True if the user has marked the app as a favorite","type":"boolean","x-nullable":true},"name":{"description":"The name of the app","type":"string","x-nullable":true},"username":{"description":"The name of the user that created the app","type":"string","x-nullable":true},"system_id":{"description":"The system ID for the app","type":"string"},"is_public":{"description":"True if the app is publicly accessible","type":"boolean","x-nullable":true},"id":{"description":"The app ID","type":"string"},"edited_date":{"description":"The date the app was last edited","type":"string","x-nullable":true},"wiki_url":{"description":"The URL to the wiki entry for the app","type":"string","x-nullable":true},"job_count":{"description":"The number of times the app has been run recently","type":"string","x-nullable":true}},"additionalProperties":false,"required":["username","system_id","id"]},"DashboardFeedItem":{"type":"object","properties":{"description":{"description":"Corresponds to the content snippet provided by the feed. Named description to match the other types","type":"string"},"content":{"description":"The content of the item","type":"string","x-nullable":true},"name":{"description":"The name of the item in the feed. Not the name of the feed itself","type":"string"},"date_added":{"description":"The date the item was added to the feed","type":"string"},"thumbnailUrl":{"description":"The URL for a thumbnail associated with the item, most likely a video.","type":"string"},"author":{"description":"The author of the item","type":"string"},"link":{"description":"Link to the source of the feed item. Probably leads to the website","type":"string"},"id":{"description":"The unique identifier for a feed. Probably not a UUID","type":"string"},"publication_date":{"description":"The date the item was originally published","type":"string"}},"additionalProperties":false,"required":["description","name","date_added","author","link","id","publication_date"]},"DashboardFeeds":{"description":"Information from RSS feeds on the website","type":"object","properties":{"news":{"description":"The news feed","type":"array","items":{"$ref":"#/definitions/DashboardFeedItem"},"x-nullable":true},"events":{"description":"The events feed","type":"array","items":{"$ref":"#/definitions/DashboardFeedItem"},"x-nullable":true},"videos":{"description":"The videos feed","type":"array","items":{"$ref":"#/definitions/DashboardFeedItem"},"x-nullable":true}},"additionalProperties":false},"DataIdsMap":{"description":"IDs info","type":"object","additionalProperties":{"description":"The data item's info","x-oneOf":[{"$ref":"#/definitions/FileStatInfo"},{"$ref":"#/definitions/DirStatInfo"}]}},"DataSource":{"type":"object","properties":{"id":{"description":"A UUID that is used to identify the Data Source","type":"string","format":"uuid"},"name":{"description":"The Data Source's name","type":"string"},"description":{"description":"The Data Source's description","type":"string"},"label":{"description":"The Data Source's label","type":"string"}},"additionalProperties":false,"required":["id","name","description","label"]},"DataSourceListing":{"type":"object","properties":{"data_sources":{"description":"Listing of App File Parameter Data Sources","type":"array","items":{"$ref":"#/definitions/DataSource"}}},"additionalProperties":false,"required":["data_sources"]},"DefaultInstantLaunchMapping":{"type":"object","properties":{"id":{"description":"The UUID of the default instant launch mapping","type":"string","format":"uuid"},"version":{"description":"The format version of the instant launch mapping","type":"string"},"mapping":{"$ref":"#/definitions/InstantLaunchMapping"}},"additionalProperties":false,"required":["id","version","mapping"]},"DefaultOutputDirPreference":{"description":"The user's default analyses output directory, required by this terrain service.","type":"object","properties":{"id":{"description":"The IRODS paths to this data item","type":"string"},"path":{"description":"The IRODS paths to this data item","type":"string"}},"additionalProperties":{},"required":["id","path"]},"DeleteTicketErrorResponses":{"type":"object","properties":{"error_code":{"type":"string","enum":["ERR_NOT_A_USER","ERR_SCHEMA_VALIDATION","ERR_UNCHECKED_EXCEPTION","ERR_NOT_WRITEABLE","ERR_TICKET_DOES_NOT_EXIST"]},"reason":{"description":"A brief text or object describing the reason for the error"}},"additionalProperties":false,"required":["error_code"]},"DeleteTicketsResponse":{"type":"object","properties":{"tickets":{"description":"A list of ticket IDs","type":"array","items":{"type":"string"}},"user":{"description":"The user performing the request.","type":"string"}},"additionalProperties":false,"required":["tickets","user"]},"DeletedAddon":{"type":"object","properties":{"uuid":{"description":"The UUID of the add-on that was deleted","type":"string","format":"uuid"},"name":{"description":"The name of the deleted addon. Probably blank","type":"string","x-nullable":true},"description":{"description":"The descriiption of the deleted addon. Probably blank","type":"string","x-nullable":true},"default_amount":{"description":"The default amount of the deleted addon. Probably blank","type":"number","format":"double","x-nullable":true},"default_paid":{"description":"Whether the add-on needs to be paid for. Probably blank","type":"boolean","x-nullable":true},"resource_type":{"$ref":"#/definitions/ResourceTypeForAddonDeletion","x-nullable":true},"addon_rates":{"description":"The rates associated with the addon","type":"array","items":{"$ref":"#/definitions/AddonRate"}}},"additionalProperties":false,"required":["uuid"]},"DeletedAddonResponse":{"type":"object","properties":{"addon":{"$ref":"#/definitions/DeletedAddon"}},"additionalProperties":false,"required":["addon"]},"DeletionResponse":{"type":"object","properties":{"id":{"description":"The UUID of the resource that was deleted","type":"string","format":"uuid"}},"additionalProperties":false,"required":["id"]},"Deployment":{"type":"object","properties":{"group":{"description":"The group ID of the analysis process","type":"integer","format":"int64"},"appName":{"description":"The name of the app the resource is associated with","type":"string"},"analysisName":{"description":"The name of the analysis the resource is associated with","type":"string"},"creationTimestamp":{"description":"The time the resource was created","type":"string"},"name":{"description":"The name of the resource","type":"string"},"analysisID":{"description":"The UUID assigned to the analysis","type":"string","format":"uuid","x-nullable":true},"username":{"description":"The username of the user that launched the analysis","type":"string"},"command":{"description":"The command used to start the analysis","type":"array","items":{"type":"string"}},"appID":{"description":"The UUID of the app the resource is associated with","type":"string","format":"uuid"},"port":{"description":"The port number the pods in the deployment are listening on","type":"integer","format":"int64"},"externalID":{"description":"The UUID assigned to the job step","type":"string","format":"uuid"},"userID":{"description":"The UUID assigned to the user that launched the analysis","type":"string","format":"uuid"},"image":{"description":"The container image name used in the K8s Deployment","type":"string"},"namespace":{"description":"The namespace for the resource","type":"string"},"user":{"description":"The user ID of the analysis process","type":"integer","format":"int64"}},"additionalProperties":false,"required":["group","appName","analysisName","creationTimestamp","name","username","command","appID","port","externalID","userID","image","namespace","user"]},"Device":{"description":"Information about a device associated with a tool's container.","type":"object","properties":{"host_path":{"description":"A device's path on the container host","type":"string"},"container_path":{"description":"A device's path inside the tool container","type":"string"},"id":{"type":"string","format":"uuid"}},"additionalProperties":false,"required":["host_path","container_path","id"]},"DirStatInfo":{"type":"object","properties":{"path":{"description":"The IRODS paths to this data item","type":"string"},"share-count":{"description":"The number of other users this data item is shared with (only displayed to users with 'own' permissions)","type":"integer","format":"int64"},"date-created":{"description":"The date this data item was created","type":"integer","format":"int64"},"permission":{"description":"The requesting user's permissions on this data item","type":"string","enum":["read","own","write"]},"date-modified":{"description":"The date this data item was last modified","type":"integer","format":"int64"},"type":{"description":"The data item's type","type":"string","enum":["dir","file"]},"dir-count":{"description":"The number of subdirectories under this directory","type":"integer","format":"int64"},"label":{"description":"The descriptive label for this item.","type":"string"},"id":{"description":"The UUID of this data item","type":"string","format":"uuid"},"file-count":{"description":"The number of files under this directory","type":"integer","format":"int64"}},"additionalProperties":false,"required":["path","date-created","permission","date-modified","type","dir-count","label","id","file-count"]},"DirectoryResponse":{"type":"object","properties":{"path":{"description":"The IRODS paths to this data item","type":"string"},"share-count":{"description":"The number of other users this data item is shared with (only displayed to users with 'own' permissions)","type":"integer","format":"int64"},"date-created":{"description":"The date this data item was created","type":"integer","format":"int64"},"folders":{"description":"Subdirectories of this directory","type":"array","items":{"$ref":"#/definitions/FolderListing"}},"permission":{"description":"The requesting user's permissions on this data item","type":"string","enum":["read","own","write"]},"date-modified":{"description":"The date this data item was last modified","type":"integer","format":"int64"},"hasSubDirs":{"description":"Flag indicating whether the folder has any subdirectories","type":"boolean"},"roots":{"description":"This `roots` key will only be returned when the `path` param is omitted in the request,\n                      and then only this `roots` key will be included at the top-level of the response","type":"array","items":{"$ref":"#/definitions/FolderListing"}},"badName":{"description":"Flag indicating whether the folder should be disabled/avoided in the client UI","type":"boolean"},"isFavorite":{"description":"Flag indicating whether the folder is marked as a favorite by the user","type":"boolean"},"label":{"description":"The descriptive label for this item.","type":"string"},"id":{"description":"The UUID of this data item","type":"string","format":"uuid"}},"additionalProperties":false},"ErrorPrivateToolRequestBadParam":{"type":"object","properties":{"error_code":{"description":"Exists or Bad Field error code","type":"string","enum":["ERR_BAD_OR_MISSING_FIELD","ERR_EXISTS"]},"reason":{"description":"A brief description of the reason for the error","type":"string"}},"additionalProperties":false,"required":["error_code"]},"ErrorResponse":{"description":"Information about any error that may have occurred","type":"object","properties":{"error_code":{"description":"The code identifying the type of error","type":"string"},"reason":{"description":"A brief description of the reason for the error","type":"string"}},"additionalProperties":false,"required":["error_code"]},"ErrorResponseBadTagRequest":{"type":"object","properties":{"error_code":{"description":"Bad Tag Request error codes","type":"string","enum":["ERR_ILLEGAL_ARGUMENT","ERR_NOT_UNIQUE"]},"reason":{"description":"A brief description of the reason for the error","type":"string"}},"additionalProperties":false,"required":["error_code"]},"ErrorResponseExists":{"type":"object","properties":{"error_code":{"description":"Exists error code","type":"string","enum":["ERR_EXISTS"]},"reason":{"description":"A brief description of the reason for the error","type":"string"}},"additionalProperties":false,"required":["error_code"]},"ErrorResponseForbidden":{"type":"object","properties":{"error_code":{"description":"Insufficient privileges error code","type":"string","enum":["ERR_FORBIDDEN"]},"reason":{"description":"A brief description of the reason for the error","type":"string"}},"additionalProperties":false,"required":["error_code"]},"ErrorResponseIllegalArgument":{"type":"object","properties":{"error_code":{"description":"Illegal Argument error code","type":"string","enum":["ERR_ILLEGAL_ARGUMENT"]},"reason":{"description":"A brief description of the reason for the error","type":"string"}},"additionalProperties":false,"required":["error_code"]},"ErrorResponseNotFound":{"type":"object","properties":{"error_code":{"description":"Not Found error code","type":"string","enum":["ERR_NOT_FOUND"]},"reason":{"description":"A brief description of the reason for the error","type":"string"}},"additionalProperties":false,"required":["error_code"]},"ErrorResponseNotWritable":{"type":"object","properties":{"error_code":{"description":"Not Writeable error code","type":"string","enum":["ERR_NOT_WRITEABLE"]},"reason":{"description":"A brief description of the reason for the error","type":"string"}},"additionalProperties":false,"required":["error_code"]},"ErrorResponseUnchecked":{"type":"object","properties":{"error_code":{"description":"Response schema validation and Unchecked error codes","type":"string","enum":["ERR_SCHEMA_VALIDATION","ERR_UNCHECKED_EXCEPTION"]},"reason":{"description":"A brief text or object describing the reason for the error"}},"additionalProperties":false,"required":["error_code"]},"ExistenceErrorResponses":{"type":"object","properties":{"error_code":{"type":"string","enum":["ERR_NOT_A_USER","ERR_TOO_MANY_RESULTS","ERR_SCHEMA_VALIDATION","ERR_UNCHECKED_EXCEPTION"]},"reason":{"description":"A brief text or object describing the reason for the error"}},"additionalProperties":false,"required":["error_code"]},"ExistenceInfo":{"type":"object","properties":{"paths":{"$ref":"#/definitions/PathExistenceMap"}},"additionalProperties":false,"required":["paths"]},"ExistenceRequest":{"description":"The paths to check for existence.","type":"object","properties":{"paths":{"description":"A list of iRODS paths","type":"array","items":{"description":"A non-blank string.","type":"string"}}},"additionalProperties":false,"required":["paths"]},"ExistenceResponse":{"type":"object","properties":{"paths":{"$ref":"#/definitions/ExistenceResponsePathsMap"}},"additionalProperties":false,"required":["paths"]},"ExistenceResponsePathsMap":{"description":"A map of paths from the request to their existence info","type":"object","properties":{"/path/from/request/to/a/file/or/folder":{"description":"Whether this path from the request exists","type":"boolean"}},"additionalProperties":false,"required":["/path/from/request/to/a/file/or/folder"]},"ExternalIDResponse":{"type":"object","properties":{"externalID":{"description":"The single external ID associated with the VICE analysis","type":"string"}},"additionalProperties":false,"required":["externalID"]},"FileFormat":{"type":"object","properties":{"id":{"description":"A UUID that is used to identify the File Format","type":"string","format":"uuid"},"name":{"description":"The File Format's name","type":"string"},"label":{"description":"The File Format's label","type":"string"}},"additionalProperties":false,"required":["id","name"]},"FileFormatListing":{"type":"object","properties":{"formats":{"description":"Listing of App Parameter File Formats","type":"array","items":{"$ref":"#/definitions/FileFormat"}}},"additionalProperties":false,"required":["formats"]},"FileMetadata":{"type":"object","properties":{"attr":{"description":"The attribute name.","type":"string"},"value":{"description":"The attribute value.","type":"string"},"unit":{"description":"The attribute unit.","type":"string"}},"additionalProperties":false,"required":["attr","value","unit"]},"FileSaveRequestBody":{"type":"object","properties":{"content":{"description":"The contents of the file to save.","type":"string"},"dest":{"description":"The path to the file to save in the data store.","type":"string"}},"additionalProperties":false,"required":["content","dest"]},"FileStat":{"type":"object","properties":{"file":{"$ref":"#/definitions/FileStatInfo"}},"additionalProperties":false,"required":["file"]},"FileStatInfo":{"description":"File info","type":"object","properties":{"infoType":{"description":"The type of contents in this file","type":"string"},"path":{"description":"The IRODS paths to this data item","type":"string"},"share-count":{"description":"The number of other users this data item is shared with (only displayed to users with 'own' permissions)","type":"integer","format":"int64"},"date-created":{"description":"The date this data item was created","type":"integer","format":"int64"},"md5":{"description":"The md5 hash of this file's contents, as calculated and saved by IRODS","type":"string"},"permission":{"description":"The requesting user's permissions on this data item","type":"string","enum":["read","own","write"]},"date-modified":{"description":"The date this data item was last modified","type":"integer","format":"int64"},"type":{"description":"The data item's type","type":"string","enum":["dir","file"]},"file-size":{"description":"The size in bytes of this file","type":"integer","format":"int64"},"label":{"description":"The descriptive label for this item.","type":"string"},"id":{"description":"The UUID of this data item","type":"string","format":"uuid"},"content-type":{"description":"The detected media type of the data contained in this file","type":"string"}},"additionalProperties":false,"required":["infoType","path","date-created","md5","permission","date-modified","type","file-size","label","id","content-type"]},"FileType":{"description":"The file type to set","type":"object","properties":{"type":{"description":"The file's type","type":"string","enum":["","pir","gde","clustalw","vcf","vcfgz","gcgblast","newick","msf","bowtie","bash","pdf","selex","bigbed","ht-analysis-path-list","phyloxml","fasta","csv","nexus","gcg","blast","gff","bedgz","hmmer","genbank","fastxy","gcgfasta","perl","multi-input-path-list","embl","nexml","genscan","bigwig","gtf","sff","mega","codata","tcsh","tsv","rsf","bed","jar","stockholm","phylip","fastq","unknown","mase","sh","bam","python","game","ace","prodom","zip","swiss","csh"]},"path":{"description":"The iRODS path to the file","type":"string"}},"additionalProperties":false,"required":["type","path"]},"FileTypeReturn":{"type":"object","properties":{"type":{"description":"The file's type","type":"string","enum":["","pir","gde","clustalw","vcf","vcfgz","gcgblast","newick","msf","bowtie","bash","pdf","selex","bigbed","ht-analysis-path-list","phyloxml","fasta","csv","nexus","gcg","blast","gff","bedgz","hmmer","genbank","fastxy","gcgfasta","perl","multi-input-path-list","embl","nexml","genscan","bigwig","gtf","sff","mega","codata","tcsh","tsv","rsf","bed","jar","stockholm","phylip","fastq","unknown","mase","sh","bam","python","game","ace","prodom","zip","swiss","csh"]},"user":{"description":"The user performing the request","type":"string"},"path":{"description":"The iRODS path to the file","type":"string"}},"additionalProperties":false,"required":["type","user","path"]},"FilteredUuids":{"type":"object","properties":{"filesystem":{"description":"The filtered list of UUIDs","type":"array","items":{"type":"string","format":"uuid"}}},"additionalProperties":false,"required":["filesystem"]},"FolderListing":{"type":"object","properties":{"path":{"description":"The IRODS paths to this data item","type":"string"},"share-count":{"description":"The number of other users this data item is shared with (only displayed to users with 'own' permissions)","type":"integer","format":"int64"},"date-created":{"description":"The date this data item was created","type":"integer","format":"int64"},"folders":{"description":"Subdirectories of this directory","type":"array","items":{"$ref":"#/definitions/FolderListing"}},"permission":{"description":"The requesting user's permissions on this data item","type":"string","enum":["read","own","write"]},"date-modified":{"description":"The date this data item was last modified","type":"integer","format":"int64"},"hasSubDirs":{"description":"Flag indicating whether the folder has any subdirectories","type":"boolean"},"badName":{"description":"Flag indicating whether the folder should be disabled/avoided in the client UI","type":"boolean"},"isFavorite":{"description":"Flag indicating whether the folder is marked as a favorite by the user","type":"boolean"},"label":{"description":"The descriptive label for this item.","type":"string"},"id":{"description":"The UUID of this data item","type":"string","format":"uuid"}},"additionalProperties":false,"required":["path","date-created","permission","date-modified","hasSubDirs","badName","isFavorite","label","id"]},"ForwardBodyConfig":{"description":"Controls whether request bodies will be forwarded to the auth server","type":"object","properties":{"maxSize":{"description":"The maximum size of the body to forward to the auth server","type":"integer","format":"int64"}},"additionalProperties":false},"Fraction":{"description":"The fraction of requests that should be sent to the backend","type":"object","properties":{"numerator":{"description":"The numerator of the fraction","type":"integer","format":"int64"},"denominator":{"description":"The denominator of the fraction","type":"integer","format":"int64"}},"additionalProperties":false,"required":["numerator","denominator"]},"FullInstantLaunch":{"type":"object","properties":{"app_version":{"description":"The label of the app version used in the instant launch/quick launch","type":"string"},"quick_launch_name":{"description":"The name of the quick launch","type":"string"},"quick_launch_creator":{"description":"The username of the person that created the quick launch","type":"string"},"added_by":{"description":"The username of the user who created the instant launch","type":"string"},"app_id":{"description":"The UUID of the app used in the instant launch/quick launch","type":"string"},"app_disabled":{"description":"Whether or not the app is disabled","type":"boolean"},"quick_launch_description":{"description":"The description of the quick launch","type":"string"},"is_public":{"description":"Whether or not the quick launch is public","type":"boolean"},"app_version_id":{"description":"The UUID of the app version used in the instant launch/quick launch","type":"string"},"added_on":{"description":"The date and time when the instant launch was created","type":"string"},"id":{"description":"The UUID of the instant launch","type":"string","format":"uuid"},"app_deleted":{"description":"Whether or not the app is deleted","type":"boolean"},"quick_launch_id":{"description":"The UUID for the quick launch used for the instant launch","type":"string","format":"uuid"},"app_description":{"description":"The description of the app used in the instant launch/quick launch","type":"string"},"submission":{"description":"The submission associated with the instant launch/quick launch"},"integrator":{"description":"The username of the person that integrated the app used in the instant launch/quick launch","type":"string"},"app_name":{"description":"The name of the app used in the instant launch/quick launch","type":"string"}},"additionalProperties":false,"required":["quick_launch_name","quick_launch_creator","app_id","app_disabled","quick_launch_description","is_public","app_version_id","app_deleted","quick_launch_id","app_description","submission","integrator","app_name"]},"FullInstantLaunchList":{"type":"object","properties":{"instant_launches":{"description":"A list of full instant launches","type":"array","items":{"$ref":"#/definitions/FullInstantLaunch"}}},"additionalProperties":false,"required":["instant_launches"]},"FullResourceListing":{"type":"object","properties":{"deployments":{"description":"The list of deployments","type":"array","items":{"$ref":"#/definitions/Deployment"}},"pods":{"description":"The list of pods","type":"array","items":{"$ref":"#/definitions/Pod"}},"configMaps":{"description":"The list of config maps","type":"array","items":{"$ref":"#/definitions/ConfigMap"}},"services":{"description":"The list of services","type":"array","items":{"$ref":"#/definitions/Service"}},"routes":{"description":"The list of HTTP routes","type":"array","items":{"$ref":"#/definitions/HTTPRoute"}}},"additionalProperties":false,"required":["deployments","pods","configMaps","services","routes"]},"GRPCAuthConfig":{"description":"Configuration for communication with ext_authz backends","type":"object","properties":{"allowedHeaders":{"description":"The HTTP request headers to forward to the auth server","type":"array","items":{"type":"string"}}},"additionalProperties":false},"Genome":{"type":"object","properties":{"description":{"description":"The genome description","type":"string","x-nullable":true},"deleted":{"description":"True if the genome has been marked as deleted","type":"boolean","x-nullable":true},"organism":{"$ref":"#/definitions/Organism"},"organism_id":{"description":"The organism ID","type":"integer","format":"int64"},"name":{"description":"The genome name","type":"string","x-nullable":true},"chromosome_count":{"description":"The number of chromosomes in the genome","type":"integer","format":"int64","x-nullable":true},"restricted":{"description":"True if access to the genome is restricted","type":"boolean"},"link":{"description":"Optional user-supplied link to the genome information source","type":"string","x-nullable":true},"id":{"description":"The genome ID","type":"integer","format":"int64"},"certified":{"description":"True if the genome is certified","type":"boolean"},"info":{"description":"General information about the genome","type":"string","x-nullable":true},"version":{"description":"The genome version","type":"string","x-nullable":true},"sequence_type":{"$ref":"#/definitions/SequenceType"}},"additionalProperties":false,"required":["description","deleted","organism","organism_id","name","chromosome_count","restricted","link","id","certified","info","version","sequence_type"]},"GenomeExportResponse":{"type":"object","properties":{"id":{"description":"The genome ID","type":"integer","format":"int64"},"success":{"description":"True if the genome export request was successfully submitted","type":"boolean"}},"additionalProperties":false,"required":["id","success"]},"GenomeLoadRequest":{"type":"object","properties":{"paths":{"description":"The paths to the files in the data store to view in CoGe.","type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["paths"]},"GenomeLoadResponse":{"type":"object","properties":{"coge_genome_url":{"description":"The URL to use when viewing the files being imported into CoGe","type":"string"}},"additionalProperties":false,"required":["coge_genome_url"]},"GenomeSearchResponse":{"type":"object","properties":{"genomes":{"description":"The list of genomes","type":"array","items":{"$ref":"#/definitions/Genome"}}},"additionalProperties":false,"required":["genomes"]},"GetCollaboratorListsResponse":{"type":"object","properties":{"groups":{"description":"The list of collaborator lists in the result set","type":"array","items":{"$ref":"#/definitions/GetCollaboratorListsResponseGroups"}}},"additionalProperties":false,"required":["groups"]},"GetCollaboratorListsResponseGroups":{"type":"object","properties":{"description":{"description":"A brief description of the collaborator list","type":"string"},"name":{"description":"The internal collaborator list name","type":"string"},"type":{"description":"The collaborator list type name","type":"string"},"extension":{"description":"The internal collaborator list name extension","type":"string"},"id":{"description":"The collaborator list ID","type":"string"},"display_extension":{"description":"The displayable collaborator list name extension","type":"string"},"display_name":{"description":"The displayable collaborator list name","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"detail":{"$ref":"#/definitions/GetCollaboratorListsResponseGroupsDetail"}},"additionalProperties":false,"required":["name","type","id","id_index"]},"GetCollaboratorListsResponseGroupsDetail":{"description":"Detailed information about the collaborator list","type":"object","properties":{"modified_at":{"description":"The date and time the collaborator list was last modified (ms since epoch)","type":"integer","format":"int64"},"attribute_values":{"description":"Attribute values, not including the ones listed in the collaborator list itself","type":"array","items":{"type":"string"}},"type_names":{"description":"The types associated with this collaborator list","type":"array","items":{"type":"string"}},"right_group":{"$ref":"#/definitions/GetCollaboratorListsResponseGroupsDetailRightGroup"},"has_composite":{"description":"True if this collaborator list has a composite member","type":"boolean"},"left_group":{"$ref":"#/definitions/GetCollaboratorListsResponseGroupsDetailLeftGroup"},"is_composite_factor":{"description":"True if this collaborator list is a composite member of another group","type":"boolean"},"attribute_names":{"description":"Attribute names, not including the ones listed in the collaborator list itself","type":"array","items":{"type":"string"}},"created_by_detail":{"$ref":"#/definitions/Subject"},"modified_by":{"description":"The ID of the subject who last modified the collaborator list","type":"string"},"created_by":{"description":"The ID of the subject who created the collaborator list","type":"string"},"created_at":{"description":"The date and time the collaborator list was created (ms since epoch)","type":"integer","format":"int64"},"composite_type":{"description":"The type of composite collaborator list, if applicable","type":"string"}},"additionalProperties":false,"required":["has_composite","is_composite_factor","created_at"]},"GetCollaboratorListsResponseGroupsDetailLeftGroup":{"description":"The left collaborator list if this group is a composite","type":"object","properties":{"name":{"description":"The internal collaborator list name","type":"string"},"type":{"description":"The collaborator list type name","type":"string"},"description":{"description":"A brief description of the collaborator list","type":"string"},"display_extension":{"description":"The displayable collaborator list name extension","type":"string"},"display_name":{"description":"The displayable collaborator list name","type":"string"},"extension":{"description":"The internal collaborator list name extension","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"id":{"description":"The collaborator list ID","type":"string"}},"additionalProperties":false,"required":["name","type","id_index","id"]},"GetCollaboratorListsResponseGroupsDetailRightGroup":{"description":"The right collaborator list if this group is a composite","type":"object","properties":{"name":{"description":"The internal collaborator list name","type":"string"},"type":{"description":"The collaborator list type name","type":"string"},"description":{"description":"A brief description of the collaborator list","type":"string"},"display_extension":{"description":"The displayable collaborator list name extension","type":"string"},"display_name":{"description":"The displayable collaborator list name","type":"string"},"extension":{"description":"The internal collaborator list name extension","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"id":{"description":"The collaborator list ID","type":"string"}},"additionalProperties":false,"required":["name","type","id_index","id"]},"GroupListing":{"type":"object","properties":{"groups":{"description":"The list of groups in the result set","type":"array","items":{"$ref":"#/definitions/GroupListingGroups"}}},"additionalProperties":false,"required":["groups"]},"GroupListingGroups":{"type":"object","properties":{"description":{"description":"A brief description of the group","type":"string"},"name":{"description":"The internal group name","type":"string"},"type":{"description":"The group type name","type":"string"},"extension":{"description":"The internal group name extension","type":"string"},"id":{"description":"The group ID","type":"string"},"display_extension":{"description":"The displayable group name extension","type":"string"},"display_name":{"description":"The displayable group name","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"detail":{"$ref":"#/definitions/GroupListingGroupsDetail"}},"additionalProperties":false,"required":["name","type","id","id_index"]},"GroupListingGroupsDetail":{"description":"Detailed information about the group","type":"object","properties":{"modified_at":{"description":"The date and time the group was last modified (ms since epoch)","type":"integer","format":"int64"},"attribute_values":{"description":"Attribute values, not including the ones listed in the group itself","type":"array","items":{"type":"string"}},"type_names":{"description":"The types associated with this group","type":"array","items":{"type":"string"}},"right_group":{"$ref":"#/definitions/GroupListingGroupsDetailRightGroup"},"has_composite":{"description":"True if this group has a composite member","type":"boolean"},"left_group":{"$ref":"#/definitions/GroupListingGroupsDetailLeftGroup"},"is_composite_factor":{"description":"True if this group is a composite member of another group","type":"boolean"},"attribute_names":{"description":"Attribute names, not including the ones listed in the group itself","type":"array","items":{"type":"string"}},"created_by_detail":{"$ref":"#/definitions/Subject"},"modified_by":{"description":"The ID of the subject who last modified the group","type":"string"},"created_by":{"description":"The ID of the subject who created the group","type":"string"},"created_at":{"description":"The date and time the group was created (ms since epoch)","type":"integer","format":"int64"},"composite_type":{"description":"The type of composite group, if applicable","type":"string"}},"additionalProperties":false,"required":["has_composite","is_composite_factor","created_at"]},"GroupListingGroupsDetailLeftGroup":{"description":"The left group if this group is a composite","type":"object","properties":{"name":{"description":"The internal group name","type":"string"},"type":{"description":"The group type name","type":"string"},"description":{"description":"A brief description of the group","type":"string"},"display_extension":{"description":"The displayable group name extension","type":"string"},"display_name":{"description":"The displayable group name","type":"string"},"extension":{"description":"The internal group name extension","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"id":{"description":"The group ID","type":"string"}},"additionalProperties":false,"required":["name","type","id_index","id"]},"GroupListingGroupsDetailRightGroup":{"description":"The right group if this group is a composite","type":"object","properties":{"name":{"description":"The internal group name","type":"string"},"type":{"description":"The group type name","type":"string"},"description":{"description":"A brief description of the group","type":"string"},"display_extension":{"description":"The displayable group name extension","type":"string"},"display_name":{"description":"The displayable group name","type":"string"},"extension":{"description":"The internal group name extension","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"id":{"description":"The group ID","type":"string"}},"additionalProperties":false,"required":["name","type","id_index","id"]},"GroupMemberSubjectUpdateResponse":{"type":"object","properties":{"success":{"description":"True if the user was added successfully","type":"boolean"},"subject_id":{"description":"The subject ID","type":"string"},"source_id":{"description":"The subject source ID","type":"string"},"subject_name":{"description":"The subject name","type":"string"}},"additionalProperties":false,"required":["success","subject_id","source_id"]},"GroupMembersUpdate":{"type":"object","properties":{"members":{"description":"The new list of member subject IDs","type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["members"]},"GroupMembersUpdateResponse":{"type":"object","properties":{"results":{"description":"The list of membership update results","type":"array","items":{"$ref":"#/definitions/GroupMemberSubjectUpdateResponse"}}},"additionalProperties":false,"required":["results"]},"GroupPrivilegeUpdate":{"type":"object","properties":{"subject_id":{"description":"The subject ID","type":"string"},"privileges":{"description":"The group privileges to assign","type":"array","items":{"type":"string","enum":["groupAttrRead","optin","admin","read","update","groupAttrUpdate","view","optout"]}}},"additionalProperties":false,"required":["subject_id","privileges"]},"GroupPrivilegeUpdates":{"type":"object","properties":{"updates":{"description":"The privilege updates to process","type":"array","items":{"$ref":"#/definitions/GroupPrivilegeUpdate"}}},"additionalProperties":false,"required":["updates"]},"HTTPAuthConfig":{"description":"Configuration for communication with HTTP auth backends","type":"object","properties":{"path":{"description":"The HTTP path prefix to use for the auth server","type":"string"},"allowedHeaders":{"description":"The HTTP request headers to forward to the auth server","type":"array","items":{"type":"string"}},"allowedResponseHeaders":{"description":"The HTTP headers from the authorization response to copy to the backend request","type":"array","items":{"type":"string"}}},"additionalProperties":false},"HTTPBackendRef":{"type":"object","properties":{"group":{"description":"The Kubernetes API group of the referent","type":"string"},"kind":{"description":"The kind of Kubernetes resource being referenced","type":"string"},"name":{"description":"The name of the referent","type":"string"},"namespace":{"description":"The namespace of the referent","type":"string"},"port":{"description":"The destination port to use for the resource","type":"integer","format":"int64"},"weight":{"description":"The proportion of requests to forward to the referenced backend","type":"integer","format":"int64"},"filters":{"description":"Filters to apply to requests forwarded to the backend","type":"array","items":{"$ref":"#/definitions/HTTPRouteFilter"}}},"additionalProperties":false},"HTTPCORSFilter":{"description":"CORS settings","type":"object","properties":{"allowOrigins":{"description":"The origins to allow the response to be shared with","type":"array","items":{"type":"string"}},"allowCredentials":{"description":"Indicates whether credentials should be shared with the origin","type":"boolean"},"allowMethods":{"description":"The HTTP methods allowed for the origin","type":"array","items":{"type":"string","enum":["*","DELETE","HEAD","GET","TRACE","PATCH","OPTIONS","POST","PUT","CONNECT"]}},"allowHeaders":{"description":"The HTTP request headers allowed for the origin","type":"array","items":{"type":"string"}},"exposeHeaders":{"description":"The HTTP response headers to expose to the origin","type":"array","items":{"type":"string"}},"maxAge":{"description":"The number of seconds for the client to cache preflight request results","type":"integer","format":"int64"}},"additionalProperties":false},"HTTPExternalAuthFilter":{"description":"External auth settings","type":"object","properties":{"protocol":{"description":"The protocol to use when communicating with the auth server","type":"string","enum":["GRPC","HTTP"]},"backendRef":{"$ref":"#/definitions/BackendObjectReference"},"grpc":{"$ref":"#/definitions/GRPCAuthConfig"},"http":{"$ref":"#/definitions/HTTPAuthConfig"},"forwardBody":{"$ref":"#/definitions/ForwardBodyConfig"}},"additionalProperties":false},"HTTPHeader":{"type":"object","properties":{"name":{"description":"The name of the HTTP header","type":"string"},"value":{"description":"The value of the HTTP header","type":"string"}},"additionalProperties":false,"required":["name","value"]},"HTTPHeaderFilter":{"description":"Request header modification settings","type":"object","properties":{"set":{"description":"HTTP headers to overwrite, replacing existing values","type":"array","items":{"$ref":"#/definitions/HTTPHeader"}},"add":{"description":"HTTP headers to add, appending to existing headers","type":"array","items":{"$ref":"#/definitions/HTTPHeader"}},"remove":{"description":"The names of HTTP headers to remove","type":"array","items":{"type":"string"}}},"additionalProperties":false},"HTTPHeaderMatch":{"type":"object","properties":{"type":{"description":"Specifies how to match against the query parameter value","type":"string","enum":["RegularExpression","Exact"]},"name":{"description":"The name of the HTTP header to match, must be an exact string match","type":"string"},"value":{"description":"The value of the HTTP header to match","type":"string"}},"additionalProperties":false,"required":["type","name","value"]},"HTTPPathMatch":{"description":"HTTP path matcher configuration","type":"object","properties":{"type":{"description":"Defines how to match against the path value","type":"string","enum":["PathPrefix","RegularExpression","Exact"]},"value":{"description":"The path value to match against","type":"string"}},"additionalProperties":false,"required":["type","value"]},"HTTPPathModifier":{"description":"URL path modification settings","type":"object","properties":{"type":{"description":"The type of path modification to perform","type":"string","enum":["ReplaceFullMatch","ReplacePrefixMatch"]},"replaceFullPath":{"description":"The replacement for the full path of the original URL","type":"string"},"replacePrefixMatch":{"description":"The replacement for the path prefix","type":"string"}},"additionalProperties":false},"HTTPQueryParamMatch":{"type":"object","properties":{"type":{"description":"Specifies how to match against the query parameter value","type":"string","enum":["RegularExpression","Exact"]},"name":{"description":"The name of the HTTP query parameter to match, must be an exact string match","type":"string"},"value":{"description":"The value of the HTTP query parameter to match","type":"string"}},"additionalProperties":false,"required":["type","name","value"]},"HTTPRequestMirrorFilter":{"description":"Request mirroring settings","type":"object","properties":{"backendRef":{"$ref":"#/definitions/BackendObjectReference"},"percent":{"description":"The percentage of requests that should be sent to the backend","type":"integer","format":"int64"},"fraction":{"$ref":"#/definitions/Fraction"}},"additionalProperties":false},"HTTPRequestRedirectFilter":{"description":"Request redirect settings","type":"object","properties":{"scheme":{"description":"The scheme to use in the Location response header","type":"string","enum":["http","https"]},"hostname":{"description":"The hostname to use in the Location response header","type":"string"},"path":{"$ref":"#/definitions/HTTPPathModifier"},"port":{"description":"The port to use in the Location response header","type":"integer","format":"int64"},"statusCode":{"description":"The HTTP status code to use in the response","type":"integer","format":"int64","enum":[301,302]}},"additionalProperties":false},"HTTPRoute":{"type":"object","properties":{"appName":{"description":"The name of the app the resource is associated with","type":"string"},"analysisName":{"description":"The name of the analysis the resource is associated with","type":"string"},"creationTimestamp":{"description":"The time the resource was created","type":"string"},"name":{"description":"The name of the resource","type":"string"},"analysisID":{"description":"The UUID assigned to the analysis","type":"string","format":"uuid","x-nullable":true},"username":{"description":"The username of the user that launched the analysis","type":"string"},"appID":{"description":"The UUID of the app the resource is associated with","type":"string","format":"uuid"},"rules":{"description":"Rules used to match requests with the route","type":"array","items":{"$ref":"#/definitions/HTTPRouteRule"}},"externalID":{"description":"The UUID assigned to the job step","type":"string","format":"uuid"},"userID":{"description":"The UUID assigned to the user that launched the analysis","type":"string","format":"uuid"},"namespace":{"description":"The namespace for the resource","type":"string"}},"additionalProperties":false,"required":["appName","analysisName","creationTimestamp","name","username","appID","rules","externalID","userID","namespace"]},"HTTPRouteFilter":{"type":"object","properties":{"cors":{"$ref":"#/definitions/HTTPCORSFilter"},"requestRedirect":{"$ref":"#/definitions/HTTPRequestRedirectFilter"},"urlRewrite":{"$ref":"#/definitions/HTTPURLRewriteFilter"},"requestHeaderModifier":{"$ref":"#/definitions/HTTPHeaderFilter"},"type":{"description":"The type of filter to apply to the request","type":"string","enum":["RequestHeaderModifier","URLRewrite","ResponseHeaderModifier","ExternalAuth","RequestMirror","RequestRedirect","CORS","ExtensionRef"]},"requestMirror":{"$ref":"#/definitions/HTTPRequestMirrorFilter"},"responseHeaderModifier":{"$ref":"#/definitions/HTTPHeaderFilter"},"extensionRef":{"$ref":"#/definitions/LocalObjectReference"},"externalAuth":{"$ref":"#/definitions/HTTPExternalAuthFilter"}},"additionalProperties":false},"HTTPRouteMatch":{"type":"object","properties":{"path":{"$ref":"#/definitions/HTTPPathMatch"},"headers":{"description":"HTTP header matcher configurations","type":"array","items":{"$ref":"#/definitions/HTTPHeaderMatch"}},"queryParams":{"description":"HTTP query parameter matcher configurations","type":"array","items":{"$ref":"#/definitions/HTTPQueryParamMatch"}},"method":{"description":"HTTP method matcher configuration","type":"string","enum":["DELETE","HEAD","GET","TRACE","PATCH","OPTIONS","POST","PUT","CONNECT"]}},"additionalProperties":false},"HTTPRouteRetry":{"description":"Configuration indicating when to retry a request","type":"object","properties":{"codes":{"description":"Status codes that should trigger a retry","type":"array","items":{"type":"integer","format":"int64"}},"attempts":{"description":"The maximum number of retry attempts","type":"integer","format":"int64"},"backoff":{"description":"The minimum amount of time between retries","type":"string"}},"additionalProperties":false},"HTTPRouteRule":{"type":"object","properties":{"name":{"description":"The name of the HTTPRoute","type":"string"},"matches":{"description":"The list of matching route specifications","type":"array","items":{"$ref":"#/definitions/HTTPRouteMatch"}},"filters":{"description":"The list of filters applied to this rule","type":"array","items":{"$ref":"#/definitions/HTTPRouteFilter"}},"backendRefs":{"description":"The backends where matching requests should be routed","type":"array","items":{"$ref":"#/definitions/HTTPBackendRef"}},"timeouts":{"$ref":"#/definitions/HTTPRouteTimeouts"},"retry":{"$ref":"#/definitions/HTTPRouteRetry"},"sessionPersistence":{"$ref":"#/definitions/SessionPersistence"}},"additionalProperties":false},"HTTPRouteTimeouts":{"description":"Configurable timeouts for the route","type":"object","properties":{"request":{"description":"The maximum amount of time for a gateway to respond to a request","type":"string"},"backendRequest":{"description":"The maximum amount of time for a request from the gateway to a backend","type":"string"}},"additionalProperties":false},"HTTPURLRewriteFilter":{"description":"URL rewrite settings","type":"object","properties":{"hostname":{"description":"The value used to replace the Host header in the forwarded request","type":"string"},"path":{"$ref":"#/definitions/HTTPPathModifier"}},"additionalProperties":false},"Image":{"description":"A map describing a container image.","type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"tag":{"type":"string"},"url":{"type":"string","x-nullable":true},"deprecated":{"type":"boolean"},"auth":{"type":"string","x-nullable":true},"osg_image_path":{"type":"string","x-nullable":true}},"additionalProperties":false,"required":["name","id"]},"InfoType":{"type":"object","properties":{"id":{"description":"A UUID that is used to identify the Info Type","type":"string","format":"uuid"},"name":{"description":"The Info Type's name","type":"string"},"label":{"description":"The Info Type's label","type":"string"}},"additionalProperties":false,"required":["id","name"]},"InfoTypeListing":{"type":"object","properties":{"info_types":{"description":"Listing of Tool Info Types","type":"array","items":{"$ref":"#/definitions/InfoType"}}},"additionalProperties":false,"required":["info_types"]},"InstantLaunch":{"description":"The default instant launch for the file","type":"object","properties":{"id":{"description":"The UUID of the instant launch","type":"string","format":"uuid"},"quick_launch_id":{"description":"The UUID for the quick launch used for the instant launch","type":"string","format":"uuid"},"added_by":{"description":"The username of the user who created the instant launch","type":"string"},"added_on":{"description":"The date and time when the instant launch was created","type":"string"}},"additionalProperties":false,"required":["quick_launch_id"]},"InstantLaunchList":{"type":"object","properties":{"instant_launches":{"description":"A list of instant launches","type":"array","items":{"$ref":"#/definitions/InstantLaunch"}}},"additionalProperties":false,"required":["instant_launches"]},"InstantLaunchMapping":{"type":"object","additionalProperties":{"$ref":"#/definitions/InstantLaunchSelector"}},"InstantLaunchSelector":{"description":"Instant Launch pattern definition","type":"object","properties":{"pattern":{"description":"The pattern used to match against the file. Interpretation is defined by the 'kind' field","type":"string"},"kind":{"description":"The kind of selector. Freeform for now","type":"string"},"default":{"$ref":"#/definitions/InstantLaunch"},"compatible":{"description":"Instant launches that are compatible with the file, but are not the default","type":"array","items":{"$ref":"#/definitions/InstantLaunch"}}},"additionalProperties":false,"required":["pattern","kind","default","compatible"]},"IntegrationData":{"type":"object","properties":{"email":{"description":"The user's email address.","type":"string"},"name":{"description":"The user's name.","type":"string"},"username":{"description":"The username associated with the integration data entry.","type":"string"},"id":{"description":"The integration data identifier.","type":"string","format":"uuid"}},"additionalProperties":false,"required":["email","name","id"]},"ListLoginsResponse":{"type":"object","properties":{"logins":{"description":"The set of most recent logins up to the limit","type":"array","items":{"$ref":"#/definitions/Login"}}},"additionalProperties":false,"required":["logins"]},"ListTicketErrorResponses":{"type":"object","properties":{"error_code":{"type":"string","enum":["ERR_NOT_READABLE","ERR_NOT_A_USER","ERR_TOO_MANY_RESULTS","ERR_SCHEMA_VALIDATION","ERR_UNCHECKED_EXCEPTION","ERR_DOES_NOT_EXIST"]},"reason":{"description":"A brief text or object describing the reason for the error"}},"additionalProperties":false,"required":["error_code"]},"ListTicketsDocumentation":{"type":"object","properties":{"tickets":{"description":"the tickets","type":"array","items":{"$ref":"#/definitions/ListTicketsPathsMap"}}},"additionalProperties":false,"required":["tickets"]},"ListTicketsPathsMap":{"type":"object","properties":{"/path/from/request/to/a/file/or/folder":{"description":"The tickets for this path","type":"array","items":{"$ref":"#/definitions/TicketDefinition"}}},"additionalProperties":false,"required":["/path/from/request/to/a/file/or/folder"]},"ListTicketsResponse":{"type":"object","properties":{"tickets":{"$ref":"#/definitions/ListTicketsResponseMap"}},"additionalProperties":false,"required":["tickets"]},"ListTicketsResponseMap":{"description":"Map of tickets","type":"object","additionalProperties":{"description":"The tickets for this path","type":"array","items":{"$ref":"#/definitions/TicketDefinition"}}},"LocalObjectReference":{"description":"Implementation-specific filter settings","type":"object","properties":{"group":{"description":"The Kubernetes API group of the referent","type":"string"},"kind":{"description":"The kind of Kubernetes resource being referenced","type":"string"},"name":{"description":"The name of the referent","type":"string"}},"additionalProperties":false},"Login":{"type":"object","properties":{"login_time":{"description":"Login time as milliseconds since the epoch.","type":"integer","format":"int64"},"ip_address":{"description":"The IP address associated with the login, if available","type":"string"}},"additionalProperties":false,"required":["login_time"]},"LoginResponse":{"type":"object","properties":{"login_time":{"description":"Login time as milliseconds since the epoch.","type":"integer","format":"int64"},"auth_redirect":{"$ref":"#/definitions/RedirectUrisDoc"}},"additionalProperties":false,"required":["login_time","auth_redirect"]},"MessageCountResponse":{"type":"object","properties":{"user-total":{"description":"The total number of messages for the user","type":"integer","format":"int64"}},"additionalProperties":{},"required":["user-total"]},"NATSResourceType":{"description":"The resource type the add-on provides more of","type":"object","properties":{"uuid":{"description":"The UUID assigned to a resource type record","type":"string","format":"uuid","x-nullable":true},"name":{"description":"The name of the resource type","type":"string"},"unit":{"description":"The unit of the resource type","type":"string"},"consumable":{"description":"True if using the resource consumes it permanently","type":"boolean"}},"additionalProperties":false,"required":["name","unit","consumable"]},"NavigationErrorResponses":{"type":"object","properties":{"error_code":{"type":"string","enum":["ERR_NOT_READABLE","ERR_NOT_A_USER","ERR_SCHEMA_VALIDATION","ERR_UNCHECKED_EXCEPTION","ERR_DOES_NOT_EXIST","ERR_NOT_A_FOLDER"]},"reason":{"description":"A brief text or object describing the reason for the error"}},"additionalProperties":false,"required":["error_code"]},"NavigationRootErrorResponses":{"type":"object","properties":{"error_code":{"type":"string","enum":["ERR_NOT_READABLE","ERR_NOT_A_USER","ERR_SCHEMA_VALIDATION","ERR_UNCHECKED_EXCEPTION","ERR_DOES_NOT_EXIST"]},"reason":{"description":"A brief text or object describing the reason for the error"}},"additionalProperties":false,"required":["error_code"]},"NavigationRootResponse":{"type":"object","properties":{"roots":{"type":"array","items":{"$ref":"#/definitions/RootListing"}},"base-paths":{"$ref":"#/definitions/UserBasePaths"}},"additionalProperties":false,"required":["roots","base-paths"]},"NewDevice":{"description":"The map needed to add a device to a container.","type":"object","properties":{"host_path":{"description":"A device's path on the container host","type":"string"},"container_path":{"description":"A device's path inside the tool container","type":"string"}},"additionalProperties":false,"required":["host_path","container_path"]},"NewImage":{"description":"The values needed to add a new image to a tool.","type":"object","properties":{"name":{"type":"string"},"tag":{"type":"string"},"url":{"type":"string","x-nullable":true},"deprecated":{"type":"boolean"},"auth":{"type":"string","x-nullable":true},"osg_image_path":{"type":"string","x-nullable":true}},"additionalProperties":false,"required":["name"]},"NewPort":{"description":"A map for adding a new port configuration to a tool container.","type":"object","properties":{"host_port":{"type":"integer","format":"int64","x-nullable":true},"container_port":{"type":"integer","format":"int64"},"bind_to_host":{"type":"boolean","x-nullable":true}},"additionalProperties":false,"required":["container_port"]},"NewProxySettings":{"description":"A map for adding new interactive app reverse proxy settings.","type":"object","properties":{"image":{"type":"string"},"name":{"type":"string"},"frontend_url":{"type":"string","x-nullable":true},"cas_url":{"type":"string","x-nullable":true},"cas_validate":{"type":"string","x-nullable":true},"ssl_cert_path":{"type":"string","x-nullable":true},"ssl_key_path":{"type":"string","x-nullable":true}},"additionalProperties":false,"required":["image","name"]},"NewQuickLaunchFavorite":{"type":"object","properties":{"quick_launch_id":{"description":"The UUID of the quick launch that was favorited","type":"string","format":"uuid"}},"additionalProperties":false,"required":["quick_launch_id"]},"NewQuickLaunchGlobalDefault":{"type":"object","properties":{"app_id":{"description":"The UUID for the app which has a global default","type":"string","format":"uuid"},"quick_launch_id":{"description":"The UUID for the quick launch that is the global default for the app","type":"string","format":"uuid"}},"additionalProperties":false,"required":["app_id","quick_launch_id"]},"NewQuickLaunchUserDefault":{"type":"object","properties":{"app_id":{"description":"The UUID of the app for which the user default is being set","type":"string","format":"uuid"},"quick_launch_id":{"description":"The UUID of the quick launch being used as the default for the app","type":"string","format":"uuid"}},"additionalProperties":false,"required":["app_id","quick_launch_id"]},"NewToolContainer":{"description":"The settings for adding a new full container definition to a tool.","type":"object","properties":{"interactive_apps":{"$ref":"#/definitions/NewProxySettings"},"max_cpu_cores":{"description":"The maximum number of CPU cores allowed when running the tool container","type":"number","format":"double"},"container_devices":{"type":"array","items":{"$ref":"#/definitions/NewDevice"}},"container_ports":{"type":"array","items":{"$ref":"#/definitions/NewPort"}},"min_cpu_cores":{"description":"The minimum number of CPU cores needed to run the tool container","type":"number","format":"double"},"uid":{"type":"integer","format":"int64"},"name":{"description":"The name given to the tool container","type":"string"},"min_memory_limit":{"description":"The minimum about of memory (in bytes) that is required to run the tool container","type":"integer","format":"int64"},"min_gpus":{"description":"The minimum number of GPUs needed to run the tool container","type":"integer","format":"int64"},"working_directory":{"description":"The working directory in the tool container","type":"string"},"gpu_models":{"description":"The GPU models that work with this tool container. Empty means no limitation on GPU model.","type":"array","items":{"type":"string"}},"skip_tmp_mount":{"type":"boolean"},"id":{"type":"string","format":"uuid"},"entrypoint":{"description":"The entrypoint for a tool container","type":"string"},"memory_limit":{"description":"The amount of memory (in bytes) that the tool container is restricted to","type":"integer","format":"int64"},"cpu_shares":{"description":"The shares of the CPU that the tool container will receive","type":"integer","format":"int64"},"container_volumes":{"type":"array","items":{"$ref":"#/definitions/NewVolume"}},"network_mode":{"description":"The network mode for the tool container","type":"string"},"image":{"$ref":"#/definitions/NewImage"},"container_volumes_from":{"type":"array","items":{"$ref":"#/definitions/NewVolumesFrom"}},"min_disk_space":{"description":"The minimum amount of disk space needed to run the tool container","type":"integer","format":"int64"},"pids_limit":{"type":"integer","format":"int64"},"max_gpus":{"description":"The maximum number of GPUs allowed when running the tool container","type":"integer","format":"int64"}},"additionalProperties":false,"required":["image"]},"NewVolume":{"description":"A map for adding a new volume to a container.","type":"object","properties":{"host_path":{"description":"The path to a bind mounted volume on the host machine","type":"string"},"container_path":{"description":"The path to a bind mounted volume in the tool container","type":"string"}},"additionalProperties":false,"required":["host_path","container_path"]},"NewVolumesFrom":{"description":"A map for adding a new container from which to bind mount volumes.","type":"object","properties":{"name_prefix":{"type":"string"},"name":{"type":"string"},"auth":{"type":"string","x-nullable":true},"read_only":{"type":"boolean"},"deprecated":{"type":"boolean"},"url":{"type":"string","x-nullable":true},"osg_image_path":{"type":"string","x-nullable":true},"tag":{"type":"string"}},"additionalProperties":false,"required":["name_prefix","name"]},"NotificationListing":{"type":"object","properties":{"total":{"description":"The total number of notifications matching the query","type":"string"},"messages":{"description":"The list of notifications","type":"array","items":{"$ref":"#/definitions/NotificationMessage"}}},"additionalProperties":{},"required":["total","messages"]},"NotificationListingMessagesMessage":{"description":"The notification message details","type":"object","additionalProperties":{}},"NotificationMessage":{"type":"object","properties":{"deleted":{"description":"Whether the notification has been deleted","type":"boolean"},"message":{"$ref":"#/definitions/NotificationListingMessagesMessage"},"seen":{"description":"Whether the notification has been seen","type":"boolean"},"type":{"description":"The notification type","type":"string"},"user":{"description":"The user who received the notification","type":"string"}},"additionalProperties":{}},"NotificationUUIDList":{"type":"object","properties":{"uuids":{"description":"A list of notification UUIDs","type":"array","items":{"type":"string","format":"uuid"}}},"additionalProperties":false,"required":["uuids"]},"OAuthCallbackResponse":{"type":"object","properties":{"state_info":{"description":"Arbitrary state information required by the UI.","type":"string"}},"additionalProperties":false,"required":["state_info"]},"OntologyClassHierarchy":{"type":"object","properties":{"iri":{"description":"The unique IRI for this Ontology Class","type":"string"},"label":{"description":"The label annotation of this Ontology Class","type":"string","x-nullable":true},"description":{"description":"The description annotation of this Ontology Class","type":"string","x-nullable":true},"subclasses":{"description":"Subclasses of this Ontology Class","type":"array","items":{"$ref":"#/definitions/OntologyClassHierarchy"}}},"additionalProperties":false,"required":["iri","label"]},"OntologyHierarchy":{"type":"object","properties":{"hierarchy":{"$ref":"#/definitions/OntologyClassHierarchy","x-nullable":true}},"additionalProperties":false,"required":["hierarchy"]},"OntologyHierarchyList":{"type":"object","properties":{"hierarchies":{"description":"A list of Ontology Class hierarchies","type":"array","items":{"$ref":"#/definitions/OntologyClassHierarchy"}}},"additionalProperties":false,"required":["hierarchies"]},"OptionalPathsOrDataIds":{"description":"The path or data ids of the data objects to gather status information on.","type":"object","properties":{"ids":{"description":"A list of iRODS data-object UUIDs","type":"array","items":{"type":"string","format":"uuid"}},"paths":{"description":"A list of iRODS paths","type":"array","items":{"type":"string"}}},"additionalProperties":false},"Organism":{"description":"Information about the organism associated with the genome","type":"object","properties":{"description":{"description":"The organism description","type":"string","x-nullable":true},"id":{"description":"The organism ID","type":"integer","format":"int64"},"name":{"description":"The organism name","type":"string","x-nullable":true}},"additionalProperties":false,"required":["description","id","name"]},"PagedFolderListing":{"type":"object","properties":{"infoType":{"description":"The info-type of the item being listed or null for folders","type":"string","enum":["pir","gde","clustalw","vcf","vcfgz","gcgblast","newick","msf","bowtie","bash","pdf","selex","bigbed","ht-analysis-path-list","phyloxml","fasta","csv","nexus","gcg","blast","gff","bedgz","hmmer","genbank","fastxy","gcgfasta","perl","multi-input-path-list","embl","nexml","genscan","bigwig","gtf","sff","mega","codata","tcsh","tsv","rsf","bed","jar","stockholm","phylip","fastq","unknown","mase","sh","bam","python","game","ace","prodom","zip","swiss","csh"],"x-nullable":true},"path":{"description":"The path to the item","type":"string"},"date-created":{"description":"The date and time that the item was created as a UNIX epoch","type":"integer","format":"int64"},"folders":{"description":"The list of subfolders","type":"array","items":{"$ref":"#/definitions/PagedItemListEntry"}},"permission":{"description":"The user's permission-level for the item","type":"string","enum":["read","own","write"]},"date-modified":{"description":"The date and time that the item was most recently modified as a UNIX epoch","type":"integer","format":"int64"},"hasSubDirs":{"description":"True if the folder has subfolders","type":"boolean"},"file-size":{"description":"The size of the item in bytes or 0 for folders","type":"integer","format":"int64"},"badName":{"description":"True if the item name may cuase problems in the DE","type":"boolean"},"total":{"description":"The total number of subfolders and files in the folder","type":"integer","format":"int64"},"isFavorite":{"description":"True if the user has marked the item as a favorite","type":"boolean"},"label":{"description":"The base name of the item","type":"string"},"id":{"description":"The ID assigned to the item","type":"string","format":"uuid"},"totalBad":{"description":"The total number of folder or file names in the listing that may cause problems in the DE","type":"integer","format":"int64"},"files":{"description":"The list of files in the folder","type":"array","items":{"$ref":"#/definitions/PagedItemListEntry"}}},"additionalProperties":false,"required":["infoType","path","date-created","folders","permission","date-modified","hasSubDirs","file-size","badName","total","isFavorite","label","id","totalBad","files"]},"PagedItemListEntry":{"type":"object","properties":{"infoType":{"description":"The info-type of the item being listed or null for folders","type":"string","enum":["pir","gde","clustalw","vcf","vcfgz","gcgblast","newick","msf","bowtie","bash","pdf","selex","bigbed","ht-analysis-path-list","phyloxml","fasta","csv","nexus","gcg","blast","gff","bedgz","hmmer","genbank","fastxy","gcgfasta","perl","multi-input-path-list","embl","nexml","genscan","bigwig","gtf","sff","mega","codata","tcsh","tsv","rsf","bed","jar","stockholm","phylip","fastq","unknown","mase","sh","bam","python","game","ace","prodom","zip","swiss","csh"],"x-nullable":true},"path":{"description":"The path to the item","type":"string"},"date-created":{"description":"The date and time that the item was created as a UNIX epoch","type":"integer","format":"int64"},"permission":{"description":"The user's permission-level for the item","type":"string","enum":["read","own","write"]},"date-modified":{"description":"The date and time that the item was most recently modified as a UNIX epoch","type":"integer","format":"int64"},"file-size":{"description":"The size of the item in bytes or 0 for folders","type":"integer","format":"int64"},"badName":{"description":"True if the item name may cuase problems in the DE","type":"boolean"},"isFavorite":{"description":"True if the user has marked the item as a favorite","type":"boolean"},"label":{"description":"The base name of the item","type":"string"},"id":{"description":"The ID assigned to the item","type":"string","format":"uuid"}},"additionalProperties":false,"required":["infoType","path","date-created","permission","date-modified","file-size","badName","isFavorite","label","id"]},"ParameterType":{"type":"object","properties":{"id":{"description":"A UUID that is used to identify the Parameter Type","type":"string","format":"uuid"},"name":{"description":"The Parameter Type's name","type":"string"},"description":{"description":"The Parameter Type's description","type":"string"},"value_type":{"description":"The Parameter Type's value type name","type":"string"}},"additionalProperties":false,"required":["id","name","value_type"]},"ParameterTypeListing":{"type":"object","properties":{"parameter_types":{"description":"Listing of App Parameter Types","type":"array","items":{"$ref":"#/definitions/ParameterType"}}},"additionalProperties":false,"required":["parameter_types"]},"ParameterValue":{"description":"The value of the parameter.","type":"object","properties":{"value":{"description":"The value of the parameter."}},"additionalProperties":false,"required":["value"]},"PathExistenceMap":{"description":"Paths existence mapping","type":"object","additionalProperties":{"description":"Whether this path from the request exists","type":"boolean"}},"PathShareRequest":{"type":"object","properties":{"path":{"description":"The path to the file or folder to share","type":"string"},"permission":{"description":"The permission level to grant to the user","type":"string","enum":["read","own","write"]}},"additionalProperties":false,"required":["path","permission"]},"PathShareResponse":{"type":"object","properties":{"path":{"description":"The path to the file or folder to share","type":"string"},"permission":{"description":"The permission level to grant to the user","type":"string","enum":["read","own","write"]},"success":{"description":"`true` if the file or folder was shared successfully","type":"boolean"},"error":{"description":"Additional information about the error if the file or folder was not shared successfully"}},"additionalProperties":false,"required":["path","permission","success"]},"PathUnshareResponse":{"type":"object","properties":{"success":{"description":"`true` if the file or folder was unshared successfully","type":"boolean"},"path":{"description":"The path to the file or folder being unshared","type":"string"},"error":{"description":"Additional information about the error if the file or folder was not unshared successfully"}},"additionalProperties":false,"required":["success","path"]},"Paths":{"type":"object","properties":{"paths":{"description":"A list of iRODS paths","type":"array","items":{"description":"A non-blank string.","type":"string"}}},"additionalProperties":false,"required":["paths"]},"PathsMap":{"description":"Paths info","type":"object","additionalProperties":{"description":"The data item's info","x-oneOf":[{"$ref":"#/definitions/FileStatInfo"},{"$ref":"#/definitions/DirStatInfo"}]}},"PermanentIDRequest":{"type":"object","properties":{"type":{"description":"The type of persistent ID requested","type":"string"},"folder":{"description":"The UUID of the data folder for which the persistent ID is being requested","type":"string","format":"uuid"}},"additionalProperties":false,"required":["type","folder"]},"PermanentIDRequestDetails":{"type":"object","properties":{"history":{"description":"A list of Permanent ID Request status updates","type":"array","items":{"$ref":"#/definitions/PermanentIDRequestStatus"}},"type":{"description":"The type of persistent ID requested","type":"string"},"permanent_id":{"description":"The identifier of a completed Permanent ID Request","type":"string"},"original_path":{"description":"The original path of the target data set at the time the Permanent ID Request was initially created","type":"string"},"id":{"description":"The Permanent ID Request's UUID","type":"string","format":"uuid"},"folder":{"$ref":"#/definitions/DirStatInfo","x-nullable":true},"requested_by":{"description":"The user that submitted the Permanent ID Request"}},"additionalProperties":false,"required":["history","type","id","folder","requested_by"]},"PermanentIDRequestList":{"type":"object","properties":{"total":{"description":"The total number of permanent id requests in the listing","type":"integer","format":"int64"},"requests":{"description":"A list of Permanent ID Requests","type":"array","items":{"$ref":"#/definitions/PermanentIDRequestListing"}}},"additionalProperties":false,"required":["total","requests"]},"PermanentIDRequestListing":{"type":"object","properties":{"permanent_id":{"description":"The identifier of a completed Permanent ID Request","type":"string"},"folder":{"$ref":"#/definitions/DirStatInfo","x-nullable":true},"type":{"description":"The type of persistent ID requested","type":"string"},"original_path":{"description":"The original path of the target data set at the time the Permanent ID Request was initially created","type":"string"},"date_submitted":{"description":"The timestamp of the Permanent ID Request submission","type":"integer","format":"int64"},"status":{"description":"The current status of the Permanent ID Request","type":"string"},"id":{"description":"The Permanent ID Request's UUID","type":"string","format":"uuid"},"updated_by":{"description":"The username of the user that last updated the Permanent ID Request status","type":"string"},"requested_by":{"description":"The username of the user that submitted the Permanent ID Request","type":"string"},"date_updated":{"description":"The timestamp of the last Permanent ID Request status update","type":"integer","format":"int64"}},"additionalProperties":false,"required":["folder","type","date_submitted","status","id","updated_by","requested_by","date_updated"]},"PermanentIDRequestStatus":{"type":"object","properties":{"permanent_id":{"description":"The identifier of a completed Permanent ID Request","type":"string"},"comments":{"description":"The curator comments of the Permanent ID Request status update","type":"string"},"status":{"description":"The status code of the Permanent ID Request update","type":"string"},"status_date":{"description":"The timestamp of the Permanent ID Request status update","type":"integer","format":"int64"},"updated_by":{"description":"The username that updated the Permanent ID Request status","type":"string"}},"additionalProperties":false,"required":["status_date","updated_by"]},"PermanentIDRequestStatusCode":{"type":"object","properties":{"id":{"description":"The Status Code's UUID","type":"string","format":"uuid"},"name":{"description":"The Status Code","type":"string"},"description":{"description":"A brief description of the Status Code","type":"string"}},"additionalProperties":false,"required":["id","name","description"]},"PermanentIDRequestStatusCodeList":{"type":"object","properties":{"status_codes":{"description":"A list of Permanent ID Request Status Codes","type":"array","items":{"$ref":"#/definitions/PermanentIDRequestStatusCode"}}},"additionalProperties":false,"required":["status_codes"]},"PermanentIDRequestStatusUpdate":{"type":"object","properties":{"comments":{"description":"The curator comments of the Permanent ID Request status update","type":"string"},"status":{"description":"The status code of the Permanent ID Request update. The status code is case-sensitive, and if it isn't defined in the database already then it will be added to the list of known status codes","type":"string"}},"additionalProperties":false},"PermanentIDRequestType":{"type":"object","properties":{"id":{"description":"The Request Type's UUID","type":"string","format":"uuid"},"type":{"description":"The Request Type","type":"string"},"description":{"description":"A brief description of the Request Type","type":"string"}},"additionalProperties":false,"required":["id","type","description"]},"PermanentIDRequestTypeList":{"type":"object","properties":{"request_types":{"description":"A list of Permanent ID Request Types","type":"array","items":{"$ref":"#/definitions/PermanentIDRequestType"}}},"additionalProperties":false,"required":["request_types"]},"Pipeline":{"type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"},"name":{"description":"The App's name","type":"string"},"steps":{"description":"The Pipeline's steps","type":"array","items":{"$ref":"#/definitions/PipelineStep"}},"system_id":{"description":"The ID of the app execution system","type":"string"},"tasks":{"description":"The App's tasks","type":"array","items":{"$ref":"#/definitions/AppTask"}},"id":{"description":"The pipeline's ID","type":"string","format":"uuid"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"versions":{"description":"The list of available versions for this app","type":"array","items":{"$ref":"#/definitions/AppVersionDetails"}},"version":{"description":"The App's version","type":"string"},"mappings":{"description":"The Pipeline's input/output mappings","type":"array","items":{"$ref":"#/definitions/PipelineMapping"}}},"additionalProperties":false,"required":["description","name","steps","tasks","id","mappings"]},"PipelineCreateRequest":{"description":"The Pipeline to create.","type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"},"name":{"description":"The App's name","type":"string"},"steps":{"description":"The Pipeline's steps","type":"array","items":{"$ref":"#/definitions/PipelineStep"}},"system_id":{"description":"The ID of the app execution system","type":"string"},"tasks":{"description":"The App's tasks","type":"array","items":{"$ref":"#/definitions/AppTask"}},"id":{"description":"The pipeline's ID","type":"string","format":"uuid"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"version":{"description":"The App's version","type":"string"},"mappings":{"description":"The Pipeline's input/output mappings","type":"array","items":{"$ref":"#/definitions/PipelineMapping"}}},"additionalProperties":false,"required":["description","name","steps","mappings"]},"PipelineEligibility":{"description":"Whether the App can be used in a Pipeline","type":"object","properties":{"is_valid":{"description":"Whether the App can be used in a Pipeline","type":"boolean"},"reason":{"description":"The reason an App cannot be used in a Pipeline","type":"string"}},"additionalProperties":false,"required":["is_valid","reason"]},"PipelineMapping":{"type":"object","properties":{"source_step":{"description":"The step index of the Source Step","type":"integer","format":"int64"},"target_step":{"description":"The step index of the Target Step","type":"integer","format":"int64"},"map":{"$ref":"#/definitions/PipelineMappingMap"}},"additionalProperties":false,"required":["source_step","target_step","map"]},"PipelineMappingMap":{"description":"The {'input-id': 'output-id'} mappings","type":"object","additionalProperties":{"description":"The output ID","type":"string"}},"PipelineStep":{"type":"object","properties":{"name":{"description":"The Step's name","type":"string"},"description":{"description":"The Step's description","type":"string"},"system_id":{"description":"The ID of the execution system.","type":"string"},"task_id":{"description":"A String referring to either an internal task or an external app. If the\n                     string refers to an internal task then this must be a string representation\n                     of a UUID. Otherwise, it should be the ID of the external app.","type":"string"},"external_app_id":{"description":"A string referring to an external app that is used to perform the step. This\n                     field is required any time the task ID isn't provided.","type":"string"},"app_type":{"description":"The Step's App type","type":"string"}},"additionalProperties":false,"required":["name","description","system_id","app_type"]},"PipelineUpdateRequest":{"description":"The Pipeline to update.","type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"},"name":{"description":"The App's name","type":"string"},"steps":{"description":"The Pipeline's steps","type":"array","items":{"$ref":"#/definitions/PipelineStep"}},"system_id":{"description":"The ID of the app execution system","type":"string"},"tasks":{"description":"The App's tasks","type":"array","items":{"$ref":"#/definitions/AppTask"}},"id":{"description":"The pipeline's ID","type":"string","format":"uuid"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"version":{"description":"The App's version","type":"string"},"mappings":{"description":"The Pipeline's input/output mappings","type":"array","items":{"$ref":"#/definitions/PipelineMapping"}}},"additionalProperties":false,"required":["description","name","steps","id","mappings"]},"PipelineVersionRequest":{"description":"The Pipeline Version to add.","type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"name":{"description":"The App's name","type":"string"},"steps":{"description":"The Pipeline's steps","type":"array","items":{"$ref":"#/definitions/PipelineStep"}},"system_id":{"description":"The ID of the app execution system","type":"string"},"tasks":{"description":"The App's tasks","type":"array","items":{"$ref":"#/definitions/AppTask"}},"id":{"description":"The pipeline's ID","type":"string","format":"uuid"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"version":{"description":"The App's version","type":"string"},"mappings":{"description":"The Pipeline's input/output mappings","type":"array","items":{"$ref":"#/definitions/PipelineMapping"}}},"additionalProperties":false,"required":["description","name","steps","version","mappings"]},"Plan":{"type":"object","properties":{"id":{"description":"The UUID assigned to a plan in QMS","type":"string","format":"uuid","x-nullable":true},"uuid":{"description":"The UUID assigned to a plan in QMS","type":"string","format":"uuid","x-nullable":true},"name":{"description":"The name of the plan in QMS","type":"string"},"description":{"description":"The description of the plan","type":"string"},"plan_quota_defaults":{"description":"The list of default values for the quotas","type":"array","items":{"$ref":"#/definitions/PlanQuotaDefault"}},"plan_rates":{"description":"The list of plan rates","type":"array","items":{"$ref":"#/definitions/PlanRate"}}},"additionalProperties":false},"PlanListResponse":{"type":"object","properties":{"result":{"description":"The list of plans","type":"array","items":{"$ref":"#/definitions/Plan"},"x-nullable":true},"error":{"description":"The error message","type":"string","x-nullable":true},"status":{"description":"The status of the response","type":"string"}},"additionalProperties":false,"required":["status"]},"PlanQuotaDefault":{"type":"object","properties":{"id":{"description":"The UUIID assigned to the plan quota default","type":"string","format":"uuid","x-nullable":true},"quota_value":{"description":"The quota's default value","type":"number","format":"double"},"resource_type":{"$ref":"#/definitions/ResourceType"},"effective_date":{"description":"The date and time the plan quota default becomes effective","type":"string"}},"additionalProperties":false},"PlanRate":{"type":"object","properties":{"id":{"description":"The plan rate ID","type":"string"},"uuid":{"description":"The plan rate ID","type":"string"},"effective_date":{"description":"The date and time the plan rate becomes effective","type":"string"},"rate":{"description":"The rate associated with the plan","type":"number","format":"double"}},"additionalProperties":false},"PlanResponse":{"type":"object","properties":{"result":{"$ref":"#/definitions/Plan","x-nullable":true},"error":{"description":"The error message","type":"string","x-nullable":true},"status":{"description":"The status of the response","type":"string"}},"additionalProperties":false,"required":["status"]},"PlanSummary":{"description":"The type of plan the user has","type":"object","properties":{"id":{"description":"The UUID of the plan","type":"string"},"name":{"description":"The name of the plan","type":"string"},"description":{"description":"The description of the plan","type":"string"}},"additionalProperties":false,"required":["id","name","description"]},"Pod":{"type":"object","properties":{"appName":{"description":"The name of the app the resource is associated with","type":"string"},"analysisName":{"description":"The name of the analysis the resource is associated with","type":"string"},"creationTimestamp":{"description":"The time the resource was created","type":"string"},"name":{"description":"The name of the resource","type":"string"},"analysisID":{"description":"The UUID assigned to the analysis","type":"string","format":"uuid","x-nullable":true},"username":{"description":"The username of the user that launched the analysis","type":"string"},"phase":{"description":"The pod phase","type":"string"},"appID":{"description":"The UUID of the app the resource is associated with","type":"string","format":"uuid"},"initContainerStatuses":{"description":"The list of container status for the init containers in the pod","type":"array","items":{"$ref":"#/definitions/ContainerStatus"}},"containerStatuses":{"description":"The list of container statuses for the pod","type":"array","items":{"$ref":"#/definitions/ContainerStatus"}},"reason":{"description":"The reason the pod is in the phase","type":"string","x-nullable":true},"externalID":{"description":"The UUID assigned to the job step","type":"string","format":"uuid"},"userID":{"description":"The UUID assigned to the user that launched the analysis","type":"string","format":"uuid"},"namespace":{"description":"The namespace for the resource","type":"string"},"message":{"description":"The message associated with the current state/phase of the pod","type":"string","x-nullable":true}},"additionalProperties":false,"required":["appName","analysisName","creationTimestamp","name","username","phase","appID","initContainerStatuses","containerStatuses","reason","externalID","userID","namespace","message"]},"Port":{"description":"Port information for a tool container.","type":"object","properties":{"id":{"type":"string","format":"uuid"},"host_port":{"type":"integer","format":"int64","x-nullable":true},"container_port":{"type":"integer","format":"int64"},"bind_to_host":{"type":"boolean","x-nullable":true}},"additionalProperties":false,"required":["id","container_port"]},"PrivateToolContainerImportRequest":{"description":"The settings for adding a new full container definition to a tool.","type":"object","properties":{"interactive_apps":{"$ref":"#/definitions/NewProxySettings"},"max_cpu_cores":{"description":"The maximum number of CPU cores allowed when running the tool container","type":"number","format":"double"},"container_ports":{"type":"array","items":{"$ref":"#/definitions/NewPort"}},"min_cpu_cores":{"description":"The minimum number of CPU cores needed to run the tool container","type":"number","format":"double"},"uid":{"type":"integer","format":"int64"},"name":{"description":"The name given to the tool container","type":"string"},"min_memory_limit":{"description":"The minimum about of memory (in bytes) that is required to run the tool container","type":"integer","format":"int64"},"min_gpus":{"description":"The minimum number of GPUs needed to run the tool container","type":"integer","format":"int64"},"working_directory":{"description":"The working directory in the tool container","type":"string"},"gpu_models":{"description":"The GPU models that work with this tool container. Empty means no limitation on GPU model.","type":"array","items":{"type":"string"}},"skip_tmp_mount":{"type":"boolean"},"id":{"type":"string","format":"uuid"},"entrypoint":{"description":"The entrypoint for a tool container","type":"string"},"memory_limit":{"description":"The amount of memory (in bytes) that the tool container is restricted to","type":"integer","format":"int64"},"cpu_shares":{"description":"The shares of the CPU that the tool container will receive","type":"integer","format":"int64"},"network_mode":{"description":"The network mode for the tool container","type":"string"},"image":{"$ref":"#/definitions/NewImage"},"min_disk_space":{"description":"The minimum amount of disk space needed to run the tool container","type":"integer","format":"int64"},"pids_limit":{"type":"integer","format":"int64"},"max_gpus":{"description":"The maximum number of GPUs allowed when running the tool container","type":"integer","format":"int64"}},"additionalProperties":false,"required":["image"]},"PrivateToolImportRequest":{"description":"The private Tool to import.","type":"object","properties":{"description":{"description":"A brief description of the Tool","type":"string"},"interactive":{"description":"Determines whether the tool is interactive.","type":"boolean"},"name":{"description":"The Tool's name (can be the file name or Docker image)","type":"string"},"type":{"description":"The Tool Type name","type":"string"},"restricted":{"description":"Determines whether a time limit is applied and whether network access is granted","type":"boolean"},"id":{"description":"A UUID that is used to identify the Tool","type":"string","format":"uuid"},"container":{"$ref":"#/definitions/PrivateToolContainerImportRequest"},"attribution":{"description":"The Tool's author or publisher","type":"string"},"version":{"description":"The Tool's version","type":"string"},"location":{"description":"The path of the directory containing the Tool","type":"string"},"implementation":{"$ref":"#/definitions/ToolImplementation"},"time_limit_seconds":{"description":"The number of seconds that a tool is allowed to execute. A value of 0 means the time limit is disabled","type":"integer","format":"int64"}},"additionalProperties":false,"required":["name","container","version"]},"PrivateToolUpdateRequest":{"description":"The private Tool to update.","type":"object","properties":{"description":{"description":"A brief description of the Tool","type":"string"},"interactive":{"description":"Determines whether the tool is interactive.","type":"boolean"},"name":{"description":"The Tool's name (can be the file name or Docker image)","type":"string"},"type":{"description":"The Tool Type name","type":"string"},"restricted":{"description":"Determines whether a time limit is applied and whether network access is granted","type":"boolean"},"id":{"description":"A UUID that is used to identify the Tool","type":"string","format":"uuid"},"container":{"$ref":"#/definitions/PrivateToolContainerImportRequest"},"attribution":{"description":"The Tool's author or publisher","type":"string"},"version":{"description":"The Tool's version","type":"string"},"location":{"description":"The path of the directory containing the Tool","type":"string"},"implementation":{"$ref":"#/definitions/ToolImplementation"},"time_limit_seconds":{"description":"The number of seconds that a tool is allowed to execute. A value of 0 means the time limit is disabled","type":"integer","format":"int64"}},"additionalProperties":false},"Privilege":{"type":"object","properties":{"type":{"description":"The general type of privilege","type":"string"},"name":{"description":"The privilege name, under the type","type":"string"},"allowed":{"description":"Whether the privilege is marked allowed","type":"boolean"},"revokable":{"description":"Whether the privilege is marked revokable","type":"boolean"},"subject":{"$ref":"#/definitions/Subject"}},"additionalProperties":false,"required":["type","name","subject"]},"Privileges":{"type":"object","properties":{"privileges":{"description":"The list of privileges","type":"array","items":{"$ref":"#/definitions/Privilege"}}},"additionalProperties":false,"required":["privileges"]},"ProxySettings":{"description":"Interactive app settings for the reverse proxy that runs on the HTCondor nodes for each job.","type":"object","properties":{"id":{"type":"string","format":"uuid"},"image":{"type":"string"},"name":{"type":"string"},"frontend_url":{"type":"string","x-nullable":true},"cas_url":{"type":"string","x-nullable":true},"cas_validate":{"type":"string","x-nullable":true},"ssl_cert_path":{"type":"string","x-nullable":true},"ssl_key_path":{"type":"string","x-nullable":true}},"additionalProperties":false,"required":["id","image","name"]},"PublishAppRequest":{"description":"The user's Publish App Request.","type":"object","properties":{"integration_date":{"description":"The App's Date of public submission","type":"string","format":"date-time"},"description":{"description":"The App's description","type":"string"},"version_id":{"description":"The App's version ID","type":"string","format":"uuid"},"name":{"description":"The App's name","type":"string"},"system_id":{"description":"The ID of the app execution system","type":"string"},"references":{"description":"The App's references","type":"array","items":{"type":"string"}},"documentation":{"description":"The App's documentation","type":"string"},"id":{"description":"A UUID that is used to identify the App","type":"string","format":"uuid"},"edited_date":{"description":"The App's Date of its last edit","type":"string","format":"date-time"},"avus":{"description":"The AVUs to save for the target item","type":"array","items":{"$ref":"#/definitions/AvuRequest"}},"version":{"description":"The App's version","type":"string"}},"additionalProperties":false},"QMSUser":{"type":"object","properties":{"uuid":{"description":"The user's UUID assigned by QMS","type":"string","format":"uuid","x-nullable":true},"id":{"description":"The user's UUID assigned by QMS","type":"string","format":"uuid","x-nullable":true},"username":{"description":"The user's username in QMS","type":"string"}},"additionalProperties":false},"QMSUserSummary":{"description":"User information from the quota management system","type":"object","properties":{"id":{"description":"The UUID QMS assigned the user","type":"string"},"username":{"description":"The user's username in QMS, probably the same as in the DE","type":"string"}},"additionalProperties":false,"required":["id","username"]},"QualifiedAppId":{"type":"object","properties":{"system_id":{"description":"The ID of the app execution system","type":"string"},"app_id":{"description":"The App identifier","type":"string"}},"additionalProperties":false,"required":["system_id","app_id"]},"Query":{"description":"A querydsl-compatible JSON query inside a JSON object. Mutually exclusive with 'scroll_id'.","type":"object","properties":{"any":{"description":"At least one of the following must be true","type":"array","items":{"$ref":"#/definitions/Clause"}},"all":{"description":"All of the following must be true","type":"array","items":{"$ref":"#/definitions/Clause"}},"none":{"description":"All of the following must not be true","type":"array","items":{"$ref":"#/definitions/Clause"}}},"additionalProperties":false},"QuickLaunch":{"type":"object","properties":{"id":{"description":"The UUID for the quick launch","type":"string","format":"uuid"},"name":{"description":"The name of the quick launch","type":"string"},"description":{"description":"The description of the quick launch","type":"string"},"creator":{"description":"The username for the creator of the quick launch","type":"string"},"app_id":{"description":"The UUID for the app the quick launch is associated with","type":"string","format":"uuid"},"app_version_id":{"description":"The UUID for the app version the quick launch is associated with","type":"string","format":"uuid"},"is_public":{"description":"Whether the quick launch is publicly available. Defaults to false","type":"boolean"},"submission":{"$ref":"#/definitions/AnalysisSubmission"}},"additionalProperties":false,"required":["id","name","creator","app_id","app_version_id","submission"]},"QuickLaunchFavorite":{"type":"object","properties":{"id":{"description":"The UUID for the quick launch favorite entry","type":"string","format":"uuid"},"quick_launch_id":{"description":"The UUID of the quick launch that was favorited","type":"string","format":"uuid"},"user":{"description":"The username of the user that favorited the quick launch","type":"string"}},"additionalProperties":false,"required":["id","quick_launch_id","user"]},"QuickLaunchGlobalDefault":{"type":"object","properties":{"id":{"description":"The UUID for the quick launch global default","type":"string","format":"uuid"},"app_id":{"description":"The UUID for the app which has a global default","type":"string","format":"uuid"},"quick_launch_id":{"description":"The UUID for the quick launch that is the global default for the app","type":"string","format":"uuid"}},"additionalProperties":false,"required":["id","app_id","quick_launch_id"]},"QuickLaunchUserDefault":{"type":"object","properties":{"id":{"description":"The UUID for the quick launch user default","type":"string","format":"uuid"},"user":{"description":"The username of the user that is using the quick launch as the default for the app","type":"string"},"app_id":{"description":"The UUID of the app for which the user default is being set","type":"string","format":"uuid"},"quick_launch_id":{"description":"The UUID of the quick launch being used as the default for the app","type":"string","format":"uuid"}},"additionalProperties":false,"required":["id","user","app_id","quick_launch_id"]},"Quota":{"type":"object","properties":{"id":{"description":"The UUID for the quota in QMS","type":"string","format":"uuid","x-nullable":true},"quota":{"description":"The value associated with the quota","type":"number","format":"double"},"resource_type":{"$ref":"#/definitions/ResourceType"},"last_modified_at":{"description":"The time the quota was last modified.","type":"string","x-nullable":true}},"additionalProperties":false,"required":["id","quota","resource_type"]},"QuotaSummary":{"type":"object","properties":{"id":{"description":"The UUID assigned to the quota","type":"string"},"quota":{"description":"The quota's value","type":"number","format":"double","x-nullable":true},"resource_type":{"$ref":"#/definitions/ResourceTypeSummary"},"last_modified_at":{"description":"The time that the quota was last modified","type":"string","x-nullable":true}},"additionalProperties":false,"required":["id","quota","resource_type","last_modified_at"]},"QuotaValue":{"type":"object","properties":{"quota":{"description":"The resource usage limit","type":"number","format":"double"}},"additionalProperties":false,"required":["quota"]},"Rating":{"description":"The App's rating details","type":"object","properties":{"average":{"description":"The average user rating for this App","type":"number","format":"double"},"total":{"description":"The total number of user ratings for this App","type":"integer","format":"int64"},"user":{"description":"The current user's rating for this App","type":"integer","format":"int64"},"comment_id":{"description":"The ID of the current user's rating comment for this App","type":"integer","format":"int64"}},"additionalProperties":false,"required":["average","total"]},"RatingRequest":{"description":"The user's new rating for this App.","type":"object","properties":{"rating":{"description":"The current user's rating for this App","type":"integer","format":"int64"},"comment_id":{"description":"The ID of the current user's rating comment for this App","type":"integer","format":"int64"}},"additionalProperties":false,"required":["rating"]},"RatingResponse":{"type":"object","properties":{"average":{"description":"The average user rating for this App","type":"number","format":"double"},"total":{"description":"The total number of user ratings for this App","type":"integer","format":"int64"}},"additionalProperties":false,"required":["average","total"]},"RedirectUris":{"type":"object","additionalProperties":{"description":"The redirect URI","type":"string"}},"RedirectUrisDoc":{"type":"object","properties":{"api-name":{"description":"The redirect URI.","type":"string"}},"additionalProperties":false,"required":["api-name"]},"ReferenceGenome":{"type":"object","properties":{"id":{"description":"A UUID that is used to identify the Reference Genome","type":"string","format":"uuid"},"name":{"description":"The Reference Genome's name","type":"string"},"path":{"description":"The path of the directory containing the Reference Genome","type":"string"},"deleted":{"description":"Whether the Reference Genome is marked as deleted","type":"boolean"},"created_by":{"description":"The username of the user that added the Reference Genome","type":"string"},"created_on":{"description":"The date the Reference Genome was added","type":"string","format":"date-time"},"last_modified_by":{"description":"The username of the user that updated the Reference Genome","type":"string"},"last_modified_on":{"description":"The date of last modification to the Reference Genome","type":"string","format":"date-time"}},"additionalProperties":false,"required":["id","name","path","created_by","last_modified_by"]},"ReferenceGenomeAddRequest":{"description":"The Reference Genome to add.","type":"object","properties":{"path":{"description":"The path of the directory containing the Reference Genome","type":"string"},"deleted":{"description":"Whether the Reference Genome is marked as deleted","type":"boolean"},"last_modified_on":{"description":"The date of last modification to the Reference Genome","type":"string","format":"date-time"},"name":{"description":"The Reference Genome's name","type":"string"},"last_modified_by":{"description":"The username of the user that updated the Reference Genome","type":"string"},"created_on":{"description":"The date the Reference Genome was added","type":"string","format":"date-time"},"id":{"description":"A UUID that is used to identify the Reference Genome","type":"string","format":"uuid"},"created_by":{"description":"The username of the user that added the Reference Genome","type":"string"}},"additionalProperties":false,"required":["path","name"]},"ReferenceGenomeUpdateRequest":{"description":"The Reference Genome fields to update.","type":"object","properties":{"path":{"description":"The path of the directory containing the Reference Genome","type":"string"},"deleted":{"description":"Whether the Reference Genome is marked as deleted","type":"boolean"},"last_modified_on":{"description":"The date of last modification to the Reference Genome","type":"string","format":"date-time"},"name":{"description":"The Reference Genome's name","type":"string"},"last_modified_by":{"description":"The username of the user that updated the Reference Genome","type":"string"},"created_on":{"description":"The date the Reference Genome was added","type":"string","format":"date-time"},"id":{"description":"A UUID that is used to identify the Reference Genome","type":"string","format":"uuid"},"created_by":{"description":"The username of the user that added the Reference Genome","type":"string"}},"additionalProperties":false,"required":["path","name"]},"ReferenceGenomesList":{"type":"object","properties":{"genomes":{"description":"Listing of Reference Genomes.","type":"array","items":{"$ref":"#/definitions/ReferenceGenome"}}},"additionalProperties":false,"required":["genomes"]},"Request":{"type":"object","properties":{"id":{"description":"The request ID","type":"string","format":"uuid"},"request_type":{"description":"The name of the request type","type":"string"},"requesting_user":{"description":"The username of the requesting user","type":"string"},"details":{"description":"The request details"},"updates":{"description":"Updates that were made to the request","type":"array","items":{"$ref":"#/definitions/RequestUpdate"}}},"additionalProperties":false,"required":["id","request_type","requesting_user","details","updates"]},"RequestListing":{"type":"object","properties":{"requests":{"description":"A listing of administrative requests","type":"array","items":{"$ref":"#/definitions/RequestSummary"}}},"additionalProperties":false,"required":["requests"]},"RequestSummary":{"type":"object","properties":{"id":{"description":"The request ID","type":"string","format":"uuid"},"request_type":{"description":"The name of the request type","type":"string"},"requesting_user":{"description":"The username of the requesting user","type":"string"},"details":{"description":"The request details"},"created_date":{"description":"The date and time the request was submitted","type":"string"},"status":{"description":"The most recently assigned request status code","type":"string"},"updated_date":{"description":"The date and time the request was most recently updated","type":"string"}},"additionalProperties":false,"required":["id","request_type","requesting_user","details","created_date","status","updated_date"]},"RequestType":{"type":"object","properties":{"id":{"description":"The request type ID","type":"string","format":"uuid"},"name":{"description":"The request type name","type":"string"},"maximum_concurrent_requests_per_user":{"description":"The maximum number of active requests of this type for a user","type":"integer","format":"int64"},"maximum_requests_per_user":{"description":"The absolute maximum number of requests of this type for a user","type":"integer","format":"int64"}},"additionalProperties":false,"required":["id","name","maximum_concurrent_requests_per_user","maximum_requests_per_user"]},"RequestTypeListing":{"type":"object","properties":{"request_types":{"description":"The list of request types","type":"array","items":{"$ref":"#/definitions/RequestType"}}},"additionalProperties":false,"required":["request_types"]},"RequestUpdate":{"type":"object","properties":{"created_date":{"description":"The date and time the update occurred","type":"string"},"id":{"description":"The update ID","type":"string","format":"uuid"},"message":{"description":"The message entered by the person who updated the requst","type":"string"},"status":{"description":"The request status code","type":"string"},"updating_user":{"description":"The username of the person who updated the request","type":"string"}},"additionalProperties":false,"required":["created_date","id","message","status","updating_user"]},"RequestUpdateMessage":{"type":"object","properties":{"message":{"description":"The message to store with the request.","type":"string"}},"additionalProperties":false},"ResourceSummary":{"type":"object","properties":{"cpu_usage":{"$ref":"#/definitions/CPUHoursTotal"},"data_usage":{"$ref":"#/definitions/UserCurrentDataTotal"},"subscription":{"$ref":"#/definitions/SubscriptionSummary"},"errors":{"description":"The list of errors generated during summary creation","type":"array","items":{"$ref":"#/definitions/APIError"}}},"additionalProperties":false,"required":["cpu_usage","data_usage","subscription","errors"]},"ResourceType":{"type":"object","properties":{"id":{"description":"The UUID assigned to a resource type record","type":"string","format":"uuid","x-nullable":true},"name":{"description":"The name of the resource type","type":"string"},"unit":{"description":"The unit of the resource type","type":"string"},"consumable":{"description":"True if using the resource consumes it permanently","type":"boolean"}},"additionalProperties":false,"required":["id","name","unit","consumable"]},"ResourceTypeForAddonDeletion":{"type":"object","properties":{"uuid":{"description":"The UUID of the resource type associated with the add-on being deleted. Probably blank","type":"string","x-nullable":true},"name":{"description":"The name of the resource type associated with the add-on being deleted. Probably blank","type":"string","x-nullable":true},"unit":{"description":"The unit of the resource type assciated wiht the add-on being deleted. Probably blank","type":"string","x-nullable":true},"consumable":{"description":"True if using the resource consumes it permanently. Probably blank","type":"boolean","x-nullable":true}},"additionalProperties":false},"ResourceTypeForAddonUpdate":{"type":"object","properties":{"uuid":{"description":"The UUID of the new resource type associated with the add-on","type":"string","format":"uuid"}},"additionalProperties":false,"required":["uuid"]},"ResourceTypeSummary":{"description":"The resource type of the quota","type":"object","properties":{"id":{"description":"The UUID for the resource type","type":"string"},"name":{"description":"The name of the resource type","type":"string"},"description":{"description":"The description of the resource type","type":"string"}},"additionalProperties":false,"required":["id","name","description"]},"ResourceTypesResponse":{"type":"object","properties":{"result":{"description":"The list of resource types","type":"array","items":{"$ref":"#/definitions/ResourceType"}},"status":{"description":"The status of the response","type":"string"}},"additionalProperties":false,"required":["result","status"]},"Response1368":{"type":"object","properties":{"status":{"description":"The status of the request","type":"string"}},"additionalProperties":false,"required":["status"]},"RootListing":{"type":"object","properties":{"id":{"description":"The UUID of this data item","type":"string","format":"uuid"},"path":{"description":"The IRODS paths to this data item","type":"string"},"label":{"description":"The descriptive label for this item.","type":"string"},"date-created":{"description":"The date this data item was created","type":"integer","format":"int64"},"date-modified":{"description":"The date this data item was last modified","type":"integer","format":"int64"},"permission":{"description":"The requesting user's permissions on this data item","type":"string","enum":["read","own","write"]},"share-count":{"description":"The number of other users this data item is shared with (only displayed to users with 'own' permissions)","type":"integer","format":"int64"},"hasSubDirs":{"description":"Flag indicating whether the folder has any subdirectories","type":"boolean"}},"additionalProperties":false,"required":["id","path","label","date-created","date-modified","permission","hasSubDirs"]},"RuleType":{"type":"object","properties":{"id":{"description":"A UUID that is used to identify the Rule Type","type":"string","format":"uuid"},"name":{"description":"The Rule Type's name","type":"string"},"description":{"description":"The Rule Type's description","type":"string"},"rule_description_format":{"description":"The Rule Type's description format","type":"string"},"subtype":{"description":"The Rule Type's subtype","type":"string"},"value_types":{"description":"The Rule Type's value types","type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["id","name","rule_description_format","subtype","value_types"]},"RuleTypeListing":{"type":"object","properties":{"rule_types":{"description":"Listing of App Parameter Rule Types","type":"array","items":{"$ref":"#/definitions/RuleType"}}},"additionalProperties":false,"required":["rule_types"]},"SearchRequest":{"type":"object","properties":{"query":{"$ref":"#/definitions/Query"},"size":{"description":"Limits the response to X number of results. Default is 10","type":"integer","format":"int64"},"from":{"description":"Skips the first X number of results. Default is 0","type":"integer","format":"int64"},"sort":{"description":"Sorts the results based on a list of criteria","type":"array","items":{"$ref":"#/definitions/SearchSortParams"}},"scroll":{"description":"Sets a scroll timeout for this search. Required if scroll_id is present.","type":"string"},"scroll_id":{"description":"Gets the next set of results for a given scroll ID. Mutually exclusive with 'query'.","type":"string"}},"additionalProperties":false},"SearchSortParams":{"type":"object","properties":{"field":{"description":"The field to sort by","type":"string","enum":["dateCreated","dateModified","label","path","id","creator","fileSize"]},"order":{"type":"string","enum":["descending","ascending"]}},"additionalProperties":false,"required":["field","order"]},"SendEmailRequestBody":{"type":"object","properties":{"attachments":{"description":"Optional email file attachments","type":"array","items":{"$ref":"#/definitions/SendEmailRequestBodyAttachments"}},"cc":{"description":"Email addresses to send courtecy copies to","type":"array","items":{"type":"string"}},"template":{"description":"The name of the email template to use","type":"string"},"bcc":{"description":"Email addresses to send blind courtecy copies to","type":"array","items":{"type":"string"}},"values":{"$ref":"#/definitions/SendEmailRequestBodyValues"},"from_name":{"description":"The name of the message sender","type":"string"},"from_addr":{"description":"The email address of the message sender","type":"string"},"subject":{"description":"The message subject","type":"string"},"to":{"description":"The email address to send the message to","type":"string"}},"additionalProperties":false,"required":["template","values","from_name","from_addr","subject","to"]},"SendEmailRequestBodyAttachments":{"type":"object","properties":{"filename":{"description":"The attachment's file name","type":"string"},"data":{"description":"The base64 encoded file data","type":"string"}},"additionalProperties":false,"required":["filename","data"]},"SendEmailRequestBodyValues":{"description":"The values to plug into the email template","type":"object","additionalProperties":{}},"SequenceType":{"description":"The type of genomic sequence (e.g. \"masked\", \"unmasked\")","type":"object","properties":{"description":{"description":"The sequence type description","type":"string","x-nullable":true},"id":{"description":"The sequence type ID","type":"string"},"name":{"description":"The type of genomic sequence (e.g. \"masked\", \"unmasked\")","type":"string","x-nullable":true}},"additionalProperties":false,"required":["description","id","name"]},"Service":{"type":"object","properties":{"appName":{"description":"The name of the app the resource is associated with","type":"string"},"analysisName":{"description":"The name of the analysis the resource is associated with","type":"string"},"creationTimestamp":{"description":"The time the resource was created","type":"string"},"name":{"description":"The name of the resource","type":"string"},"analysisID":{"description":"The UUID assigned to the analysis","type":"string","format":"uuid","x-nullable":true},"username":{"description":"The username of the user that launched the analysis","type":"string"},"appID":{"description":"The UUID of the app the resource is associated with","type":"string","format":"uuid"},"ports":{"description":"The list of ports open in the service","type":"array","items":{"$ref":"#/definitions/ServicePort"}},"externalID":{"description":"The UUID assigned to the job step","type":"string","format":"uuid"},"userID":{"description":"The UUID assigned to the user that launched the analysis","type":"string","format":"uuid"},"namespace":{"description":"The namespace for the resource","type":"string"}},"additionalProperties":false,"required":["appName","analysisName","creationTimestamp","name","username","appID","ports","externalID","userID","namespace"]},"ServicePort":{"type":"object","properties":{"name":{"description":"The name of the port","type":"string"},"nodePort":{"description":"The exposed port on the k8s nodes","type":"integer","format":"int64","x-nullable":true},"targetPort":{"description":"The target port in the selected pods. Will not be present if targetPortName is set","type":"integer","format":"int64","x-nullable":true},"targetPortName":{"description":"The name of the target port on the selected pods. Will not be present if targetPort is set","type":"string","x-nullable":true},"port":{"description":"The service port","type":"integer","format":"int64"},"protocol":{"description":"The protocol the primary service port supports","type":"string"}},"additionalProperties":false,"required":["name","port","protocol"]},"SessionPersistence":{"description":"Session persistence configuration","type":"object","properties":{"sessionName":{"description":"The name of the session token","type":"string"},"absoluteTimeout":{"description":"The absolute timeout of the session","type":"string"},"idleTimeout":{"description":"The idle timeout of the session","type":"string"},"type":{"description":"The session storage mechanism","type":"string","enum":["Cookie","Header"]},"cookieConfig":{"$ref":"#/definitions/CookieConfig"}},"additionalProperties":false},"SetAvuRequest":{"description":"The Metadata AVU save request","type":"object","properties":{"avus":{"description":"The AVUs to save for the target item","type":"array","items":{"$ref":"#/definitions/AvuRequest"}}},"additionalProperties":false},"SharingRequest":{"type":"object","properties":{"sharing":{"description":"The sharing requests to process","type":"array","items":{"$ref":"#/definitions/UserShareRequest"}}},"additionalProperties":false,"required":["sharing"]},"SharingResponse":{"type":"object","properties":{"sharing":{"description":"Status information about each sharing request","type":"array","items":{"$ref":"#/definitions/UserShareResponse"}}},"additionalProperties":false,"required":["sharing"]},"StatErrorResponses":{"type":"object","properties":{"error_code":{"type":"string","enum":["ERR_NOT_OWNER","ERR_NOT_READABLE","ERR_NOT_A_USER","ERR_TOO_MANY_RESULTS","ERR_SCHEMA_VALIDATION","ERR_UNCHECKED_EXCEPTION","ERR_DOES_NOT_EXIST","ERR_NOT_WRITEABLE"]},"reason":{"description":"A brief text or object describing the reason for the error"}},"additionalProperties":false,"required":["error_code"]},"StatResponse":{"type":"object","properties":{"paths":{"$ref":"#/definitions/StatResponsePathsMap"},"ids":{"$ref":"#/definitions/StatResponseIdsMap"}},"additionalProperties":false},"StatResponseIdsMap":{"description":"A map of ids from the request to their status info","type":"object","properties":{"some-folder-uuid":{"$ref":"#/definitions/DirStatInfo"},"some-file-uuid":{"$ref":"#/definitions/FileStatInfo"}},"additionalProperties":false,"required":["some-folder-uuid","some-file-uuid"]},"StatResponsePathsMap":{"description":"A map of paths from the request to their status info","type":"object","properties":{":/path/from/request/to/a/folder":{"$ref":"#/definitions/DirStatInfo"},":/path/from/request/to/a/file":{"$ref":"#/definitions/FileStatInfo"}},"additionalProperties":false,"required":[":/path/from/request/to/a/folder",":/path/from/request/to/a/file"]},"StatusInfo":{"type":"object","properties":{"paths":{"$ref":"#/definitions/PathsMap"},"ids":{"$ref":"#/definitions/DataIdsMap"}},"additionalProperties":false},"StatusResponse":{"type":"object","properties":{"iRODS":{"description":"True if the data store appears to be functional","type":"boolean"},"jex":{"description":"True if the job execution system appears to be functional","type":"boolean"},"apps":{"description":"True if the apps service appears to be functional","type":"boolean"},"notificationagent":{"description":"True if the notification agent appears to be functional","type":"boolean"},"datacite":{"description":"True if the DataCite API responds with an OK status","type":"boolean"}},"additionalProperties":false,"required":["iRODS","jex","apps","notificationagent","datacite"]},"StopAnalysisResponse":{"type":"object","properties":{"id":{"description":"the ID of the stopped analysis.","type":"string","format":"uuid"}},"additionalProperties":false,"required":["id"]},"Subject":{"description":"The details of the subject who created the community","type":"object","properties":{"institution":{"description":"The subject institution","type":"string"},"description":{"description":"The subject description","type":"string"},"email":{"description":"The subject email","type":"string"},"attribute_values":{"description":"A list of additional attributes applied to the subject","type":"array","items":{"type":"string"}},"first_name":{"description":"The subject's first name","type":"string"},"name":{"description":"The subject name","type":"string"},"id":{"description":"The subject identifier","type":"string"},"last_name":{"description":"The subject's last name","type":"string"},"source_id":{"description":"The ID of the source of the subject information","type":"string"}},"additionalProperties":false,"required":["id","source_id"]},"SubjectAnalysisSharingRequestElement":{"type":"object","properties":{"subject":{"$ref":"#/definitions/BaseSubject"},"analyses":{"description":"The list of sharing requests for individual analyses","type":"array","items":{"$ref":"#/definitions/AnalysisSharingRequestElement"}}},"additionalProperties":false,"required":["subject","analyses"]},"SubjectAnalysisSharingResponseElement":{"type":"object","properties":{"subject":{"$ref":"#/definitions/BaseSubject"},"analyses":{"description":"The list of analysis sharing responses for the subject","type":"array","items":{"$ref":"#/definitions/AnalysisSharingResponseElement"}}},"additionalProperties":false,"required":["subject","analyses"]},"SubjectAnalysisUnsharingRequestElement":{"type":"object","properties":{"subject":{"$ref":"#/definitions/BaseSubject"},"analyses":{"description":"The identifiers of the analyses to unshare","type":"array","items":{"type":"string","format":"uuid"}}},"additionalProperties":false,"required":["subject","analyses"]},"SubjectAnalysisUnsharingResponseElement":{"type":"object","properties":{"subject":{"$ref":"#/definitions/BaseSubject"},"analyses":{"description":"The list of analysis unsharing responses for the subject","type":"array","items":{"$ref":"#/definitions/AnalysisUnsharingResponseElement"}}},"additionalProperties":false,"required":["subject","analyses"]},"SubjectAppSharingRequestElement":{"type":"object","properties":{"subject":{"$ref":"#/definitions/BaseSubject"},"apps":{"description":"The list of app sharing requests for the subject","type":"array","items":{"$ref":"#/definitions/AppSharingRequestElement"}}},"additionalProperties":false,"required":["subject","apps"]},"SubjectAppSharingResponseElement":{"type":"object","properties":{"subject":{"$ref":"#/definitions/BaseSubject"},"apps":{"description":"The list of app sharing responses for the subject","type":"array","items":{"$ref":"#/definitions/AppSharingResponseElement"}}},"additionalProperties":false,"required":["subject","apps"]},"SubjectAppUnsharingRequestElement":{"type":"object","properties":{"subject":{"$ref":"#/definitions/BaseSubject"},"apps":{"description":"The list of app unsharing requests for the subject","type":"array","items":{"$ref":"#/definitions/QualifiedAppId"}}},"additionalProperties":false,"required":["subject","apps"]},"SubjectAppUnsharingResponseElement":{"type":"object","properties":{"subject":{"$ref":"#/definitions/BaseSubject"},"apps":{"description":"The list of app sharing responses for the subject","type":"array","items":{"$ref":"#/definitions/AppUnsharingResponseElement"}}},"additionalProperties":false,"required":["subject","apps"]},"SubjectList":{"type":"object","properties":{"subjects":{"description":"The list of subjects in the result set","type":"array","items":{"$ref":"#/definitions/SubjectListEntry"}}},"additionalProperties":false,"required":["subjects"]},"SubjectListEntry":{"type":"object","properties":{"institution":{"description":"The subject institution","type":"string"},"description":{"description":"The subject description","type":"string"},"email":{"description":"The subject email","type":"string"},"attribute_values":{"description":"A list of additional attributes applied to the subject","type":"array","items":{"type":"string"}},"first_name":{"description":"The subject's first name","type":"string"},"name":{"description":"The subject name","type":"string"},"id":{"description":"The subject identifier","type":"string"},"last_name":{"description":"The subject's last name","type":"string"},"source_id":{"description":"The ID of the source of the subject information","type":"string"},"display_name":{"description":"The displayable subject name","type":"string"}},"additionalProperties":false,"required":["id","source_id","display_name"]},"SubjectPermissionListElement":{"type":"object","properties":{"subject":{"$ref":"#/definitions/BaseSubject"},"permission":{"description":"The permission level assigned to the subject","type":"string","enum":["","read","own","write"]}},"additionalProperties":false,"required":["subject","permission"]},"SubjectToolSharingRequestElement":{"type":"object","properties":{"subject":{"$ref":"#/definitions/BaseSubject"},"tools":{"description":"The list of Tool sharing requests for the subject","type":"array","items":{"$ref":"#/definitions/ToolSharingRequestElement"}}},"additionalProperties":false,"required":["subject","tools"]},"SubjectToolSharingResponseElement":{"type":"object","properties":{"subject":{"$ref":"#/definitions/BaseSubject"},"tools":{"description":"The list of Tool sharing responses for the subject","type":"array","items":{"$ref":"#/definitions/ToolSharingResponseElement"}}},"additionalProperties":false,"required":["subject","tools"]},"SubjectToolUnsharingRequestElement":{"type":"object","properties":{"subject":{"$ref":"#/definitions/BaseSubject"},"tools":{"description":"The identifiers of the Tools to unshare","type":"array","items":{"type":"string","format":"uuid"}}},"additionalProperties":false,"required":["subject","tools"]},"SubjectToolUnsharingResponseElement":{"type":"object","properties":{"subject":{"$ref":"#/definitions/BaseSubject"},"tools":{"description":"The list of Tool unsharing responses for the subject","type":"array","items":{"$ref":"#/definitions/ToolUnsharingResponseElement"}}},"additionalProperties":false,"required":["subject","tools"]},"Subscription":{"type":"object","properties":{"effective_start_date":{"description":"The date the user's plan takes effect","type":"string","x-nullable":true},"effective_end_date":{"description":"The date the user's plan ends","type":"string","x-nullable":true},"plan_rate":{"$ref":"#/definitions/PlanRate"},"quotas":{"description":"The list of quotas associated with the user's plan","type":"array","items":{"$ref":"#/definitions/Quota"},"x-nullable":true},"usages":{"description":"The list of usages associated with the user's plan","type":"array","items":{"$ref":"#/definitions/Usage"},"x-nullable":true},"id":{"description":"The UUID assigned to a user's plan","type":"string","format":"uuid","x-nullable":true},"paid":{"description":"True if the user paid for the subsciption","type":"boolean","x-nullable":true},"uuid":{"description":"The UUID assigned to a user's plan","type":"string","format":"uuid","x-nullable":true},"plan":{"$ref":"#/definitions/Plan"},"user":{"$ref":"#/definitions/QMSUser"}},"additionalProperties":false},"SubscriptionAddon":{"type":"object","properties":{"uuid":{"description":"The UUID for the subscribed add-on","type":"string","format":"uuid"},"addon":{"$ref":"#/definitions/AddOn"},"subscription_id":{"description":"The UUID for the subscription the add-on was applied to","type":"string","format":"uuid"},"amount":{"description":"The amount of the resource type provided by the add-on that was actually applied to the subscription","type":"number","format":"double"},"paid":{"description":"Whether the add-on needs/needed to be paid for","type":"boolean"},"addon_rate":{"$ref":"#/definitions/AddonRate"}},"additionalProperties":false,"required":["addon","subscription_id","amount","paid","addon_rate"]},"SubscriptionAddonListResponse":{"type":"object","properties":{"subscription_addons":{"description":"The returned list of subscription add-ons","type":"array","items":{"$ref":"#/definitions/SubscriptionAddon"}}},"additionalProperties":false,"required":["subscription_addons"]},"SubscriptionAddonResponse":{"type":"object","properties":{"subscription_addon":{"$ref":"#/definitions/SubscriptionAddon"}},"additionalProperties":false,"required":["subscription_addon"]},"SubscriptionAddonSummary":{"type":"object","properties":{"id":{"description":"The UUID for the subscribed add-on","type":"string","format":"uuid"},"addon":{"$ref":"#/definitions/AddOnSummary"},"amount":{"description":"The amount of the resource type provided by the add-on that was actually applied to the subscription","type":"number","format":"double"},"paid":{"description":"Whether the add-on needs/needed to be paid for","type":"boolean"},"addon_rate":{"$ref":"#/definitions/AddonRateSummary"}},"additionalProperties":false,"required":["id","addon","amount","paid","addon_rate"]},"SubscriptionListing":{"type":"object","properties":{"subscriptions":{"description":"The subscription listing","type":"array","items":{"$ref":"#/definitions/Subscription"}},"total":{"description":"The total number of matching subscriptions","type":"integer","format":"int32"}},"additionalProperties":false,"required":["subscriptions","total"]},"SubscriptionListingResponse":{"type":"object","properties":{"result":{"$ref":"#/definitions/SubscriptionListing","x-nullable":true},"error":{"description":"The error message if the request could not be completed","type":"string","x-nullable":true},"status":{"description":"The status of the request","type":"string"}},"additionalProperties":false,"required":["status"]},"SubscriptionPlanResponse":{"type":"object","properties":{"result":{"$ref":"#/definitions/Subscription","x-nullable":true},"error":{"description":"The error message","type":"string","x-nullable":true},"status":{"description":"The status of the response","type":"string"}},"additionalProperties":false,"required":["status"]},"SubscriptionRequest":{"type":"object","properties":{"username":{"description":"The username to associate with the subscription","type":"string"},"plan_name":{"description":"The name of the plan to associate with the subscription","type":"string"},"paid":{"description":"True if the user paid for the subscription","type":"boolean"},"periods":{"description":"The number of subscription periods","type":"integer","format":"int32"},"start_date":{"description":"The start date of the subscription","type":"string"},"end_date":{"description":"The end date of the subscription","type":"string"}},"additionalProperties":false,"required":["paid"]},"SubscriptionRequests":{"type":"object","properties":{"subscriptions":{"description":"The list of subscription requests","type":"array","items":{"$ref":"#/definitions/SubscriptionRequest"},"x-nullable":true}},"additionalProperties":false},"SubscriptionResponse":{"type":"object","properties":{"effective_start_date":{"description":"The date the user's plan takes effect","type":"string","x-nullable":true},"new_subscription":{"description":"True if the subscription was created as part of this request","type":"boolean","x-nullable":true},"effective_end_date":{"description":"The date the user's plan ends","type":"string","x-nullable":true},"plan_rate":{"$ref":"#/definitions/PlanRate"},"failure_reason":{"description":"The reason for the failure if the subscription couldn't be created","type":"string","x-nullable":true},"quotas":{"description":"The list of quotas associated with the user's plan","type":"array","items":{"$ref":"#/definitions/Quota"},"x-nullable":true},"usages":{"description":"The list of usages associated with the user's plan","type":"array","items":{"$ref":"#/definitions/Usage"},"x-nullable":true},"id":{"description":"The UUID assigned to a user's plan","type":"string","format":"uuid","x-nullable":true},"paid":{"description":"True if the user paid for the subsciption","type":"boolean","x-nullable":true},"uuid":{"description":"The UUID assigned to a user's plan","type":"string","format":"uuid","x-nullable":true},"plan":{"$ref":"#/definitions/Plan"},"user":{"$ref":"#/definitions/QMSUser"}},"additionalProperties":false},"SubscriptionSummary":{"description":"The user's subscription","type":"object","properties":{"id":{"description":"The user plan's UUID","type":"string"},"effective_start_date":{"description":"The date the user's plan takes effect","type":"string"},"effective_end_date":{"description":"The date the user's plan ends","type":"string"},"plan":{"$ref":"#/definitions/PlanSummary"},"quotas":{"description":"The list of quotas that the user has with their plan","type":"array","items":{"$ref":"#/definitions/QuotaSummary"}},"usages":{"description":"The list of usages associated with the subscription","type":"array","items":{"$ref":"#/definitions/UsageSummary"}},"addons":{"description":"The user's subscription add-ons","type":"array","items":{"$ref":"#/definitions/SubscriptionAddonSummary"}},"users":{"$ref":"#/definitions/QMSUserSummary"}},"additionalProperties":false,"required":["id","effective_start_date","effective_end_date","plan","quotas","usages","addons","users"]},"SubscriptionUpdateResponse":{"type":"object","properties":{"result":{"$ref":"#/definitions/SubscriptionResponse","x-nullable":true},"error":{"description":"The error message if the request could not be completed","type":"string","x-nullable":true},"status":{"description":"The status of the request","type":"string","x-nullable":true}},"additionalProperties":false},"SuccessResponse":{"type":"object","properties":{"result":{"description":"The result of the response","x-nullable":true},"error":{"description":"The error string","type":"string","x-nullable":true},"status":{"description":"The status of the response","type":"string"}},"additionalProperties":false,"required":["status"]},"SupportEmailRequest":{"type":"object","properties":{"email":{"description":"The email address to use in the FROM field of the email to Support. If no email address is specified but the user is authenticated then the user's primary email address will be used. Otherwise, a default email address will be used","type":"string"},"fields":{"description":"Arbitrary key/value pairs to include in the email to Support"},"subject":{"description":"The email subject. If no subject is provided, a default subject will be used","type":"string"}},"additionalProperties":false,"required":["fields"]},"SystemIds":{"description":"Information about system IDs available to the Discovery Environment.","type":"object","properties":{"de_system_id":{"description":"The internal system ID used by the Discovery Environment.","type":"string"},"all_system_ids":{"description":"The list of system IDs available to the Discovery Environment.","type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["de_system_id","all_system_ids"]},"Tag":{"type":"object","properties":{"id":{"description":"The service-provided UUID associated with the tag","type":"string","format":"uuid"},"value":{"description":"A non-blank string.","type":"string"},"description":{"description":"The description of the purpose of the tag","type":"string"}},"additionalProperties":false,"required":["id","value"]},"TagId":{"type":"object","properties":{"id":{"description":"The tag's UUID","type":"string","format":"uuid"}},"additionalProperties":false,"required":["id"]},"TagIdList":{"type":"object","properties":{"tags":{"description":"A list of Tag UUIDs","type":"array","items":{"type":"string","format":"uuid"}}},"additionalProperties":false,"required":["tags"]},"TagList":{"type":"object","properties":{"tags":{"description":"A list of Tags","type":"array","items":{"$ref":"#/definitions/Tag"}}},"additionalProperties":false,"required":["tags"]},"TagRequest":{"description":"The user tag to create.","type":"object","properties":{"value":{"description":"A non-blank string.","type":"string"},"description":{"description":"The description of the purpose of the tag","type":"string"}},"additionalProperties":false,"required":["value"]},"TagUpdateRequest":{"description":"The tag fields to update.","type":"object","properties":{"description":{"description":"The description of the purpose of the tag","type":"string"},"value":{"description":"A non-blank string.","type":"string"}},"additionalProperties":false},"TapisJobStatusUpdate":{"description":"The updated job status information.","type":"object","properties":{"event":{"$ref":"#/definitions/TapisJobStatusUpdateEvent"}},"additionalProperties":{},"required":["event"]},"TapisJobStatusUpdateEvent":{"type":"object","properties":{"timestamp":{"description":"The time the job status was created","type":"string"},"type":{"description":"The status assigned to the job by Tapis","type":"string"},"data":{"description":"The job status JSON encoded as a string","type":"string"}},"additionalProperties":{},"required":["timestamp","type","data"]},"Team":{"type":"object","properties":{"name":{"description":"The internal team name","type":"string"},"type":{"description":"The team type name","type":"string"},"description":{"description":"A brief description of the team","type":"string"},"display_extension":{"description":"The displayable team name extension","type":"string"},"display_name":{"description":"The displayable team name","type":"string"},"extension":{"description":"The internal team name extension","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"id":{"description":"The team ID","type":"string"}},"additionalProperties":false,"required":["name","type","id_index","id"]},"TeamJoinDenial":{"type":"object","properties":{"message":{"description":"A brief message to send to the person requesting to join the team","type":"string"}},"additionalProperties":false,"required":["message"]},"TeamJoinRequest":{"type":"object","properties":{"message":{"description":"A brief message to send to the team administrators","type":"string"}},"additionalProperties":false,"required":["message"]},"TeamListing":{"type":"object","properties":{"groups":{"description":"The list of teams in the result set","type":"array","items":{"$ref":"#/definitions/TeamListingGroups"}}},"additionalProperties":false,"required":["groups"]},"TeamListingGroups":{"type":"object","properties":{"description":{"description":"A brief description of the team","type":"string"},"name":{"description":"The internal team name","type":"string"},"type":{"description":"The team type name","type":"string"},"extension":{"description":"The internal team name extension","type":"string"},"id":{"description":"The team ID","type":"string"},"display_extension":{"description":"The displayable team name extension","type":"string"},"display_name":{"description":"The displayable team name","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"detail":{"$ref":"#/definitions/TeamListingGroupsDetail"}},"additionalProperties":false,"required":["name","type","id","id_index"]},"TeamListingGroupsDetail":{"description":"Detailed information about the team","type":"object","properties":{"modified_at":{"description":"The date and time the team was last modified (ms since epoch)","type":"integer","format":"int64"},"attribute_values":{"description":"Attribute values, not including the ones listed in the team itself","type":"array","items":{"type":"string"}},"type_names":{"description":"The types associated with this team","type":"array","items":{"type":"string"}},"right_group":{"$ref":"#/definitions/TeamListingGroupsDetailRightGroup"},"has_composite":{"description":"True if this team has a composite member","type":"boolean"},"left_group":{"$ref":"#/definitions/TeamListingGroupsDetailLeftGroup"},"is_composite_factor":{"description":"True if this team is a composite member of another group","type":"boolean"},"attribute_names":{"description":"Attribute names, not including the ones listed in the team itself","type":"array","items":{"type":"string"}},"created_by_detail":{"$ref":"#/definitions/Subject"},"modified_by":{"description":"The ID of the subject who last modified the team","type":"string"},"created_by":{"description":"The ID of the subject who created the team","type":"string"},"created_at":{"description":"The date and time the team was created (ms since epoch)","type":"integer","format":"int64"},"composite_type":{"description":"The type of composite team, if applicable","type":"string"}},"additionalProperties":false,"required":["has_composite","is_composite_factor","created_at"]},"TeamListingGroupsDetailLeftGroup":{"description":"The left team if this group is a composite","type":"object","properties":{"name":{"description":"The internal team name","type":"string"},"type":{"description":"The team type name","type":"string"},"description":{"description":"A brief description of the team","type":"string"},"display_extension":{"description":"The displayable team name extension","type":"string"},"display_name":{"description":"The displayable team name","type":"string"},"extension":{"description":"The internal team name extension","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"id":{"description":"The team ID","type":"string"}},"additionalProperties":false,"required":["name","type","id_index","id"]},"TeamListingGroupsDetailRightGroup":{"description":"The right team if this group is a composite","type":"object","properties":{"name":{"description":"The internal team name","type":"string"},"type":{"description":"The team type name","type":"string"},"description":{"description":"A brief description of the team","type":"string"},"display_extension":{"description":"The displayable team name extension","type":"string"},"display_name":{"description":"The displayable team name","type":"string"},"extension":{"description":"The internal team name extension","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"},"id":{"description":"The team ID","type":"string"}},"additionalProperties":false,"required":["name","type","id_index","id"]},"TeamMembers":{"type":"object","properties":{"members":{"description":"The list of team members","type":"array","items":{"$ref":"#/definitions/Subject"}}},"additionalProperties":false,"required":["members"]},"TeamStub":{"type":"object","properties":{"description":{"description":"A brief description of the team","type":"string"},"name":{"description":"The internal team name","type":"string"},"type":{"description":"The team type name","type":"string"},"extension":{"description":"The internal team name extension","type":"string"},"id":{"description":"The team ID","type":"string"},"display_extension":{"description":"The displayable team name extension","type":"string"},"display_name":{"description":"The displayable team name","type":"string"},"id_index":{"description":"The sequential ID index number","type":"string"}},"additionalProperties":false},"TerrainBootstrapResponse":{"type":"object","properties":{"user_info":{"$ref":"#/definitions/UserInfo"},"session":{"$ref":"#/definitions/LoginResponse"},"apps_info":{"$ref":"#/definitions/AppsBootstrapResponse"},"data_info":{"$ref":"#/definitions/UserBasePaths"},"preferences":{"$ref":"#/definitions/UserPreferencesResponseDocs"}},"additionalProperties":false,"required":["user_info","session","apps_info","data_info","preferences"]},"TicketDefinition":{"type":"object","properties":{"path":{"description":"The iRODS path for the ticket","type":"string"},"ticket-id":{"description":"The ID of the ticket. Usually, but not always, a UUID.","type":"string"},"download-url":{"description":"The URL for downloading the file associated with this ticket.","type":"string"},"download-page-url":{"description":"The URL for managing this ticket, getting links, seeing metadata, etc.","type":"string"}},"additionalProperties":false,"required":["path","ticket-id","download-url","download-page-url"]},"Tickets":{"type":"object","properties":{"tickets":{"description":"A list of ticket IDs","type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["tickets"]},"TimeLimit":{"type":"object","properties":{"time_limit":{"description":"The scheduled end date as seconds since the epoch","type":"string","x-nullable":true}},"additionalProperties":false,"required":["time_limit"]},"TokenInfo":{"type":"object","properties":{"expires_at":{"description":"The token expiration time as milliseconds since the epoch.","type":"integer","format":"int64"},"webapp":{"description":"The name of the external web application.","type":"string"}},"additionalProperties":false,"required":["expires_at","webapp"]},"Tool":{"type":"object","properties":{"description":{"description":"A brief description of the Tool","type":"string"},"interactive":{"description":"Determines whether the tool is interactive.","type":"boolean"},"name":{"description":"The Tool's name (can be the file name or Docker image)","type":"string"},"type":{"description":"The Tool Type name","type":"string"},"restricted":{"description":"Determines whether a time limit is applied and whether network access is granted","type":"boolean"},"deprecated":{"description":"Flag indicating if this Tool has been deprecated","type":"boolean"},"id":{"description":"A UUID that is used to identify the Tool","type":"string","format":"uuid"},"attribution":{"description":"The Tool's author or publisher","type":"string"},"version":{"description":"The Tool's version","type":"string"},"location":{"description":"The path of the directory containing the Tool","type":"string"},"time_limit_seconds":{"description":"The number of seconds that a tool is allowed to execute. A value of 0 means the time limit is disabled","type":"integer","format":"int64"}},"additionalProperties":false,"required":["name","type","id","version"]},"ToolContainer":{"description":"All container and container image information associated with a tool.","type":"object","properties":{"interactive_apps":{"$ref":"#/definitions/ProxySettings"},"max_cpu_cores":{"description":"The maximum number of CPU cores allowed when running the tool container","type":"number","format":"double"},"container_devices":{"description":"A list of devices associated with a tool's container","type":"array","items":{"$ref":"#/definitions/Device"}},"container_ports":{"type":"array","items":{"$ref":"#/definitions/Port"}},"min_cpu_cores":{"description":"The minimum number of CPU cores needed to run the tool container","type":"number","format":"double"},"uid":{"type":"integer","format":"int64"},"name":{"description":"The name given to the tool container","type":"string"},"min_memory_limit":{"description":"The minimum about of memory (in bytes) that is required to run the tool container","type":"integer","format":"int64"},"min_gpus":{"description":"The minimum number of GPUs needed to run the tool container","type":"integer","format":"int64"},"working_directory":{"description":"The working directory in the tool container","type":"string"},"gpu_models":{"description":"The GPU models that work with this tool container. Empty means no limitation on GPU model.","type":"array","items":{"type":"string"}},"skip_tmp_mount":{"type":"boolean"},"id":{"type":"string","format":"uuid"},"entrypoint":{"description":"The entrypoint for a tool container","type":"string"},"memory_limit":{"description":"The amount of memory (in bytes) that the tool container is restricted to","type":"integer","format":"int64"},"cpu_shares":{"description":"The shares of the CPU that the tool container will receive","type":"integer","format":"int64"},"container_volumes":{"description":"A list of Volumes associated with a tool's container","type":"array","items":{"$ref":"#/definitions/Volume"}},"network_mode":{"description":"The network mode for the tool container","type":"string"},"image":{"$ref":"#/definitions/Image"},"container_volumes_from":{"description":"The list of VolumeFroms associated with a tool's container.","type":"array","items":{"$ref":"#/definitions/VolumesFrom"}},"min_disk_space":{"description":"The minimum amount of disk space needed to run the tool container","type":"integer","format":"int64"},"pids_limit":{"type":"integer","format":"int64"},"max_gpus":{"description":"The maximum number of GPUs allowed when running the tool container","type":"integer","format":"int64"}},"additionalProperties":false,"required":["id","image"]},"ToolDetails":{"type":"object","properties":{"description":{"description":"A brief description of the Tool","type":"string"},"permission":{"description":"The user's access level for the Tool","type":"string"},"interactive":{"description":"Determines whether the tool is interactive.","type":"boolean"},"name":{"description":"The Tool's name (can be the file name or Docker image)","type":"string"},"type":{"description":"The Tool Type name","type":"string"},"restricted":{"description":"Determines whether a time limit is applied and whether network access is granted","type":"boolean"},"is_public":{"description":"Whether the Tool has been published and is viewable by all users","type":"boolean"},"id":{"description":"A UUID that is used to identify the Tool","type":"string","format":"uuid"},"container":{"$ref":"#/definitions/ToolContainer"},"attribution":{"description":"The Tool's author or publisher","type":"string"},"version":{"description":"The Tool's version","type":"string"},"location":{"description":"The path of the directory containing the Tool","type":"string"},"implementation":{"$ref":"#/definitions/ToolImplementation"},"time_limit_seconds":{"description":"The number of seconds that a tool is allowed to execute. A value of 0 means the time limit is disabled","type":"integer","format":"int64"}},"additionalProperties":false,"required":["permission","name","type","is_public","id","container","version","implementation"]},"ToolIdList":{"description":"The Tool permission listing request.","type":"object","properties":{"tools":{"description":"A List of Tool IDs","type":"array","items":{"type":"string","format":"uuid"}}},"additionalProperties":false,"required":["tools"]},"ToolIdsList":{"type":"object","properties":{"tool_ids":{"description":"A List of Tool IDs","type":"array","items":{"type":"string","format":"uuid"}}},"additionalProperties":false,"required":["tool_ids"]},"ToolImplementation":{"description":"Information about the user who integrated the Tool into the DE","type":"object","properties":{"implementor":{"description":"The name of the implementor","type":"string"},"implementor_email":{"description":"The email address of the implementor","type":"string"},"test":{"$ref":"#/definitions/ToolTestData"}},"additionalProperties":false,"required":["implementor","implementor_email","test"]},"ToolImplementor":{"description":"Information about the user who integrated the Tool into the DE","type":"object","properties":{"implementor":{"description":"The name of the implementor","type":"string"},"implementor_email":{"description":"The email address of the implementor","type":"string"}},"additionalProperties":false,"required":["implementor","implementor_email"]},"ToolImportRequest":{"type":"object","properties":{"description":{"description":"A brief description of the Tool","type":"string"},"interactive":{"description":"Determines whether the tool is interactive.","type":"boolean"},"name":{"description":"The Tool's name (can be the file name or Docker image)","type":"string"},"type":{"description":"The Tool Type name","type":"string"},"restricted":{"description":"Determines whether a time limit is applied and whether network access is granted","type":"boolean"},"id":{"description":"A UUID that is used to identify the Tool","type":"string","format":"uuid"},"container":{"$ref":"#/definitions/NewToolContainer"},"attribution":{"description":"The Tool's author or publisher","type":"string"},"version":{"description":"The Tool's version","type":"string"},"location":{"description":"The path of the directory containing the Tool","type":"string"},"implementation":{"$ref":"#/definitions/ToolImplementation"},"time_limit_seconds":{"description":"The number of seconds that a tool is allowed to execute. A value of 0 means the time limit is disabled","type":"integer","format":"int64"}},"additionalProperties":false,"required":["name","type","container","version","implementation"]},"ToolListing":{"type":"object","properties":{"tools":{"description":"Listing of App Tools","type":"array","items":{"$ref":"#/definitions/ToolListingItem"}},"total":{"description":"The total number of App Tools in the listing","type":"integer","format":"int64"}},"additionalProperties":false,"required":["tools","total"]},"ToolListingImage":{"description":"The group of settings for a container.","type":"object","properties":{"max_cpu_cores":{"description":"The maximum number of CPU cores allowed when running the tool container","type":"number","format":"double"},"min_cpu_cores":{"description":"The minimum number of CPU cores needed to run the tool container","type":"number","format":"double"},"uid":{"type":"integer","format":"int64"},"name":{"description":"The name given to the tool container","type":"string"},"min_memory_limit":{"description":"The minimum about of memory (in bytes) that is required to run the tool container","type":"integer","format":"int64"},"min_gpus":{"description":"The minimum number of GPUs needed to run the tool container","type":"integer","format":"int64"},"working_directory":{"description":"The working directory in the tool container","type":"string"},"gpu_models":{"description":"The GPU models that work with this tool container. Empty means no limitation on GPU model.","type":"array","items":{"type":"string"}},"skip_tmp_mount":{"type":"boolean"},"entrypoint":{"description":"The entrypoint for a tool container","type":"string"},"memory_limit":{"description":"The amount of memory (in bytes) that the tool container is restricted to","type":"integer","format":"int64"},"cpu_shares":{"description":"The shares of the CPU that the tool container will receive","type":"integer","format":"int64"},"network_mode":{"description":"The network mode for the tool container","type":"string"},"image":{"$ref":"#/definitions/Image"},"min_disk_space":{"description":"The minimum amount of disk space needed to run the tool container","type":"integer","format":"int64"},"pids_limit":{"type":"integer","format":"int64"},"max_gpus":{"description":"The maximum number of GPUs allowed when running the tool container","type":"integer","format":"int64"}},"additionalProperties":false,"required":["image"]},"ToolListingItem":{"type":"object","properties":{"description":{"description":"A brief description of the Tool","type":"string"},"permission":{"description":"The user's access level for the Tool","type":"string"},"interactive":{"description":"Determines whether the tool is interactive.","type":"boolean"},"name":{"description":"The Tool's name (can be the file name or Docker image)","type":"string"},"type":{"description":"The Tool Type name","type":"string"},"restricted":{"description":"Determines whether a time limit is applied and whether network access is granted","type":"boolean"},"is_public":{"description":"Whether the Tool has been published and is viewable by all users","type":"boolean"},"id":{"description":"A UUID that is used to identify the Tool","type":"string","format":"uuid"},"container":{"$ref":"#/definitions/ToolListingImage"},"attribution":{"description":"The Tool's author or publisher","type":"string"},"version":{"description":"The Tool's version","type":"string"},"tool_request":{"$ref":"#/definitions/ToolListingToolRequestSummary"},"location":{"description":"The path of the directory containing the Tool","type":"string"},"implementation":{"$ref":"#/definitions/ToolImplementor"},"time_limit_seconds":{"description":"The number of seconds that a tool is allowed to execute. A value of 0 means the time limit is disabled","type":"integer","format":"int64"}},"additionalProperties":false,"required":["permission","name","type","is_public","id","container","version","implementation"]},"ToolListingToolRequestSummary":{"type":"object","properties":{"id":{"description":"The Tool Requests's UUID","type":"string","format":"uuid"},"status":{"description":"The current status of the Tool Request","type":"string"}},"additionalProperties":false,"required":["id","status"]},"ToolPermissionListElement":{"type":"object","properties":{"id":{"description":"The Tool ID","type":"string","format":"uuid"},"name":{"description":"The Tool name","type":"string"},"permissions":{"description":"The list of subject permissions for the Tool","type":"array","items":{"$ref":"#/definitions/SubjectPermissionListElement"}}},"additionalProperties":false,"required":["id","name","permissions"]},"ToolPermissionListing":{"type":"object","properties":{"tools":{"description":"The list of Tool permissions","type":"array","items":{"$ref":"#/definitions/ToolPermissionListElement"}}},"additionalProperties":false,"required":["tools"]},"ToolRequest":{"description":"A tool installation request. One of `source_url` or `source_upload_file` fields are required, but not both.","type":"object","properties":{"description":{"description":"A brief description of the Tool","type":"string"},"documentation_url":{"description":"A link to the tool documentation","type":"string"},"source_url":{"description":"A link that can be used to obtain the tool","type":"string"},"architecture":{"description":"One of the architecture names known to the DE. Currently, the valid values are\n              `32-bit Generic` for a 32-bit executable that will run in the DE,\n              `64-bit Generic` for a 64-bit executable that will run in the DE,\n              `Others` for tools run in a virtual machine or interpreter, and\n              `Don't know` if the user requesting the tool doesn't know what the architecture is","type":"string","enum":["64-bit Generic","Don't know","Others","32-bit Generic"]},"interactive":{"description":"Determines whether the tool is interactive.","type":"boolean"},"phone":{"description":"The phone number of the user submitting the request","type":"string"},"name":{"description":"The Tool's name (can be the file name or Docker image)","type":"string"},"additional_data_file":{"description":"Any additional data file that may be helpful during tool installation or validation","type":"string"},"test_data_path":{"description":"The path to a test data file that has been uploaded to iRODS","type":"string"},"additional_info":{"description":"Any additional information that may be helpful during tool installation or validation","type":"string"},"multithreaded":{"description":"A flag indicating whether or not the tool is multithreaded. This can be `true` to indicate\n              that the user requesting the tool knows that it is multithreaded, `false` to indicate that the\n              user knows that the tool is not multithreaded, or omitted if the user does not know whether or\n              not the tool is multithreaded","type":"boolean"},"cmd_line":{"description":"Instructions for using the tool","type":"string"},"attribution":{"description":"The Tool's author or publisher","type":"string"},"tool_id":{"description":"The ID of the tool the user is requesting to be made public","type":"string","format":"uuid"},"version":{"description":"The Tool's version","type":"string"},"source_upload_file":{"description":"The path to a file that has been uploaded into iRODS","type":"string"}},"additionalProperties":false,"required":["description","documentation_url","name","test_data_path","cmd_line","version"]},"ToolRequestDetails":{"type":"object","properties":{"description":{"description":"A brief description of the Tool","type":"string"},"documentation_url":{"description":"A link to the tool documentation","type":"string"},"source_url":{"description":"A link that can be used to obtain the tool","type":"string"},"architecture":{"description":"One of the architecture names known to the DE. Currently, the valid values are\n              `32-bit Generic` for a 32-bit executable that will run in the DE,\n              `64-bit Generic` for a 64-bit executable that will run in the DE,\n              `Others` for tools run in a virtual machine or interpreter, and\n              `Don't know` if the user requesting the tool doesn't know what the architecture is","type":"string","enum":["64-bit Generic","Don't know","Others","32-bit Generic"]},"interactive":{"description":"Determines whether the tool is interactive.","type":"boolean"},"phone":{"description":"The phone number of the user submitting the request","type":"string"},"name":{"description":"The Tool's name (can be the file name or Docker image)","type":"string"},"additional_data_file":{"description":"Any additional data file that may be helpful during tool installation or validation","type":"string"},"test_data_path":{"description":"The path to a test data file that has been uploaded to iRODS","type":"string"},"submitted_by":{"description":"The username of the user that submitted the Tool Request","type":"string"},"history":{"description":"A history of status updates for this Tool Request","type":"array","items":{"$ref":"#/definitions/ToolRequestStatus"}},"additional_info":{"description":"Any additional information that may be helpful during tool installation or validation","type":"string"},"multithreaded":{"description":"A flag indicating whether or not the tool is multithreaded. This can be `true` to indicate\n              that the user requesting the tool knows that it is multithreaded, `false` to indicate that the\n              user knows that the tool is not multithreaded, or omitted if the user does not know whether or\n              not the tool is multithreaded","type":"boolean"},"cmd_line":{"description":"Instructions for using the tool","type":"string"},"id":{"description":"The Tool Requests's UUID","type":"string","format":"uuid"},"attribution":{"description":"The Tool's author or publisher","type":"string"},"tool_id":{"description":"The ID of the tool the user is requesting to be made public","type":"string","format":"uuid"},"version":{"description":"The Tool's version","type":"string"},"source_upload_file":{"description":"The path to a file that has been uploaded into iRODS","type":"string"}},"additionalProperties":false,"required":["description","documentation_url","name","test_data_path","submitted_by","history","cmd_line","id","version"]},"ToolRequestListing":{"type":"object","properties":{"tool_requests":{"description":"A listing of high level details about tool requests that have been submitted","type":"array","items":{"$ref":"#/definitions/ToolRequestSummary"}}},"additionalProperties":false,"required":["tool_requests"]},"ToolRequestStatus":{"type":"object","properties":{"status":{"description":"The status code of the Tool Request update. The status code is case-sensitive, and if it isn't\n              defined in the database already then it will be added to the list of known status codes","type":"string"},"status_date":{"description":"The timestamp of the Tool Request status update","type":"integer","format":"int64"},"updated_by":{"description":"The username of the user that updated the Tool Request status","type":"string"},"comments":{"description":"The administrator comments of the Tool Request status update","type":"string"}},"additionalProperties":false,"required":["status_date","updated_by"]},"ToolRequestStatusCode":{"type":"object","properties":{"id":{"description":"The Status Code's UUID","type":"string","format":"uuid"},"name":{"description":"The Status Code","type":"string"},"description":{"description":"A brief description of the Status Code","type":"string"}},"additionalProperties":false,"required":["id","name","description"]},"ToolRequestStatusCodeListing":{"type":"object","properties":{"status_codes":{"description":"A listing of known Status Codes","type":"array","items":{"$ref":"#/definitions/ToolRequestStatusCode"}}},"additionalProperties":false,"required":["status_codes"]},"ToolRequestStatusUpdate":{"description":"A Tool Request status update.","type":"object","properties":{"status":{"description":"The status code of the Tool Request update. The status code is case-sensitive, and if it isn't\n              defined in the database already then it will be added to the list of known status codes","type":"string"},"comments":{"description":"The administrator comments of the Tool Request status update","type":"string"}},"additionalProperties":false},"ToolRequestSummary":{"type":"object","properties":{"name":{"description":"The Tool's name (can be the file name or Docker image)","type":"string"},"date_submitted":{"description":"The timestamp of the Tool Request submission","type":"integer","format":"int64"},"status":{"description":"The current status of the Tool Request","type":"string"},"id":{"description":"The Tool Requests's UUID","type":"string","format":"uuid"},"updated_by":{"description":"The username of the user that last updated the Tool Request status","type":"string"},"requested_by":{"description":"The username of the user that submitted the Tool Request","type":"string"},"tool_id":{"description":"The ID of the tool the user is requesting to be made public","type":"string","format":"uuid"},"version":{"description":"The Tool's version","type":"string"},"date_updated":{"description":"The timestamp of the last Tool Request status update","type":"integer","format":"int64"}},"additionalProperties":false,"required":["name","date_submitted","status","id","updated_by","requested_by","version","date_updated"]},"ToolSharingRequest":{"description":"The Tool sharing request.","type":"object","properties":{"sharing":{"description":"The list of Tool sharing requests","type":"array","items":{"$ref":"#/definitions/SubjectToolSharingRequestElement"}}},"additionalProperties":false,"required":["sharing"]},"ToolSharingRequestElement":{"type":"object","properties":{"tool_id":{"description":"The Tool ID","type":"string","format":"uuid"},"permission":{"description":"The requested permission level","type":"string","enum":["","read","own","write"]}},"additionalProperties":false,"required":["tool_id","permission"]},"ToolSharingResponse":{"type":"object","properties":{"sharing":{"description":"The list of Tool sharing responses","type":"array","items":{"$ref":"#/definitions/SubjectToolSharingResponseElement"}}},"additionalProperties":false,"required":["sharing"]},"ToolSharingResponseElement":{"type":"object","properties":{"tool_id":{"description":"The Tool ID","type":"string","format":"uuid"},"permission":{"description":"The requested permission level","type":"string","enum":["","read","own","write"]},"tool_name":{"description":"The Tool name","type":"string"},"success":{"description":"A Boolean flag indicating whether the sharing request succeeded","type":"boolean"},"error":{"$ref":"#/definitions/ErrorResponse"}},"additionalProperties":false,"required":["tool_id","permission","tool_name","success"]},"ToolTestData":{"description":"The test data for the Tool","type":"object","properties":{"params":{"description":"The list of command-line parameters","type":"array","items":{"type":"string"}},"input_files":{"description":"The list of paths to test input files in iRODS","type":"array","items":{"type":"string"}},"output_files":{"description":"The list of paths to expected output files in iRODS","type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["input_files","output_files"]},"ToolType":{"type":"object","properties":{"id":{"description":"A UUID that is used to identify the Tool Type","type":"string","format":"uuid"},"name":{"description":"The Tool Type's name","type":"string"},"description":{"description":"The Tool Type's description","type":"string"},"label":{"description":"The Tool Type's label","type":"string"}},"additionalProperties":false,"required":["id","name","label"]},"ToolTypeListing":{"type":"object","properties":{"tool_types":{"description":"Listing of App Tool Types","type":"array","items":{"$ref":"#/definitions/ToolType"}}},"additionalProperties":false,"required":["tool_types"]},"ToolUnsharingRequest":{"description":"The Tool unsharing request.","type":"object","properties":{"unsharing":{"description":"The list of unsharing requests for individual subjects","type":"array","items":{"$ref":"#/definitions/SubjectToolUnsharingRequestElement"}}},"additionalProperties":false,"required":["unsharing"]},"ToolUnsharingResponse":{"type":"object","properties":{"unsharing":{"description":"The list of unsharing responses for individual subjects","type":"array","items":{"$ref":"#/definitions/SubjectToolUnsharingResponseElement"}}},"additionalProperties":false,"required":["unsharing"]},"ToolUnsharingResponseElement":{"type":"object","properties":{"tool_id":{"description":"The Tool ID","type":"string","format":"uuid"},"tool_name":{"description":"The Tool name","type":"string"},"success":{"description":"A Boolean flag indicating whether the unsharing request succeeded","type":"boolean"},"error":{"$ref":"#/definitions/ErrorResponse"}},"additionalProperties":false,"required":["tool_id","tool_name","success"]},"ToolUpdateRequest":{"description":"The Tool to update.","type":"object","properties":{"description":{"description":"A brief description of the Tool","type":"string"},"interactive":{"description":"Determines whether the tool is interactive.","type":"boolean"},"name":{"description":"The Tool's name (can be the file name or Docker image)","type":"string"},"type":{"description":"The Tool Type name","type":"string"},"restricted":{"description":"Determines whether a time limit is applied and whether network access is granted","type":"boolean"},"id":{"description":"A UUID that is used to identify the Tool","type":"string","format":"uuid"},"container":{"$ref":"#/definitions/NewToolContainer"},"attribution":{"description":"The Tool's author or publisher","type":"string"},"version":{"description":"The Tool's version","type":"string"},"location":{"description":"The path of the directory containing the Tool","type":"string"},"implementation":{"$ref":"#/definitions/ToolImplementation"},"time_limit_seconds":{"description":"The number of seconds that a tool is allowed to execute. A value of 0 means the time limit is disabled","type":"integer","format":"int64"}},"additionalProperties":false},"ToolsImportRequest":{"description":"The Tools to import.","type":"object","properties":{"tools":{"description":"zero or more Tool definitions","type":"array","items":{"$ref":"#/definitions/ToolImportRequest"}}},"additionalProperties":false,"required":["tools"]},"Topic":{"type":"object","properties":{"id":{"description":"A UUID for the topic","type":"string","format":"uuid"},"topic":{"description":"The topic","type":"string"}},"additionalProperties":false,"required":["id","topic"]},"TopicList":{"type":"object","properties":{"topics":{"description":"A List of topics","type":"array","items":{"$ref":"#/definitions/Topic"}}},"additionalProperties":false,"required":["topics"]},"TypesList":{"type":"object","properties":{"types":{"description":"The available file types","type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["types"]},"URLReady":{"type":"object","properties":{"ready":{"description":"Whether or not the analysis is ready to be accessed.","type":"boolean"}},"additionalProperties":false,"required":["ready"]},"UnshareRequest":{"type":"object","properties":{"unshare":{"description":"The unsharing requests to process","type":"array","items":{"$ref":"#/definitions/UserUnshareRequest"}}},"additionalProperties":false,"required":["unshare"]},"UnshareResponse":{"type":"object","properties":{"unshare":{"description":"Status information about each sharing response","type":"array","items":{"$ref":"#/definitions/UserUnshareResponse"}}},"additionalProperties":false,"required":["unshare"]},"UpdateAddon":{"type":"object","properties":{"uuid":{"description":"The UUID of the add-on being updated","type":"string","format":"uuid"},"name":{"description":"The new name for the add-on being updated","type":"string"},"description":{"description":"The new description fopr the add-on being updated","type":"string"},"default_amount":{"description":"The new amount provided by the add-on being updated","type":"number","format":"double"},"default_paid":{"description":"Whether the add-on needs to be paid for","type":"boolean"},"resource_type":{"$ref":"#/definitions/ResourceTypeForAddonUpdate"},"addon_rates":{"description":"The rates associated with the addon","type":"array","items":{"$ref":"#/definitions/AddonRate"}}},"additionalProperties":false,"required":["uuid"]},"UpdateCommunityRequest":{"type":"object","properties":{"name":{"description":"The internal community name","type":"string"},"description":{"description":"A brief description of the community","type":"string"}},"additionalProperties":false},"UpdateQuickLaunch":{"type":"object","properties":{"name":{"description":"The name of the quick launch","type":"string"},"description":{"description":"The description of the quick launch","type":"string"},"creator":{"description":"The username for the creator of the quick launch","type":"string"},"app_id":{"description":"The UUID for the app the quick launch is associated with","type":"string","format":"uuid"},"app_version_id":{"description":"The UUID for the app version the quick launch is associated with","type":"string","format":"uuid"},"is_public":{"description":"Whether the quick launch is publicly available. Defaults to false","type":"boolean"},"submission":{"$ref":"#/definitions/UpdateQuickLaunchSubmission"}},"additionalProperties":false},"UpdateQuickLaunchGlobalDefault":{"type":"object","properties":{"app_id":{"description":"The UUID for the app which has a global default","type":"string","format":"uuid"},"quick_launch_id":{"description":"The UUID for the quick launch that is the global default for the app","type":"string","format":"uuid"}},"additionalProperties":false},"UpdateQuickLaunchSubmission":{"type":"object","properties":{"description":{"description":"An optional description of the analysis.","type":"string"},"requirements":{"description":"The list of optional resource requirements requested for any step","type":"array","items":{"$ref":"#/definitions/UpdateQuickLaunchSubmissionRequirements"}},"notify_periodic":{"description":"Indicates whether the user wants to receive periodic email notifications that the job is still running, for interactive jobs.","type":"boolean"},"config":{"$ref":"#/definitions/AnalysisSubmissionConfig"},"file-metadata":{"description":"Custom file attributes to associate with result files.","type":"array","items":{"$ref":"#/definitions/UpdateQuickLaunchSubmissionFileMetadata"}},"starting_step":{"description":"The ordinal number of the step to start the job with.","type":"integer","format":"int64"},"name":{"description":"The name assigned to the analysis by the user.","type":"string"},"app_id":{"description":"The ID of the app used to perform the analysis.","type":"string"},"periodic_period":{"description":"The number of seconds between periodic notifications, if the user has opted to receive them.","type":"integer","format":"int32"},"system_id":{"description":"The ID of the app execution system","type":"string"},"debug":{"description":"A flag indicating whether or not job debugging should be enabled.","type":"boolean"},"create_output_subdir":{"description":"Indicates whether a subdirectory should be created beneath the specified output directory.","type":"boolean"},"archive_logs":{"description":"True if the job logs should be uploaded to the data store.","type":"boolean"},"mount_data_store":{"description":"True if iRODS CSI Driver mounts should be created in the container.","type":"boolean"},"app_version_id":{"description":"The ID of the app version used to perform the analysis.\n      If not provided, then it is assumed the submission is for the latest version of the app","type":"string","format":"uuid"},"output_dir":{"description":"The path to the analysis output directory in the data store.","type":"string"},"uuid":{"description":"The UUID of the analysis. A random UUID will be assigned if one isn't provided.","type":"string","format":"uuid"},"notify":{"description":"Indicates whether the user wants to receive job status update notifications.","type":"boolean"},"skip-parent-meta":{"description":"True if metadata should not associate metadata with the parent directory.","type":"boolean"},"callback":{"description":"The callback URL to use for job status updates.","type":"string"},"job_id":{"description":"The UUID of the job being submitted.","type":"string","format":"uuid"}},"additionalProperties":false},"UpdateQuickLaunchSubmissionFileMetadata":{"type":"object","properties":{"attr":{"description":"The attribute name.","type":"string"},"value":{"description":"The attribute value.","type":"string"},"unit":{"description":"The attribute unit.","type":"string"}},"additionalProperties":false},"UpdateQuickLaunchSubmissionRequirements":{"type":"object","properties":{"min_cpu_cores":{"description":"The minimum number of CPU cores needed to run the tool container","type":"number","format":"double"},"gpu_models":{"description":"The GPU models that work with this tool container. Empty means no limitation on GPU model.","type":"array","items":{"type":"string"}},"min_memory_limit":{"description":"The minimum about of memory (in bytes) that is required to run the tool container","type":"integer","format":"int64"},"min_disk_space":{"description":"The minimum amount of disk space needed to run the tool container","type":"integer","format":"int64"},"step_number":{"description":"The sequential step number of the Tool in the analysis","type":"integer","format":"int64"},"max_gpus":{"description":"The maximum number of GPUs allowed when running the tool container","type":"integer","format":"int64"},"max_cpu_cores":{"description":"The maximum number of CPU cores allowed when running the tool container","type":"number","format":"double"},"min_gpus":{"description":"The minimum number of GPUs needed to run the tool container","type":"integer","format":"int64"}},"additionalProperties":false},"UpdateQuickLaunchUserDefault":{"type":"object","properties":{"user":{"description":"The username of the user that is using the quick launch as the default for the app","type":"string"},"app_id":{"description":"The UUID of the app for which the user default is being set","type":"string","format":"uuid"},"quick_launch_id":{"description":"The UUID of the quick launch being used as the default for the app","type":"string","format":"uuid"}},"additionalProperties":false},"UpdateSubscriptionAddon":{"type":"object","properties":{"amount":{"description":"The new amount of the resource provided by the subscription add-on","type":"number","format":"double"},"paid":{"description":"Sets whether the subscription add-on needs to be charged for","type":"boolean"}},"additionalProperties":false},"UpdateTeamRequest":{"type":"object","properties":{"name":{"description":"The internal team name","type":"string"},"description":{"description":"A brief description of the team","type":"string"}},"additionalProperties":false},"UrlUploadRequestBody":{"type":"object","properties":{"dest":{"description":"The destination directory for the uploaded file.","type":"string"},"address":{"description":"The URL to retrieve the file contents from.","type":"string"}},"additionalProperties":false,"required":["dest","address"]},"UrlUploadResponseBody":{"type":"object","properties":{"msg":{"description":"A brief message indicating the result of the request.","type":"string"},"url":{"description":"The URL that the file contents are being retrieved from.","type":"string"},"label":{"description":"The name of the uploaded file.","type":"string"},"dest":{"description":"The destination directory for the uploaded file.","type":"string"}},"additionalProperties":false,"required":["msg","url","label","dest"]},"Usage":{"type":"object","properties":{"id":{"description":"The UUID assigned to a user's usage record for a resource","type":"string","format":"uuid","x-nullable":true},"usage":{"description":"The usage value","type":"number","format":"double"},"resource_type":{"$ref":"#/definitions/ResourceType"},"last_modified_at":{"description":"The time the usage record was last modified","type":"string","x-nullable":true}},"additionalProperties":false,"required":["id","usage","resource_type"]},"UsageSummary":{"type":"object","properties":{"id":{"description":"The UUID assigned to the usage","type":"string"},"usage":{"description":"The usage value","type":"number","format":"double","x-nullable":true},"resource_type":{"$ref":"#/definitions/ResourceTypeSummary"},"last_modified_at":{"description":"The time that the usage record was last modified","type":"string","x-nullable":true}},"additionalProperties":false,"required":["id","usage","resource_type","last_modified_at"]},"UsagesResponse":{"type":"object","properties":{"result":{"description":"The list of usages","type":"array","items":{"$ref":"#/definitions/Usage"},"x-nullable":true},"error":{"description":"The error message","type":"string","x-nullable":true},"status":{"description":"The status of the response","type":"string"}},"additionalProperties":false,"required":["status"]},"UserBasePaths":{"type":"object","properties":{"user_home_path":{"description":"The absolute path to the user's home folder","type":"string"},"user_trash_path":{"description":"The absolute path to the user's trash folder","type":"string"},"base_trash_path":{"description":"The absolute path to the base trash folder","type":"string"}},"additionalProperties":false,"required":["user_home_path","user_trash_path","base_trash_path"]},"UserCurrentDataTotal":{"description":"The object containing the data usage total","type":"object","properties":{"id":{"description":"The UUID assigned to the current reading","type":"string"},"user_id":{"description":"The UUID assigned to the user the reading applies to","type":"string"},"username":{"description":"The username of the user the reading applies to","type":"string"},"total":{"description":"The total number of bytes the user is consuming in the Data Store","type":"integer","format":"int64"},"time":{"description":"The date of the reading","type":"string"},"last_modified":{"description":"The date the reading in the database was last modified","type":"string"}},"additionalProperties":false,"required":["id","user_id","username","total","time","last_modified"]},"UserDetails":{"type":"object","properties":{"username":{"description":"The user's username.","type":"string"},"given_name":{"description":"The user's given name.","type":"string"},"surname":{"description":"The user's surname.","type":"string"},"common_name":{"description":"The user's full name.","type":"string"},"email":{"description":"The user's primary email address.","type":"string"},"organization":{"description":"The name of the user's organization.","type":"string"},"department":{"description":"The name of the user's department.","type":"string"}},"additionalProperties":false,"required":["username","given_name","surname","common_name","email","organization","department"]},"UserInfo":{"description":"User attributes obtained during the authentication process.","type":"object","properties":{"username":{"description":"The authenticated user's short username","type":"string"},"full_username":{"description":"The authenticated user's fully qualified username","type":"string"},"email":{"description":"The authenticated user's email","type":"string"},"first_name":{"description":"The authenticated user's first name","type":"string"},"last_name":{"description":"The authenticated user's last name","type":"string"}},"additionalProperties":false,"required":["username","full_username","email","first_name","last_name"]},"UserInfoResponse":{"type":"object","additionalProperties":{"$ref":"#/definitions/Subject"}},"UserInfoResponseDocs":{"type":"object","properties":{"username":{"$ref":"#/definitions/Subject"}},"additionalProperties":false,"required":["username"]},"UserPreferencesResponse":{"type":"object","properties":{"default_output_folder":{"$ref":"#/definitions/DefaultOutputDirPreference"}},"additionalProperties":{"description":"Any preference value"},"required":["default_output_folder"]},"UserPreferencesResponseDocs":{"description":"The User Preferences map may contain any number of key/value pairs that the client wishes to store and retrieve between sessions.","type":"object","properties":{"default_output_folder":{"$ref":"#/definitions/DefaultOutputDirPreference"},"any_preference_key":{"description":"Any preference value"}},"additionalProperties":{"description":"Any preference value"},"required":["default_output_folder"]},"UserShareRequest":{"type":"object","properties":{"user":{"description":"The username of the person to grant permissions to. Mutually exclusive with subject.","type":"string"},"subject":{"$ref":"#/definitions/BaseSubject"},"paths":{"description":"The paths and permission levels to grant to the user","type":"array","items":{"$ref":"#/definitions/PathShareRequest"}}},"additionalProperties":false,"required":["paths"]},"UserShareResponse":{"type":"object","properties":{"user":{"description":"The username of the person to grant permissions to. Mutually exclusive with subject.","type":"string"},"subject":{"$ref":"#/definitions/BaseSubject"},"sharing":{"description":"Responses to indicate whether or not each path was shared successfully","type":"array","items":{"$ref":"#/definitions/PathShareResponse"}}},"additionalProperties":false,"required":["sharing"]},"UserUnshareRequest":{"type":"object","properties":{"user":{"description":"The username of the person to revoke permissions from. Mutually exclusive with subject.","type":"string"},"subject":{"$ref":"#/definitions/BaseSubject"},"paths":{"description":"The paths to the files or folders being unshared","type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["paths"]},"UserUnshareResponse":{"type":"object","properties":{"user":{"description":"The username of the person to revoke permissions from. Mutually exclusive with subject.","type":"string"},"subject":{"$ref":"#/definitions/BaseSubject"},"unshare":{"description":"Responses to indicate whether or not each path was unshared successfully","type":"array","items":{"$ref":"#/definitions/PathUnshareResponse"}}},"additionalProperties":false,"required":["unshare"]},"UuidsToFilter":{"type":"object","properties":{"filesystem":{"description":"The list of UUIDs to filter","type":"array","items":{"type":"string","format":"uuid"}}},"additionalProperties":false,"required":["filesystem"]},"ValueType":{"type":"object","properties":{"id":{"description":"A UUID that is used to identify the Value Type","type":"string","format":"uuid"},"name":{"description":"The Value Type's name","type":"string"},"description":{"description":"The Value Type's description","type":"string"}},"additionalProperties":false,"required":["id","name","description"]},"ValueTypeListing":{"type":"object","properties":{"value_types":{"description":"Listing of App Parameter and Rule Value Types","type":"array","items":{"$ref":"#/definitions/ValueType"}}},"additionalProperties":false,"required":["value_types"]},"ViceRequest":{"type":"object","properties":{"id":{"description":"The request ID","type":"string","format":"uuid"},"request_type":{"description":"The name of the request type","type":"string"},"requesting_user":{"description":"The username of the requesting user","type":"string"},"updates":{"description":"Updates that were made to the request","type":"array","items":{"$ref":"#/definitions/RequestUpdate"}},"details":{"$ref":"#/definitions/ViceRequestDetails"}},"additionalProperties":false,"required":["id","request_type","requesting_user","updates","details"]},"ViceRequestApprovalMessage":{"type":"object","properties":{"message":{"description":"The message to store with the request.","type":"string"},"concurrent_jobs":{"description":"If provided, this setting overrides the number of jobs the user requested.","type":"integer","format":"int32"}},"additionalProperties":false},"ViceRequestDetails":{"type":"object","properties":{"name":{"description":"The user's name","type":"string"},"email":{"description":"The user's email address","type":"string"},"intended_use":{"description":"The reason for requesting VICE access","type":"string"},"concurrent_jobs":{"description":"The requested number of concurrently running VICE jobs","type":"integer","format":"int32"}},"additionalProperties":false,"required":["intended_use","concurrent_jobs"]},"ViceRequestListing":{"type":"object","properties":{"requests":{"description":"A listing of VICE access requests","type":"array","items":{"$ref":"#/definitions/ViceRequestSummary"}}},"additionalProperties":false,"required":["requests"]},"ViceRequestSummary":{"type":"object","properties":{"id":{"description":"The request ID","type":"string","format":"uuid"},"request_type":{"description":"The name of the request type","type":"string"},"requesting_user":{"description":"The username of the requesting user","type":"string"},"created_date":{"description":"The date and time the request was submitted","type":"string"},"status":{"description":"The most recently assigned request status code","type":"string"},"updated_date":{"description":"The date and time the request was most recently updated","type":"string"},"details":{"$ref":"#/definitions/ViceRequestDetails"}},"additionalProperties":false,"required":["id","request_type","requesting_user","created_date","status","updated_date","details"]},"Volume":{"description":"A map representing a bind mounted container volume.","type":"object","properties":{"host_path":{"description":"The path to a bind mounted volume on the host machine","type":"string"},"container_path":{"description":"The path to a bind mounted volume in the tool container","type":"string"},"id":{"type":"string","format":"uuid"}},"additionalProperties":false,"required":["host_path","container_path","id"]},"VolumesFrom":{"description":"A description of a data container volumes-from settings.","type":"object","properties":{"name_prefix":{"type":"string"},"name":{"type":"string"},"auth":{"type":"string","x-nullable":true},"read_only":{"type":"boolean"},"deprecated":{"type":"boolean"},"id":{"type":"string","format":"uuid"},"url":{"type":"string","x-nullable":true},"osg_image_path":{"type":"string","x-nullable":true},"tag":{"type":"string"}},"additionalProperties":false,"required":["name_prefix","name","id"]},"Webhook":{"type":"object","properties":{"id":{"description":"A UUID that is used to identify the Webhook","type":"string","format":"uuid"},"type":{"$ref":"#/definitions/WebhookType"},"url":{"description":"Url to post the notification","type":"string"},"topics":{"description":"A List of topic names","type":"array","items":{"type":"string"}}},"additionalProperties":false,"required":["type","url","topics"]},"WebhookList":{"type":"object","properties":{"webhooks":{"description":"A List of webhooks","type":"array","items":{"$ref":"#/definitions/Webhook"}}},"additionalProperties":false,"required":["webhooks"]},"WebhookType":{"description":"Type of webhook subscription","type":"object","properties":{"id":{"description":"A UUID for the type","type":"string","format":"uuid"},"type":{"description":"Webhook type","type":"string"},"template":{"description":"Template for this Webhook type","type":"string"}},"additionalProperties":false,"required":["type"]},"WebhookTypeList":{"type":"object","properties":{"webhooktypes":{"description":"A List of webhook types","type":"array","items":{"$ref":"#/definitions/WebhookType"}}},"additionalProperties":false,"required":["webhooktypes"]},"Workspace":{"description":"Information about the user's Discovery Environment workspace.","type":"object","properties":{"id":{"description":"The workspace ID.","type":"string","format":"uuid"},"user_id":{"description":"The user's internal ID.","type":"string","format":"uuid"},"root_category_id":{"description":"The ID of the user's root app category.","type":"string","format":"uuid"},"is_public":{"description":"Indicates whether the workspace is public.","type":"boolean"},"new_workspace":{"description":"Indicates whether the workspace was just created.","type":"boolean"}},"additionalProperties":false,"required":["id","user_id","root_category_id","is_public","new_workspace"]}},"produces":["application/json","application/x-yaml","application/edn","application/transit+json","application/transit+msgpack"],"paths":{"/terrain/admin/token":{"get":{"tags":["admin-token"],"parameters":[{"in":"query","name":"username","description":"The username of the person to impersonate","required":true,"type":"string"}],"summary":"Obtain Impersonation Tokens","responses":{"200":{"schema":{"$ref":"#/definitions/AccessTokenResponse"},"description":""}},"description":"This service allows administrative users to obtain an impersonation token in order to act on behalf of another\nuser. This feature is useful for troubleshooting in cases where a user is seeing a problem that the administrator can't\nreproduce. You must be logged in using HTTP basic authorization to use this endpoint. The token endpoints are the only\nendpoints that use basic authorization. To log in, click the Authorize button above, enter your username and password\nunder `Basic authentication`, and click the Authorize button underneath the password text box.\n\nOnce you have the access token, you can use it to authorize calls to other endpoints in the Swagger UI.  First, remove\nthe basic authentication credentials by clicking the Authorize button above and clicking the Logout button in the `Basic\nauthenitcation` section of authorization window. Second, click the Authorization button again and type the word `Bearer`\nfollowed by a single space in the Value text box of the `Api key authorization` section of the window. Paste in the\naccess token from this endpoint's response body then click the Authorize button underneath the Value text box.\n\nYou can use `curl` and `jq`, which is available from [the jq web site](https://stedolan.github.io/jq/), to obtain an\naccess token from the command line. The easiest way to do this on Unix-like operating systems is to define an\nenvironment variable containing the authorization header:\n\n```\nexport AUTH_HEADER=\\\"Authorization: Bearer $(curl -su username https://de.cyverse.org/terrain/admin/token?username=foo \\\n    | jq -r .access_token)\\\"\n```\n\nOnce you have the authorization header stored in an environment variable, you can include it in calls to other Terrain\nendpoints:\n\n```\ncurl -sH \\\"$AUTH_HEADER\\\" \\\"https://de.cyverse.org/terrain/apps?search=word\\\"\n```\n"}},"/terrain/admin/token/keycloak":{"get":{"tags":["admin-token"],"parameters":[{"in":"query","name":"username","description":"The username of the person to impersonate","required":true,"type":"string"}],"summary":"Obtain Keycloak OIDC Impersonation Tokens","responses":{"200":{"schema":{"$ref":"#/definitions/AccessTokenResponse"},"description":""}},"description":"This service allows administrative users to obtain an impersonation token in order to act on behalf of another\nuser. This feature is useful for troubleshooting in cases where a user is seeing a problem that the administrator can't\nreproduce. You must be logged in using HTTP basic authorization to use this endpoint. The token endpoints are the only\nendpoints that use basic authorization. To log in, click the Authorize button above, enter your username and password\nunder `Basic authentication`, and click the Authorize button underneath the password text box.\n\nOnce you have the access token, you can use it to authorize calls to other endpoints in the Swagger UI.  First, remove\nthe basic authentication credentials by clicking the Authorize button above and clicking the Logout button in the `Basic\nauthenitcation` section of authorization window. Second, click the Authorization button again and type the word `Bearer`\nfollowed by a single space in the Value text box of the `Api key authorization` section of the window. Paste in the\naccess token from this endpoint's response body then click the Authorize button underneath the Value text box.\n\nYou can use `curl` and `jq`, which is available from [the jq web site](https://stedolan.github.io/jq/), to obtain an\naccess token from the command line. The easiest way to do this on Unix-like operating systems is to define an\nenvironment variable containing the authorization header:\n\n```\nexport AUTH_HEADER=\\\"Authorization: Bearer $(curl -su username https://de.cyverse.org/terrain/admin/token?username=foo \\\n    | jq -r .access_token)\\\"\n```\n\nOnce you have the authorization header stored in an environment variable, you can include it in calls to other Terrain\nendpoints:\n\n```\ncurl -sH \\\"$AUTH_HEADER\\\" \\\"https://de.cyverse.org/terrain/apps?search=word\\\"\n```\n"}},"/terrain/callbacks/tapis-job/{job-id}":{"post":{"tags":["callbacks"],"parameters":[{"in":"path","name":"job-id","description":"The Analysis UUID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"TapisJobStatusUpdate","description":"The updated job status information.","required":true,"schema":{"$ref":"#/definitions/TapisJobStatusUpdate"}}],"summary":"Update the status of a Tapis analysis.","description":"The DE registers this endpoint as a callback when it submits jobs to Tapis.","responses":{"default":{"description":""}}}},"/terrain/token":{"get":{"tags":["token"],"summary":"Obtain OAuth Tokens","responses":{"200":{"schema":{"$ref":"#/definitions/AccessTokenResponse"},"description":""}},"description":"This service allows users to obtain OAuth or OIDC tokens for accessing other API endpoints. You must be logged in using\nHTTP basic authorization to use this endpoint. The token endpoints are the only endpoints that use basic\nauthorization. To log in, click the Authorize button above, enter your username and password under `Basic\nauthentication`, and click the Authorize button underneath the password text box.\n\nOnce you have the access token, you can use it to authorize calls to other endpoints in the Swagger UI.  First, remove\nthe basic authentication credentials by clicking the Authorize button above and clicking the Logout button in the `Basic\nauthenitcation` section of authorization window. Second, click the Authorization button again and type the word `Bearer`\nfollowed by a single space in the Value text box of the `Api key authorization` section of the window. Paste in the\naccess token from this endpoint's response body then click the Authorize button underneath the Value text box.\n\nYou can use `curl` and `jq`, which is available from [the jq web site](https://stedolan.github.io/jq/), to obtain an\naccess token from the command line. The easiest way to do this on Unix-like operating systems is to define an\nenvironment variable containing the authorization header:\n\n```\nexport AUTH_HEADER=\\\"Authorization: Bearer $(curl -su username https://de.cyverse.org/terrain/token \\\n    | jq -r .access_token)\\\"\n```\n\nOnce you have the authorization header stored in an environment variable, you can include it in calls to other Terrain\nendpoints:\n\n```\ncurl -sH \\\"$AUTH_HEADER\\\" \\\"https://de.cyverse.org/terrain/apps?search=word\\\"\n```\n"}},"/terrain/token/keycloak":{"get":{"tags":["token"],"summary":"Obtain Keycloak OIDC Tokens","responses":{"200":{"schema":{"$ref":"#/definitions/AccessTokenResponse"},"description":""}},"description":"This service allows users to obtain OAuth or OIDC tokens for accessing other API endpoints. You must be logged in using\nHTTP basic authorization to use this endpoint. The token endpoints are the only endpoints that use basic\nauthorization. To log in, click the Authorize button above, enter your username and password under `Basic\nauthentication`, and click the Authorize button underneath the password text box.\n\nOnce you have the access token, you can use it to authorize calls to other endpoints in the Swagger UI.  First, remove\nthe basic authentication credentials by clicking the Authorize button above and clicking the Logout button in the `Basic\nauthenitcation` section of authorization window. Second, click the Authorization button again and type the word `Bearer`\nfollowed by a single space in the Value text box of the `Api key authorization` section of the window. Paste in the\naccess token from this endpoint's response body then click the Authorize button underneath the Value text box.\n\nYou can use `curl` and `jq`, which is available from [the jq web site](https://stedolan.github.io/jq/), to obtain an\naccess token from the command line. The easiest way to do this on Unix-like operating systems is to define an\nenvironment variable containing the authorization header:\n\n```\nexport AUTH_HEADER=\\\"Authorization: Bearer $(curl -su username https://de.cyverse.org/terrain/token \\\n    | jq -r .access_token)\\\"\n```\n\nOnce you have the authorization header stored in an environment variable, you can include it in calls to other Terrain\nendpoints:\n\n```\ncurl -sH \\\"$AUTH_HEADER\\\" \\\"https://de.cyverse.org/terrain/apps?search=word\\\"\n```\n"}},"/terrain":{"get":{"responses":{"default":{"description":""}}}},"/terrain/uuid":{"get":{"responses":{"default":{"description":""}}}},"/terrain/admin/config":{"get":{"tags":["admin"],"summary":"Service Configuration Listing","responses":{"200":{"schema":{},"description":""}},"description":"Returns service configuration information with passwords redacted."}},"/terrain/admin/status":{"get":{"tags":["admin"],"summary":"Service Status Information","responses":{"200":{"schema":{"$ref":"#/definitions/StatusResponse"},"description":""}},"description":"Returns status information for required services."}},"/terrain/admin/filsystem/entry/{entry-id}/comments/{comment-id}":{"delete":{"parameters":[{"in":"path","name":"entry-id","description":"The UUID assigned to the file or folder","required":true,"type":"string","format":"uuid"},{"in":"path","name":"comment-id","description":"The comment's UUID","required":true,"type":"string","format":"uuid"}],"tags":["admin-filesystem"],"summary":"Delete a File or Folder Comment","description":"Allows an administrator to delete a file or folder comment.","responses":{"default":{"description":""}}}},"/terrain/admin/apps/categories":{"get":{"responses":{"default":{"description":""}}}},"/terrain/admin/apps/categories/search":{"get":{"responses":{"default":{"description":""}}}},"/terrain/admin/apps/categories/{system-id}":{"post":{"parameters":[{"in":"path","name":"system-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/admin/apps/categories/{system-id}/{category-id}":{"delete":{"parameters":[{"in":"path","name":"system-id","description":"","required":true,"type":"string"},{"in":"path","name":"category-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}},"patch":{"parameters":[{"in":"path","name":"system-id","description":"","required":true,"type":"string"},{"in":"path","name":"category-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/admin/alerts":{"post":{"tags":["notifications"],"parameters":[{"in":"body","name":"Alert","description":"","required":true,"schema":{"$ref":"#/definitions/Alert"}}],"responses":{"default":{"description":""}}},"delete":{"tags":["notifications"],"parameters":[{"in":"body","name":"Alert","description":"","required":true,"schema":{"$ref":"#/definitions/Alert"}}],"responses":{"default":{"description":""}}}},"/terrain/admin/apps":{"get":{"tags":["admin-apps"],"parameters":[{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["total","last_used","wiki_url","is_favorite","job_count_failed","average","job_count","limitChecks","step_count","integrator_email","id","overall_job_type","isBlessed","name","is_public","permission","edited_date","deleted","version","job_last_completed","integrator_name","integration_date","beta","system_id","disabled","job_count_completed","description","version_id"]},{"in":"query","name":"search","description":"The pattern to match in an App's Name, Description, Integrator Name, or Tool Name.","required":false,"type":"string"},{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"start_date","description":"Filters out the app stats before this start date","required":false,"type":"string"},{"in":"query","name":"app-subset","description":"The subset of apps to search.","required":false,"default":"public","type":"string","enum":["private","public","all"]},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"end_date","description":"Filters out the apps stats after this end date","required":false,"type":"string"},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"app-type","description":"The type of app to include in the listing.","required":false,"type":"string"}],"summary":"List Apps","responses":{"200":{"schema":{"$ref":"#/definitions/AdminAppListing"},"description":""}},"description":"This service allows admins to list all public apps, including apps listed under the `Trash` category:\n   deleted public apps and private apps that are 'orphaned' (not categorized in any user's workspace).\n   If the `search` parameter is included, then the results are filtered by the App name, description,\n   integrator's name, tool name, or category name the app is under."},"post":{"tags":["admin-apps"],"parameters":[{"in":"body","name":"AppCategorizationRequest","description":"An App Categorization Request.","required":true,"schema":{"$ref":"#/definitions/AppCategorizationRequest"}}],"summary":"Categorize Apps","description":"This endpoint is used by the Admin interface to add or move Apps to into multiple Categories.","responses":{"default":{"description":""}}}},"/terrain/admin/apps/publication-requests":{"get":{"tags":["admin-apps"],"parameters":[{"in":"query","name":"app_id","description":"The ID of the app to list publication requests for","required":false,"type":"string","format":"uuid"},{"in":"query","name":"requestor","description":"The username of the person who requested the app publication","required":false,"type":"string"},{"in":"query","name":"include_completed","description":"If set to true, completed publication requests will be included in the listing","required":false,"type":"boolean"}],"summary":"List App Publication Requests","description":"This service lists requests for app publication that require administrator intervention.","responses":{"200":{"schema":{"$ref":"#/definitions/AppPublicationRequestListing"},"description":""}}}},"/terrain/admin/apps/sharing":{"post":{"tags":["admin-apps"],"parameters":[{"in":"body","name":"AppSharingRequest","description":"The app sharing request.","required":true,"schema":{"$ref":"#/definitions/AppSharingRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppSharingResponse"},"description":""}},"summary":"Add App Permissions","description":"This endpoint allows the caller to share multiple apps with multiple users.\n   The authenticated user must have ownership permission to every app in the request body for this endpoint to fully succeed.\n   Note: this is a potentially slow operation and the response is returned synchronously.\n   The DE UI handles this by allowing the user to continue working while the request is being processed.\n   When calling this endpoint, please be sure that the response timeout is long enough.\n   Using a response timeout that is too short will result in an exception on the client side.\n   On the server side, the result of the sharing operation when a connection is lost is undefined.\n   It may be worthwhile to repeat failed or timed out calls to this endpoint."}},"/terrain/admin/apps/unsharing":{"post":{"tags":["admin-apps"],"parameters":[{"in":"body","name":"AppUnsharingRequest","description":"The app unsharing request.","required":true,"schema":{"$ref":"#/definitions/AppUnsharingRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppUnsharingResponse"},"description":""}},"summary":"Revoke App Permissions","description":"This endpoint allows the caller to revoke permission to access one or more apps from one or more users.\n   The authenticate user must have ownership permission to every app in the request body for this endoint to fully succeed.\n   Note: like app sharing, this is a potentially slow operation."}},"/terrain/admin/apps/shredder":{"post":{"tags":["admin-apps"],"parameters":[{"in":"body","name":"AppDeletionRequest","description":"List of App IDs to delete.","required":true,"schema":{"$ref":"#/definitions/AppDeletionRequest"}}],"summary":"Permanently Deleting Apps","description":"This service physically removes an App from the database,\n   which allows administrators to completely remove Apps that are causing problems.","responses":{"default":{"description":""}}}},"/terrain/admin/apps/{system-id}/{app-id}":{"delete":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"summary":"Logically Deleting an App","description":"An app can be marked as deleted in the DE without being completely removed from the database using this service.\n   This endpoint is the same as the non-admin endpoint,\n   except an error is not returned if the user does not own the App.","responses":{"default":{"description":""}}},"patch":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"body","name":"AdminAppPatchRequest","description":"The App to update.","required":true,"schema":{"$ref":"#/definitions/AdminAppPatchRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AdminAppDetails"},"description":""}},"summary":"Update App Details and Labels","description":"This service is capable of updating high-level information of an App,\nincluding the `version` label, and the `deleted` and `disabled` flags,\nas well as just the labels within a single-step app that has already been made available for public use.\nThe app's name must not duplicate the name of any other app (visible to the requesting user)\nunder the same categories as this app.\n\n**Note**: Although this endpoint accepts all App Group and Parameter fields within the 'groups' array,\nonly their `description`, `label`, and `display` (only in parameter arguments)\nfields will be processed and updated by this endpoint.\n"}},"/terrain/admin/apps/{system-id}/{app-id}/blessing":{"delete":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"summary":"Mark App Not Certified","description":"Mark an app as not having been reviewed and certified by Discovery Environment administrators.","responses":{"default":{"description":""}}},"post":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"summary":"Mark App Certified","description":"Mark an app as having been reviewed and certified by Discovery Environment administrators.","responses":{"default":{"description":""}}}},"/terrain/admin/apps/{system-id}/{app-id}/details":{"get":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AdminAppDetails"},"description":""}},"summary":"Get App Details","description":"This service allows administrative users to view detailed information about private apps."}},"/terrain/admin/apps/{system-id}/{app-id}/documentation":{"patch":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"body","name":"AppDocumentationRequest","description":"The App Documentation Request","required":true,"schema":{"$ref":"#/definitions/AppDocumentationRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppDocumentation"},"description":""}},"summary":"Update App Documentation","description":"This service is used by DE administrators to update documentation for an app's latest version."},"post":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"body","name":"AppDocumentationRequest","description":"The App Documentation Request","required":true,"schema":{"$ref":"#/definitions/AppDocumentationRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppDocumentation"},"description":""}},"summary":"Add App Documentation","description":"This service is used by DE administrators to add documentation for an app's latest version."}},"/terrain/admin/apps/{system-id}/{app-id}/integration-data/{integration-data-id}":{"put":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"path","name":"integration-data-id","description":"A UUID that is used to identify the integration data record","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/IntegrationData"},"description":""}},"summary":"Update the Integration Data Record for an App's latest Version","description":"This service allows administrators to change the integration data record associated with an app's latest version."}},"/terrain/admin/apps/{system-id}/{app-id}/publish":{"post":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"body","name":"PublishAppRequest","description":"The user's Publish App Request.","required":true,"schema":{"$ref":"#/definitions/PublishAppRequest"}}],"summary":"Submit an App for Public Use","description":"This service can be used to submit a private App for public use.\n   The user supplies basic information about the App and a suggested location for it.\n   The service records the information and suggested location then places the App in the Beta category.\n   A Tito administrator can subsequently move the App to the suggested location at a later time if it proves to be useful.","responses":{"default":{"description":""}}}},"/terrain/admin/apps/{system-id}/{app-id}/versions/{version-id}":{"patch":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AdminAppPatchRequest","description":"The App to update.","required":true,"schema":{"$ref":"#/definitions/AdminAppPatchRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AdminAppDetails"},"description":""}},"summary":"Update App Version Details and Labels","description":"This service is capable of updating high-level information of an App,\nincluding the `version` label, and the `deleted` and `disabled` flags,\nas well as just the labels within a single-step app that has already been made available for public use.\nThe app's name must not duplicate the name of any other app (visible to the requesting user)\nunder the same categories as this app.\n\n**Note**: Although this endpoint accepts all App Group and Parameter fields within the 'groups' array,\nonly their `description`, `label`, and `display` (only in parameter arguments)\nfields will be processed and updated by this endpoint.\n"}},"/terrain/admin/apps/{system-id}/{app-id}/versions/{version-id}/details":{"get":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AdminAppDetails"},"description":""}},"summary":"Get App Version Details","description":"This service is used by admins to obtain high-level details about an app version."}},"/terrain/admin/apps/{system-id}/{app-id}/versions/{version-id}/documentation":{"patch":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AppDocumentationRequest","description":"The App Documentation Request","required":true,"schema":{"$ref":"#/definitions/AppDocumentationRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppDocumentation"},"description":""}},"summary":"Update App Version Documentation","description":"This service is used by DE administrators to update documentation for an app version."},"post":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AppDocumentationRequest","description":"The App Documentation Request","required":true,"schema":{"$ref":"#/definitions/AppDocumentationRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppDocumentation"},"description":""}},"summary":"Add App Version Documentation","description":"This service is used by DE administrators to add documentation for an app version."}},"/terrain/admin/apps/{system-id}/{app-id}/versions/{version-id}/integration-data/{integration-data-id}":{"put":{"tags":["admin-apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"},{"in":"path","name":"integration-data-id","description":"A UUID that is used to identify the integration data record","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/IntegrationData"},"description":""}},"summary":"Update App Version Integration Data","description":"This service allows administrators to change the integration data record associated with an app version."}},"/terrain/admin/apps/{app-id}/metadata":{"get":{"parameters":[{"in":"path","name":"app-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}},"post":{"parameters":[{"in":"path","name":"app-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}},"put":{"parameters":[{"in":"path","name":"app-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/admin/apps/{app-id}/comments/{comment-id}":{"delete":{"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"comment-id","description":"The comment's UUID","required":true,"type":"string","format":"uuid"}],"tags":["admin-apps"],"summary":"Delete an App Comment","description":"Allows an administrator to delete an app comment.","responses":{"default":{"description":""}}}},"/terrain/admin/apps/communities/{community-id}/apps":{"get":{"parameters":[{"in":"path","name":"community-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/admin/comments/{commenter-id}":{"get":{"parameters":[{"in":"path","name":"commenter-id","description":"The username of the person who added the comment.","required":true,"type":"string"}],"tags":["admin-comments"],"summary":"List Comments Added by a User","responses":{"200":{"schema":{"$ref":"#/definitions/CommentDetailsList"},"description":""}},"description":"Allows an administrator to list all comments entered by a user."},"delete":{"parameters":[{"in":"path","name":"commenter-id","description":"The username of the person who added the comment.","required":true,"type":"string"}],"tags":["admin-comments"],"summary":"Delete All Comments Added by a User","description":"Allows an administrator to delete all comments entered by a user.","responses":{"default":{"description":""}}}},"/terrain/admin/communities":{"get":{"tags":["admin-communities"],"summary":"List Communities","parameters":[{"in":"query","name":"search","description":"The community name substring to search for","required":false,"type":"string"},{"in":"query","name":"details","description":"Optionally include community details such as modified date and creator information.","required":false,"type":"boolean"},{"in":"query","name":"member","description":"Only communities to which the user with this username belongs will be listed if specified","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AdminCommunityListing"},"description":""}},"description":"List or search for communities."},"post":{"tags":["admin-communities"],"summary":"Add a Community","parameters":[{"in":"body","name":"AddCommunityRequest","description":"","required":true,"schema":{"$ref":"#/definitions/AddCommunityRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/Community"},"description":""}},"description":"Adds a community to the Discovery Environment."}},"/terrain/admin/communities/{name}":{"get":{"tags":["admin-communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"}],"summary":"Get Community Information","responses":{"200":{"schema":{"$ref":"#/definitions/Community"},"description":""}},"description":"Returns information about the community with the given name."},"patch":{"tags":["admin-communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"},{"in":"query","name":"retag-apps","description":"Set to `true` to cause apps that are associated with a renamed community to be retagged","required":false,"type":"boolean"},{"in":"query","name":"force-rename","description":"Set to `true` to force the community to be renamed even if apps are associated with it","required":false,"type":"boolean"},{"in":"body","name":"UpdateCommunityRequest","description":"","required":true,"schema":{"$ref":"#/definitions/UpdateCommunityRequest"}}],"summary":"Update a Community","responses":{"200":{"schema":{"$ref":"#/definitions/Community"},"description":""}},"description":"Updates the name or description of a community."},"delete":{"tags":["admin-communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"}],"summary":"Delete a Community","responses":{"200":{"schema":{"$ref":"#/definitions/CommunityStub"},"description":""}},"description":"Removes a community from the Discoevery Environment."}},"/terrain/admin/communities/{name}/admins":{"get":{"tags":["admin-communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"}],"summary":"List Community Administrators","responses":{"200":{"schema":{"$ref":"#/definitions/CommunityAdmins"},"description":""}},"description":"Lists the administrators of a community in the Discovery Environment."},"post":{"tags":["admin-communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"},{"in":"body","name":"GroupMembersUpdate","description":"","required":true,"schema":{"$ref":"#/definitions/GroupMembersUpdate"}}],"summary":"Add Community Administrators","responses":{"200":{"schema":{"$ref":"#/definitions/GroupMembersUpdateResponse"},"description":""}},"description":"Add one or more administrators to a community in the Discoevery Environment."}},"/terrain/admin/communities/{name}/admins/deleter":{"post":{"tags":["admin-communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"},{"in":"body","name":"GroupMembersUpdate","description":"","required":true,"schema":{"$ref":"#/definitions/GroupMembersUpdate"}}],"summary":"Remove Community Administrators","responses":{"200":{"schema":{"$ref":"#/definitions/GroupMembersUpdateResponse"},"description":""}},"description":"Remove one or more administrators from a community in the Discoevery Environment."}},"/terrain/admin/filesystem/metadata/templates":{"get":{"responses":{"default":{"description":""}}},"post":{"responses":{"default":{"description":""}}}},"/terrain/admin/filesystem/metadata/templates/{template-id}":{"post":{"parameters":[{"in":"path","name":"template-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}},"delete":{"parameters":[{"in":"path","name":"template-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/admin/groups/de-users/members/{subject-id}":{"delete":{"parameters":[{"in":"path","name":"subject-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/admin/groups/workshop":{"get":{"responses":{"default":{"description":""}}}},"/terrain/admin/groups/workshop/members":{"get":{"responses":{"default":{"description":""}}},"put":{"responses":{"default":{"description":""}}}},"/terrain/admin/instant-launches/mappings/defaults/latest":{"put":{"tags":["admin-instant-launches"],"summary":"Adds a new mapping as the latest","description":"Adds a new mapping as the latest, incrementing the version number","parameters":[{"in":"body","name":"InstantLaunchMapping","description":"","required":true,"schema":{"$ref":"#/definitions/InstantLaunchMapping"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/InstantLaunchMapping"},"description":""}}},"post":{"tags":["admin-instant-launches"],"summary":"Updates the latest mapping","description":"Updates the latest mapping without changing the version number","parameters":[{"in":"body","name":"InstantLaunchMapping","description":"","required":true,"schema":{"$ref":"#/definitions/InstantLaunchMapping"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/InstantLaunchMapping"},"description":""}}},"delete":{"tags":["admin-instant-launches"],"summary":"Deletes the latest mapping","description":"Deletes the latest mapping, effectively rolling back to the previous version","responses":{"default":{"description":""}}}},"/terrain/admin/instant-launches/metadata":{"get":{"tags":["admin-instant-launches"],"summary":"Lists the AVUs associated with instant launches","description":"Lists the AVUs associated with instant launches while allowing filters based on attributes, values, and units","parameters":[{"in":"query","name":"attribute","description":"A list of attributes to filter metadata listings by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"value","description":"A list of values to filter metadata listing by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"unit","description":"A list of units to filter metadata listing by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AvuList"},"description":""}}}},"/terrain/admin/instant-launches/metadata/full":{"get":{"tags":["admin-instant-launches"],"summary":"Returns a listing containing full descriptions of instant launches","description":"Returns a listing containing full description of instant launches based on the metadata passed in","parameters":[{"in":"query","name":"attribute","description":"A list of attributes to filter metadata listings by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"value","description":"A list of values to filter metadata listing by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"unit","description":"A list of units to filter metadata listing by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"}],"responses":{"200":{"schema":{"$ref":"#/definitions/FullInstantLaunchList"},"description":""}}}},"/terrain/admin/instant-launches/{id}":{"post":{"tags":["admin-instant-launches"],"parameters":[{"in":"path","name":"id","description":"The ID of the instant launch","required":true,"type":"string"},{"in":"body","name":"InstantLaunch","description":"","required":true,"schema":{"$ref":"#/definitions/InstantLaunch"}}],"summary":"Updates an instant launch","description":"Updates an instant launch's fields","responses":{"200":{"schema":{"$ref":"#/definitions/InstantLaunch"},"description":""}}},"delete":{"tags":["admin-instant-launches"],"parameters":[{"in":"path","name":"id","description":"The ID of the instant launch","required":true,"type":"string"}],"summary":"Deletes an instant launch","description":"Deletes an instant launch by its UUID","responses":{"default":{"description":""}}}},"/terrain/admin/instant-launches/{id}/metadata":{"get":{"tags":["admin-instant-launches"],"parameters":[{"in":"path","name":"id","description":"The ID of the instant launch","required":true,"type":"string"}],"summary":"Lists the AVUs associated with an instant launch","description":"Lists the AVUs associated with a single instant launch","responses":{"200":{"schema":{"$ref":"#/definitions/AvuList"},"description":""}}},"post":{"tags":["admin-instant-launches"],"parameters":[{"in":"path","name":"id","description":"The ID of the instant launch","required":true,"type":"string"},{"in":"body","name":"AvuListRequest","description":"The Metadata AVU update request","required":true,"schema":{"$ref":"#/definitions/AvuListRequest"}}],"summary":"Adds/Updates AVUs for an instant launch","description":"Adds or updates AVUs asssociated with a single instant launch","responses":{"200":{"schema":{"$ref":"#/definitions/AvuList"},"description":""}}},"put":{"tags":["admin-instant-launches"],"parameters":[{"in":"path","name":"id","description":"The ID of the instant launch","required":true,"type":"string"},{"in":"body","name":"SetAvuRequest","description":"The Metadata AVU save request","required":true,"schema":{"$ref":"#/definitions/SetAvuRequest"}}],"summary":"Resets the AVUs associated with an instant launch","description":"Resets all of the AVUs associated with an instant launch to the AVUs passed into the API call","responses":{"200":{"schema":{"$ref":"#/definitions/AvuList"},"description":""}}}},"/terrain/admin/instant-launches":{"put":{"tags":["admin-instant-launches"],"summary":"Adds an instant launch","description":"Creates a new instant launch","parameters":[{"in":"body","name":"InstantLaunch","description":"","required":true,"schema":{"$ref":"#/definitions/InstantLaunch"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/InstantLaunch"},"description":""}}}},"/terrain/admin/ontologies":{"get":{"responses":{"default":{"description":""}}},"post":{"responses":{"default":{"description":""}}}},"/terrain/admin/ontologies/{ontology-version}":{"delete":{"parameters":[{"in":"path","name":"ontology-version","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}},"get":{"parameters":[{"in":"path","name":"ontology-version","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}},"post":{"parameters":[{"in":"path","name":"ontology-version","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/admin/ontologies/{ontology-version}/{root-iri}":{"delete":{"parameters":[{"in":"path","name":"ontology-version","description":"","required":true,"type":"string"},{"in":"path","name":"root-iri","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}},"get":{"parameters":[{"in":"path","name":"ontology-version","description":"","required":true,"type":"string"},{"in":"path","name":"root-iri","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}},"put":{"parameters":[{"in":"path","name":"ontology-version","description":"","required":true,"type":"string"},{"in":"path","name":"root-iri","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/admin/ontologies/{ontology-version}/{root-iri}/apps":{"get":{"parameters":[{"in":"path","name":"ontology-version","description":"","required":true,"type":"string"},{"in":"path","name":"root-iri","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/admin/ontologies/{ontology-version}/{root-iri}/unclassified":{"get":{"parameters":[{"in":"path","name":"ontology-version","description":"","required":true,"type":"string"},{"in":"path","name":"root-iri","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/admin/reference-genomes":{"post":{"tags":["admin-reference-genomes"],"parameters":[{"in":"body","name":"ReferenceGenomeAddRequest","description":"The Reference Genome to add.","required":true,"schema":{"$ref":"#/definitions/ReferenceGenomeAddRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/ReferenceGenome"},"description":""}},"summary":"Add a Reference Genome","description":"This endpoint adds a Reference Genome to the Discovery Environment."}},"/terrain/admin/reference-genomes/{reference-genome-id}":{"delete":{"tags":["admin-reference-genomes"],"parameters":[{"in":"path","name":"reference-genome-id","description":"A UUID that is used to identify the Reference Genome","required":true,"type":"string","format":"uuid"},{"in":"query","name":"permanent","description":"If true, completely remove the reference genome from the database.","required":false,"type":"boolean"}],"summary":"Delete a Reference Genome","description":"A Reference Genome can be marked as deleted in the DE without being completely removed from the database using this service.\n   **Note**: an attempt to delete a Reference Genome that is already marked as deleted is treated as a no-op rather than an error condition.\n   If the Reference Genome doesn't exist in the database at all, however, then that is treated as an error condition.","responses":{"default":{"description":""}}},"patch":{"tags":["admin-reference-genomes"],"parameters":[{"in":"path","name":"reference-genome-id","description":"A UUID that is used to identify the Reference Genome","required":true,"type":"string","format":"uuid"},{"in":"body","name":"ReferenceGenomeUpdateRequest","description":"The Reference Genome fields to update.","required":true,"schema":{"$ref":"#/definitions/ReferenceGenomeUpdateRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/ReferenceGenome"},"description":""}},"summary":"Update a Reference Genome","description":"This endpoint modifies the `name`, `path`, and `deleted` fields of a Reference Genome in the Discovery Environment."}},"/terrain/admin/tools":{"get":{"tags":["admin-tools"],"parameters":[{"in":"query","name":"include-hidden","description":"True if hidden elements should be included in the results","required":false,"type":"boolean"},{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string"},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"search","description":"The pattern to match in a Tool's Name or Description.","required":false,"type":"string"},{"in":"query","name":"public","description":"Set to `true` to list only public Tools, `false` to list only private Tools,\n                                            or leave unset to list all Tools.","required":false,"type":"boolean"}],"responses":{"200":{"schema":{"$ref":"#/definitions/ToolListing"},"description":""}},"summary":"List Tools","description":"This endpoint allows admins to get a listing of all Tools."},"post":{"tags":["admin-tools"],"parameters":[{"in":"body","name":"ToolsImportRequest","description":"The Tools to import.","required":true,"schema":{"$ref":"#/definitions/ToolsImportRequest"}}],"responses":{"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/ToolIdsList"},"description":"A list of the new Tool IDs."},"400":{"schema":{"$ref":"#/definitions/ErrorResponseExists"},"description":"A Tool with the given `name` already exists."}},"summary":"Add new Tools.","description":"This service adds new Tools to the DE.\n\n#### ⚠️Warning: Use caution with Entrypoint settings!\n\nDo not add a tool without an `entrypoint` setting if its Docker image also does not have a default `ENTRYPOINT`.\nIf a tool like this is required, then its `network_mode` setting should be set to `none`\nto contain any risky scripts run by this tool.\n\n#### ⚠️Warning: Use caution with Volumes settings!\n\nDo not add `volumes` or `volumes_from` settings to tools\nunless it is certain that tool is authorized to access that data.\n"}},"/terrain/admin/tools/{tool-id}":{"delete":{"tags":["admin-tools"],"parameters":[{"in":"path","name":"tool-id","description":"A UUID that is used to identify the Tool","required":true,"type":"string","format":"uuid"}],"responses":{"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"description":"The Tool was successfully deleted."},"400":{"schema":{"$ref":"#/definitions/ErrorResponseNotWritable"},"description":"The Tool is already in use by apps and could not be deleted."},"404":{"schema":{"$ref":"#/definitions/ErrorResponseNotFound"},"description":"A Tool with the given `tool-id` does not exist."}},"summary":"Delete a Tool","description":"Deletes a tool, as long as it is not in use by any apps."},"get":{"tags":["admin-tools"],"parameters":[{"in":"path","name":"tool-id","description":"A UUID that is used to identify the Tool","required":true,"type":"string","format":"uuid"},{"in":"query","name":"include-defaults","description":"Flag to include defaults set by configuration or not","required":false,"type":"boolean"}],"responses":{"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/ToolDetails"},"description":"The Tool details."},"404":{"schema":{"$ref":"#/definitions/ErrorResponseNotFound"},"description":"The `tool-id` does not exist."}},"summary":"Get a Tool","description":"This endpoint returns the details for one tool."},"patch":{"tags":["admin-tools"],"parameters":[{"in":"path","name":"tool-id","description":"A UUID that is used to identify the Tool","required":true,"type":"string","format":"uuid"},{"in":"query","name":"overwrite-public","description":"Flag to force container settings updates of public tools.","required":false,"type":"boolean"},{"in":"body","name":"ToolUpdateRequest","description":"The Tool to update.","required":true,"schema":{"$ref":"#/definitions/ToolUpdateRequest"}}],"responses":{"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/ToolDetails"},"description":"The Tool details."},"400":{"schema":{"$ref":"#/definitions/ErrorResponseNotWritable"},"description":"The Tool is in use by public apps its container could not be updated."},"404":{"schema":{"$ref":"#/definitions/ErrorResponseNotFound"},"description":"The `tool-id` does not exist."}},"summary":"Update a Tool","description":"This service updates a Tool definition in the DE.\n\n**Note**: If the `container` object is omitted in the request, then existing container settings will not be modified,\nbut if the `container` object is present in the request, then all container settings must be included in it.\nAny existing settings not included in the request's `container` object will be removed.\n\n#### ⚠️Danger Zone⚠️\n\nDo not update container settings that are in use by tools in public apps\nunless it is certain the new container settings will not break reproducibility for those apps.\nIf required, the `overwrite-public` flag may be used to update these settings for public tools.\n"}},"/terrain/admin/tools/{tool-id}/apps":{"get":{"tags":["admin-tools"],"parameters":[{"in":"path","name":"tool-id","description":"A UUID that is used to identify the Tool","required":true,"type":"string","format":"uuid"}],"responses":{"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/AdminAppListing"},"description":"The listing of Apps using the given Tool."},"404":{"schema":{"$ref":"#/definitions/ErrorResponseNotFound"},"description":"The `tool-id` does not exist."}},"summary":"Get Apps by Tool","description":"This endpoint returns a listing of Apps using the given Tool."}},"/terrain/admin/tools/{tool-id}/integration-data/{integration-data-id}":{"put":{"tags":["admin-tools"],"parameters":[{"in":"path","name":"tool-id","description":"A UUID that is used to identify the Tool","required":true,"type":"string","format":"uuid"},{"in":"path","name":"integration-data-id","description":"A UUID that is used to identify the integration data record","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/IntegrationData"},"description":""}},"summary":"Update the Integration Data Record for a Tool","description":"This service allows administrators to change the integration data record associated with a tool."}},"/terrain/admin/tools/{tool-id}/publish":{"post":{"tags":["admin-tools"],"parameters":[{"in":"path","name":"tool-id","description":"A UUID that is used to identify the Tool","required":true,"type":"string","format":"uuid"},{"in":"body","name":"ToolUpdateRequest","description":"The Tool to update.","required":true,"schema":{"$ref":"#/definitions/ToolUpdateRequest"}}],"responses":{"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/ToolDetails"},"description":"The Tool details."},"400":{"schema":{"$ref":"#/definitions/ErrorResponseNotWritable"},"description":"The Tool is already public."},"404":{"schema":{"$ref":"#/definitions/ErrorResponseNotFound"},"description":"The `tool-id` does not exist."}},"summary":"Make a Private Tool Public","description":"This service makes a Private Tool public and available to all users.\n   The request body fields are optional and allow the admin to make updates to the tool in the same request."}},"/terrain/admin/tool-requests":{"get":{"tags":["admin-tool-requests"],"parameters":[{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string"},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"status","description":"The name of a status code to include in the results. The name of the status code is case\n                     sensitive. If the status code isn't already defined, it will be added to the database","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/ToolRequestListing"},"description":""}},"summary":"List Tool Requests","description":"This endpoint lists high level details about tool requests that have been submitted.\n   Administrators may use this endpoint to track tool requests for all users."}},"/terrain/admin/tool-requests/status-codes/{status-code-id}":{"delete":{"tags":["admin-tool-requests"],"parameters":[{"in":"path","name":"status-code-id","description":"The Status Code's UUID","required":true,"type":"string","format":"uuid"}],"summary":"Delete a Tool Request Status Code","description":"This service allows administrators to delete a tool request status code\n   provided that the status code isn't in use in a tool request.","responses":{"default":{"description":""}}}},"/terrain/admin/tool-requests/{request-id}":{"delete":{"tags":["admin-tool-requests"],"parameters":[{"in":"path","name":"request-id","description":"The Tool Requests's UUID","required":true,"type":"string","format":"uuid"}],"summary":"Delete a Tool Request","description":"This service allows administrators to delete a tool request.\n   This endpoint is primarily intended for use in the QA cleanup suite.","responses":{"default":{"description":""}}},"get":{"tags":["admin-tool-requests"],"parameters":[{"in":"path","name":"request-id","description":"The Tool Requests's UUID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/ToolRequestDetails"},"description":""}},"summary":"Obtain Tool Request Details","description":"This service obtains detailed information about a tool request.\n   This is the service that the DE support team uses to obtain the request details."}},"/terrain/admin/tool-requests/{request-id}/status":{"post":{"tags":["admin-tool-requests"],"parameters":[{"in":"path","name":"request-id","description":"The Tool Requests's UUID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"ToolRequestStatusUpdate","description":"A Tool Request status update.","required":true,"schema":{"$ref":"#/definitions/ToolRequestStatusUpdate"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/ToolRequestDetails"},"description":""}},"summary":"Update the Status of a Tool Request","description":"This endpoint is used by Discovery Environment administrators to update the status of a tool request."}},"/terrain/admin/permanent-id-requests":{"get":{"tags":["admin-permanent-id-requests"],"parameters":[{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["date_updated","target_type","date_submitted","requested_by","status","type","updated_by"]},{"in":"query","name":"statuses","description":"Status Codes with which to filter results","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"}],"responses":{"200":{"schema":{"$ref":"#/definitions/PermanentIDRequestList"},"description":""}},"summary":"List Permanent ID Requests","description":"Allows administrators to list Permanent ID Requests from all users."}},"/terrain/admin/permanent-id-requests/{request-id}":{"get":{"tags":["admin-permanent-id-requests"],"parameters":[{"in":"path","name":"request-id","description":"The Permanent ID Request's UUID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/PermanentIDRequestDetails"},"description":""}},"summary":"Get Permanent ID Request Details","description":"Allows administrators to retrieve details for a Permanent ID Request from any user."}},"/terrain/admin/permanent-id-requests/{request-id}/doi":{"post":{"tags":["admin-permanent-id-requests"],"parameters":[{"in":"path","name":"request-id","description":"The Permanent ID Request's UUID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/PermanentIDRequestDetails"},"description":""}},"summary":"Create a DOI","description":"This endpoint will create a DOI using the\n                            [DataCite API](https://support.datacite.org/docs/api-create-dois)\n                            and the requested folder's metadata,\n                            add the new DOI to the folder's metadata,\n                            move the folder to a curated directory,\n                            then set the Permanent ID Request's status to `Completed`.\n                            If an error is encountered during this process,\n                            then the Permanent ID Request's status will be set to `Failed`."}},"/terrain/admin/permanent-id-requests/{request-id}/ezid":{"post":{"tags":["admin-permanent-id-requests"],"parameters":[{"in":"path","name":"request-id","description":"The Permanent ID Request's UUID","required":true,"type":"string","format":"uuid"}],"deprecated":true,"responses":{"200":{"schema":{"$ref":"#/definitions/PermanentIDRequestDetails"},"description":""}},"summary":"Create a Permanent ID","description":"This endpoint has been replaced by the `POST .../doi` endpoint above,\n                             which now only supports creating DOIs."}},"/terrain/admin/permanent-id-requests/{request-id}/preview-submission":{"get":{"tags":["admin-permanent-id-requests"],"parameters":[{"in":"path","name":"request-id","description":"The Permanent ID Request's UUID","required":true,"type":"string","format":"uuid"}],"summary":"Preview DataCite XML submission","description":"This endpoint returns the DataCite XML generated from the data set's metadata,\n                            which will be used in the submission when creating a DOI.","responses":{"default":{"description":""}}}},"/terrain/admin/permanent-id-requests/{request-id}/status":{"post":{"tags":["admin-permanent-id-requests"],"parameters":[{"in":"path","name":"request-id","description":"The Permanent ID Request's UUID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"PermanentIDRequestStatusUpdate","description":"","required":true,"schema":{"$ref":"#/definitions/PermanentIDRequestStatusUpdate"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/PermanentIDRequestDetails"},"description":""}},"summary":"Update the Status of a Permanent ID Request","description":"Allows administrators to update the status of a Permanent ID Request from any user."}},"/terrain/admin/oauth/token-info/{api-name}":{"get":{"tags":["admin-oauth"],"parameters":[{"in":"path","name":"api-name","description":"The name of the external API","required":true,"type":"string"},{"in":"query","name":"proxy-user","description":"The name of the proxy user for admin service calls.","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AdminTokenInfo"},"description":""}},"summary":"Get OAuth token info for a user","description":"Returns information about an OAuth access token for administrative troubleshooting."},"delete":{"tags":["admin-oauth"],"parameters":[{"in":"path","name":"api-name","description":"The name of the external API","required":true,"type":"string"},{"in":"query","name":"proxy-user","description":"The name of the proxy user for admin service calls.","required":false,"type":"string"}],"summary":"Delete OAuth token info for a user","description":"Removes a user's OAuth access token from the DE for administrative purposes.","responses":{"default":{"description":""}}}},"/terrain/admin/integration-data":{"get":{"responses":{"default":{"description":""}}},"post":{"responses":{"default":{"description":""}}}},"/terrain/admin/integration-data/{integration-data-id}":{"get":{"parameters":[{"in":"path","name":"integration-data-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}},"put":{"parameters":[{"in":"path","name":"integration-data-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}},"delete":{"parameters":[{"in":"path","name":"integration-data-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/admin/workspaces":{"get":{"responses":{"default":{"description":""}}},"delete":{"responses":{"default":{"description":""}}}},"/terrain/admin/users/{username}/groups":{"get":{"tags":["admin-user-info"],"parameters":[{"in":"path","name":"username","description":"The user's ID","required":true,"type":"string"},{"in":"query","name":"details","description":"Optionally include group details such as modified date and creator information.","required":false,"type":"boolean"}],"summary":"Get a user's groups","description":"Lists all groups to which a user belongs","responses":{"200":{"schema":{"$ref":"#/definitions/GroupListing"},"description":""}}}},"/terrain/admin/request-types":{"get":{"tags":["admin-request-types"],"summary":"List Administrative Request Types","responses":{"200":{"schema":{"$ref":"#/definitions/RequestTypeListing"},"description":""}},"description":"Lists existing administrative request types"}},"/terrain/admin/request-types/{name}":{"get":{"tags":["admin-request-types"],"parameters":[{"in":"path","name":"name","description":"The name of the request type","required":true,"type":"string"}],"summary":"Get Request Type","responses":{"200":{"schema":{"$ref":"#/definitions/RequestType"},"description":""}},"description":"Returns information about a single administrative request type"},"post":{"tags":["admin-request-types"],"parameters":[{"in":"path","name":"name","description":"The name of the request type","required":true,"type":"string"},{"in":"query","name":"maximum-concurrent-requests-per-user","description":"The maximum number of active requests of this type for a user","required":false,"type":"integer","format":"int64"},{"in":"query","name":"maximum-requests-per-user","description":"The absolute maximum number of requests of this type for a user","required":false,"type":"integer","format":"int64"}],"summary":"Add Request Type","responses":{"200":{"schema":{"$ref":"#/definitions/RequestType"},"description":""}},"description":"Adds a new type of administrative request"},"patch":{"tags":["admin-request-types"],"parameters":[{"in":"path","name":"name","description":"The name of the request type","required":true,"type":"string"},{"in":"query","name":"maximum-concurrent-requests-per-user","description":"The maximum number of active requests of this type for a user","required":false,"type":"integer","format":"int64"},{"in":"query","name":"maximum-requests-per-user","description":"The absolute maximum number of requests of this type for a user","required":false,"type":"integer","format":"int64"}],"summary":"Update Request Type","responses":{"200":{"schema":{"$ref":"#/definitions/RequestType"},"description":""}},"description":"Updates an existing administrative request type"}},"/terrain/admin/requests":{"get":{"tags":["admin-requests"],"summary":"List Administrative Requests","parameters":[{"in":"query","name":"include-completed","description":"If set to true, completed requests will be included in the listing","required":false,"type":"boolean"},{"in":"query","name":"request-type","description":"If specified, only requests of the selected type will be included in the listing","required":false,"type":"string"},{"in":"query","name":"requesting-user","description":"If specified, only requests submitted by the selected user will be included in the listing","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/RequestListing"},"description":""}},"description":"Lists administrative requests, optionally filtered by request type or requesting user."}},"/terrain/admin/requests/{request-id}":{"get":{"tags":["admin-requests"],"parameters":[{"in":"path","name":"request-id","description":"The request ID","required":true,"type":"string","format":"uuid"}],"summary":"Get Request Information","responses":{"200":{"schema":{"$ref":"#/definitions/Request"},"description":""}},"description":"Returns information about an existing request."}},"/terrain/admin/requests/{request-id}/in-progress":{"post":{"tags":["admin-requests"],"parameters":[{"in":"path","name":"request-id","description":"The request ID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"RequestUpdateMessage","description":"","required":true,"schema":{"$ref":"#/definitions/RequestUpdateMessage"}}],"summary":"Mark Request as in Progress","responses":{"200":{"schema":{"$ref":"#/definitions/RequestUpdate"},"description":""}},"description":"Marks a request as being in progress."}},"/terrain/admin/requests/{request-id}/rejected":{"post":{"tags":["admin-requests"],"parameters":[{"in":"path","name":"request-id","description":"The request ID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"RequestUpdateMessage","description":"","required":true,"schema":{"$ref":"#/definitions/RequestUpdateMessage"}}],"summary":"Mark Request as Rejected","responses":{"200":{"schema":{"$ref":"#/definitions/RequestUpdate"},"description":""}},"description":"Marks a request as having been rejected."}},"/terrain/admin/requests/{request-id}/approved":{"post":{"tags":["admin-requests"],"parameters":[{"in":"path","name":"request-id","description":"The request ID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"RequestUpdateMessage","description":"","required":true,"schema":{"$ref":"#/definitions/RequestUpdateMessage"}}],"summary":"Approve a Request","responses":{"200":{"schema":{"$ref":"#/definitions/RequestUpdate"},"description":""}},"description":"Marks a request as approved and performs any actions required to fulfill the request."}},"/terrain/admin/requests/{request-id}/approved/vice":{"post":{"tags":["admin-requests"],"parameters":[{"in":"path","name":"request-id","description":"The request ID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"ViceRequestApprovalMessage","description":"","required":true,"schema":{"$ref":"#/definitions/ViceRequestApprovalMessage"}}],"summary":"Approve a Request for VICE Access","responses":{"200":{"schema":{"$ref":"#/definitions/RequestUpdate"},"description":""}},"description":"Marks a request for VICE access and performs actions required to fulfill the request."}},"/terrain/admin/settings/concurrent-job-limits":{"get":{"tags":["admin-settings"],"summary":"List Concurrent Job Limits","responses":{"200":{"schema":{"$ref":"#/definitions/ConcurrentJobLimits"},"description":""}},"description":"Lists the concurrent job limits for all users who have one defined. The record describing the default limit contains\n   no username. Users without explicit limits defined will use the default limit."}},"/terrain/admin/settings/concurrent-job-limits/{username}":{"get":{"tags":["admin-settings"],"parameters":[{"in":"path","name":"username","description":"The username associated with the limit","required":true,"type":"string"}],"summary":"Get a User's Concurrent Job Limit","responses":{"200":{"schema":{"$ref":"#/definitions/ConcurrentJobLimit"},"description":""}},"description":"Gets the concurrent job limit for a user. The limit will either be the limit that was explicitly set for the user\n   or the default limit. If the default limit is returned then there will be no username in the response body."},"put":{"tags":["admin-settings"],"parameters":[{"in":"path","name":"username","description":"The username associated with the limit","required":true,"type":"string"},{"in":"body","name":"ConcurrentJobLimitUpdate","description":"","required":true,"schema":{"$ref":"#/definitions/ConcurrentJobLimitUpdate"}}],"summary":"Update a User's Concurrent Job Limit","responses":{"200":{"schema":{"$ref":"#/definitions/ConcurrentJobLimit"},"description":""}},"description":"Updates the concurrent job limit for a user. The user's limit will be set explicitly even if it's equal to the\n   default limit."},"delete":{"tags":["admin-settings"],"parameters":[{"in":"path","name":"username","description":"The username associated with the limit","required":true,"type":"string"}],"summary":"Remove a User's Concurrent Job Limit","responses":{"200":{"schema":{"$ref":"#/definitions/ConcurrentJobLimit"},"description":""}},"description":"Removes the explicitly configured concurrent job limit for a user. This effectively returns the user's job limit\n   to whatever the default job limit is."}},"/terrain/admin/vice/resources":{"get":{"tags":["admin-vice"],"parameters":[{"in":"query","name":"analysis-name","description":"The name of the analysis","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"app-id","description":"The UUID of the running app for the analysis","required":false,"type":"string","format":"uuid","allowEmptyValue":true},{"in":"query","name":"app-name","description":"The name of the running app for the analysis","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"external-id","description":"The value of the external_id field in the job_steps table. Used widely in the API","required":false,"type":"string","format":"uuid","allowEmptyValue":true},{"in":"query","name":"user-id","description":"The UUID assigned to the user that launched the analysis","required":false,"type":"string","format":"uuid","allowEmptyValue":true},{"in":"query","name":"username","description":"The user of the user that launched the analysis","required":false,"type":"string","allowEmptyValue":true}],"responses":{"200":{"schema":{"$ref":"#/definitions/FullResourceListing"},"description":""}},"summary":"List Kubernetes resources deployed in the cluster","description":"Lists all Kubernetes resources associated with an analysis running in the cluster."}},"/terrain/admin/vice/async-data":{"get":{"tags":["admin-vice"],"parameters":[{"in":"query","name":"external-id","description":"The external ID assigned to the analysis step","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AsyncData"},"description":""}},"summary":"Get data that is generated asynchronously","description":"Get data for the VICE analysis that is generated asynchronously"}},"/terrain/admin/vice/analyses/{analysis-id}/time-limit":{"get":{"tags":["admin-vice"],"parameters":[{"in":"path","name":"analysis-id","description":"The UUID assigned to the analysis","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/TimeLimit"},"description":""}},"summary":"Get current time limit","description":"Gets the current time limit set for the analysis"},"post":{"tags":["admin-vice"],"parameters":[{"in":"path","name":"analysis-id","description":"The UUID assigned to the analysis","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/TimeLimit"},"description":""}},"summary":"Extend the time limit","description":"Extends the time limit for the analysis by 3 days"}},"/terrain/admin/vice/analyses/{analysis-id}/save-and-exit":{"post":{"tags":["admin-vice"],"parameters":[{"in":"path","name":"analysis-id","description":"The UUID assigned to the analysis","required":true,"type":"string","format":"uuid"}],"summary":"Upload outputs and exit","description":"Terminates the analysis after uploading the output files to the data store","responses":{"default":{"description":""}}}},"/terrain/admin/vice/analyses/{analysis-id}/exit":{"post":{"tags":["admin-vice"],"parameters":[{"in":"path","name":"analysis-id","description":"The UUID assigned to the analysis","required":true,"type":"string","format":"uuid"}],"summary":"Exit without saving","description":"Terminates the analysis without uploading files to the data store","responses":{"default":{"description":""}}}},"/terrain/admin/vice/analyses/{analysis-id}/save-output-files":{"post":{"tags":["admin-vice"],"parameters":[{"in":"path","name":"analysis-id","description":"The UUID assigned to the analysis","required":true,"type":"string","format":"uuid"}],"summary":"Upload files without exiting","description":"Uploads output files for the analysis to the data store without terminating the analysis","responses":{"default":{"description":""}}}},"/terrain/admin/vice/analyses/{analysis-id}/download-input-files":{"post":{"tags":["admin-vice"],"parameters":[{"in":"path","name":"analysis-id","description":"The UUID assigned to the analysis","required":true,"type":"string","format":"uuid"}],"summary":"Download input files","description":"Downloads input files to the analysis container without changing the status of the analysis","responses":{"default":{"description":""}}}},"/terrain/admin/vice/analyses/{analysis-id}/external-id":{"get":{"tags":["admin-vice"],"parameters":[{"in":"path","name":"analysis-id","description":"The UUID assigned to the analysis","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/ExternalIDResponse"},"description":""}},"summary":"Get external UUID","description":"Returns the external UUID associated with the analysis. VICE analyses only have a single external UUID"}},"/terrain/admin/vice/{host}/url-ready":{"get":{"tags":["admin-vice"],"parameters":[{"in":"path","name":"host","description":"The hostname/subdomain of a VICE analysis","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/URLReady"},"description":""}},"summary":"Whether or not a VICE analysis is browser accessible","description":"Returns a map detailing whether or not the VICE analysis is ready to be accessed through a browser"}},"/terrain/admin/vice/{host}/description":{"get":{"tags":["admin-vice"],"parameters":[{"in":"path","name":"host","description":"The hostname/subdomain of a VICE analysis","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/FullResourceListing"},"description":""}},"summary":"Returns a JSON description of the VICE analysis","description":"Returns a JSON description of the VICE analysis, bypassing permissions checks"}},"/terrain/admin/qms/usages":{"post":{"tags":["admin-qms"],"summary":"Updates resource usage totals for a user","description":"Updates resource usage totals for a user","parameters":[{"in":"body","name":"AddUsage","description":"","required":true,"schema":{"$ref":"#/definitions/AddUsage"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/SuccessResponse"},"description":""}}}},"/terrain/admin/qms/subscriptions":{"get":{"tags":["admin-qms"],"summary":"List Subscriptions","description":"Lists existing subscriptions","parameters":[{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string"},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"search","description":"The username substring to search for in the listing","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionListingResponse"},"description":""}}},"post":{"tags":["admin-qms"],"summary":"Bulk Subscription Creation","description":"Creates multiple subscriptions in one request","parameters":[{"in":"query","name":"force","description":"True if the subscription should be created even if the user already has a higher level plan","required":false,"type":"string"},{"in":"body","name":"SubscriptionRequests","description":"","required":true,"schema":{"$ref":"#/definitions/SubscriptionRequests"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/BulkSubscriptionResponse"},"description":""}}}},"/terrain/admin/qms/subscriptions/{subscription-uuid}/addons":{"get":{"tags":["admin-qms"],"parameters":[{"in":"path","name":"subscription-uuid","description":"The UUID assigned to a subscription","required":true,"type":"string","format":"uuid"}],"summary":"Returns the add-ons applied to a subscription","description":"Returns descriptions of all of the add-ons that have been applied to the indicated subscription","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionAddonListResponse"},"description":""}}},"post":{"tags":["admin-qms"],"parameters":[{"in":"path","name":"subscription-uuid","description":"The UUID assigned to a subscription","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AddonIDBody","description":"","required":true,"schema":{"$ref":"#/definitions/AddonIDBody"}}],"summary":"Adds an add-on to a subscription","description":"Adds an add-on to a subscription, increasing the quota for the resource type in the add-on","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionAddonResponse"},"description":""}}}},"/terrain/admin/qms/subscriptions/{subscription-uuid}/addons/{uuid}":{"get":{"tags":["admin-qms"],"parameters":[{"in":"path","name":"subscription-uuid","description":"The UUID assigned to a subscription","required":true,"type":"string","format":"uuid"},{"in":"path","name":"uuid","description":"The UUID assigned to a subscription add-on","required":true,"type":"string","format":"uuid"}],"summary":"Returns a single subscription add-on","description":"Returns a subscription add-on by its UUID. This has already been applied to the subscription","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionAddonResponse"},"description":""}}},"put":{"tags":["admin-qms"],"parameters":[{"in":"path","name":"subscription-uuid","description":"The UUID assigned to a subscription","required":true,"type":"string","format":"uuid"},{"in":"path","name":"uuid","description":"The UUID assigned to a subscription add-on","required":true,"type":"string","format":"uuid"},{"in":"body","name":"UpdateSubscriptionAddon","description":"","required":true,"schema":{"$ref":"#/definitions/UpdateSubscriptionAddon"}}],"summary":"Updates a subscription add-on","description":"Updates a subscription add-on with the values contained within","responses":{"default":{"description":""}}},"delete":{"tags":["admin-qms"],"parameters":[{"in":"path","name":"subscription-uuid","description":"The UUID assigned to a subscription","required":true,"type":"string","format":"uuid"},{"in":"path","name":"uuid","description":"The UUID assigned to a subscription add-on","required":true,"type":"string","format":"uuid"}],"summary":"Delete a subscription add-on","description":"Delete a subscription add-on, decreasing the quota for the resource type in the add-on by the amount provided by the add-on","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionAddonResponse"},"description":""}}}},"/terrain/admin/qms/addons":{"post":{"tags":["admin-qms"],"summary":"Adds an available addon","description":"Adds an available addon that can be applied to a user's subscription","parameters":[{"in":"body","name":"AddOn","description":"","required":true,"schema":{"$ref":"#/definitions/AddOn"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AddonResponse"},"description":""}}},"get":{"tags":["admin-qms"],"summary":"Lists available add-ons","description":"Lists the add-ons that can be applied to a user's subscription","responses":{"200":{"schema":{"$ref":"#/definitions/AddonListResponse"},"description":""}}},"put":{"tags":["admin-qms"],"summary":"Updates an add-on","description":"Updates an available add-on that can be applied to a user's subscription","parameters":[{"in":"body","name":"UpdateAddon","description":"","required":true,"schema":{"$ref":"#/definitions/UpdateAddon"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AddonResponse"},"description":""}}}},"/terrain/admin/qms/addons/{uuid}":{"delete":{"tags":["admin-qms"],"summary":"Deletes an add-on","description":"Deletes an add-on that was available to be applied to a user's subscription","parameters":[{"in":"path","name":"uuid","description":"The UUID assigned to an add-on","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/DeletedAddonResponse"},"description":""}}}},"/terrain/admin/qms/users/{username}/usages":{"get":{"tags":["admin-qms"],"parameters":[{"in":"path","name":"username","description":"A user's username","required":true,"type":"string"}],"summary":"Returns a list of resource usages generated by the user","description":"Returns a list of resource usages generated by the user","responses":{"200":{"schema":{"$ref":"#/definitions/UsagesResponse"},"description":""}}}},"/terrain/admin/qms/users/{username}/plan":{"get":{"tags":["admin-qms"],"parameters":[{"in":"path","name":"username","description":"A user's username","required":true,"type":"string"}],"summary":"Returns details about the subscription","description":"Returns details about the subscription, including quota and usage information","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionPlanResponse"},"description":""}}}},"/terrain/admin/qms/users/{username}/plan/{resource-type}/quota":{"post":{"tags":["admin-qms"],"parameters":[{"in":"path","name":"username","description":"A user's username","required":true,"type":"string"},{"in":"path","name":"resource-type","description":"The name of the resource type","required":true,"type":"string"},{"in":"body","name":"QuotaValue","description":"","required":true,"schema":{"$ref":"#/definitions/QuotaValue"}}],"summary":"Updates a quota in the user's current subscription","description":"Updates the user's quota for the specified resource type","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionUpdateResponse"},"description":""}}}},"/terrain/admin/qms/users/{username}/plan/{plan-name}":{"put":{"tags":["admin-qms"],"parameters":[{"in":"path","name":"username","description":"A user's username","required":true,"type":"string"},{"in":"path","name":"plan-name","description":"The name of the plan","required":true,"type":"string"},{"in":"query","name":"paid","description":"True if the user paid for the subscription","required":true,"type":"boolean"},{"in":"query","name":"periods","description":"The number of subscription periods","required":false,"type":"integer","format":"int64"},{"in":"query","name":"start-date","description":"The start date of the subscription","required":false,"type":"string"},{"in":"query","name":"end-date","description":"The end date of the subscription","required":false,"type":"string"}],"summary":"Changes the user's subscription plan to another one in QMS","description":"Changes the user's subscription plan to another one in QMS. New plan is referenced by name","responses":{"200":{"schema":{"$ref":"#/definitions/SuccessResponse"},"description":""}}}},"/terrain/admin/qms/users/{username}/subscriptions":{"get":{"tags":["admin-qms"],"parameters":[{"in":"path","name":"username","description":"A user's username","required":true,"type":"string"},{"in":"query","name":"include-expired","description":"True if expired subscriptions shoudld be included in the listing.","required":false,"type":"boolean"},{"in":"query","name":"cutoff","description":"The date and time to treat as the cutoff for expired subscriptions.","required":false,"type":"string"}],"summary":"List Subscriptions For User","description":"Lists subscriptions for a user, including future subscriptions.","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionListingResponse"},"description":""}}}},"/terrain/service/qms/users/{username}/plan":{"get":{"tags":["service-account-qms"],"parameters":[{"in":"path","name":"username","description":"A user's username","required":true,"type":"string"}],"summary":"Returns details about the subscription","description":"Returns details about the subscription, including quota and usage information","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionPlanResponse"},"description":""}}}},"/terrain/service/qms/users/{username}/plan/{plan-name}":{"put":{"tags":["service-account-qms"],"parameters":[{"in":"path","name":"username","description":"A user's username","required":true,"type":"string"},{"in":"path","name":"plan-name","description":"The name of the plan","required":true,"type":"string"},{"in":"query","name":"periods","description":"The number of subscription periods","required":false,"type":"integer","format":"int64"},{"in":"query","name":"start-date","description":"The start date of the subscription","required":false,"type":"string"},{"in":"query","name":"end-date","description":"The end date of the subscription","required":false,"type":"string"},{"in":"query","name":"paid","description":"True if the user paid for the subscription","required":false,"type":"boolean"}],"summary":"Changes the user's subscription plan to another one in QMS","description":"Changes the user's subscription plan to another one in QMS. New plan is referenced by name","responses":{"200":{"schema":{"$ref":"#/definitions/SuccessResponse"},"description":""}}}},"/terrain/service/qms/users/{username}/subscriptions":{"get":{"tags":["service-account-qms"],"parameters":[{"in":"path","name":"username","description":"A user's username","required":true,"type":"string"},{"in":"query","name":"include-expired","description":"True if expired subscriptions shoudld be included in the listing.","required":false,"type":"boolean"},{"in":"query","name":"cutoff","description":"The date and time to treat as the cutoff for expired subscriptions.","required":false,"type":"string"}],"summary":"List Subscriptions For User","description":"Lists subscriptions for a user, including future subscriptions.","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionListingResponse"},"description":""}}}},"/terrain/service/qms/addons":{"get":{"tags":["service-account-qms"],"summary":"Lists available add-ons","description":"Lists the add-ons that can be applied to a user's subscription","responses":{"200":{"schema":{"$ref":"#/definitions/AddonListResponse"},"description":""}}}},"/terrain/service/qms/subscriptions/{subscription-uuid}/addons":{"get":{"tags":["service-account-qms"],"parameters":[{"in":"path","name":"subscription-uuid","description":"The UUID assigned to a subscription","required":true,"type":"string","format":"uuid"}],"summary":"Returns the add-ons applied to a subscription","description":"Returns descriptions of all of the add-ons that have been applied to the indicated subscription","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionAddonListResponse"},"description":""}}},"post":{"tags":["service-account-qms"],"parameters":[{"in":"path","name":"subscription-uuid","description":"The UUID assigned to a subscription","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AddonIDBody","description":"","required":true,"schema":{"$ref":"#/definitions/AddonIDBody"}}],"summary":"Adds an add-on to a subscription","description":"Adds an add-on to a subscription, increasing the quota for the resource type in the add-on","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionAddonResponse"},"description":""}}}},"/terrain/service/qms/subscriptions/{subscription-uuid}/addons/{uuid}":{"get":{"tags":["service-account-qms"],"parameters":[{"in":"path","name":"subscription-uuid","description":"The UUID assigned to a subscription","required":true,"type":"string","format":"uuid"},{"in":"path","name":"uuid","description":"The UUID assigned to a subscription add-on","required":true,"type":"string","format":"uuid"}],"summary":"Returns a single subscription add-on","description":"Returns a subscription add-on by its UUID. This has already been applied to the subscription","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionAddonResponse"},"description":""}}},"put":{"tags":["service-account-qms"],"parameters":[{"in":"path","name":"subscription-uuid","description":"The UUID assigned to a subscription","required":true,"type":"string","format":"uuid"},{"in":"path","name":"uuid","description":"The UUID assigned to a subscription add-on","required":true,"type":"string","format":"uuid"},{"in":"body","name":"UpdateSubscriptionAddon","description":"","required":true,"schema":{"$ref":"#/definitions/UpdateSubscriptionAddon"}}],"summary":"Updates a subscription add-on","description":"Updates a subscription add-on with the values contained within","responses":{"default":{"description":""}}},"delete":{"tags":["service-account-qms"],"parameters":[{"in":"path","name":"subscription-uuid","description":"The UUID assigned to a subscription","required":true,"type":"string","format":"uuid"},{"in":"path","name":"uuid","description":"The UUID assigned to a subscription add-on","required":true,"type":"string","format":"uuid"}],"summary":"Delete a subscription add-on","description":"Delete a subscription add-on, decreasing the quota for the resource type in the add-on by the amount provided by the add-on","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionAddonResponse"},"description":""}}}},"/terrain/service/email":{"post":{"tags":["service-account-email"],"summary":"Send an Email","description":"Submits a request to send an email to a user.","parameters":[{"in":"body","name":"SendEmailRequestBody","description":"","required":true,"schema":{"$ref":"#/definitions/SendEmailRequestBody"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/Response1368"},"description":""}}}},"/terrain/service/users/{username}":{"get":{"tags":["service-account-user-info"],"parameters":[{"in":"path","name":"username","description":"The user's ID","required":true,"type":"string"}],"summary":"Get user information","description":"Looks up information for a single username in LDAP","responses":{"200":{"schema":{"$ref":"#/definitions/UserDetails"},"description":""}}}},"/terrain/secured/notifications/messages":{"get":{"tags":["notifications"],"parameters":[{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"The field to sort results by. Defaults to timestamp.","required":false,"type":"string"},{"in":"query","name":"sort-dir","description":"The sort direction. Defaults to desc.","required":false,"type":"string","enum":["desc","asc"]},{"in":"query","name":"filter","description":"Filter notifications by type or message content","required":false,"type":"string"},{"in":"query","name":"seen","description":"Filter by seen status","required":false,"type":"boolean"}],"summary":"List notifications","description":"Lists notifications for the authenticated user. Results can be filtered and paginated.","responses":{"200":{"schema":{"$ref":"#/definitions/NotificationListing"},"description":""}}}},"/terrain/secured/notifications/unseen-messages":{"get":{"tags":["notifications"],"parameters":[{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"The field to sort results by. Defaults to timestamp.","required":false,"type":"string"},{"in":"query","name":"sort-dir","description":"The sort direction. Defaults to desc.","required":false,"type":"string","enum":["desc","asc"]},{"in":"query","name":"filter","description":"Filter notifications by type or message content","required":false,"type":"string"},{"in":"query","name":"seen","description":"Filter by seen status","required":false,"type":"boolean"}],"summary":"List unseen notifications","description":"Lists notifications that have not been marked as seen for the authenticated user.","responses":{"200":{"schema":{"$ref":"#/definitions/NotificationListing"},"description":""}}}},"/terrain/secured/notifications/last-ten-messages":{"get":{"tags":["notifications"],"summary":"Get last ten notifications","description":"Returns the ten most recent notifications for the authenticated user, sorted by timestamp.","responses":{"200":{"schema":{"$ref":"#/definitions/NotificationListing"},"description":""}}}},"/terrain/secured/notifications/count-messages":{"get":{"tags":["notifications"],"parameters":[{"in":"query","name":"filter","description":"The type of message to display or \"new\" to display only messages that haven't been seen","required":false,"type":"string"},{"in":"query","name":"seen","description":"Filter by seen status","required":false,"type":"boolean"}],"summary":"Count notifications","description":"Returns the count of notifications for the authenticated user, optionally filtered.","responses":{"200":{"schema":{"$ref":"#/definitions/MessageCountResponse"},"description":""}}}},"/terrain/secured/notifications/delete":{"post":{"tags":["notifications"],"parameters":[{"in":"body","name":"NotificationUUIDList","description":"","required":true,"schema":{"$ref":"#/definitions/NotificationUUIDList"}}],"summary":"Delete notifications","description":"Deletes the specified notifications for the authenticated user.","responses":{"default":{"description":""}}}},"/terrain/secured/notifications/delete-all":{"delete":{"tags":["notifications"],"parameters":[{"in":"query","name":"filter","description":"The type of message to delete or \"new\" to mark all new messages as deleted","required":false,"type":"string"}],"summary":"Delete all notifications","description":"Deletes all notifications matching the filter criteria for the authenticated user.","responses":{"default":{"description":""}}}},"/terrain/secured/notifications/seen":{"post":{"tags":["notifications"],"parameters":[{"in":"body","name":"NotificationUUIDList","description":"","required":true,"schema":{"$ref":"#/definitions/NotificationUUIDList"}}],"summary":"Mark notifications as seen","description":"Marks the specified notifications as seen for the authenticated user.","responses":{"default":{"description":""}}}},"/terrain/secured/notifications/mark-all-seen":{"post":{"tags":["notifications"],"summary":"Mark all notifications as seen","description":"Marks all notifications as seen for the authenticated user.","responses":{"default":{"description":""}}}},"/terrain/secured/bootstrap":{"get":{"tags":["bootstrap"],"responses":{"200":{"schema":{"$ref":"#/definitions/TerrainBootstrapResponse"},"description":""}},"summary":"Bootstrap Service","description":"This service obtains information about and initializes the workspace for the authenticated user.\n           It also records the fact that the user logged in."}},"/terrain/secured/logins":{"get":{"tags":["bootstrap"],"parameters":[{"in":"query","name":"limit","description":"The number of results to return","required":true,"type":"integer","format":"int64"}],"responses":{"200":{"schema":{"$ref":"#/definitions/ListLoginsResponse"},"description":""}},"summary":"Logins Listing","description":"This endpoint lists information about recent logins by the authenticated user, for display purposes."}},"/terrain/secured/preferences":{"get":{"responses":{"default":{"description":""}}},"post":{"responses":{"default":{"description":""}}},"delete":{"responses":{"default":{"description":""}}}},"/terrain/secured/user-info":{"get":{"tags":["user-info"],"parameters":[{"in":"query","name":"username","description":"A list containing user IDs","required":true,"type":"array","items":{"type":"string"},"collectionFormat":"multi"}],"responses":{"200":{"schema":{"$ref":"#/definitions/UserInfoResponseDocs"},"description":""}},"summary":"Get user information","description":"Returns account information associated with each username or ID.  If the ID\n          belongs to an individual user, information like first and last name, as well as institution and\n          email will be returned.  If the ID belongs to a group, such as a team or collaborator list,\n          then the name and description of the group will be returned."}},"/terrain/secured/filetypes/type":{"post":{"tags":["data"],"summary":"Set or Remove File Type Labels","parameters":[{"in":"body","name":"FileType","description":"The file type to set","required":true,"schema":{"$ref":"#/definitions/FileType"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/FileTypeReturn"},"description":""}},"description":"Sets or clears a file type. The file type can be set by passing in the name of one of the supported file types, which\ncan be obtained by calling the `GET /secured/filetypes/type-list` endpoint, for example:\n\n``` json\n{\n    \"path\": \"/path/to/irods/file\",\n    \"type\": \"csv\"\n}\n```\n\nThe file type can be cleared by passing in the empty string as the file type:\n\n``` json\n{\n    \"path\": \"/path/to/irods/file\",\n    \"type\": \"\"\n}\n```\n"}},"/terrain/secured/filetypes/type-list":{"get":{"tags":["data"],"summary":"List Supported File Type Labels","responses":{"200":{"schema":{"$ref":"#/definitions/TypesList"},"description":""}},"description":"Lists the file type labels supported by the Discovery Environment."}},"/terrain/secured/share":{"post":{"tags":["data"],"summary":"Share Files or Folders","parameters":[{"in":"body","name":"SharingRequest","description":"","required":true,"schema":{"$ref":"#/definitions/SharingRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/SharingResponse"},"description":""}},"description":"Allows users to share files and folders with other users."}},"/terrain/secured/unshare":{"post":{"tags":["data"],"summary":"Unshare Files or Folders","parameters":[{"in":"body","name":"UnshareRequest","description":"","required":true,"schema":{"$ref":"#/definitions/UnshareRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/UnshareResponse"},"description":""}},"description":"Allows users to revoke permissions to files and folders that have been granted to other users."}},"/terrain/secured/saved-searches":{"get":{"tags":["data"],"summary":"Get Saved Searches","responses":{"200":{"schema":{"description":"Previously stored saved searches"},"description":""}},"description":"Allows the Discovery Environment UI to save search parameters for users. The response body is not predefined by the API;\nthis endpoint merely returns the JSON that was previously sent to the `POST /secured/saved-searches` endpoint.\n"},"post":{"tags":["data"],"summary":"Set Saved Searches","parameters":[{"in":"body","name":"","description":"","required":true,"schema":{"description":"The saved searches to store"}}],"description":"Stores the saved searches that will be available in the Discovery Environment. This endpoint replaces all existing saved\nsearches with a new set of saved searches. The request body does not have a pre-defined fomat. Any JSON that is sent to\nthis endpoint will merely be stored.\n","responses":{"default":{"description":""}}},"delete":{"tags":["data"],"summary":"Delete Saved Searches","description":"Deletes all previously saved searches for the authenticated user.","responses":{"default":{"description":""}}}},"/terrain/secured/sessions":{"get":{"responses":{"default":{"description":""}}},"post":{"responses":{"default":{"description":""}}},"delete":{"responses":{"default":{"description":""}}}},"/terrain/secured/fileio/download":{"get":{"tags":["fileio"],"summary":"Retrieve File Contents","description":"Retrieves the contents of a file in the CyVerse Data Store.","parameters":[{"in":"query","name":"path","description":"The path to the file to download in the data store.","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/secured/fileio/upload":{"post":{"tags":["fileio"],"summary":"Upload a File","description":"Uploads a file to the CyVerse Data Store.","parameters":[{"in":"query","name":"dest","description":"The destination directory for the uploaded file.","required":true,"type":"string"},{"in":"formData","name":"file","description":"","required":true,"type":"file"}],"consumes":["multipart/form-data"],"responses":{"200":{"schema":{"$ref":"#/definitions/FileStat"},"description":""}}}},"/terrain/secured/fileio/urlupload":{"post":{"tags":["fileio"],"summary":"Upload a File from a URL","description":"Schedules a task to have the DE retrieve the contents of a new file in the data store from an FTP, HTTP, or HTTPS URL.","parameters":[{"in":"body","name":"UrlUploadRequestBody","description":"","required":true,"schema":{"$ref":"#/definitions/UrlUploadRequestBody"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/UrlUploadResponseBody"},"description":""}}}},"/terrain/secured/fileio/save":{"post":{"tags":["fileio"],"summary":"Save a File","description":"Overwrites the contents of a file in the Data Store. The file must exist already for this endpoint to work. To save a new file, use the POST /terrain/secured/fileio/saveas endpoint.","parameters":[{"in":"body","name":"FileSaveRequestBody","description":"","required":true,"schema":{"$ref":"#/definitions/FileSaveRequestBody"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/FileStat"},"description":""}}}},"/terrain/secured/fileio/saveas":{"post":{"tags":["fileio"],"summary":"Save a New File","description":"Creates a new file in the data store. The file must not exist for this endpoint to work. To overwrite an existing file, use the POST /terrain/secured/fileio/save endpoint.","parameters":[{"in":"body","name":"FileSaveRequestBody","description":"","required":true,"schema":{"$ref":"#/definitions/FileSaveRequestBody"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/FileStat"},"description":""}}}},"/terrain/secured/filesystem/root":{"get":{"tags":["filesystem"],"responses":{"500":{"schema":{"$ref":"#/definitions/NavigationRootErrorResponses"},"description":"Potential Error Codes returned by this endpoint."},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/NavigationRootResponse"},"description":"The Root Listing."}},"summary":"Root Listing","description":"This endpoint provides a shortcut for the client to list the top-level directories\n   (e.g. the user's home directory, trash, and shared directories)."}},"/terrain/secured/filesystem/directory":{"get":{"tags":["filesystem"],"parameters":[{"in":"query","name":"path","description":"The IRODS path to a directory","required":false,"type":"string"}],"responses":{"500":{"schema":{"$ref":"#/definitions/NavigationErrorResponses"},"description":"Potential Error Codes returned by this endpoint."},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/DirectoryResponse"},"description":"The Folder Listing."}},"summary":"Directory List (Non-Recursive)","description":"Only lists subdirectories of the directory path passed into it."}},"/terrain/secured/filesystem/exists":{"post":{"tags":["filesystem"],"parameters":[{"in":"body","name":"ExistenceRequest","description":"The paths to check for existence.","required":true,"schema":{"$ref":"#/definitions/ExistenceRequest"}}],"responses":{"500":{"schema":{"$ref":"#/definitions/ExistenceErrorResponses"},"description":"Potential Error Codes returned by this endpoint."},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/ExistenceResponse"},"description":"A map of paths from the request to their existence info"}},"summary":"File and Folder Existence","description":"This endpoint allows the caller to check for the existence of a set of files and folders."}},"/terrain/secured/filesystem/stat":{"post":{"tags":["filesystem"],"parameters":[{"in":"body","name":"OptionalPathsOrDataIds","description":"The path or data ids of the data objects to gather status information on.","required":true,"schema":{"$ref":"#/definitions/OptionalPathsOrDataIds"}}],"responses":{"500":{"schema":{"$ref":"#/definitions/StatErrorResponses"},"description":"Potential Error Codes returned by this endpoint."},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/StatResponse"},"description":"File and Folder Status Response."}},"summary":"File and Folder Status Information","description":"This endpoint allows the caller to get information about many files and folders at once."}},"/terrain/secured/filesystem/tickets":{"post":{"tags":["filesystem"],"parameters":[{"in":"query","name":"mode","description":"Whether the created tickets allow `write` or `read` only access. Default is `read` only.","required":false,"type":"string","enum":["read","write"]},{"in":"query","name":"uses-limit","description":"Sets the `uses-limit` of the created tickets, when provided","required":false,"type":"integer","format":"int64"},{"in":"query","name":"file-write-limit","description":"Sets the `file-write-limit` of the created tickets, when provided (10 by default)","required":false,"type":"integer","format":"int64"},{"in":"query","name":"public","description":"Whether the created tickets should be made public","required":false,"type":"boolean"},{"in":"body","name":"Paths","description":"","required":true,"schema":{"$ref":"#/definitions/Paths"}}],"responses":{"500":{"schema":{"$ref":"#/definitions/AddTicketErrorResponses"},"description":"Potential Error Codes returned by this endpoint."},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/AddTicketResponse"},"description":"Create Tickets Response."}},"summary":"Create Tickets","description":"This endpoint allows creating tickets for a set of provided paths."}},"/terrain/secured/filesystem/delete-tickets":{"post":{"tags":["filesystem"],"parameters":[{"in":"body","name":"Tickets","description":"","required":true,"schema":{"$ref":"#/definitions/Tickets"}}],"responses":{"500":{"schema":{"$ref":"#/definitions/DeleteTicketErrorResponses"},"description":"Potential Error Codes returned by this endpoint."},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/DeleteTicketsResponse"},"description":"Delete Tickets Response."}},"summary":"Delete Tickets","description":"This endpoint deletes the provided set of tickets."}},"/terrain/secured/filesystem/list-tickets":{"post":{"tags":["filesystem"],"parameters":[{"in":"body","name":"Paths","description":"","required":true,"schema":{"$ref":"#/definitions/Paths"}}],"responses":{"500":{"schema":{"$ref":"#/definitions/ListTicketErrorResponses"},"description":"Potential Error Codes returned by this endpoint."},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/ListTicketsDocumentation"},"description":"List Tickets Response."}},"summary":"List Tickets","description":"This endpoint lists tickets for a set of provided paths."}},"/terrain/secured/filesystem/display-download":{"get":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/paged-directory":{"get":{"tags":["filesystem"],"parameters":[{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":true,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["datecreated","path","name","datemodified","size"]},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"entity-type","description":"The type of folder items to include in the response.","required":false,"type":"string","enum":["folder","any","file"]},{"in":"query","name":"info-type","description":"A list of info-types with which to filter a folder's result items.","required":false,"type":"array","items":{"type":"string","enum":["pir","gde","clustalw","vcf","vcfgz","gcgblast","newick","msf","bowtie","bash","pdf","selex","bigbed","ht-analysis-path-list","phyloxml","fasta","csv","nexus","gcg","blast","gff","bedgz","hmmer","genbank","fastxy","gcgfasta","perl","multi-input-path-list","embl","nexml","genscan","bigwig","gtf","sff","mega","codata","tcsh","tsv","rsf","bed","jar","stockholm","phylip","fastq","unknown","mase","sh","bam","python","game","ace","prodom","zip","swiss","csh"]}},{"in":"query","name":"path","description":"The path to the folder in the data store.","required":true,"type":"string"},{"in":"query","name":"sort-col","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["datecreated","path","name","datemodified","size"]}],"summary":"List Folder Contents","description":"Provides a paged listing of the contents of a folder in the data store.","responses":{"200":{"schema":{"$ref":"#/definitions/PagedFolderListing"},"description":""}}}},"/terrain/secured/filesystem/path-list-creator":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/directories":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/directory/create":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/rename":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/delete":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/delete-contents":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/move":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/move-contents":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/file/manifest":{"get":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/user-permissions":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/restore":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/restore-all":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/trash":{"delete":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/read-chunk":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/read-csv-chunk":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/anon-files":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/metadata":{"get":{"parameters":[{"in":"query","name":"attribute","description":"Attribute names to search for.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"value","description":"Values to search for.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"unit","description":"Units to search for.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"target-id","description":"Target IDs to search for.","required":false,"type":"array","items":{"type":"string","format":"uuid"},"collectionFormat":"multi"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AvuList"},"description":""}},"summary":"List Metadata AVUs.","description":"Lists Metadata AVUs matching parameters in the query string."}},"/terrain/secured/filesystem/metadata/csv-parser":{"post":{"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/metadata/search":{"post":{"parameters":[{"in":"body","name":"AvuSearchParams","description":"","required":true,"schema":{"$ref":"#/definitions/AvuSearchParams"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AvuList"},"description":""}},"summary":"List AVUs.","description":"Lists AVUs matching parameters in the request body."}},"/terrain/secured/filesystem/metadata/templates":{"get":{"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/metadata/template/{template-id}":{"get":{"parameters":[{"in":"path","name":"template-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/metadata/template/{template-id}/blank-csv":{"get":{"parameters":[{"in":"path","name":"template-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/metadata/template/{template-id}/guide-csv":{"get":{"parameters":[{"in":"path","name":"template-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/metadata/template/{template-id}/zip-csv":{"get":{"parameters":[{"in":"path","name":"template-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/metadata/template/attr/{attr-id}":{"get":{"parameters":[{"in":"path","name":"attr-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/{data-id}/metadata":{"get":{"parameters":[{"in":"path","name":"data-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}},"post":{"parameters":[{"in":"path","name":"data-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/{data-id}/metadata/copy":{"post":{"parameters":[{"in":"path","name":"data-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/{data-id}/metadata/save":{"post":{"parameters":[{"in":"path","name":"data-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/{data-id}/ore/save":{"post":{"parameters":[{"in":"path","name":"data-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/secured/filesystem/search-documentation":{"get":{"tags":["filesystem"],"summary":"Get additional documentation for the search endpoint","responses":{"200":{"schema":{},"description":""}},"description":"Returns documentation of the available querydsl clauses and their\n                    arguments/types, plus the list of available sort fields."}},"/terrain/secured/filesystem/search":{"post":{"tags":["filesystem"],"summary":"Perform a data search","responses":{"200":{"schema":{},"description":""}},"parameters":[{"in":"body","name":"SearchRequest","description":"","required":true,"schema":{"$ref":"#/definitions/SearchRequest"}}],"description":"Search utilizing the querydsl.\n                This endpoint automatically filters results to those the user can see, and adds a\n                `permission` field that summarizes the requesting user's effective permission on each result."}},"/terrain/secured/oauth/access-code/{api-name}":{"get":{"tags":["oauth"],"parameters":[{"in":"path","name":"api-name","description":"The name of the external API","required":true,"type":"string"},{"in":"query","name":"code","description":"The authorization code used to obtain the access token.","required":true,"type":"string"},{"in":"query","name":"state","description":"The authorization state information.","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/OAuthCallbackResponse"},"description":""}},"summary":"Obtain an OAuth access token for an authorization code","description":"Exchanges an OAuth authorization code for an access token and stores it for the authenticated user.\n   This endpoint is called as part of the OAuth callback flow."}},"/terrain/secured/oauth/redirect-uris":{"get":{"tags":["oauth"],"summary":"List OAuth redirect URIs","description":"Returns a set of OAuth redirect URIs if the user hasn't authenticated with the remote API yet.","responses":{"200":{"schema":{"$ref":"#/definitions/RedirectUrisDoc"},"description":""}}}},"/terrain/secured/oauth/token-info/{api-name}":{"get":{"tags":["oauth"],"parameters":[{"in":"path","name":"api-name","description":"The name of the external API","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/TokenInfo"},"description":""}},"summary":"Get OAuth token info","description":"Returns information about an OAuth access token, not including the token itself."},"delete":{"tags":["oauth"],"parameters":[{"in":"path","name":"api-name","description":"The name of the external API","required":true,"type":"string"}],"summary":"Delete OAuth token info","description":"Removes a user's OAuth access token from the DE.","responses":{"default":{"description":""}}}},"/terrain/secured/favorites/filesystem/{entry-id}":{"put":{"tags":["favorites"],"parameters":[{"in":"path","name":"entry-id","description":"The UUID assigned to the file or folder","required":true,"type":"string","format":"uuid"}],"summary":"Add a Favorite File or Folder","description":"Adds a file or folder to the list of favorites.","responses":{"default":{"description":""}}},"delete":{"tags":["favorites"],"parameters":[{"in":"path","name":"entry-id","description":"The UUID assigned to the file or folder","required":true,"type":"string","format":"uuid"}],"summary":"Remove a Favorite File or Folder","description":"Rmoves a file or folder from the list of favorites.","responses":{"default":{"description":""}}}},"/terrain/secured/favorites/filesystem":{"get":{"tags":["favorites"],"summary":"List Favorite Files and Folders","parameters":[{"in":"query","name":"sort-col","description":"The column to sort the listing by","required":true,"type":"string","enum":["name","size","id","datecreated","lastmodified"]},{"in":"query","name":"sort-dir","description":"The direction to sort the listing","required":true,"type":"string","enum":["desc","asc"]},{"in":"query","name":"limit","description":"The maximum number of entries to return in the listing","required":true,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"The sequential index of the first entry to display in the listing","required":true,"type":"integer","format":"int64"},{"in":"query","name":"entity-type","description":"This parameter can be used to limit the listing to files or folders","required":false,"type":"string","enum":["folder","file","any"]},{"in":"query","name":"info-type","description":"This parameter can be used to limit the listing to specific file types","required":false,"type":"array","items":{"type":"string","enum":["pir","gde","clustalw","vcf","vcfgz","gcgblast","newick","msf","bowtie","bash","pdf","selex","bigbed","ht-analysis-path-list","phyloxml","fasta","csv","nexus","gcg","blast","gff","bedgz","hmmer","genbank","fastxy","gcgfasta","perl","multi-input-path-list","embl","nexml","genscan","bigwig","gtf","sff","mega","codata","tcsh","tsv","rsf","bed","jar","stockholm","phylip","fastq","unknown","mase","sh","bam","python","game","ace","prodom","zip","swiss","csh"]},"collectionFormat":"multi"}],"description":"Lists files and folders that the user has marked as favorites.","responses":{"default":{"description":""}}},"delete":{"tags":["favorites"],"summary":"Remove All Favorite Files or Folders","parameters":[{"in":"query","name":"entity-type","description":"This parameter can be used to limit the removal to only files or folders","required":false,"type":"string","enum":["folder","file","any"]}],"description":"Removes all files, folders, or both from the list of favorites.","responses":{"default":{"description":""}}}},"/terrain/secured/favorites/filter":{"post":{"tags":["favorites"],"summary":"Filter File or Folder IDs","parameters":[{"in":"body","name":"UuidsToFilter","description":"","required":true,"schema":{"$ref":"#/definitions/UuidsToFilter"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/FilteredUuids"},"description":""}},"description":"Returns only IDs that correspond to files or folders that are marked as favorites."}},"/terrain/secured/filesystem/entry/tags":{"get":{"tags":["tags"],"summary":"List All Attached Tags for a User","description":"This endpoint lists all tags that have been attached to a file or folder by a user.","responses":{"200":{"schema":{"$ref":"#/definitions/AttachedTagsListing"},"description":"Attached tags are listed in the response"},"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"}}},"delete":{"tags":["tags"],"summary":"Permanently Delete All Attached Tags for a User","description":"This endpoint permanently deletes all tag attachments that have been added to a file or folder by a user.","responses":{"200":{"description":"The attached tags were successfully deleted"},"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"}}}},"/terrain/secured/filesystem/entry/{entry-id}/tags":{"get":{"tags":["tags"],"parameters":[{"in":"path","name":"entry-id","description":"The target item's UUID","required":true,"type":"string","format":"uuid"}],"summary":"List Attached Tags","description":"This endpoint lists the tags of the user that are attached to the indicated file or folder.","responses":{"200":{"schema":{"$ref":"#/definitions/TagList"},"description":"The tags are listed in the response"},"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"}}},"patch":{"tags":["tags"],"parameters":[{"in":"path","name":"entry-id","description":"The target item's UUID","required":true,"type":"string","format":"uuid"},{"in":"query","name":"type","description":"Whether to attach or detach the provided set of tags to the file/folder","required":true,"type":"string","enum":["detach","attach"]},{"in":"body","name":"TagIdList","description":"","required":true,"schema":{"$ref":"#/definitions/TagIdList"}}],"summary":"Attach/Detach Tags to a File/Folder","description":"\nDepending on the `type` parameter, this endpoint either attaches a set of the authenticated user's\ntags to the indicated file or folder, or it detaches the set.","responses":{"200":{"description":"The tags were attached or detached from the file or folder"},"400":{"schema":{"$ref":"#/definitions/ErrorResponseBadTagRequest"},"description":"The `type` wasn't provided or had a value other than `attach` or `detach`;\n                             or the request body wasn't syntactically correct"},"404":{"schema":{"$ref":"#/definitions/ErrorResponseNotFound"},"description":"One of the provided tag Ids doesn't map to a tag for the authenticated user"},"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"}}}},"/terrain/secured/tags/suggestions":{"get":{"tags":["tags"],"parameters":[{"in":"query","name":"contains","description":"The value fragment","required":true,"type":"string"},{"in":"query","name":"limit","description":"The maximum number of suggestions to return. No limit means return all","required":false,"type":"integer","format":"int64"}],"summary":"Suggest a Tag","description":"\nGiven a textual fragment of a tag's value, this endpoint will list up to a given number of the\nauthenticated user's tags that contain the fragment.","responses":{"200":{"schema":{"$ref":"#/definitions/TagList"},"description":"zero or more suggestions were returned"},"400":{"schema":{"$ref":"#/definitions/ErrorResponseIllegalArgument"},"description":"the `contains` parameter was missing or\n                                the `limit` parameter was set to a something other than a non-negative number."},"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"}}}},"/terrain/secured/tags/user":{"get":{"tags":["tags"],"summary":"List Tags Defined by a User","description":"This endpoint lists all of the tags defined by a user.","responses":{"200":{"schema":{"$ref":"#/definitions/TagList"},"description":"The tags are listed in the response"},"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"}}},"delete":{"tags":["tags"],"summary":"Delete Tags Defined by a User","description":"This endpoint deletes all tags defined by the current user. Corresponding attached tags will also be deleted.","responses":{"200":{"description":"The attached tags were successfully deleted"},"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"}}},"post":{"tags":["tags"],"parameters":[{"in":"body","name":"TagRequest","description":"The user tag to create.","required":true,"schema":{"$ref":"#/definitions/TagRequest"}}],"summary":"Create a Tag","description":"This endpoint creates a tag for use by the authenticated user.","responses":{"200":{"schema":{"$ref":"#/definitions/TagId"},"description":"The tag was successfully created"},"400":{"schema":{"$ref":"#/definitions/ErrorResponseBadTagRequest"},"description":"The `value` was not unique, too long,\n                             or the request body wasn't syntactically correct"},"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"}}}},"/terrain/secured/tags/user/{tag-id}":{"patch":{"tags":["tags"],"parameters":[{"in":"path","name":"tag-id","description":"The tag's UUID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"TagUpdateRequest","description":"The tag fields to update.","required":true,"schema":{"$ref":"#/definitions/TagUpdateRequest"}}],"summary":"Update Tag Labels/Descriptions","description":"This endpoint allows a tag's label and description to be modified by the owning user.","responses":{"200":{"description":"The tag was successfully updated"},"400":{"schema":{"$ref":"#/definitions/ErrorResponseBadTagRequest"},"description":"The `value` was not unique, too long,\n                             or the request body wasn't syntactically correct"},"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"}}},"delete":{"tags":["tags"],"parameters":[{"in":"path","name":"tag-id","description":"The tag's UUID","required":true,"type":"string","format":"uuid"}],"summary":"Delete a Tag","description":"This endpoint allows a user tag to be deleted, detaching it from all metadata.","responses":{"200":{"description":"The tag was successfully deleted"},"404":{"schema":{"$ref":"#/definitions/ErrorResponseNotFound"},"description":"`tag-id` wasn't a UUID of a tag owned by the authenticated user"},"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"}}}},"/terrain/secured/filesystem/entry/{entry-id}/comments":{"get":{"parameters":[{"in":"path","name":"entry-id","description":"The UUID assigned to the file or folder","required":true,"type":"string","format":"uuid"}],"tags":["filesystem"],"summary":"Get File or Folder Comments","responses":{"200":{"schema":{"$ref":"#/definitions/CommentList"},"description":""}},"description":"Lists all of the comments associated with a file or folder in the data store."},"post":{"parameters":[{"in":"path","name":"entry-id","description":"The UUID assigned to the file or folder","required":true,"type":"string","format":"uuid"},{"in":"body","name":"CommentRequest","description":"The comment to add","required":true,"schema":{"$ref":"#/definitions/CommentRequest"}}],"tags":["filesystem"],"summary":"Add a File or Folder Comment","responses":{"200":{"schema":{"$ref":"#/definitions/CommentResponse"},"description":""}},"description":"Adds a comment to the file or folder with the given ID."}},"/terrain/secured/filesystem/entry/{entry-id}/comments/{comment-id}":{"patch":{"parameters":[{"in":"path","name":"entry-id","description":"The UUID assigned to the file or folder","required":true,"type":"string","format":"uuid"},{"in":"path","name":"comment-id","description":"The comment's UUID","required":true,"type":"string","format":"uuid"},{"in":"query","name":"retracted","description":"Whether to retract the comment (`true`) or readmit a retraction (`false`)","required":true,"type":"boolean"}],"tags":["filesystem"],"summary":"Retract or Readmit a File or Folder Comment","description":"Allows the user who originally submitted a comment to retract a file or folder comment that has been made, or to readmit\na comment that has previously been retracted.\n","responses":{"default":{"description":""}}}},"/terrain/dashboard":{"get":{"tags":["dashboard"],"parameters":[{"in":"query","name":"limit","description":"The number of responses to include in each field","required":false,"type":"integer","format":"int64","allowEmptyValue":true},{"in":"query","name":"start-date-interval","description":"The amount of time in the past to search for usages of apps to include in the list of recently used apps (e.g. \"1 year\", \"1 week\", or \"2 days\")","required":false,"type":"string","allowEmptyValue":true}],"responses":{"200":{"schema":{"$ref":"#/definitions/DashboardAggregatorResponse"},"description":""}},"summary":"Get data for the dashboard","description":"Returns data for populating the dashboard view."}},"/terrain/filesystem/stat":{"post":{"tags":["filesystem"],"parameters":[{"in":"body","name":"OptionalPathsOrDataIds","description":"The path or data ids of the data objects to gather status information on.","required":true,"schema":{"$ref":"#/definitions/OptionalPathsOrDataIds"}}],"responses":{"500":{"schema":{"$ref":"#/definitions/StatErrorResponses"},"description":"Potential Error Codes returned by this endpoint."},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/StatResponse"},"description":"File and Folder Status Response."}},"summary":"File and Folder Status Information","description":"This endpoint allows the caller to get information about many files and folders at once."}},"/terrain/quicklaunches/apps/{app-id}":{"get":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/QuickLaunch"}},"description":""}},"summary":"Get all of the Quick Launches for a user by app UUID","description":"Get all of the Quick Launches for a user by app UUID.\n          The user must have access to the Quick Launch"}},"/terrain/quicklaunches/favorites":{"get":{"tags":["analyses-quicklaunches"],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/QuickLaunchFavorite"}},"description":""}},"summary":"Get information about all favorited Quick Launches","description":"Get in information about all favorited Quick Launches by the\n        logged in user, including their UUIDs and Quick Launch UUIDS"},"post":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"body","name":"NewQuickLaunchFavorite","description":"","required":true,"schema":{"$ref":"#/definitions/NewQuickLaunchFavorite"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/QuickLaunchFavorite"},"description":""}},"summary":"Favorite a Quick Launch","description":"Favorite a Quick Launch for the logged in user"}},"/terrain/quicklaunches/favorites/{fave-id}":{"get":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"path","name":"fave-id","description":"The UUID of a Quick Launch favorite","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/QuickLaunchFavorite"},"description":""}},"summary":"Get information for a favorited Quick Launch","description":"Get information for a favorited Quick Launch, including the\n          UUID, the user that favorited it, and the Quick Launch UUID"},"delete":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"path","name":"fave-id","description":"The UUID of a Quick Launch favorite","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/DeletionResponse"},"description":""}},"summary":"Un-favorite a Quick Launch","description":"Un-favorite a Quick Launch for the logged in user. Does not\n          delete the Quick Launch, just the entry that indicated that it was a\n          favorite of the user"}},"/terrain/quicklaunches/defaults/user":{"get":{"tags":["analyses-quicklaunches"],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/QuickLaunchUserDefault"}},"description":""}},"summary":"Get information for all of the user-defined Quick Launch defaults\n          for the logged in user","description":"Get information for all of the user-defined Quick Launch\n          defaults for the logged-in user. Includes all of the info returned by\n          the endpoint that lists individual user defaults"},"post":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"body","name":"NewQuickLaunchUserDefault","description":"","required":true,"schema":{"$ref":"#/definitions/NewQuickLaunchUserDefault"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/QuickLaunchUserDefault"},"description":""}},"summary":"Set a user-defined Quick Launch default","description":"Set a user-defined Quick Launch default for the logged-in\n          user"}},"/terrain/quicklaunches/defaults/user/{user-default-id}":{"get":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"path","name":"user-default-id","description":"The UUID of the a user-defined Quick Launch default","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/QuickLaunchUserDefault"},"description":""}},"summary":"Get information for a user-defined Quick Launch default","description":"Get information for a user-defined Quick Launch default.\n            These are not the ones defined by the app creator, they're the user\n            overrides"},"patch":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"path","name":"user-default-id","description":"The UUID of the a user-defined Quick Launch default","required":true,"type":"string","format":"uuid"},{"in":"body","name":"UpdateQuickLaunchUserDefault","description":"","required":true,"schema":{"$ref":"#/definitions/UpdateQuickLaunchUserDefault"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/QuickLaunchUserDefault"},"description":""}},"summary":"Edit a user-defined Quick Launch default","description":"Edit a user-defined Quick Launch default. Note that most or\n            all of the fields in the JSON body are optional"},"delete":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"path","name":"user-default-id","description":"The UUID of the a user-defined Quick Launch default","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/DeletionResponse"},"description":""}},"summary":"Delete a user-defined Quick Launch default","description":"Delete a user-defined Quick Launch default. Does not delete\n            the Quick Launch or the global Quick Launch default"}},"/terrain/quicklaunches/defaults/global":{"get":{"tags":["analyses-quicklaunches"],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/QuickLaunchGlobalDefault"}},"description":""}},"summary":"Get information for all of the globally-defined Quick Launch\n          defaults","description":"Get information for all of the globally-defined Quick Launch\n          defaults. Includes all of the info returned by the endpoint that lists\n          individual user defaults"},"post":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"body","name":"NewQuickLaunchGlobalDefault","description":"","required":true,"schema":{"$ref":"#/definitions/NewQuickLaunchGlobalDefault"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/QuickLaunchGlobalDefault"},"description":""}},"summary":"Set a globally-defined Quick Launch default","description":"Set a globally-defined Quick Launch default"}},"/terrain/quicklaunches/defaults/global/{global-default-id}":{"get":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"path","name":"global-default-id","description":"The UUID of a global Quick Launch default","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/QuickLaunchGlobalDefault"},"description":""}},"summary":"Get information for a globally-defined Quick Launch default","description":"Get information for a globally-defined Quick Launch default.\n            These are the ones defined by the app creator"},"patch":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"path","name":"global-default-id","description":"The UUID of a global Quick Launch default","required":true,"type":"string","format":"uuid"},{"in":"body","name":"UpdateQuickLaunchGlobalDefault","description":"","required":true,"schema":{"$ref":"#/definitions/UpdateQuickLaunchGlobalDefault"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/QuickLaunchGlobalDefault"},"description":""}},"summary":"Edit a globally-defined Quick Launch default","description":"Edit a globally-defined Quick Launch default. Note that most\n            or all of the fields in the JSON body are optional"},"delete":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"path","name":"global-default-id","description":"The UUID of a global Quick Launch default","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/DeletionResponse"},"description":""}},"summary":"Delete a globally-defined Quick Launch default","description":"Delete a globally-defined Quick Launch default"}},"/terrain/quicklaunches":{"get":{"tags":["analyses-quicklaunches"],"responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/QuickLaunch"}},"description":""}},"summary":"List Quick Launches created by the user","description":"List Quick Launches created by the user"},"post":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"body","name":"Body1347","description":"","required":true,"schema":{"$ref":"#/definitions/Body1347"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/QuickLaunch"},"description":""}},"summary":"Adds a Quick Launch to the database","description":"Adds a Quick Launch and corresponding submission information to the\n      database. The username passed in should already exist. A new UUID will be\n      assigned and returned."}},"/terrain/quicklaunches/{ql-id}/app-info":{"get":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"path","name":"ql-id","description":"The UUID of the Quick Launch","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppJobView"},"description":""}},"summary":"Returns app launch info based on the Quick Launch","description":"Returns app launch info based on the Quick Launch. Uses\n        the Quick Launch submission along with the app definition to form JSON\n        that the UI can use to create and populate an app launch window with\n        parameter values filled in"}},"/terrain/quicklaunches/{ql-id}":{"get":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"path","name":"ql-id","description":"The UUID of the Quick Launch","required":true,"type":"string","format":"uuid"}],"summary":"Get Quick Launch information by its UUID.","description":"Gets Quick Launch information, including the UUID, the name of\n        the user that owns it, and the submission JSON","responses":{"200":{"schema":{"$ref":"#/definitions/QuickLaunch"},"description":""}}},"patch":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"path","name":"ql-id","description":"The UUID of the Quick Launch","required":true,"type":"string","format":"uuid"},{"in":"body","name":"UpdateQuickLaunch","description":"","required":true,"schema":{"$ref":"#/definitions/UpdateQuickLaunch"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/QuickLaunch"},"description":""}},"summary":"Modifies an existing Quick Launch","description":"Modifies an existing Quick Launch, allowing the caller to change\n        owners and the contents of the submission JSON"},"delete":{"tags":["analyses-quicklaunches"],"parameters":[{"in":"path","name":"ql-id","description":"The UUID of the Quick Launch","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/DeletionResponse"},"description":""}},"summary":"Deletes a Quick Launch","description":"Deletes a Quick Launch from the database. Will returns a success\n        even if called on a Quick Launch that has either already been deleted or never\n        existed in the first place"}},"/terrain/instantlaunches/mappings/defaults/latest":{"get":{"tags":["instant-launches"],"summary":"The latest defaults for instant launch mappings","description":"The latest defaults for instant launch mappings,\n   which determine which files can be used with a particular instant launch","responses":{"200":{"schema":{"$ref":"#/definitions/DefaultInstantLaunchMapping"},"description":""}}}},"/terrain/instantlaunches":{"get":{"tags":["instant-launches"],"summary":"Lists instant launches","description":"Lists the instant launches available in the system","responses":{"200":{"schema":{"$ref":"#/definitions/InstantLaunchList"},"description":""}}},"put":{"tags":["instant-launches"],"summary":"Adds an instant launch","description":"Creates a new instant launch","parameters":[{"in":"body","name":"InstantLaunch","description":"","required":true,"schema":{"$ref":"#/definitions/InstantLaunch"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/InstantLaunch"},"description":""}}}},"/terrain/instantlaunches/full":{"get":{"tags":["instant-launches"],"summary":"Lists instant launches with more info","description":"Lists instant launches with quick launch, submission, and app information","responses":{"200":{"schema":{"$ref":"#/definitions/FullInstantLaunchList"},"description":""}}}},"/terrain/instantlaunches/metadata/full":{"get":{"tags":["instant-launches"],"summary":"Returns a listing containing full descriptions of instant launches","description":"Returns a listing containing full description of instant launches based on the metadata passed in","parameters":[{"in":"query","name":"attribute","description":"A list of attributes to filter metadata listings by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"value","description":"A list of values to filter metadata listing by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"unit","description":"A list of units to filter metadata listing by","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"}],"responses":{"200":{"schema":{"$ref":"#/definitions/FullInstantLaunchList"},"description":""}}}},"/terrain/instantlaunches/quicklaunches/public":{"get":{"tags":["instant-launches"],"summary":"Lists quick launches for public apps","description":"Lists public quick launches for public apps along with quick launches the user has access to","responses":{"200":{"schema":{"type":"array","items":{"$ref":"#/definitions/QuickLaunch"}},"description":""}}}},"/terrain/instantlaunches/{id}":{"get":{"tags":["instant-launches"],"parameters":[{"in":"path","name":"id","description":"The ID of the instant launch","required":true,"type":"string"}],"summary":"Returns an instant launch","description":"Returns an instant launch based on its UUID","responses":{"200":{"schema":{"$ref":"#/definitions/InstantLaunch"},"description":""}}},"post":{"tags":["instant-launches"],"parameters":[{"in":"path","name":"id","description":"The ID of the instant launch","required":true,"type":"string"},{"in":"body","name":"InstantLaunch","description":"","required":true,"schema":{"$ref":"#/definitions/InstantLaunch"}}],"summary":"Updates an instant launch","description":"Updates an instant launch's fields","responses":{"200":{"schema":{"$ref":"#/definitions/InstantLaunch"},"description":""}}},"delete":{"tags":["instant-launches"],"parameters":[{"in":"path","name":"id","description":"The ID of the instant launch","required":true,"type":"string"}],"summary":"Deletes an instant launch","description":"Deletes an instant launch by its UUID","responses":{"default":{"description":""}}}},"/terrain/instantlaunches/{id}/full":{"get":{"tags":["instant-launches"],"parameters":[{"in":"path","name":"id","description":"The ID of the instant launch","required":true,"type":"string"}],"summary":"Returns full description of an instant launch","description":"Returns full description of an instant launch, including more info about the quick launch, submission, and app","responses":{"200":{"schema":{"$ref":"#/definitions/FullInstantLaunch"},"description":""}}}},"/terrain/filetypes/type":{"post":{"tags":["data"],"summary":"Set or Remove File Type Labels","parameters":[{"in":"body","name":"FileType","description":"The file type to set","required":true,"schema":{"$ref":"#/definitions/FileType"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/FileTypeReturn"},"description":""}},"description":"Sets or clears a file type. The file type can be set by passing in the name of one of the supported file types, which\ncan be obtained by calling the `GET /secured/filetypes/type-list` endpoint, for example:\n\n``` json\n{\n    \"path\": \"/path/to/irods/file\",\n    \"type\": \"csv\"\n}\n```\n\nThe file type can be cleared by passing in the empty string as the file type:\n\n``` json\n{\n    \"path\": \"/path/to/irods/file\",\n    \"type\": \"\"\n}\n```\n"}},"/terrain/filetypes/type-list":{"get":{"tags":["data"],"summary":"List Supported File Type Labels","responses":{"200":{"schema":{"$ref":"#/definitions/TypesList"},"description":""}},"description":"Lists the file type labels supported by the Discovery Environment."}},"/terrain/share":{"post":{"tags":["data"],"summary":"Share Files or Folders","parameters":[{"in":"body","name":"SharingRequest","description":"","required":true,"schema":{"$ref":"#/definitions/SharingRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/SharingResponse"},"description":""}},"description":"Allows users to share files and folders with other users."}},"/terrain/unshare":{"post":{"tags":["data"],"summary":"Unshare Files or Folders","parameters":[{"in":"body","name":"UnshareRequest","description":"","required":true,"schema":{"$ref":"#/definitions/UnshareRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/UnshareResponse"},"description":""}},"description":"Allows users to revoke permissions to files and folders that have been granted to other users."}},"/terrain/saved-searches":{"get":{"tags":["data"],"summary":"Get Saved Searches","responses":{"200":{"schema":{"description":"Previously stored saved searches"},"description":""}},"description":"Allows the Discovery Environment UI to save search parameters for users. The response body is not predefined by the API;\nthis endpoint merely returns the JSON that was previously sent to the `POST /secured/saved-searches` endpoint.\n"},"post":{"tags":["data"],"summary":"Set Saved Searches","parameters":[{"in":"body","name":"","description":"","required":true,"schema":{"description":"The saved searches to store"}}],"description":"Stores the saved searches that will be available in the Discovery Environment. This endpoint replaces all existing saved\nsearches with a new set of saved searches. The request body does not have a pre-defined fomat. Any JSON that is sent to\nthis endpoint will merely be stored.\n","responses":{"default":{"description":""}}},"delete":{"tags":["data"],"summary":"Delete Saved Searches","description":"Deletes all previously saved searches for the authenticated user.","responses":{"default":{"description":""}}}},"/terrain/fileio/download":{"get":{"tags":["fileio"],"summary":"Retrieve File Contents","description":"Retrieves the contents of a file in the CyVerse Data Store.","parameters":[{"in":"query","name":"path","description":"The path to the file to download in the data store.","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/fileio/upload":{"post":{"tags":["fileio"],"summary":"Upload a File","description":"Uploads a file to the CyVerse Data Store.","parameters":[{"in":"query","name":"dest","description":"The destination directory for the uploaded file.","required":true,"type":"string"},{"in":"formData","name":"file","description":"","required":true,"type":"file"}],"consumes":["multipart/form-data"],"responses":{"200":{"schema":{"$ref":"#/definitions/FileStat"},"description":""}}}},"/terrain/fileio/urlupload":{"post":{"tags":["fileio"],"summary":"Upload a File from a URL","description":"Schedules a task to have the DE retrieve the contents of a new file in the data store from an FTP, HTTP, or HTTPS URL.","parameters":[{"in":"body","name":"UrlUploadRequestBody","description":"","required":true,"schema":{"$ref":"#/definitions/UrlUploadRequestBody"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/UrlUploadResponseBody"},"description":""}}}},"/terrain/fileio/save":{"post":{"tags":["fileio"],"summary":"Save a File","description":"Overwrites the contents of a file in the Data Store. The file must exist already for this endpoint to work. To save a new file, use the POST /terrain/secured/fileio/saveas endpoint.","parameters":[{"in":"body","name":"FileSaveRequestBody","description":"","required":true,"schema":{"$ref":"#/definitions/FileSaveRequestBody"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/FileStat"},"description":""}}}},"/terrain/fileio/saveas":{"post":{"tags":["fileio"],"summary":"Save a New File","description":"Creates a new file in the data store. The file must not exist for this endpoint to work. To overwrite an existing file, use the POST /terrain/secured/fileio/save endpoint.","parameters":[{"in":"body","name":"FileSaveRequestBody","description":"","required":true,"schema":{"$ref":"#/definitions/FileSaveRequestBody"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/FileStat"},"description":""}}}},"/terrain/filesystem/display-download":{"get":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/paged-directory":{"get":{"tags":["filesystem"],"parameters":[{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":true,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["datecreated","path","name","datemodified","size"]},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"entity-type","description":"The type of folder items to include in the response.","required":false,"type":"string","enum":["folder","any","file"]},{"in":"query","name":"info-type","description":"A list of info-types with which to filter a folder's result items.","required":false,"type":"array","items":{"type":"string","enum":["pir","gde","clustalw","vcf","vcfgz","gcgblast","newick","msf","bowtie","bash","pdf","selex","bigbed","ht-analysis-path-list","phyloxml","fasta","csv","nexus","gcg","blast","gff","bedgz","hmmer","genbank","fastxy","gcgfasta","perl","multi-input-path-list","embl","nexml","genscan","bigwig","gtf","sff","mega","codata","tcsh","tsv","rsf","bed","jar","stockholm","phylip","fastq","unknown","mase","sh","bam","python","game","ace","prodom","zip","swiss","csh"]}},{"in":"query","name":"path","description":"The path to the folder in the data store.","required":true,"type":"string"},{"in":"query","name":"sort-col","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["datecreated","path","name","datemodified","size"]}],"summary":"List Folder Contents","description":"Provides a paged listing of the contents of a folder in the data store.","responses":{"200":{"schema":{"$ref":"#/definitions/PagedFolderListing"},"description":""}}}},"/terrain/filesystem/path-list-creator":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/directories":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/directory/create":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/rename":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/delete":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/delete-contents":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/move":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/move-contents":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/file/manifest":{"get":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/user-permissions":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/restore":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/restore-all":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/trash":{"delete":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/read-chunk":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/read-csv-chunk":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/anon-files":{"post":{"tags":["filesystem"],"responses":{"default":{"description":""}}}},"/terrain/filesystem/metadata":{"get":{"parameters":[{"in":"query","name":"attribute","description":"Attribute names to search for.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"value","description":"Values to search for.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"unit","description":"Units to search for.","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"in":"query","name":"target-id","description":"Target IDs to search for.","required":false,"type":"array","items":{"type":"string","format":"uuid"},"collectionFormat":"multi"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AvuList"},"description":""}},"summary":"List Metadata AVUs.","description":"Lists Metadata AVUs matching parameters in the query string."}},"/terrain/filesystem/metadata/csv-parser":{"post":{"responses":{"default":{"description":""}}}},"/terrain/filesystem/metadata/search":{"post":{"parameters":[{"in":"body","name":"AvuSearchParams","description":"","required":true,"schema":{"$ref":"#/definitions/AvuSearchParams"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AvuList"},"description":""}},"summary":"List AVUs.","description":"Lists AVUs matching parameters in the request body."}},"/terrain/filesystem/metadata/templates":{"get":{"responses":{"default":{"description":""}}}},"/terrain/filesystem/metadata/template/{template-id}":{"get":{"parameters":[{"in":"path","name":"template-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/filesystem/metadata/template/{template-id}/blank-csv":{"get":{"parameters":[{"in":"path","name":"template-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/filesystem/metadata/template/{template-id}/guide-csv":{"get":{"parameters":[{"in":"path","name":"template-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/filesystem/metadata/template/{template-id}/zip-csv":{"get":{"parameters":[{"in":"path","name":"template-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/filesystem/metadata/template/attr/{attr-id}":{"get":{"parameters":[{"in":"path","name":"attr-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/filesystem/{data-id}/metadata":{"get":{"parameters":[{"in":"path","name":"data-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}},"post":{"parameters":[{"in":"path","name":"data-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/filesystem/{data-id}/metadata/copy":{"post":{"parameters":[{"in":"path","name":"data-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/filesystem/{data-id}/metadata/save":{"post":{"parameters":[{"in":"path","name":"data-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/filesystem/{data-id}/ore/save":{"post":{"parameters":[{"in":"path","name":"data-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""}}}},"/terrain/filesystem/search-documentation":{"get":{"tags":["filesystem"],"summary":"Get additional documentation for the search endpoint","responses":{"200":{"schema":{},"description":""}},"description":"Returns documentation of the available querydsl clauses and their\n                    arguments/types, plus the list of available sort fields."}},"/terrain/filesystem/search":{"post":{"tags":["filesystem"],"summary":"Perform a data search","responses":{"200":{"schema":{},"description":""}},"parameters":[{"in":"body","name":"SearchRequest","description":"","required":true,"schema":{"$ref":"#/definitions/SearchRequest"}}],"description":"Search utilizing the querydsl.\n                This endpoint automatically filters results to those the user can see, and adds a\n                `permission` field that summarizes the requesting user's effective permission on each result."}},"/terrain/alerts/all":{"get":{"tags":["notifications"],"responses":{"default":{"description":""}}}},"/terrain/alerts/active":{"get":{"tags":["notifications"],"responses":{"default":{"description":""}}}},"/terrain/apps/categories":{"get":{"tags":["app-categories"],"parameters":[{"in":"query","name":"public","description":"If set to `true`, then only app categories that are in a workspace that is marked as public in the database are returned.\n      If set to `false`, then only app categories that are in the user's workspace are returned.\n      If not set, then both public and the user's private categories are returned.","required":false,"type":"boolean"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppCategoryListing"},"description":""}},"summary":"List App Categories","description":"This service is used by the DE to obtain the list of app categories that are visible to the user."}},"/terrain/apps/categories/featured":{"get":{"tags":["app-categories"],"parameters":[{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["wiki_url","is_favorite","limitChecks","step_count","integrator_email","id","overall_job_type","isBlessed","average_rating","name","is_public","permission","edited_date","deleted","version","integrator_name","integration_date","beta","system_id","disabled","user_rating","description","version_id"]},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"app-type","description":"The type of app to include in the listing.","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppCategoryAppListing"},"description":""}},"summary":"List Featured Apps","description":"This service lists all of the apps within the Featured Apps category.\n   This endpoint accepts optional URL query parameters to limit and sort Apps, which will allow pagination of results."}},"/terrain/apps/categories/{system-id}/{category-id}":{"get":{"tags":["app-categories"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"category-id","description":"The App Category's UUID","required":true,"type":"string","format":"uuid"},{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["wiki_url","is_favorite","limitChecks","step_count","integrator_email","id","overall_job_type","isBlessed","average_rating","name","is_public","permission","edited_date","deleted","version","integrator_name","integration_date","beta","system_id","disabled","user_rating","description","version_id"]},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"app-type","description":"The type of app to include in the listing.","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppCategoryAppListing"},"description":""}},"summary":"List Apps in a Category","description":"This service lists all of the apps within an app category or any of its descendents.\n   The DE uses this service to obtain the list of apps when a user clicks on a category in the _Apps_ window.\n   This endpoint accepts optional URL query parameters to limit and sort Apps, which will allow pagination of results."}},"/terrain/apps/{app-id}/metadata":{"get":{"tags":["app-metadata"],"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AvuList"},"description":""}},"summary":"View all Metadata AVUs","description":"Lists all AVUs associated with an app.\n   The authenticated user must have `read` permission to view this metadata."},"post":{"tags":["app-metadata"],"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AvuListRequest","description":"The Metadata AVU update request","required":true,"schema":{"$ref":"#/definitions/AvuListRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AvuList"},"description":""}},"summary":"Add/Update Metadata AVUs","description":"Adds or updates Metadata AVUs on the app.\n   The authenticated user must have `write` permission to edit this metadata,\n   and the app's name must not duplicate the name of any other app (visible to the requesting user)\n   that also has any of the ontology hierarchy AVUs given in the request."},"put":{"tags":["app-metadata"],"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"body","name":"SetAvuRequest","description":"The Metadata AVU save request","required":true,"schema":{"$ref":"#/definitions/SetAvuRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AvuList"},"description":""}},"summary":"Set Metadata AVUs","description":"Sets Metadata AVUs on the app.\n   The authenticated user must have `write` permission to edit this metadata,\n   and the app's name must not duplicate the name of any other app (visible to the requesting user)\n   that also has any of the ontology hierarchy AVUs given in the request."}},"/terrain/apps/{app-id}/comments":{"get":{"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"}],"tags":["apps"],"summary":"Get App Comments","responses":{"200":{"schema":{"$ref":"#/definitions/CommentList"},"description":""}},"description":"Lists all of the comments associated with an app."},"post":{"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"body","name":"CommentRequest","description":"The comment to add","required":true,"schema":{"$ref":"#/definitions/CommentRequest"}}],"tags":["apps"],"summary":"Add an App Comment","responses":{"200":{"schema":{"$ref":"#/definitions/CommentResponse"},"description":""}},"description":"Adds a comment to the app with the given ID."}},"/terrain/apps/{app-id}/comments/{comment-id}":{"patch":{"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"comment-id","description":"The comment's UUID","required":true,"type":"string","format":"uuid"},{"in":"query","name":"retracted","description":"Whether to retract the comment (`true`) or readmit a retraction (`false`)","required":true,"type":"boolean"}],"tags":["apps"],"summary":"Retract or Readmit an App Comment","description":"Allows the user who originally submitted a comment to retract an app comment that has been made, or to readmit a comment\nthat has previously been retracted.\n","responses":{"default":{"description":""}}}},"/terrain/apps/hierarchies":{"get":{"tags":["app-hierarchies"],"responses":{"200":{"schema":{"$ref":"#/definitions/OntologyHierarchyList"},"description":""}},"summary":"List App Hierarchies","description":"Lists all hierarchies saved for the active ontology version."}},"/terrain/apps/hierarchies/{root-iri}":{"get":{"tags":["app-hierarchies"],"parameters":[{"in":"path","name":"root-iri","description":"A unique Class IRI","required":true,"type":"string"},{"in":"query","name":"attr","description":"The metadata attribute that stores class IRIs under the given root IRI","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/OntologyHierarchy"},"description":""}},"summary":"List App Category Hierarchy","description":"Gets the list of app categories that are visible to the user for the active ontology version,\n   rooted at the given `root-iri`."}},"/terrain/apps/hierarchies/{root-iri}/apps":{"get":{"tags":["app-hierarchies"],"parameters":[{"in":"path","name":"root-iri","description":"A unique Class IRI","required":true,"type":"string"},{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["wiki_url","is_favorite","limitChecks","step_count","integrator_email","id","overall_job_type","isBlessed","average_rating","name","is_public","permission","edited_date","deleted","version","integrator_name","integration_date","beta","system_id","disabled","user_rating","description","version_id"]},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"app-type","description":"The type of app to include in the listing.","required":false,"type":"string"},{"in":"query","name":"attr","description":"The metadata attribute that stores class IRIs under the given root IRI","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppListing"},"description":""}},"summary":"List Apps in a Category","description":"Lists all of the apps under an app category hierarchy that are visible to the user."}},"/terrain/apps/hierarchies/{root-iri}/unclassified":{"get":{"tags":["app-hierarchies"],"parameters":[{"in":"path","name":"root-iri","description":"A unique Class IRI","required":true,"type":"string"},{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["wiki_url","is_favorite","limitChecks","step_count","integrator_email","id","overall_job_type","isBlessed","average_rating","name","is_public","permission","edited_date","deleted","version","integrator_name","integration_date","beta","system_id","disabled","user_rating","description","version_id"]},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"app-type","description":"The type of app to include in the listing.","required":false,"type":"string"},{"in":"query","name":"attr","description":"The metadata attribute that stores class IRIs under the given root IRI","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppListing"},"description":""}},"summary":"List Unclassified Apps","description":"Lists all of the apps that are visible to the user that are not under the given app category\n   or any of its subcategories."}},"/terrain/apps/communities/{community-id}/apps":{"get":{"tags":["app-communities"],"parameters":[{"in":"path","name":"community-id","description":"The full group name of the App Community","required":true,"type":"string"},{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["wiki_url","is_favorite","limitChecks","step_count","integrator_email","id","overall_job_type","isBlessed","average_rating","name","is_public","permission","edited_date","deleted","version","integrator_name","integration_date","beta","system_id","disabled","user_rating","description","version_id"]},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"app-type","description":"The type of app to include in the listing.","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppListing"},"description":""}},"summary":"List Apps in a Community","description":"Lists all of the apps under an App Community that are visible to the user."}},"/terrain/apps/{app-id}/communities":{"delete":{"tags":["app-community-tags"],"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AppCategoryMetadataDeleteRequest","description":"Community metadata to remove from the App.","required":true,"schema":{"$ref":"#/definitions/AppCategoryMetadataDeleteRequest"}}],"summary":"Remove Community Metadata AVUs","description":"Removes the given Community AVUs associated with an app.\n   The authenticated user must be a community admin for every Community AVU in the request,\n   in order to remove those AVUs.","responses":{"default":{"description":""}}},"post":{"tags":["app-community-tags"],"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AppCategoryMetadataAddRequest","description":"Community metadata to add to the App.","required":true,"schema":{"$ref":"#/definitions/AppCategoryMetadataAddRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AvuList"},"description":""}},"summary":"Add/Update Community Metadata AVUs","description":"Adds or updates Community Metadata AVUs on the app.\n   The authenticated user must be a community admin for every Community AVU in the request,\n   in order to add or edit this metadata."}},"/terrain/apps/elements":{"get":{"tags":["app-element-types"],"parameters":[{"in":"query","name":"include-hidden","description":"True if hidden elements should be included in the results","required":false,"type":"boolean"}],"summary":"List All Available App Elements","description":"This endpoint may be used to obtain lists of all available elements that may be included in an App.","responses":{"default":{"description":""}}}},"/terrain/apps/elements/data-sources":{"get":{"tags":["app-element-types"],"responses":{"200":{"schema":{"$ref":"#/definitions/DataSourceListing"},"description":""}},"summary":"List App File Parameter Data Sources","description":"Data sources are the known possible sources for file parameters.\n   In most cases, file parameters will come from a plain file.\n   The only other options that are currently available are redirected standard output and redirected standard error output.\n   Both of these options apply only to file parameters that are associated with an output."}},"/terrain/apps/elements/file-formats":{"get":{"tags":["app-element-types"],"responses":{"200":{"schema":{"$ref":"#/definitions/FileFormatListing"},"description":""}},"summary":"List App Parameter File Formats","description":"The known file formats can be used to describe supported input or output formats for a tool.\n   For example, tools in the FASTX toolkit may support FASTA files,\n   several different varieties of FASTQ files and Barcode files,\n   among others."}},"/terrain/apps/elements/info-types":{"get":{"tags":["app-element-types"],"responses":{"200":{"schema":{"$ref":"#/definitions/InfoTypeListing"},"description":""}},"summary":"List Tool Info Types","description":"The known information types can be used to describe the type of information consumed or produced by a tool.\n   This is distinct from the data format because some data formats may contain multiple types of information\n   and some types of information can be described using multiple data formats.\n   For example, the Nexus format can contain multiple types of information, including phylogenetic trees.\n   And phylogenetic trees can also be represented in PhyloXML format, and a large number of other formats.\n   The file format and information type together identify the type of input consumed by a tool\n   or the type of output produced by a tool."}},"/terrain/apps/elements/parameter-types":{"get":{"tags":["app-element-types"],"parameters":[{"in":"query","name":"tool-type","description":"Filters results by tool type","required":false,"type":"string"},{"in":"query","name":"tool-id","description":"Filters results by tool identifier","required":false,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/ParameterTypeListing"},"description":""}},"summary":"List App Parameter Types","description":"Parameter types represent the types of information that can be passed to a tool.\n   For command-line tools, a parameter generally represents a command-line option\n   and the parameter type represents the type of data required by the command-line option.\n   For example a `Boolean` parameter generally corresponds to a single command-line flag that takes no arguments.\n   A `Text` parameter, on the other hand, generally represents some sort of textual information.\n   Some parameter types are not supported by all tool types,\n   so it is helpful in some cases to filter parameter types either by the tool type or optionally by the tool\n   (which is used to determine the tool type).\n   If you filter by both tool type and tool ID then the tool type will take precedence.\n   Including either an undefined tool type or an undefined tool type name will result in an error."}},"/terrain/apps/elements/rule-types":{"get":{"tags":["app-element-types"],"responses":{"200":{"schema":{"$ref":"#/definitions/RuleTypeListing"},"description":""}},"summary":"List App Parameter Rule Types","description":"Rule types represent types of validation rules that may be defined to validate user input.\n   For example, if a parameter value must be an integer between 1 and 10 then the `IntRange` rule type may be used.\n   Similarly, if a parameter value must contain data in a specific format, such as a phone number,\n   then the `Regex` rule type may be used."}},"/terrain/apps/elements/tool-types":{"get":{"tags":["app-element-types"],"responses":{"200":{"schema":{"$ref":"#/definitions/ToolTypeListing"},"description":""}},"summary":"List App Tool Types","description":"Tool types are known types of tools in the Discovery Environment.\n   Generally, there's a different tool type for each execution environment that is supported by the DE."}},"/terrain/apps/elements/value-types":{"get":{"tags":["app-element-types"],"responses":{"200":{"schema":{"$ref":"#/definitions/ValueTypeListing"},"description":""}},"summary":"List App Parameter and Rule Value Types","description":"If you look closely at the response schema for parameter types and rule types listings\n   then you'll notice that each parameter type has a single value type assocaited with it\n   and each rule type has one or more value types associated with it.\n   The purpose of value types is specifically to link parameter types and rule types.\n   The App Editor uses the value type to determine which types of rules can be applied to a parameter\n   that is being defined by the user."}},"/terrain/apps/pipelines":{"post":{"tags":["app-pipelines"],"parameters":[{"in":"body","name":"PipelineCreateRequest","description":"The Pipeline to create.","required":true,"schema":{"$ref":"#/definitions/PipelineCreateRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/Pipeline"},"description":""}},"summary":"Create a Pipeline","description":"This service adds a new Pipeline."}},"/terrain/apps/pipelines/{app-id}":{"put":{"tags":["app-pipelines"],"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"body","name":"PipelineUpdateRequest","description":"The Pipeline to update.","required":true,"schema":{"$ref":"#/definitions/PipelineUpdateRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/Pipeline"},"description":""}},"summary":"Update a Pipeline","description":"This service updates an existing Pipeline in the database,\n   as long as the Pipeline has not been submitted for public use."}},"/terrain/apps/pipelines/{app-id}/copy":{"post":{"tags":["app-pipelines"],"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/Pipeline"},"description":""}},"summary":"Make a Copy of a Pipeline Available for Editing","description":"This service can be used to make a copy of a Pipeline in the user's workspace.\n   This endpoint will copy the App details, steps, and mappings, but will not copy tasks used in the Pipeline steps."}},"/terrain/apps/pipelines/{app-id}/ui":{"get":{"tags":["app-pipelines"],"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/Pipeline"},"description":""}},"summary":"Make a Pipeline Available for Editing","description":"The DE uses this service to obtain a JSON representation of a Pipeline for editing.\n   The requesting user must have write permissions for the Pipeline, and it must not already be public."}},"/terrain/apps/pipelines/{app-id}/versions":{"post":{"tags":["app-pipelines"],"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"body","name":"PipelineVersionRequest","description":"The Pipeline Version to add.","required":true,"schema":{"$ref":"#/definitions/PipelineVersionRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/Pipeline"},"description":""}},"summary":"Add a new Pipeline Version","description":"This service adds a new Version to an existing Pipeline."}},"/terrain/apps/pipelines/{app-id}/versions/{version-id}":{"put":{"tags":["app-pipelines"],"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"PipelineUpdateRequest","description":"The Pipeline to update.","required":true,"schema":{"$ref":"#/definitions/PipelineUpdateRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/Pipeline"},"description":""}},"summary":"Update a Pipeline Version","description":"This service updates an existing Pipeline Version in the database,\n   as long as the Pipeline has not been submitted for public use."}},"/terrain/apps/pipelines/{app-id}/versions/{version-id}/copy":{"post":{"tags":["app-pipelines"],"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/Pipeline"},"description":""}},"summary":"Copy a Pipeline Version for Editing","description":"This service can be used to make a copy of a Pipeline's Version in the user's workspace.\n   This endpoint will copy the App details, steps, and mappings, but will not copy tasks used in the Pipeline steps."}},"/terrain/apps/pipelines/{app-id}/versions/{version-id}/ui":{"get":{"tags":["app-pipelines"],"parameters":[{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/Pipeline"},"description":""}},"summary":"Make a Pipeline Version Available for Editing","description":"The DE uses this service to obtain a JSON representation of a Pipeline Version for editing.\n   The requesting user must have write permissions for the Pipeline, and it must not already be public."}},"/terrain/apps":{"get":{"tags":["apps"],"parameters":[{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["total","wiki_url","is_favorite","average","limitChecks","step_count","integrator_email","id","overall_job_type","isBlessed","name","is_public","permission","edited_date","deleted","version","integrator_name","integration_date","beta","system_id","disabled","description","version_id"]},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"app-type","description":"The type of app to include in the listing.","required":false,"type":"string"},{"in":"query","name":"search","description":"The pattern to match in an App's Name, Description, Integrator Name, or Tool Name.","required":false,"type":"string"},{"in":"query","name":"start_date","description":"Filters out the app stats before this start date","required":false,"type":"string","format":"date-time"},{"in":"query","name":"end_date","description":"Filters out the apps stats after this end date","required":false,"type":"string","format":"date-time"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppListing"},"description":""}},"summary":"List Apps","description":"This service allows users to get a paged listing of all Apps accessible to the user.\n   If the `search` parameter is included, then the results are filtered by\n   the App name, description, integrator's name, tool name, or category name the app is under."}},"/terrain/apps/shredder":{"post":{"tags":["apps"],"parameters":[{"in":"body","name":"AppDeletionRequest","description":"List of App IDs to delete.","required":true,"schema":{"$ref":"#/definitions/AppDeletionRequest"}}],"summary":"Logically Deleting Apps","description":"One or more Apps can be marked as deleted in the DE without being completely removed from the database using this service.\n   **Note**: an attempt to delete an app that is already marked as deleted is treated as a no-op rather than an error condition.\n   If the App doesn't exist in the database at all, however, then that is treated as an error condition.","responses":{"default":{"description":""}}}},"/terrain/apps/permission-lister":{"post":{"tags":["apps"],"parameters":[{"in":"query","name":"full-listing","description":"If true, include permissions for the authenticated user as well","required":false,"type":"boolean"},{"in":"body","name":"AppPermissionListingRequest","description":"The app permission listing request.","required":true,"schema":{"$ref":"#/definitions/AppPermissionListingRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppPermissionListing"},"description":""}},"summary":"List App Permissions","description":"This endpoint allows the caller to list the permissions for one or more apps.\n   The authenticated user must have read permission on every app in the request body for this endpoint to succeed."}},"/terrain/apps/sharing":{"post":{"tags":["apps"],"parameters":[{"in":"body","name":"AppSharingRequest","description":"The app sharing request.","required":true,"schema":{"$ref":"#/definitions/AppSharingRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppSharingResponse"},"description":""}},"summary":"Add App Permissions","description":"This endpoint allows the caller to share multiple apps with multiple users.\n   The authenticated user must have ownership permission to every app in the request body for this endpoint to fully succeed.\n   Note: this is a potentially slow operation and the response is returned synchronously.\n   The DE UI handles this by allowing the user to continue working while the request is being processed.\n   When calling this endpoint, please be sure that the response timeout is long enough.\n   Using a response timeout that is too short will result in an exception on the client side.\n   On the server side, the result of the sharing operation when a connection is lost is undefined.\n   It may be worthwhile to repeat failed or timed out calls to this endpoint."}},"/terrain/apps/unsharing":{"post":{"tags":["apps"],"parameters":[{"in":"body","name":"AppUnsharingRequest","description":"The app unsharing request.","required":true,"schema":{"$ref":"#/definitions/AppUnsharingRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppUnsharingResponse"},"description":""}},"summary":"Revoke App Permissions","description":"This endpoint allows the caller to revoke permission to access one or more apps from one or more users.\n   The authenticate user must have ownership permission to every app in the request body for this endoint to fully succeed.\n   Note: like app sharing, this is a potentially slow operation."}},"/terrain/apps/{system-id}":{"post":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"body","name":"AppRequest","description":"The App to add.","required":true,"schema":{"$ref":"#/definitions/AppRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/App"},"description":""}},"summary":"Add a new App.","description":"This service adds a new App to the user's workspace."}},"/terrain/apps/{system-id}/arg-preview":{"post":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"body","name":"AppPreviewRequest","description":"The App to preview.","required":true,"schema":{"$ref":"#/definitions/AppPreviewRequest"}}],"summary":"Preview Command Line Arguments","description":"The app integration utility in the DE uses this service to obtain an example list of command-line arguments\n   so that the user can tell what the command-line might look like without having to run a job using the app that is being integrated first.\n   The App request body also requires that each parameter contain a `value` field that contains the parameter value to include on the command line.\n   The response body is in the same format as the `/arg-preview` service in the JEX.\n   Please see the JEX documentation for more information.","responses":{"default":{"description":""}}}},"/terrain/apps/{system-id}/{app-id}":{"get":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"summary":"Obtain an app description.","responses":{"200":{"schema":{"$ref":"#/definitions/AppJobView"},"description":""}},"description":"This service allows the Discovery Environment user interface to obtain an app description\n   that can be used to construct a job submission form."},"delete":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"summary":"Logically Deleting an App","description":"An app can be marked as deleted in the DE without being completely removed from the database using this service.\n   **Note**: an attempt to delete an App that is already marked as deleted is treated as a no-op rather than an error condition.\n   If the App doesn't exist in the database at all, however, then that is treated as an error condition.","responses":{"default":{"description":""}}},"patch":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"body","name":"Body1355","description":"The App to update.","required":true,"schema":{"$ref":"#/definitions/Body1355"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/App"},"description":""}},"summary":"Update App Labels","description":"This service is capable of updating just the labels within a single-step app,\nand it allows apps that have already been made available for public use to be updated,\nwhich helps to eliminate administrative thrash for app updates that only correct typographical errors.\nThe app's name must not duplicate the name of any other app (visible to the requesting user)\nunder the same categories as this app.\nUpon error, the response body contains an error code along with some additional information about the error.\n\n**Note**: Although this endpoint accepts all App fields,\nonly the `name` (except in parameters and parameter arguments),\n`version`, `description`, `label`, and `display` (only in parameter arguments)\nfields will be processed and updated by this endpoint.\n"},"put":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"body","name":"AppRequest","description":"The App to update.","required":true,"schema":{"$ref":"#/definitions/AppRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/App"},"description":""}},"summary":"Update an App","description":"This service updates a single-step App in the database, as long as the App has not been submitted for public use,\n   and the app's name must not duplicate the name of any other app (visible to the requesting user)\n   under the same categories as this app."}},"/terrain/apps/{system-id}/{app-id}/copy":{"post":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/App"},"description":""}},"summary":"Make a Copy of an App Available for Editing","description":"This service can be used to make a copy of an App in the user's workspace."}},"/terrain/apps/{system-id}/{app-id}/listing":{"get":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"summary":"List An App","responses":{"200":{"schema":{"$ref":"#/definitions/AppListing"},"description":""}},"description":"This service returns listing information for a single app. The Sonora UI uses this to provide a way to link\n   to a single app without displaying the app launch dialog."}},"/terrain/apps/{system-id}/{app-id}/details":{"get":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppDetails"},"description":""}},"summary":"Get App Details","description":"This service is used by the DE to obtain high-level details about a single App."}},"/terrain/apps/{system-id}/{app-id}/documentation":{"get":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppDocumentation"},"description":""}},"summary":"Get App Documentation","description":"This service is used by the DE to obtain documentation for a single App."},"patch":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"body","name":"AppDocumentationRequest","description":"The App Documentation Request","required":true,"schema":{"$ref":"#/definitions/AppDocumentationRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppDocumentation"},"description":""}},"summary":"Update App Documentation","description":"This service is used by the DE to update documentation for a single App."},"post":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"body","name":"AppDocumentationRequest","description":"The App Documentation Request","required":true,"schema":{"$ref":"#/definitions/AppDocumentationRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppDocumentation"},"description":""}},"summary":"Add App Documentation","description":"This service is used by the DE to add documentation for a single App."}},"/terrain/apps/{system-id}/{app-id}/favorite":{"delete":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"summary":"Removing an App as a Favorite","description":"Apps can be marked as favorites in the DE, which allows users to access them without having to search.\n   This service is used to remove an App from a user's favorites list.","responses":{"default":{"description":""}}},"put":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"summary":"Marking an App as a Favorite","description":"Apps can be marked as favorites in the DE, which allows users to access them without having to search.\n   This service is used to add an App to a user's favorites list.","responses":{"default":{"description":""}}}},"/terrain/apps/{system-id}/{app-id}/integration-data":{"get":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/IntegrationData"},"description":""}},"summary":"Return the Integration Data Record for an App","description":"This service returns the integration data associated with an app."}},"/terrain/apps/{system-id}/{app-id}/is-publishable":{"get":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppPublishableResponse"},"description":""}},"summary":"Determine if an App Can be Made Public","description":"A multi-step App can't be made public if any of the Tasks that are included in it are not public.\n   This endpoint returns a true flag if the App is a single-step App\n   or it's a multistep App in which all of the Tasks included in the pipeline are public."}},"/terrain/apps/{system-id}/{app-id}/publish":{"post":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"body","name":"PublishAppRequest","description":"The user's Publish App Request.","required":true,"schema":{"$ref":"#/definitions/PublishAppRequest"}}],"summary":"Submit an App for Public Use","description":"This service can be used to submit a private App for public use.\n   The user supplies basic information about the App and a suggested location for it.\n   The service records the information and suggested location then places the App in the Beta category.\n   A Tito administrator can subsequently move the App to the suggested location at a later time if it proves to be useful.","responses":{"default":{"description":""}}}},"/terrain/apps/{system-id}/{app-id}/rating":{"delete":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/RatingResponse"},"description":""}},"summary":"Delete an App Rating","description":"The DE uses this service to remove a rating that a user has previously made.\n   This service deletes the authenticated user's rating for the corresponding app-id."},"post":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"},{"in":"body","name":"RatingRequest","description":"The user's new rating for this App.","required":true,"schema":{"$ref":"#/definitions/RatingRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/RatingResponse"},"description":""}},"summary":"Rate an App","description":"Users have the ability to rate an App for its usefulness, and this service provides the means to store the App rating.\n   This service accepts a rating level between one and five, inclusive,\n   and a comment identifier that refers to a comment in iPlant's Confluence wiki.\n   The rating is stored in the database and associated with the authenticated user."}},"/terrain/apps/{system-id}/{app-id}/tasks":{"get":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppTaskListing"},"description":""}},"summary":"List Tasks with File Parameters in an App","description":"When a pipeline is being created, the UI needs to know what types of files are consumed by\n   and what types of files are produced by each App's task in the pipeline.\n   This service provides that information."}},"/terrain/apps/{system-id}/{app-id}/tools":{"get":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppToolListing"},"description":""}},"summary":"List Tools used by an App","description":"This service lists information for all of the tools that are associated with an App.\n   This information used to be included in the results of the App listing service."}},"/terrain/apps/{system-id}/{app-id}/ui":{"get":{"tags":["apps"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"The App identifier","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/App"},"description":""}},"summary":"Make an App Available for Editing","description":"The app integration utility in the DE uses this service to obtain the App description JSON so that it can be edited.\n   The App must have been integrated by the requesting user."}},"/terrain/apps/{system-id}/{app-id}/versions":{"post":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AppVersionRequest","description":"The App Version to add.","required":true,"schema":{"$ref":"#/definitions/AppVersionRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/App"},"description":""}},"summary":"Add a new App Version.","description":"This service adds a new App Version to an existing App."},"put":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AppVersionOrderRequest","description":"","required":true,"schema":{"$ref":"#/definitions/AppVersionOrderRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/App"},"description":""}},"summary":"Set App Version Order","description":"This service allows App Versions to be reordered."}},"/terrain/apps/{system-id}/{app-id}/versions/{version-id}":{"delete":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"}],"summary":"Logically Deleting an App Version","description":"An app version can be marked as deleted in the DE without being completely removed from the database using this service.\n   **Note**: an attempt to delete an app version that is already marked as deleted is treated as a no-op rather than an error condition.\n   If the app version ID doesn't exist for the given app ID, however, then that is treated as an error condition.","responses":{"default":{"description":""}}},"get":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppJobView"},"description":""}},"summary":"Obtain an app description.","description":"This service allows the Discovery Environment user interface to obtain an app description\n   that can be used to construct a job submission form."},"patch":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"Body1356","description":"The App to update.","required":true,"schema":{"$ref":"#/definitions/Body1356"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/App"},"description":""}},"summary":"Update App Labels","description":"This service is capable of updating just the labels within a single-step app,\nand it allows apps that have already been made available for public use to be updated,\nwhich helps to eliminate administrative thrash for app updates that only correct typographical errors.\nThe app's name must not duplicate the name of any other app (visible to the requesting user)\nunder the same categories as this app.\nUpon error, the response body contains an error code along with some additional information about the error.\n\n**Note**: Although this endpoint accepts all App fields,\nonly the `name` (except in parameters and parameter arguments),\n`version`, `description`, `label`, and `display` (only in parameter arguments)\nfields will be processed and updated by this endpoint.\n"},"put":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AppRequest","description":"The App to update.","required":true,"schema":{"$ref":"#/definitions/AppRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/App"},"description":""}},"summary":"Update an App","description":"This service updates a single-step App in the database, as long as the App has not been submitted for public use,\n   and the app's name must not duplicate the name of any other app (visible to the requesting user)\n   under the same categories as this app."}},"/terrain/apps/{system-id}/{app-id}/versions/{version-id}/copy":{"post":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/App"},"description":""}},"summary":"Make a Copy of an App Available for Editing","description":"This service can be used to make a copy of an App in the user's workspace."}},"/terrain/apps/{system-id}/{app-id}/versions/{version-id}/details":{"get":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppDetails"},"description":""}},"summary":"Get App Details","description":"This service is used by the DE to obtain high-level details about a single App."}},"/terrain/apps/{system-id}/{app-id}/versions/{version-id}/documentation":{"get":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppDocumentation"},"description":""}},"summary":"Get App Documentation","description":"This service is used by the DE to obtain documentation for a single App."},"patch":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AppDocumentationRequest","description":"The App Documentation Request","required":true,"schema":{"$ref":"#/definitions/AppDocumentationRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppDocumentation"},"description":""}},"summary":"Update App Documentation","description":"This service is used by the DE to update documentation for a single App."},"post":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AppDocumentationRequest","description":"The App Documentation Request","required":true,"schema":{"$ref":"#/definitions/AppDocumentationRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppDocumentation"},"description":""}},"summary":"Add App Documentation","description":"This service is used by the DE to add documentation for a single App."}},"/terrain/apps/{system-id}/{app-id}/versions/{version-id}/integration-data":{"get":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/IntegrationData"},"description":""}},"summary":"Return the Integration Data Record for an App","description":"This service returns the integration data associated with an app."}},"/terrain/apps/{system-id}/{app-id}/versions/{version-id}/tasks":{"get":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppTaskListing"},"description":""}},"summary":"List Tasks with File Parameters in an App","description":"When a pipeline is being created, the UI needs to know what types of files are consumed by\n   and what types of files are produced by each App's task in the pipeline.\n   This service provides that information."}},"/terrain/apps/{system-id}/{app-id}/versions/{version-id}/tools":{"get":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppToolListing"},"description":""}},"summary":"List Tools used by an App","description":"This service lists information for all of the tools that are associated with an App.\n   This information used to be included in the results of the App listing service."}},"/terrain/apps/{system-id}/{app-id}/versions/{version-id}/ui":{"get":{"tags":["app-versions"],"parameters":[{"in":"path","name":"system-id","description":"The ID of the app execution system","required":true,"type":"string"},{"in":"path","name":"app-id","description":"A UUID that is used to identify the App","required":true,"type":"string","format":"uuid"},{"in":"path","name":"version-id","description":"The App's version ID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/App"},"description":""}},"summary":"Make an App Available for Editing","description":"The app integration utility in the DE uses this service to obtain the App description JSON so that it can be edited.\n   The App must have been integrated by the requesting user."}},"/terrain/qms/plans":{"get":{"tags":["qms"],"summary":"Returns a list of all plans registered in QMS","description":"Returns a list of all plans registered in QMS. New plans may be registered at run-time through QMS itself","responses":{"200":{"schema":{"$ref":"#/definitions/PlanListResponse"},"description":""}}}},"/terrain/qms/plans/{plan-id}":{"get":{"tags":["qms"],"summary":"Returns details about a single plan in QMS","description":"Returns details about a single plan in QMS. Plan is referenced by its UUID","parameters":[{"in":"path","name":"plan-id","description":"The UUID assigned to a plan in QMS","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/PlanResponse"},"description":""}}}},"/terrain/qms/resource-types":{"get":{"tags":["qms"],"summary":"List Resource Types","description":"Returns a list of all resource types registered in QMS","responses":{"200":{"schema":{"$ref":"#/definitions/ResourceTypesResponse"},"description":""}}}},"/terrain/qms/user/plan":{"get":{"tags":["qms"],"summary":"Returns details about the subscription","description":"Returns details about the subscription, including quota and usage information","responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionPlanResponse"},"description":""}}}},"/terrain/qms/user/subscriptions":{"get":{"tags":["qms"],"summary":"List Subscriptions For User","description":"Lists subscriptions for a user, including future subscriptions.","parameters":[{"in":"query","name":"include-expired","description":"True if expired subscriptions shoudld be included in the listing.","required":false,"type":"boolean"},{"in":"query","name":"cutoff","description":"The date and time to treat as the cutoff for expired subscriptions.","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/SubscriptionListingResponse"},"description":""}}}},"/terrain/qms/user/usages":{"get":{"tags":["qms"],"summary":"Returns a list of resource usages generated by the user","description":"Returns a list of resource usages generated by the user","responses":{"200":{"schema":{"$ref":"#/definitions/UsagesResponse"},"description":""}}}},"/terrain/support-email":{"post":{"tags":["support"],"parameters":[{"in":"body","name":"SupportEmailRequest","description":"","required":true,"schema":{"$ref":"#/definitions/SupportEmailRequest"}}],"summary":"Send an Email to Support","description":"Sends an email to the Support team.","responses":{"default":{"description":""}}}},"/terrain/analyses":{"get":{"tags":["analyses"],"parameters":[{"in":"query","name":"include-hidden","description":"True if hidden elements should be included in the results","required":false,"type":"boolean"},{"in":"query","name":"include-deleted","description":"True if deleted elements should be included in the results","required":false,"type":"boolean"},{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string"},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"filter","description":"Allows results to be filtered based on the value of some result field.\nThe format of this parameter is\n`[{\"field\":\"some_field\", \"value\":\"search-term\"}, ...]`,\nwhere `field` is the name of the field on which the filter is based and `value` is the search value.\nIf `field` is `name` or `app_name`, then `value` can be contained anywhere, case-insensitive, in the corresponding field.\nFor example, to obtain the list of all jobs that were executed using an application with `CACE` anywhere in its name,\nthe parameter value can be `[{\"field\":\"app_name\",\"value\":\"cace\"}]`.\nTo find a job with a specific `id`, the parameter value can be\n`[{\"field\":\"id\",\"value\":\"C09F5907-B2A2-4429-A11E-5B96F421C3C1\"}]`.\nTo find jobs associated with a specific `parent_id`, the parameter value can be\n`[{\"field\":\"parent_id\",\"value\":\"b4c2f624-7cbd-496e-adad-5be8d0d3b941\"}]`.\nIt's also possible to search for jobs without a parent using this parameter value:\n`[{\"field\":\"parent_id\",\"value\":null}]`.\nThe `ownership` field can be used to specify whether analyses that belong to the authenticated user\nor analyses that are shared with the authenticated user should be listed.\nIf the value is `all` then all analyses that are visible to the user will be listed.\nIf the value is `mine` then only analyses that were submitted by the user will be listed.\nIf the value is `theirs` then only analyses that have been shared with the user will be listed.\nBy default, all analyses are listed.\nThe `ownership` field is the only field for which only one filter value is supported.\nIf multiple `ownership` field values are specified then the first value specified is used.\nHere's an example: `[{\"field\":\"ownership\",\"value\":\"mine\"}]`.\n","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AnalysisList"},"description":""}},"summary":"List Analyses","description":"This service allows users to list analyses that they've previously submitted for execution."},"post":{"tags":["analyses"],"parameters":[{"in":"body","name":"AnalysisSubmission","description":"","required":true,"schema":{"$ref":"#/definitions/AnalysisSubmission"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AnalysisResponse"},"description":""}},"summary":"Submit an Analysis","description":"This service allows users to submit analyses for execution.\n   The `config` element in the analysis submission is a map\n   from parameter IDs as they appear in the response from the `/apps/:app-id` endpoint\n   to the desired values for those parameters."}},"/terrain/analyses/stats":{"get":{"tags":["analyses"],"parameters":[{"in":"query","name":"include-hidden","description":"True if hidden elements should be included in the results","required":false,"type":"boolean"},{"in":"query","name":"include-deleted","description":"True if deleted elements should be included in the results","required":false,"type":"boolean"},{"in":"query","name":"filter","description":"Allows results to be filtered based on the value of some result field.\nThe format of this parameter is\n`[{\"field\":\"some_field\", \"value\":\"search-term\"}, ...]`,\nwhere `field` is the name of the field on which the filter is based and `value` is the search value.\nIf `field` is `name` or `app_name`, then `value` can be contained anywhere, case-insensitive, in the corresponding field.\nFor example, to obtain the list of all jobs that were executed using an application with `CACE` anywhere in its name,\nthe parameter value can be `[{\"field\":\"app_name\",\"value\":\"cace\"}]`.\nTo find a job with a specific `id`, the parameter value can be\n`[{\"field\":\"id\",\"value\":\"C09F5907-B2A2-4429-A11E-5B96F421C3C1\"}]`.\nTo find jobs associated with a specific `parent_id`, the parameter value can be\n`[{\"field\":\"parent_id\",\"value\":\"b4c2f624-7cbd-496e-adad-5be8d0d3b941\"}]`.\nIt's also possible to search for jobs without a parent using this parameter value:\n`[{\"field\":\"parent_id\",\"value\":null}]`.\nThe `ownership` field can be used to specify whether analyses that belong to the authenticated user\nor analyses that are shared with the authenticated user should be listed.\nIf the value is `all` then all analyses that are visible to the user will be listed.\nIf the value is `mine` then only analyses that were submitted by the user will be listed.\nIf the value is `theirs` then only analyses that have been shared with the user will be listed.\nBy default, all analyses are listed.\nThe `ownership` field is the only field for which only one filter value is supported.\nIf multiple `ownership` field values are specified then the first value specified is used.\nHere's an example: `[{\"field\":\"ownership\",\"value\":\"mine\"}]`.\n","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AnalysisStats"},"description":""}},"summary":"List analysis counts by status","description":"This service allows users to retrieve the total count of jobs grouped by job status."}},"/terrain/analyses/permission-lister":{"post":{"tags":["analyses"],"parameters":[{"in":"query","name":"full-listing","description":"If true, include permissions for the authenticated user as well","required":false,"type":"boolean"},{"in":"body","name":"AnalysisIdList","description":"The analysis permission listing request.","required":true,"schema":{"$ref":"#/definitions/AnalysisIdList"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AnalysisPermissionListing"},"description":""}},"summary":"List Analysis Permissions","description":"This endpoint allows the caller to list the permissions for one or more analyses.\n   The authenticated user must have read permission on every analysis in the request body for this endpoint to succeed."}},"/terrain/analyses/relauncher":{"post":{"tags":["analyses"],"parameters":[{"in":"body","name":"AnalysesRelauncherRequest","description":"","required":true,"schema":{"$ref":"#/definitions/AnalysesRelauncherRequest"}}],"summary":"Auto Relaunch Analyses","description":"This service automatically relaunches analyses with the IDs given in the request.\n\n* If a requested analysis was a sub-job of an HT analysis,\n  then the relaunched analysis will also be a sub-job of that parent HT analysis.\n* Any of the original analyses that have the `create_output_subdir` flag set to `false` will cause the corresponding\n  relaunched analysis to use an output folder with `-redo-###` appended to the original output folder name,\n  where `###` will be a `1` by default.\n  If the original output folder name also ends with `-redo-###`,\n  then the relaunched folder name will use a number 1 larger than the original.\n  This will always apply to output folders of relaunched sub-jobs of an HT analysis.\n  \n  For example, if the output folder was `my-analysis`, then the relaunched output folder will use `my-analysis-redo-1`.\n  If that relaunched analysis is in turn relaunched itself, then the next relaunched output folder will be `my-analysis-redo-2`.\n* The names of relaunched HT analysis sub-jobs will also be renamed in this manner.\n","responses":{"default":{"description":""}}}},"/terrain/analyses/sharing":{"post":{"tags":["analyses"],"parameters":[{"in":"body","name":"AnalysisSharingRequest","description":"The analysis sharing request.","required":true,"schema":{"$ref":"#/definitions/AnalysisSharingRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AnalysisSharingResponse"},"description":""}},"summary":"Add Analysis Permissions","description":"This endpoint allows the caller to share multiple analyses with multiple users.\n   The authenticated user must have ownership permission to every analysis in the request body for this endpoint to fully succeed.\n   Note: this is a potentially slow operation and the response is returned synchronously.\n   The DE UI handles this by allowing the user to continue working while the request is being processed.\n   When calling this endpoint, please be sure that the response timeout is long enough.\n   Using a response timeout that is too short will result in an exception on the client side.\n   On the server side, the result of the sharing operation when a connection is lost is undefined.\n   It may be worthwhile to repeat failed or timed out calls to this endpoint."}},"/terrain/analyses/unsharing":{"post":{"tags":["analyses"],"parameters":[{"in":"body","name":"AnalysisUnsharingRequest","description":"The analysis unsharing request.","required":true,"schema":{"$ref":"#/definitions/AnalysisUnsharingRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AnalysisUnsharingResponse"},"description":""}},"summary":"Revoke Analysis Permissions","description":"This endpoint allows the caller to revoke permission to access one or more analyses from one or more users.\n   The authenticate user must have ownership permission to every analysis in the request body for this endoint to fully succeed.\n   Note: like analysis sharing, this is a potentially slow operation."}},"/terrain/analyses/shredder":{"post":{"tags":["analyses"],"parameters":[{"in":"body","name":"AnalysisShredderRequest","description":"","required":true,"schema":{"$ref":"#/definitions/AnalysisShredderRequest"}}],"summary":"Delete Multiple Analyses","description":"This service allows the caller to mark one or more analyses as deleted in the apps database.","responses":{"default":{"description":""}}}},"/terrain/analyses/{analysis-id}":{"patch":{"tags":["analyses"],"parameters":[{"in":"path","name":"analysis-id","description":"The Analysis UUID","required":true,"type":"string","format":"uuid"},{"in":"body","name":"AnalysisUpdate","description":"","required":true,"schema":{"$ref":"#/definitions/AnalysisUpdate"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AnalysisUpdateResponse"},"description":""}},"summary":"Update an Analysis","description":"This service allows an analysis name or description to be updated."},"delete":{"tags":["analyses"],"parameters":[{"in":"path","name":"analysis-id","description":"The Analysis UUID","required":true,"type":"string","format":"uuid"}],"summary":"Delete an Analysis","description":"This service marks an analysis as deleted in the DE database.","responses":{"default":{"description":""}}}},"/terrain/analyses/{analysis-id}/history":{"get":{"tags":["analyses"],"parameters":[{"in":"path","name":"analysis-id","description":"The Analysis UUID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AnalysisHistory"},"description":""}},"summary":"Get the Status Update History of an Analysis","description":"This endpoint returns a status update history for each step in an analysis."}},"/terrain/analyses/{analysis-id}/parameters":{"get":{"tags":["analyses"],"parameters":[{"in":"path","name":"analysis-id","description":"The Analysis UUID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AnalysisParameters"},"description":""}},"summary":"Display the parameters used in an analysis.","description":"This service returns a list of parameter values used in a previously executed analysis."}},"/terrain/analyses/{analysis-id}/relaunch-info":{"get":{"tags":["analyses"],"parameters":[{"in":"path","name":"analysis-id","description":"The Analysis UUID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AppJobView"},"description":""}},"summary":"Obtain information to relaunch analysis.","description":"This service allows the Discovery Environment user interface to obtain an app description\n   that can be used to relaunch a previously submitted job,\n   possibly with modified parameter values."}},"/terrain/analyses/{analysis-id}/steps":{"get":{"tags":["analyses"],"parameters":[{"in":"path","name":"analysis-id","description":"The Analysis UUID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AnalysisStepList"},"description":""}},"summary":"Display the steps of an analysis.","description":"This service returns a list of steps in an analysis."}},"/terrain/analyses/{analysis-id}/stop":{"post":{"tags":["analyses"],"parameters":[{"in":"path","name":"analysis-id","description":"The Analysis UUID","required":true,"type":"string","format":"uuid"},{"in":"query","name":"job_status","description":"The job status to set. Defaults to `Canceled`","required":false,"type":"string","enum":["Failed","Canceled","Completed"]}],"responses":{"200":{"schema":{"$ref":"#/definitions/StopAnalysisResponse"},"description":""}},"summary":"Stop a running analysis.","description":"This service allows DE users to stop running analyses."}},"/terrain/analyses/{analysis-id}/logs":{"get":{"tags":["analyses"],"parameters":[{"in":"path","name":"analysis-id","description":"The Analysis UUID","required":true,"type":"string","format":"uuid"},{"in":"query","name":"previous","description":"True if the logs of a previously terminated container should be returned","required":false,"type":"boolean"},{"in":"query","name":"since","description":"Number of seconds in the past to start showing logs","required":false,"type":"integer","format":"int64"},{"in":"query","name":"since-time","description":"The time at which to start showing log lines. Expressed as seconds since the epoch.","required":false,"type":"string"},{"in":"query","name":"tail-lines","description":"Number of lines from the end of the log to show","required":false,"type":"integer","format":"int64"},{"in":"query","name":"timestamps","description":"True if timestamps should be prepended to the log lines","required":false,"type":"boolean"},{"in":"query","name":"container","description":"Name of the container to display logs from. Defaults to 'analysis'","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AnalysisPodLogEntry"},"description":""}},"summary":"The logs from a pod associated with the analysis","description":"This endpoint returns the logs from the provided pod associated with the provided analysis."}},"/terrain/analyses/{analysis-id}/time-limit":{"get":{"tags":["analyses"],"parameters":[{"in":"path","name":"analysis-id","description":"The Analysis UUID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AnalysisTimeLimit"},"description":""}},"summary":"Get the time limit for an analysis.","description":"Get the time limit for an analysis. Returns seconds\n             since the epoch for the time limit as a string or returns the\n             string null if the time limit has not been set."},"post":{"tags":["analyses"],"parameters":[{"in":"path","name":"analysis-id","description":"The Analysis UUID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/AnalysisTimeLimit"},"description":""}},"summary":"Extend the time limit for an analysis.","description":"Adds three days to the time limit for an analysis.\n              Returns seconds since the epoch for the time limit as a string.\n              Returns an error if the time limit is null."}},"/terrain/coge/genomes":{"get":{"tags":["coge"],"summary":"Genome Search","parameters":[{"in":"query","name":"search","description":"The genome search string, which must be at least three characters long","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/GenomeSearchResponse"},"description":""}},"description":"Searches the CoGe database for genomes matching a string."}},"/terrain/coge/genomes/{genome-id}/export-fasta":{"post":{"tags":["coge"],"summary":"Genome Export","parameters":[{"in":"path","name":"genome-id","description":"The genome ID","required":true,"type":"integer","format":"int64"},{"in":"query","name":"notify","description":"Set to `true` to be notified when the export is complete (defaults to `false`)","required":false,"type":"boolean"},{"in":"query","name":"overwrite","description":"Set to `true` to indicate that the file should be overwritten if it exists (defaults to `false`)","required":false,"type":"boolean"}],"responses":{"200":{"schema":{"$ref":"#/definitions/GenomeExportResponse"},"description":""}},"description":"Exports CoGe sequence data to a FASTA file in the CyVerse data store"}},"/terrain/coge/genomes/load":{"post":{"tags":["coge"],"summary":"View Genomes in CoGe","parameters":[{"in":"body","name":"GenomeLoadRequest","description":"","required":true,"schema":{"$ref":"#/definitions/GenomeLoadRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/GenomeLoadResponse"},"description":""}}}},"/terrain/collaborator-lists":{"get":{"tags":["collaborator-lists"],"summary":"Get Collaborator Lists","parameters":[{"in":"query","name":"search","description":"The collaborator list name substring to search for","required":false,"type":"string"},{"in":"query","name":"details","description":"Optionally include collaborator list details such as modified date and creator information.","required":false,"type":"boolean"}],"responses":{"200":{"schema":{"$ref":"#/definitions/GetCollaboratorListsResponse"},"description":""}},"description":"Get or search for collaborator lists."},"post":{"tags":["collaborator-lists"],"summary":"Add a Collaborator List","parameters":[{"in":"body","name":"AddCollaboratorListRequest","description":"","required":true,"schema":{"$ref":"#/definitions/AddCollaboratorListRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/CollaboratorList"},"description":""}},"description":"Add a new collaborator list to the Discovery Environment."}},"/terrain/collaborator-lists/{name}":{"get":{"tags":["collaborator-lists"],"parameters":[{"in":"path","name":"name","description":"The name of the collaborator list","required":true,"type":"string"}],"summary":"Get a Collaborator List","responses":{"200":{"schema":{"$ref":"#/definitions/CollaboratorList"},"description":""}},"description":"Get information about a single collaborator list."},"patch":{"tags":["collaborator-lists"],"parameters":[{"in":"path","name":"name","description":"The name of the collaborator list","required":true,"type":"string"},{"in":"body","name":"CollaboratorListUpdate","description":"","required":true,"schema":{"$ref":"#/definitions/CollaboratorListUpdate"}}],"summary":"Update a Collaborator List","responses":{"200":{"schema":{"$ref":"#/definitions/CollaboratorList"},"description":""}},"description":"Update the name or description of a collaborator list."},"delete":{"tags":["collaborator-lists"],"parameters":[{"in":"path","name":"name","description":"The name of the collaborator list","required":true,"type":"string"},{"in":"query","name":"retain-permissions","description":"Select `true` if removed users should retain permission to shared resources","required":false,"type":"boolean"}],"summary":"Delete a Collaborator List","responses":{"200":{"schema":{"$ref":"#/definitions/CollaboratorListStub"},"description":""}},"description":"Delete a collaborator list, optionally giving former list members direct access to resources shared with the list."}},"/terrain/collaborator-lists/{name}/members":{"get":{"tags":["collaborator-lists"],"parameters":[{"in":"path","name":"name","description":"The name of the collaborator list","required":true,"type":"string"}],"summary":"Get Collaborator List Members","responses":{"200":{"schema":{"$ref":"#/definitions/CollaboratorListMembers"},"description":""}},"description":"Obtain a listing of the members of a collaborator list."},"post":{"tags":["collaborator-lists"],"parameters":[{"in":"path","name":"name","description":"The name of the collaborator list","required":true,"type":"string"},{"in":"body","name":"GroupMembersUpdate","description":"","required":true,"schema":{"$ref":"#/definitions/GroupMembersUpdate"}}],"summary":"Add Collaborator List Members","responses":{"200":{"schema":{"$ref":"#/definitions/GroupMembersUpdateResponse"},"description":""}},"description":"Add one or more users to a collaborator list."}},"/terrain/collaborator-lists/{name}/members/deleter":{"post":{"tags":["collaborator-lists"],"parameters":[{"in":"path","name":"name","description":"The name of the collaborator list","required":true,"type":"string"},{"in":"query","name":"retain-permissions","description":"Select `true` if removed users should retain permission to shared resources","required":false,"type":"boolean"},{"in":"body","name":"GroupMembersUpdate","description":"","required":true,"schema":{"$ref":"#/definitions/GroupMembersUpdate"}}],"summary":"Remove Collaborator List Members","responses":{"200":{"schema":{"$ref":"#/definitions/GroupMembersUpdateResponse"},"description":""}},"description":"Remove members from a collaborator list, optionally giving former list members direct access to resources shared with the list."}},"/terrain/communities":{"get":{"tags":["communities"],"summary":"List Communities","parameters":[{"in":"query","name":"search","description":"The community name substring to search for","required":false,"type":"string"},{"in":"query","name":"details","description":"Optionally include community details such as modified date and creator information.","required":false,"type":"boolean"},{"in":"query","name":"member","description":"Only communities to which the user with this username belongs will be listed if specified","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/CommunityListing"},"description":""}},"description":"List or search for communities."},"post":{"tags":["communities"],"summary":"Add a Community","parameters":[{"in":"body","name":"AddCommunityRequest","description":"","required":true,"schema":{"$ref":"#/definitions/AddCommunityRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/Community"},"description":""}},"description":"Adds a community to the Discovery Environment."}},"/terrain/communities/{name}":{"get":{"tags":["communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"}],"summary":"Get Community Information","responses":{"200":{"schema":{"$ref":"#/definitions/Community"},"description":""}},"description":"Returns information about the community with the given name."},"patch":{"tags":["communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"},{"in":"query","name":"retag-apps","description":"Set to `true` to cause apps that are associated with a renamed community to be retagged","required":false,"type":"boolean"},{"in":"query","name":"force-rename","description":"Set to `true` to force the community to be renamed even if apps are associated with it","required":false,"type":"boolean"},{"in":"body","name":"UpdateCommunityRequest","description":"","required":true,"schema":{"$ref":"#/definitions/UpdateCommunityRequest"}}],"summary":"Update a Community","responses":{"200":{"schema":{"$ref":"#/definitions/Community"},"description":""}},"description":"Updates the name or description of a community."},"delete":{"tags":["communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"}],"summary":"Delete a Community","responses":{"200":{"schema":{"$ref":"#/definitions/CommunityStub"},"description":""}},"description":"Removes a community from the Discoevery Environment."}},"/terrain/communities/{name}/admins":{"get":{"tags":["communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"}],"summary":"List Community Administrators","responses":{"200":{"schema":{"$ref":"#/definitions/CommunityAdmins"},"description":""}},"description":"Lists the administrators of a community in the Discovery Environment."},"post":{"tags":["communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"},{"in":"body","name":"GroupMembersUpdate","description":"","required":true,"schema":{"$ref":"#/definitions/GroupMembersUpdate"}}],"summary":"Add Community Administrators","responses":{"200":{"schema":{"$ref":"#/definitions/GroupMembersUpdateResponse"},"description":""}},"description":"Add one or more administrators to a community in the Discoevery Environment."}},"/terrain/communities/{name}/admins/deleter":{"post":{"tags":["communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"},{"in":"body","name":"GroupMembersUpdate","description":"","required":true,"schema":{"$ref":"#/definitions/GroupMembersUpdate"}}],"summary":"Remove Community Administrators","responses":{"200":{"schema":{"$ref":"#/definitions/GroupMembersUpdateResponse"},"description":""}},"description":"Remove one or more administrators from a community in the Discoevery Environment."}},"/terrain/communities/{name}/members":{"get":{"tags":["communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"}],"summary":"List Community Members","responses":{"200":{"schema":{"$ref":"#/definitions/CommunityMembers"},"description":""}},"description":"Lists the members of a community in the Discoevery Environment."}},"/terrain/communities/{name}/join":{"post":{"tags":["communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"}],"summary":"Join a Community","responses":{"200":{"schema":{"$ref":"#/definitions/GroupMembersUpdateResponse"},"description":""}},"description":"Allows the caller to join a community, provided that he or she has permission to do so."}},"/terrain/communities/{name}/leave":{"post":{"tags":["communities"],"parameters":[{"in":"path","name":"name","description":"The name of the community","required":true,"type":"string"}],"summary":"Leave a Community","responses":{"200":{"schema":{"$ref":"#/definitions/GroupMembersUpdateResponse"},"description":""}},"description":"Allows the caller to leave a community."}},"/terrain/teams":{"get":{"tags":["teams"],"summary":"List Teams","parameters":[{"in":"query","name":"search","description":"The team name substring to search for","required":false,"type":"string"},{"in":"query","name":"creator","description":"Only teams created by the user with this username will be listed if specified","required":false,"type":"string"},{"in":"query","name":"details","description":"Optionally include team details such as modified date and creator information.","required":false,"type":"boolean"},{"in":"query","name":"member","description":"Only teams to which the user with this username belongs will be listed if specified","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/TeamListing"},"description":""}},"description":"List or search for teams."},"post":{"tags":["teams"],"summary":"Add a Team","parameters":[{"in":"body","name":"AddTeamRequest","description":"","required":true,"schema":{"$ref":"#/definitions/AddTeamRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/Team"},"description":""}},"description":"Add a new team to the Discovery Environment."}},"/terrain/teams/{name}":{"get":{"tags":["teams"],"parameters":[{"in":"path","name":"name","description":"The name of the team, including the username prefix (e.g. `username:team-name`)","required":true,"type":"string"}],"summary":"Get a Team","responses":{"200":{"schema":{"$ref":"#/definitions/Team"},"description":""}},"description":"Get information about a single team."},"patch":{"tags":["teams"],"parameters":[{"in":"path","name":"name","description":"The name of the team, including the username prefix (e.g. `username:team-name`)","required":true,"type":"string"},{"in":"body","name":"UpdateTeamRequest","description":"","required":true,"schema":{"$ref":"#/definitions/UpdateTeamRequest"}}],"summary":"Update a Team","responses":{"200":{"schema":{"$ref":"#/definitions/Team"},"description":""}},"description":"Update the name or description of a team."},"delete":{"tags":["teams"],"parameters":[{"in":"path","name":"name","description":"The name of the team, including the username prefix (e.g. `username:team-name`)","required":true,"type":"string"}],"summary":"Delete a Team","responses":{"200":{"schema":{"$ref":"#/definitions/TeamStub"},"description":""}},"description":"Delete a team."}},"/terrain/teams/{name}/members":{"get":{"tags":["teams"],"parameters":[{"in":"path","name":"name","description":"The name of the team, including the username prefix (e.g. `username:team-name`)","required":true,"type":"string"}],"summary":"Get Team Members","responses":{"200":{"schema":{"$ref":"#/definitions/TeamMembers"},"description":""}},"description":"Obtain a listing of the members of a team."},"post":{"tags":["teams"],"parameters":[{"in":"path","name":"name","description":"The name of the team, including the username prefix (e.g. `username:team-name`)","required":true,"type":"string"},{"in":"body","name":"GroupMembersUpdate","description":"","required":true,"schema":{"$ref":"#/definitions/GroupMembersUpdate"}}],"summary":"Add Team Members","responses":{"200":{"schema":{"$ref":"#/definitions/GroupMembersUpdateResponse"},"description":""}},"description":"Add one or more users to a team."}},"/terrain/teams/{name}/members/deleter":{"post":{"tags":["teams"],"parameters":[{"in":"path","name":"name","description":"The name of the team, including the username prefix (e.g. `username:team-name`)","required":true,"type":"string"},{"in":"body","name":"GroupMembersUpdate","description":"","required":true,"schema":{"$ref":"#/definitions/GroupMembersUpdate"}}],"summary":"Remove Team Members","responses":{"200":{"schema":{"$ref":"#/definitions/GroupMembersUpdateResponse"},"description":""}},"description":"Remove one or more users from a team."}},"/terrain/teams/{name}/privileges":{"get":{"tags":["teams"],"parameters":[{"in":"path","name":"name","description":"The name of the team, including the username prefix (e.g. `username:team-name`)","required":true,"type":"string"}],"summary":"List Team Privileges","responses":{"200":{"schema":{"$ref":"#/definitions/Privileges"},"description":""}},"description":"Privileges describe what a user or set of users is allowed to do with a team. For example, some users may be able to administer the team whereas others may only be able to view it. This endpoint lists the current privileges for a team."},"post":{"tags":["teams"],"parameters":[{"in":"path","name":"name","description":"The name of the team, including the username prefix (e.g. `username:team-name`)","required":true,"type":"string"},{"in":"body","name":"GroupPrivilegeUpdates","description":"","required":true,"schema":{"$ref":"#/definitions/GroupPrivilegeUpdates"}}],"summary":"Update Team Privileges","responses":{"200":{"schema":{"$ref":"#/definitions/Privileges"},"description":""}},"description":"Privileges describe what a user or set of users is allowed to do with a team. For example, some users may be able to administer the team whereas others may only be able to view it. This endpoint assigns privleges to users."}},"/terrain/teams/{name}/join":{"post":{"tags":["teams"],"parameters":[{"in":"path","name":"name","description":"The name of the team, including the username prefix (e.g. `username:team-name`)","required":true,"type":"string"}],"summary":"Join a Team","responses":{"200":{"schema":{"$ref":"#/definitions/GroupMembersUpdateResponse"},"description":""}},"description":"Adds the authenticated user to a team, provided that he or she has permission to join the team."}},"/terrain/teams/{name}/join-request":{"post":{"tags":["teams"],"parameters":[{"in":"path","name":"name","description":"The name of the team, including the username prefix (e.g. `username:team-name`)","required":true,"type":"string"},{"in":"body","name":"TeamJoinRequest","description":"","required":true,"schema":{"$ref":"#/definitions/TeamJoinRequest"}}],"summary":"Request to Join a Team","description":"Allows the authenticated user to request to be added to a team. The request is sent to the administrators of the team. The team administrator may then add the user to the team using the the POST /team/{name}/members endpoint or deny the request using the POST /team/{name}/join-request/{requester}/deny endpoint.","responses":{"default":{"description":""}}}},"/terrain/teams/{name}/join-request/{requester}/deny":{"post":{"tags":["teams"],"parameters":[{"in":"path","name":"name","description":"The name of the team, including the username prefix (e.g. `username:team-name`)","required":true,"type":"string"},{"in":"path","name":"requester","description":"The username of the person requesting to join the team","required":true,"type":"string"},{"in":"body","name":"TeamJoinDenial","description":"","required":true,"schema":{"$ref":"#/definitions/TeamJoinDenial"}}],"summary":"Deny a Request to Join a Team","description":"Allows a team administrator to deny a request for a user to be added to a team.","responses":{"default":{"description":""}}}},"/terrain/teams/{name}/leave":{"post":{"tags":["teams"],"parameters":[{"in":"path","name":"name","description":"The name of the team, including the username prefix (e.g. `username:team-name`)","required":true,"type":"string"}],"summary":"Leave a team","responses":{"200":{"schema":{"$ref":"#/definitions/GroupMembersUpdateResponse"},"description":""}},"description":"Allows the authenticated user to leave a team."}},"/terrain/subjects":{"get":{"tags":["subjects"],"summary":"Search for Users or Groups","parameters":[{"in":"query","name":"search","description":"A substring to search for in the subject information","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/SubjectList"},"description":""}},"description":"Searches for users or groups matching a search string."}},"/terrain/reference-genomes":{"get":{"tags":["reference-genomes"],"parameters":[{"in":"query","name":"deleted","description":"Whether or not to include Reference Genomes that have been marked as deleted\n              (false by default).","required":false,"type":"boolean"},{"in":"query","name":"created_by","description":"Filters the Reference Genome listing by the user that added them.","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/ReferenceGenomesList"},"description":""}},"summary":"List Reference Genomes.","description":"This endpoint may be used to obtain lists of all available Reference Genomes."}},"/terrain/reference-genomes/{reference-genome-id}":{"get":{"tags":["reference-genomes"],"parameters":[{"in":"path","name":"reference-genome-id","description":"A UUID that is used to identify the Reference Genome","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/ReferenceGenome"},"description":""}},"summary":"Get a Reference Genome.","description":"This endpoint may be used to obtain a Reference Genome by its UUID."}},"/terrain/tools/gpu-models":{"get":{"tags":["gpu-models"],"summary":"List Valid GPU Models","description":"Returns the list of valid GPU model names that can be configured for tools.","responses":{"default":{"description":""}}}},"/terrain/tools":{"get":{"tags":["tools"],"parameters":[{"in":"query","name":"include-hidden","description":"True if hidden elements should be included in the results","required":false,"type":"boolean"},{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string"},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"search","description":"The pattern to match in a Tool's Name or Description.","required":false,"type":"string"},{"in":"query","name":"public","description":"Set to `true` to list only public Tools, `false` to list only private Tools,\n                                            or leave unset to list all Tools.","required":false,"type":"boolean"}],"responses":{"200":{"schema":{"$ref":"#/definitions/ToolListing"},"description":""}},"summary":"List Tools","description":"This endpoint allows users to get a listing of all Tools accessible to the user."},"post":{"tags":["tools"],"parameters":[{"in":"body","name":"PrivateToolImportRequest","description":"The private Tool to import.","required":true,"schema":{"$ref":"#/definitions/PrivateToolImportRequest"}}],"responses":{"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/ToolDetails"},"description":"The new Tool details."},"400":{"schema":{"$ref":"#/definitions/ErrorPrivateToolRequestBadParam"},"description":"\n* `ERR_EXISTS`: A Tool with the given `name` already exists.\n* `ERR_BAD_OR_MISSING_FIELD`: The image with the given `name` and `tag` has been deprecated."}},"summary":"Add Private Tool","description":"This service adds a new private Tool to the DE for the requesting user.\n\nNote that `type` is set to `executable` by default, `restricted` is always set to `true`,\nand `container.network_mode` is set to `none` unless the requested `type` is `interactive`.\n\nConfigured default values will be used for the `time_limit_seconds`, `container.pids_limit`, and `container.memory_limit` fields.\nThe request may include a value less than the configured default if it's also greater than 0,\notherwise the default value will be used.\n"}},"/terrain/tools/permission-lister":{"post":{"tags":["tools"],"parameters":[{"in":"query","name":"full-listing","description":"If true, include permissions for the authenticated user as well","required":false,"type":"boolean"},{"in":"body","name":"ToolIdList","description":"The Tool permission listing request.","required":true,"schema":{"$ref":"#/definitions/ToolIdList"}}],"responses":{"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/ToolPermissionListing"},"description":"The Tool permission listings."},"403":{"schema":{"$ref":"#/definitions/ErrorResponseForbidden"},"description":"The requesting user does not have `read` permission for some Tool(s) in the request."},"404":{"schema":{"$ref":"#/definitions/ErrorResponseNotFound"},"description":"Some `tool-id`(s) in the request do not exist."}},"summary":"List Tool Permissions","description":"This endpoint allows the caller to list the permissions for one or more Tools.\n   The authenticated user must have read permission on every Tool in the request body for this endpoint to succeed."}},"/terrain/tools/sharing":{"post":{"tags":["tools"],"parameters":[{"in":"body","name":"ToolSharingRequest","description":"The Tool sharing request.","required":true,"schema":{"$ref":"#/definitions/ToolSharingRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/ToolSharingResponse"},"description":""}},"summary":"Add Tool Permissions","description":"This endpoint allows the caller to share multiple Tools with multiple users.\n   The authenticated user must have ownership permission to every Tool in the request body for this endpoint to fully succeed.\n   Note: this is a potentially slow operation and the response is returned synchronously.\n   The DE UI handles this by allowing the user to continue working while the request is being processed.\n   When calling this endpoint, please be sure that the response timeout is long enough.\n   Using a response timeout that is too short will result in an exception on the client side.\n   On the server side, the result of the sharing operation when a connection is lost is undefined.\n   It may be worthwhile to repeat failed or timed out calls to this endpoint."}},"/terrain/tools/unsharing":{"post":{"tags":["tools"],"parameters":[{"in":"body","name":"ToolUnsharingRequest","description":"The Tool unsharing request.","required":true,"schema":{"$ref":"#/definitions/ToolUnsharingRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/ToolUnsharingResponse"},"description":""}},"summary":"Revoke Tool Permissions","description":"This endpoint allows the caller to revoke permission to access one or more Tools from one or more users.\n   The authenticated user must have ownership permission to every Tool in the request body for this endoint to fully succeed.\n   Note: like Tool sharing, this is a potentially slow operation."}},"/terrain/tools/{tool-id}":{"delete":{"tags":["tools"],"parameters":[{"in":"path","name":"tool-id","description":"A UUID that is used to identify the Tool","required":true,"type":"string","format":"uuid"},{"in":"query","name":"force-delete","description":"Flag to force deletion of a Tool already in use by Apps.","required":false,"type":"boolean"}],"responses":{"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"description":"The Tool was successfully deleted."},"400":{"schema":{"$ref":"#/definitions/ErrorResponseNotWritable"},"description":"The Tool could not be deleted."},"403":{"schema":{"$ref":"#/definitions/ErrorResponseForbidden"},"description":"The requesting user does not have permission to delete this Tool."},"404":{"schema":{"$ref":"#/definitions/ErrorResponseNotFound"},"description":"A Tool with the given `tool-id` does not exist."}},"summary":"Delete a Private Tool","description":"Deletes a private Tool, as long as it is not in use by any Apps.\n   The requesting user must have ownership permission for the Tool.\n   If the Tool is already in use in private Apps,\n   then an `ERR_NOT_WRITEABLE` will be returned along with a listing of the Apps using this Tool,\n   unless the `force-delete` flag is set to `true`."},"get":{"tags":["tools"],"parameters":[{"in":"path","name":"tool-id","description":"A UUID that is used to identify the Tool","required":true,"type":"string","format":"uuid"},{"in":"query","name":"include-defaults","description":"Flag to include defaults set by configuration or not","required":false,"type":"boolean"}],"responses":{"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/ToolDetails"},"description":"The Tool details."},"403":{"schema":{"$ref":"#/definitions/ErrorResponseForbidden"},"description":"The requesting user does not have `read` permission for the Tool."},"404":{"schema":{"$ref":"#/definitions/ErrorResponseNotFound"},"description":"The `tool-id` does not exist."}},"summary":"Get a Tool","description":"This endpoint returns the details for one tool accessible to the user."},"patch":{"tags":["tools"],"parameters":[{"in":"path","name":"tool-id","description":"A UUID that is used to identify the Tool","required":true,"type":"string","format":"uuid"},{"in":"body","name":"PrivateToolUpdateRequest","description":"The private Tool to update.","required":true,"schema":{"$ref":"#/definitions/PrivateToolUpdateRequest"}}],"responses":{"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/ToolDetails"},"description":"The updated Tool details."},"400":{"schema":{"$ref":"#/definitions/ErrorPrivateToolRequestBadParam"},"description":"\n* `ERR_EXISTS`: A Tool with the given `name` already exists.\n* `ERR_BAD_OR_MISSING_FIELD`: The image with the given `name` and `tag` has been deprecated."}},"summary":"Update a Private Tool","description":"This service updates a private Tool definition in the DE.\nAs with new private Tools, `restricted` is always set to `true`,\nand a configured limit may override the `time_limit_seconds` field set in the request.\n\n**Note**: If the `container` object is omitted in the request, then existing container settings will not be modified,\nbut if the `container` object is present in the request, then all container settings must be included in it.\nAny existing settings not included in the request's `container` object will be removed,\nexcept `network_mode` is always set to `none` (or `bridge` for `interactive` types)\nand configured limits may override values set (or omitted) for the `pids_limit` and `memory_limit` fields.\n"}},"/terrain/tools/{tool-id}/apps":{"get":{"tags":["tools"],"parameters":[{"in":"path","name":"tool-id","description":"A UUID that is used to identify the Tool","required":true,"type":"string","format":"uuid"}],"responses":{"500":{"schema":{"$ref":"#/definitions/ErrorResponseUnchecked"},"description":"Unchecked errors"},"default":{"schema":{"$ref":"#/definitions/ErrorResponse"},"description":"All other errors"},"200":{"schema":{"$ref":"#/definitions/AppListing"},"description":"The listing of Apps using the given Tool."},"404":{"schema":{"$ref":"#/definitions/ErrorResponseNotFound"},"description":"The `tool-id` does not exist."}},"summary":"Get Apps by Tool","description":"This endpoint returns a listing of Apps using the given Tool."}},"/terrain/tools/{tool-id}/integration-data":{"get":{"tags":["tools"],"parameters":[{"in":"path","name":"tool-id","description":"A UUID that is used to identify the Tool","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/IntegrationData"},"description":""}},"summary":"Return the Integration Data Record for a Tool","description":"This service returns the integration data associated with an app."}},"/terrain/tool-requests":{"get":{"tags":["tool-requests"],"parameters":[{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string"},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"status","description":"The name of a status code to include in the results. The name of the status code is case\n                     sensitive. If the status code isn't already defined, it will be added to the database","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/ToolRequestListing"},"description":""}},"summary":"List Tool Requests","description":"This endpoint lists high level details about tool requests that have been submitted.\n   A user may track their own tool requests with this endpoint."},"post":{"tags":["tool-requests"],"parameters":[{"in":"body","name":"ToolRequest","description":"A tool installation request. One of `source_url` or `source_upload_file` fields are required, but not both.","required":true,"schema":{"$ref":"#/definitions/ToolRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/ToolRequestDetails"},"description":""}},"summary":"Request Tool Installation","description":"This service submits a request for a tool to be installed so that it can be used from within the Discovery Environment.\n   The installation request and all status updates related to the tool request will be tracked in the Discovery Environment database."}},"/terrain/tool-requests/status-codes":{"get":{"tags":["tool-requests"],"parameters":[{"in":"query","name":"filter","description":"If this parameter is set then only the status codes that contain the string passed in this\n              query parameter will be listed. This is a case-insensitive search","required":false,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/ToolRequestStatusCodeListing"},"description":""}},"summary":"List Tool Request Status Codes","description":"Tool request status codes are largely arbitrary, but once they've been used once,\n   they're stored in the database so that they can be reused easily.\n   This endpoint allows the caller to list the known status codes."}},"/terrain/permanent-id-requests":{"get":{"tags":["permanent-id-requests"],"parameters":[{"in":"query","name":"limit","description":"Limits the response to X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"offset","description":"Skips the first X number of results in the listing array.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-limit.html","required":false,"type":"integer","format":"int64"},{"in":"query","name":"sort-dir","description":"Only used when sort-field is present. Sorts the results in either ascending (`ASC`) or\n      descending (`DESC`) order, before limits and offsets are applied. Defaults to `ASC`.\n      See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["DESC","ASC"]},{"in":"query","name":"sort-field","description":"Sorts the results in the listing array by the given field, before limits and offsets are applied.\n   See http://www.postgresql.org/docs/9.2/interactive/queries-order.html","required":false,"type":"string","enum":["date_updated","target_type","date_submitted","requested_by","status","type","updated_by"]},{"in":"query","name":"statuses","description":"Status Codes with which to filter results","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"}],"responses":{"200":{"schema":{"$ref":"#/definitions/PermanentIDRequestList"},"description":""}},"summary":"List Permanent ID Requests","description":"Lists all Permanent ID Requests submitted by the requesting user."},"post":{"tags":["permanent-id-requests"],"parameters":[{"in":"body","name":"PermanentIDRequest","description":"","required":true,"schema":{"$ref":"#/definitions/PermanentIDRequest"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/PermanentIDRequestDetails"},"description":""}},"summary":"Create a Permanent ID Request","description":"Creates a Permanent ID Request for the requesting user."}},"/terrain/permanent-id-requests/status-codes":{"get":{"tags":["permanent-id-requests"],"responses":{"200":{"schema":{"$ref":"#/definitions/PermanentIDRequestStatusCodeList"},"description":""}},"summary":"List Permanent ID Request Status Codes","description":"Lists all Permanent ID Request Status Codes that have been assigned to a request status update.\n   This allows a status to easily be reused by admins in future status updates."}},"/terrain/permanent-id-requests/types":{"get":{"tags":["permanent-id-requests"],"responses":{"200":{"schema":{"$ref":"#/definitions/PermanentIDRequestTypeList"},"description":""}},"summary":"List Permanent ID Request Types","description":"Lists the allowed Permanent ID Request Types the user can select when submitting a new request."}},"/terrain/permanent-id-requests/{request-id}":{"get":{"tags":["permanent-id-requests"],"parameters":[{"in":"path","name":"request-id","description":"The Permanent ID Request's UUID","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"schema":{"$ref":"#/definitions/PermanentIDRequestDetails"},"description":""}},"summary":"Get Permanent ID Request Details","description":"Allows a user to retrieve details for one of their Permanent ID Request submissions."}},"/terrain/webhooks":{"get":{"tags":["webhooks"],"responses":{"200":{"schema":{"$ref":"#/definitions/WebhookList"},"description":""}},"summary":"List Webhooks","description":"Returns all of the webhooks defined for the user."},"put":{"tags":["webhooks"],"parameters":[{"in":"body","name":"WebhookList","description":"","required":true,"schema":{"$ref":"#/definitions/WebhookList"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/WebhookList"},"description":""}},"summary":"Add a Webhook","description":"Adds a new webhook to the system."}},"/terrain/webhooks/topics":{"get":{"tags":["webhooks"],"responses":{"200":{"schema":{"$ref":"#/definitions/TopicList"},"description":""}},"summary":"List notification topics","description":"Returns all of the notification topics defined"}},"/terrain/webhooks/types":{"get":{"tags":["webhooks"],"responses":{"200":{"schema":{"$ref":"#/definitions/WebhookTypeList"},"description":""}},"summary":"List webhooks types","description":"Returns all webhook types defined"}},"/terrain/oauth/access-code/{api-name}":{"get":{"tags":["oauth"],"parameters":[{"in":"path","name":"api-name","description":"The name of the external API","required":true,"type":"string"},{"in":"query","name":"code","description":"The authorization code used to obtain the access token.","required":true,"type":"string"},{"in":"query","name":"state","description":"The authorization state information.","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/OAuthCallbackResponse"},"description":""}},"summary":"Obtain an OAuth access token for an authorization code","description":"Exchanges an OAuth authorization code for an access token and stores it for the authenticated user.\n   This endpoint is called as part of the OAuth callback flow."}},"/terrain/oauth/redirect-uris":{"get":{"tags":["oauth"],"summary":"List OAuth redirect URIs","description":"Returns a set of OAuth redirect URIs if the user hasn't authenticated with the remote API yet.","responses":{"200":{"schema":{"$ref":"#/definitions/RedirectUrisDoc"},"description":""}}}},"/terrain/oauth/token-info/{api-name}":{"get":{"tags":["oauth"],"parameters":[{"in":"path","name":"api-name","description":"The name of the external API","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/TokenInfo"},"description":""}},"summary":"Get OAuth token info","description":"Returns information about an OAuth access token, not including the token itself."},"delete":{"tags":["oauth"],"parameters":[{"in":"path","name":"api-name","description":"The name of the external API","required":true,"type":"string"}],"summary":"Delete OAuth token info","description":"Removes a user's OAuth access token from the DE.","responses":{"default":{"description":""}}}},"/terrain/requests/vice":{"get":{"tags":["requests"],"summary":"List VICE Access Requests","responses":{"200":{"schema":{"$ref":"#/definitions/ViceRequestListing"},"description":""}},"description":"Returns VICE access requests that were submitted by the authentiated user."},"post":{"tags":["requests"],"summary":"Request VICE Access","parameters":[{"in":"body","name":"ViceRequestDetails","description":"","required":true,"schema":{"$ref":"#/definitions/ViceRequestDetails"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/ViceRequestSummary"},"description":""}},"description":"Submits a request for VICE access for the authenticated user."}},"/terrain/requests/vice/{request-id}":{"get":{"tags":["requests"],"parameters":[{"in":"path","name":"request-id","description":"The request ID","required":true,"type":"string","format":"uuid"}],"summary":"Get VICE Request Information","responses":{"200":{"schema":{"$ref":"#/definitions/ViceRequest"},"description":""}},"description":"Returns information about an existing request."}},"/terrain/bags":{"head":{"tags":["bags"],"summary":"Tells whether a user has a bag","description":"Tells whether a user has one or more bags in the database","responses":{"default":{"description":""}}},"get":{"tags":["bags"],"summary":"List user bags","description":"List all of the bags for the user","responses":{"200":{"schema":{"$ref":"#/definitions/BagList"},"description":""}}},"put":{"tags":["bags"],"summary":"Adds a new bag","description":"Adds a new bag to the list for the user","parameters":[{"in":"body","name":"BagContents","description":"","required":true,"schema":{"$ref":"#/definitions/BagContents"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/AddBagResponse"},"description":""}}},"delete":{"tags":["bags"],"summary":"Deletes all of a user's bags","description":"Deletes all of a user's bags","responses":{"default":{"description":""}}}},"/terrain/bags/default":{"get":{"tags":["bags"],"summary":"Get the user's default bag","description":"Get the user's default bag. Most interactions should go through the default bag. Creates the bag with default contents if it doesn't already exist","responses":{"200":{"schema":{"$ref":"#/definitions/Bag"},"description":""}}},"post":{"tags":["bags"],"summary":"Updates the contents of the user's default bag","description":"Updates the contents of the user's default bag. Must be JSON. Will create the bag if it doesn't yet exist","parameters":[{"in":"body","name":"BagContents","description":"","required":true,"schema":{"$ref":"#/definitions/BagContents"}}],"responses":{"200":{"schema":{"$ref":"#/definitions/Bag"},"description":""}}},"delete":{"tags":["bags"],"summary":"Delete the default bag for the user","description":"Deletes the default bag for the user. If you try to retrieve the bag after this, it will return a new, empty bag","responses":{"200":{"schema":{"$ref":"#/definitions/Bag"},"description":""}}}},"/terrain/bags/{bag-id}":{"get":{"tags":["bags"],"parameters":[{"in":"path","name":"bag-id","description":"The ID of the bag located in the path of the URL","required":true,"type":"string"}],"summary":"Gets a bag","description":"Gets a single bag for a user by its UUID","responses":{"default":{"description":""}}},"post":{"tags":["bags"],"parameters":[{"in":"path","name":"bag-id","description":"The ID of the bag located in the path of the URL","required":true,"type":"string"},{"in":"body","name":"BagContents","description":"","required":true,"schema":{"$ref":"#/definitions/BagContents"}}],"summary":"Update a bag","description":"Updates a bag for a user based on its UUID","responses":{"default":{"description":""}}},"delete":{"tags":["bags"],"parameters":[{"in":"path","name":"bag-id","description":"The ID of the bag located in the path of the URL","required":true,"type":"string"}],"summary":"Delete a bag","description":"Deletes a bag for a user based on its UUID","responses":{"default":{"description":""}}}},"/terrain/vice/resources":{"get":{"tags":["vice"],"parameters":[{"in":"query","name":"analysis-name","description":"The name of the analysis","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"app-id","description":"The UUID of the running app for the analysis","required":false,"type":"string","format":"uuid","allowEmptyValue":true},{"in":"query","name":"app-name","description":"The name of the running app for the analysis","required":false,"type":"string","allowEmptyValue":true},{"in":"query","name":"external-id","description":"The value of the external_id field in the job_steps table. Used widely in the API","required":false,"type":"string","format":"uuid","allowEmptyValue":true}],"responses":{"200":{"schema":{"$ref":"#/definitions/FullResourceListing"},"description":""}},"summary":"List Kubernetes resources deployed in the cluster","description":"Lists all Kubernetes resources associated with an analysis running in the cluster for a user"}},"/terrain/vice/{host}/url-ready":{"get":{"tags":["vice"],"parameters":[{"in":"path","name":"host","description":"The hostname/subdomain of a VICE analysis","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/URLReady"},"description":""}},"summary":"Whether or not a VICE analysis is browser accessible","description":"Returns a map detailing whether or not the VICE analysis is ready to be accessed through a browser"}},"/terrain/vice/{host}/description":{"get":{"tags":["vice"],"parameters":[{"in":"path","name":"host","description":"The hostname/subdomain of a VICE analysis","required":true,"type":"string"}],"responses":{"200":{"schema":{"$ref":"#/definitions/FullResourceListing"},"description":""}},"summary":"Returns a JSON description of the VICE analysis","description":"Returns a JSON description of the VICE analysis after verifying the user has access to it"}},"/terrain/resource-usage/summary":{"get":{"tags":["resource-usage"],"summary":"A summary of a user's resource usage","description":"A summary of a user's resource usage, including CPU hours, data usage, jobs run, and current plan","responses":{"200":{"schema":{"$ref":"#/definitions/ResourceSummary"},"description":""}}}},"/terrain/resource-usage/data/current":{"get":{"tags":["resource-usage"],"summary":"Get the most recent summary of a user's data usage","description":"Uses the current date to get the most recent record of data usage for the currently logged-in user","responses":{"200":{"schema":{"$ref":"#/definitions/UserCurrentDataTotal"},"description":""}}}}},"consumes":["application/json","application/x-yaml","application/edn","application/transit+json","application/transit+msgpack"],"info":{"title":"Discovery Environment API","version":"0.1.0","description":"Documentation for the Discovery Environment REST API"},"swagger":"2.0","basePath":"/"}