{ "swagger": "2.0", "info": { "version": "3.4.0", "title": "TechPort", "description": "TechPort RESTful API", "contact": { "name": "TechPort Team", "email": "hq-techport@mail.nasa.gov", "url": "https://techport.nasa.gov" } }, "host": "techport.nasa.gov", "basePath": "/api", "schemes": [ "http", "https" ], "produces": [ "application/xml", "application/json" ], "paths": { "/api": { "get": { "description": "Returns the swagger specification for the API.", "responses": { "200": { "description": "Successful response" }, "default": { "description": "Object not found." } } } }, "/api/projects{.format}": { "get": { "description": "Returns a list of available technology project IDs.", "parameters": [ { "name": "updatedSince", "in": "query", "description": "ISO 8601 full-date in the format YYYY-MM-DD. Filters the list of available ID values by their lastUpdated parameter.", "required": true, "type": "string", "format": "date" }, { "name": "format", "in": "path", "description": "The response type desired.", "required": false, "type": "string", "default": "json", "enum": [ "json", "xml" ] } ], "responses": { "200": { "description": "Successful response", "schema": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "lastUpdated": { "type": "string" } } } }, "default": { "description": "Object not found." } } } }, "/api/projects/{id}{.format}": { "get": { "description": "Returns information about a specific technology project.", "parameters": [ { "name": "id", "in": "path", "description": "ID of project to fetch", "required": true, "type": "integer", "format": "int64" }, { "name": "format", "in": "path", "description": "The response type desired.", "required": false, "type": "string", "default": "xml", "enum": [ "json", "xml" ] } ], "responses": { "200": { "description": "Successful response", "schema": { "$ref": "#/definitions/project" } }, "default": { "description": "Object not found." } } } } }, "definitions": { "project": { "type": "object", "description": "Top-level TechPort object representing a NASA technology project and its associated data.", "properties": { "id": { "type": "integer", "format": "int64", "description": "Unique identifier for the project." }, "lastUpdated": { "type": "string", "format": "date", "description": "ISO 8601 full-date in the format YYYY-MM-DD describing the last time this project was updated." }, "title": { "type": "string", "description": "Title of the project." }, "acronym": { "type": "string", "description": "Abbreviated name of the project." }, "status": { "type": "string", "description": "Indicates whether the project is currently active, completed, or canceled." }, "description": { "type": "string", "description": "A detailed description of the project." }, "benefits": { "type": "string", "description": "Describes the benefits offered to NASA funded and planned missions, unfunded or planned missions, commercial space industry, and to the nation." }, "startDate": { "type": "string", "description": "The month and year the project was authorized to proceed." }, "endDate": { "type": "string", "description": "The month and year the project is expected to complete its work." }, "technologyMaturityStart": { "type": "string", "description": "The technology maturity (technology readiness level) of the project at its beginning." }, "technologyMaturityCurrent": { "type": "string", "description": "The current technology maturity (technology readiness level) of the project." }, "technologyMaturityEnd": { "type": "string", "description": "The estimated technology maturity (technology readiness level) of the project at its end." }, "primaryTas": { "type": "array", "description": "List of primary technolgy areas (from the NASA Technology Roadmap) associated with the project.", "items": { "$ref": "#/definitions/technologyArea" } }, "additionalTas": { "type": "array", "description": "List of additional and cross-cutting technology areas associated with the project.", "items": { "$ref": "#/definitions/technologyArea" } }, "destinations": { "type": "array", "description": "List of the NASA destinations the technology on this project helps achieve.", "items": { "$ref": "#/definitions/destination" } }, "supportedMissionType": { "type": "string", "description": "The supported mission type (Projected Mission, Planned Mission, or Pull)." }, "responsibleProgram": { "type": "string", "description": "The NASA program that is the primary funding source for this project." }, "responsibleMissionDirectorateOrOffice": { "type": "string", "description": "The NASA Mission Directorate or Office that is the primary funding source for this project." }, "leadOrganization": { "type": "object", "description": "The lead NASA Center / Facility or external organization that is conducting the majority of the work.", "$ref": "#/definitions/organization" }, "supportingOrganizations": { "type": "array", "description": "The supporting organizations for this project that are conducting work on the project.", "items": { "$ref": "#/definitions/organization" } }, "coFundingPartners": { "type": "array", "description": "Other government agencies, NASA Mission Directoratres, universities, or commercial entities performing contributing resources to this project.", "items": { "$ref": "#/definitions/organization" } }, "workLocations": { "type": "array", "description": "States and territories with people performing work on this project.", "items": { "$ref": "#/definitions/workLocation" } }, "programDirectors": { "type": "array", "description": "Names of the Program Directors responsible for the management of this project.", "items": { "$ref": "#/definitions/programDirector" } }, "programManagers": { "type": "array", "description": "Names of the Program Managers responsible for the management of this project.", "items": { "$ref": "#/definitions/programManager" } }, "projectManagers": { "type": "array", "description": "Names of the Project Managers responsible for the management of this project.", "items": { "$ref": "#/definitions/projectManager" } }, "principalInvestigators": { "type": "array", "description": "Names of the Principal Investigators who are the lead scientists or engineers for this project.", "items": { "$ref": "#/definitions/principalInvestigator" } }, "coInvestigators": { "type": "array", "description": "Names of the additional investigators who are scientists or engineers for this project.", "items": { "$ref": "#/definitions/coInvestigator" } }, "website": { "type": "string", "description": "The URL for the associated website." }, "libraryItems": { "type": "array", "description": "List of library items in the project library.", "items": { "$ref": "#/definitions/libraryItem" } }, "closeoutSummary": { "type": "string", "description": "The project closeout summary excerpt." }, "closeoutDocuments": { "type": "array", "description": "List of document files or links to the project final report closeout documentation.", "items": { "$ref": "#/definitions/closeoutDocument" } } } }, "libraryItem": { "type": "object", "description": "Represents a specific library item that is part of this project.", "properties": { "id": { "type": "integer", "format": "int64", "description": "Unique identifier for the library item." }, "title": { "type": "string", "description": "Title of the library item" }, "type": { "type": "string", "description": "Identifies the type of library item, e.g. Image" }, "files": { "type": "array", "description": "List of files associated with the library item.", "items": { "$ref": "#/definitions/file" } }, "description": { "type": "string", "description": "Description of the library item." }, "externalUrl": { "type": "string", "description": "External URL for the library item." }, "completionDate": { "type": "string", "description": "Date the library item was completed." }, "publishedBy": { "type": "string", "description": "Publisher of the library item." }, "publishedDate": { "type": "string", "description": "Date the library item was published." } } }, "file": { "type": "object", "description": "Represents a file associated with a library item.", "properties": { "id": { "type": "integer", "format": "int64", "description": "Unique identifier for the file." }, "url": { "type": "string", "description": "The TechPort URL at which the file is accessible for download." }, "size": { "type": "string", "description": "The size of the file in bytes." } } }, "destination": { "type": "string", "description": "Represents a destination towards which the technology on this project helps advance the Agency goals." }, "closeoutDocument": { "type": "string", "description": "Represents a file hyperlink or external hyperlink to a project closeout final report artifact." }, "technologyArea": { "type": "object", "description": "The Technology Area for a given technology that corresponds to the NASA Technology Roadmap.", "properties": { "id": { "type": "integer", "format": "int64", "description": "Unique identifier for the Technology Area." }, "code": { "type": "string", "description": "The code identifier for the Technology Area." }, "name": { "type": "string", "description": "The name of the Technology Area." } } }, "organization": { "type": "object", "description": "A NASA center/facility associated with an project.", "properties": { "name": { "type": "string", "description": "The name of the organization." }, "acronym": { "type": "string", "description": "The acronym of the organization." }, "city": { "type": "string", "description": "The city in which the organization is located." }, "state": { "type": "string", "description": "The state in which the organization is located." } } }, "workLocation": { "type": "string", "description": "A state/territory where work on this project is performed." }, "programDirector": { "type": "string", "description": "The name of a Program Director responsible for management of an project." }, "programManager": { "type": "string", "description": "The name of a Program Manager responsible for management of an project." }, "projectManager": { "type": "string", "description": "The name of a Project Manager responsible for management of an project." }, "principalInvestigator": { "type": "string", "description": "The name of the Principal Investigator who is a lead scientist or engineer for an project." }, "coInvestigator": { "type": "string", "description": "The name of an investigator who is a scientist or engineer for an project." } } }