From d4a3b644b3580ac58904d8995fdd39756ec9072e Mon Sep 17 00:00:00 2001 From: Sascha Bajonczak Date: Sun, 24 May 2026 21:39:32 +0200 Subject: [PATCH 01/10] Added intro.md --- .../Sap Successfactors/intro.md | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 independent-publisher-connectors/Sap Successfactors/intro.md diff --git a/independent-publisher-connectors/Sap Successfactors/intro.md b/independent-publisher-connectors/Sap Successfactors/intro.md new file mode 100644 index 0000000000..dafa699039 --- /dev/null +++ b/independent-publisher-connectors/Sap Successfactors/intro.md @@ -0,0 +1,83 @@ +# SuccessFactors Career Connector + +## Introduction + +The SuccessFactors Career Connector provides a structured integration layer for creating and maintaining career-related data in SAP SuccessFactors. The connector is designed to simplify the interaction between external systems, automation platforms, and SuccessFactors by exposing clear and reusable actions for common recruiting and career-management scenarios. + +In its current version, the connector focuses on the **Candidate** area of SAP SuccessFactors. It supports the creation and modification of candidate records and is intended to help automate candidate intake processes from external sources such as Copilot Studio, Power Automate, custom business applications, HR portals, or other integration services. + +The connector is being developed step by step. The first major implementation phase concentrates on the **Career / Recruiting module**, starting with candidate management and gradually extending into related recruiting objects and processes. + +## Current Capabilities + +The initial version of the connector supports core candidate operations in SuccessFactors. + +This includes the ability to create new candidates and update existing candidate information. Candidate data can be enriched with additional metadata to provide a more complete candidate profile inside SuccessFactors. + +Examples of supported or planned candidate-related metadata include: + +- Personal candidate information +- Contact details +- Education history +- Outside work experience +- Job position references +- Career-related background information +- Additional recruiting metadata required for downstream processes + +The goal is to provide a reliable and reusable connector interface that hides the complexity of the underlying SuccessFactors API and allows consuming systems to work with a simplified and business-oriented model. + +## Planned Extension of the Career Module + +After the candidate-management functionality has been completed and stabilized, the next development step is to extend the connector further into the recruiting process. + +The planned roadmap includes support for creating and managing job-related objects, especially job offerings and job requisition-related data. This will allow external systems not only to submit and enrich candidate data, but also to support the creation and maintenance of job opportunities within SuccessFactors. + +The intended flow is: + +1. Create or update candidate records. +2. Enrich candidates with relevant metadata such as education, work experience, and job-position information. +3. Extend the connector to support job offering creation. +4. Build a broader integration layer for recruiting and career-related SuccessFactors processes. + +## Purpose of the Connector + +The main purpose of this connector is to provide a clean, reusable, and automation-friendly interface for SAP SuccessFactors Career and Recruiting scenarios. + +Instead of requiring every consuming application or automation flow to deal directly with the complexity of the SuccessFactors OData API, the connector offers dedicated actions with clear input and output structures. + +This makes it easier to: + +- Integrate SuccessFactors with Copilot Studio +- Build HR automation workflows +- Standardize candidate creation processes +- Reduce manual data entry +- Improve data quality through structured metadata enrichment +- Reuse the same integration logic across multiple business scenarios +- Prepare future extensions for job offerings and additional recruiting processes + +## Target Scenario + +A typical scenario for this connector is an HR or recruiting automation where candidate information is collected through an external interface and then transferred into SuccessFactors. + +For example, a Copilot Studio agent could collect candidate information during a conversation, extract structured data such as name, contact details, education, work experience, and job interests, and then use this connector to create or update the candidate record in SuccessFactors. + +In a later stage, the same connector family can be extended to support the creation of job offers or job postings, allowing a more complete end-to-end recruiting automation scenario. + +## Development Status + +This connector is currently in an early implementation phase. + +The current focus is: + +- Candidate creation +- Candidate modification +- Candidate metadata enrichment +- Preparation for additional career-module functionality + +Future development will focus on expanding the recruiting scope, especially around job offerings and related career objects. + +## Summary + +The SuccessFactors Career Connector is intended to become a dedicated integration layer for SAP SuccessFactors recruiting and career processes. The first implementation step focuses on candidates and candidate metadata enrichment. Future versions will expand the connector to support job offerings and broader recruiting workflows. + +This phased approach allows the connector to deliver value early while keeping the architecture flexible for future SuccessFactors Career module extensions. \ No newline at end of file From 9ac9926269bf3ffdd427dff22bc808c1bb6b559c Mon Sep 17 00:00:00 2001 From: Sascha Bajonczak Date: Sun, 24 May 2026 21:42:10 +0200 Subject: [PATCH 02/10] addded contact details --- .../Sap Successfactors/intro.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/independent-publisher-connectors/Sap Successfactors/intro.md b/independent-publisher-connectors/Sap Successfactors/intro.md index dafa699039..bf6498f0c6 100644 --- a/independent-publisher-connectors/Sap Successfactors/intro.md +++ b/independent-publisher-connectors/Sap Successfactors/intro.md @@ -80,4 +80,8 @@ Future development will focus on expanding the recruiting scope, especially arou The SuccessFactors Career Connector is intended to become a dedicated integration layer for SAP SuccessFactors recruiting and career processes. The first implementation step focuses on candidates and candidate metadata enrichment. Future versions will expand the connector to support job offerings and broader recruiting workflows. -This phased approach allows the connector to deliver value early while keeping the architecture flexible for future SuccessFactors Career module extensions. \ No newline at end of file +This phased approach allows the connector to deliver value early while keeping the architecture flexible for future SuccessFactors Career module extensions. + +# Contact +Sascha Bajonczak (xbeejayx@hotmail.com) +https://blog.bajonczak.com \ No newline at end of file From 08fce82d20348b46fe844a4c811f0cc07511f166 Mon Sep 17 00:00:00 2001 From: Sascha Bajonczak <18240989+SBajonczak@users.noreply.github.com> Date: Sun, 24 May 2026 21:44:11 +0200 Subject: [PATCH 03/10] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- independent-publisher-connectors/Sap Successfactors/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/independent-publisher-connectors/Sap Successfactors/intro.md b/independent-publisher-connectors/Sap Successfactors/intro.md index bf6498f0c6..fc2adae27f 100644 --- a/independent-publisher-connectors/Sap Successfactors/intro.md +++ b/independent-publisher-connectors/Sap Successfactors/intro.md @@ -82,6 +82,6 @@ The SuccessFactors Career Connector is intended to become a dedicated integratio This phased approach allows the connector to deliver value early while keeping the architecture flexible for future SuccessFactors Career module extensions. -# Contact +## Contact Sascha Bajonczak (xbeejayx@hotmail.com) https://blog.bajonczak.com \ No newline at end of file From d72c721922941fe8143a62ae7f97cf27337219f0 Mon Sep 17 00:00:00 2001 From: Sascha Bajonczak Date: Sun, 24 May 2026 21:45:09 +0200 Subject: [PATCH 04/10] masked mail --- independent-publisher-connectors/Sap Successfactors/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/independent-publisher-connectors/Sap Successfactors/intro.md b/independent-publisher-connectors/Sap Successfactors/intro.md index bf6498f0c6..b56634f873 100644 --- a/independent-publisher-connectors/Sap Successfactors/intro.md +++ b/independent-publisher-connectors/Sap Successfactors/intro.md @@ -83,5 +83,5 @@ The SuccessFactors Career Connector is intended to become a dedicated integratio This phased approach allows the connector to deliver value early while keeping the architecture flexible for future SuccessFactors Career module extensions. # Contact -Sascha Bajonczak (xbeejayx@hotmail.com) +Sascha Bajonczak (xbeejayx@hotxxxx.com) https://blog.bajonczak.com \ No newline at end of file From fa2d474a50c1998b593e845535dbb1faf7d5ef0b Mon Sep 17 00:00:00 2001 From: Sascha Bajonczak Date: Thu, 4 Jun 2026 21:29:50 +0200 Subject: [PATCH 05/10] Added first informations --- .../apiDefinition.swagger.json | 11145 ++++++++++++++++ .../Sap Successfactors/apiProperties.json | 9 + .../Sap Successfactors/readme.md | 97 + schemas/RunSuccess-1.png | Bin 0 -> 45516 bytes schemas/RunSuccess-2.png | Bin 0 -> 44940 bytes schemas/RunSuccess-3.png | Bin 0 -> 52396 bytes 6 files changed, 11251 insertions(+) create mode 100644 independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/Sap Successfactors/apiProperties.json create mode 100644 independent-publisher-connectors/Sap Successfactors/readme.md create mode 100644 schemas/RunSuccess-1.png create mode 100644 schemas/RunSuccess-2.png create mode 100644 schemas/RunSuccess-3.png diff --git a/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json b/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json new file mode 100644 index 0000000000..f0045948a9 --- /dev/null +++ b/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json @@ -0,0 +1,11145 @@ +{ + "swagger": "2.0", + "info": { + "version": "1.0.0", + "title": "r/SpaceX", + "description": "r/SpaceX is an open Source REST API for SpaceX launch, rocket, core, capsule, Starlink, launchpad, and landing pad data. r/SpaceX is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Space Exploration Technologies Corp (SpaceX), or any of its subsidiaries or its affiliates. The names SpaceX as well as related names, marks, emblems and images are registered trademarks of their respective owners.", + "contact": { + "name": "Troy Taylor", + "url": "https://www.hitachisolutions.com", + "email": "ttaylor@hitachisolutions.com" + } + }, + "host": "api.spacexdata.com", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "paths": { + "/v4/capsules": { + "get": { + "summary": "Get all capsules", + "description": "Detailed info for all serialized Dragon capsules.", + "operationId": "GetAllCapsules", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "reuse_count": { + "type": "integer", + "format": "int32", + "description": "The reuse count.", + "title": "Reuse Count" + }, + "water_landings": { + "type": "integer", + "format": "int32", + "description": "The number of water landings.", + "title": "Water Landings" + }, + "land_landings": { + "type": "integer", + "format": "int32", + "description": "The number of land landings.", + "title": "Land Landings" + }, + "last_update": { + "type": "string", + "description": "When last updated.", + "title": "Last Update" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "serial": { + "type": "string", + "description": "The serial number.", + "title": "Serial" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + } + }, + "/v4/capsules/{capsuleID}": { + "get": { + "summary": "Get a capsule", + "description": "Detailed info for a serialized Dragon capsule.", + "operationId": "GetACapsule", + "parameters": [ + { + "name": "capsuleID", + "in": "path", + "x-ms-url-encoding": "single", + "required": true, + "type": "string", + "description": "The ID of the capsule.", + "x-ms-summary": "Capsule ID" + } + ], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "reuse_count": { + "type": "integer", + "format": "int32", + "description": "The reuse count.", + "title": "Reuse Count" + }, + "water_landings": { + "type": "integer", + "format": "int32", + "description": "The number of water landings.", + "title": "Water Landings" + }, + "land_landings": { + "type": "integer", + "format": "int32", + "description": "The number of land landings.", + "title": "Land Landings" + }, + "last_update": { + "type": "string", + "description": "When last updated.", + "title": "Last Update" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "serial": { + "type": "string", + "description": "The serial number.", + "title": "Serial" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/capsules/query": { + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "query": { + "type": "object", + "properties": {}, + "description": "Accepts any valid MongoDB find() query.", + "title": "Query" + }, + "options": { + "type": "object", + "properties": { + "select": { + "type": "string", + "description": "Fields to return (by default returns all fields).", + "title": "Select" + }, + "collation": { + "type": "object", + "properties": {}, + "description": "Specify the collation", + "title": "collation" + }, + "sort": { + "type": "string", + "description": "Sort order.", + "title": "Sort" + }, + "populate": { + "type": "array", + "items": {}, + "description": "Paths which should be populated with other documents.", + "title": "Populate" + }, + "projection": { + "type": "string", + "description": "Get/set the query projection.", + "title": "Projection" + }, + "lean": { + "type": "boolean", + "description": "Should return plain javascript objects instead of Mongoose documents.", + "title": "Lean" + }, + "leanWithId": { + "type": "boolean", + "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", + "title": "Lean With Id" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Use offset or page to set skip position.", + "title": "Offset" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The page number.", + "title": "Page" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit per page.", + "title": "Limit" + }, + "customLabels": { + "type": "object", + "properties": {}, + "description": "Developers can provide custom labels for manipulating the response data.", + "title": "Custom Labels" + }, + "pagination": { + "type": "boolean", + "description": "If pagination is set to false it will return all docs without adding limit condition.", + "title": "Pagination" + }, + "useEstimatedCount": { + "type": "boolean", + "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", + "title": "Use Estimated Count" + }, + "useCustomCountFn": { + "type": "boolean", + "description": "Enable custom function for count datasets.", + "title": "Use Custom Count Function" + }, + "forceCountFn": { + "type": "boolean", + "description": "Set this to true if you need to support $geo queries.", + "title": "Force Count Function" + }, + "allowDiskUse": { + "type": "boolean", + "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", + "title": "Allow Disk Use" + }, + "options": { + "type": "object", + "properties": { + "pref": { + "type": "string", + "description": "A of the listed preference options or aliases.", + "title": "Preference" + }, + "tags": { + "type": "string", + "description": "Optional tags for this query (must be used with pref).", + "title": "Tags" + } + }, + "description": "Determines the MongoDB nodes from which to read.", + "title": "Options" + } + }, + "description": "Requested options", + "title": "Options" + } + } + } + } + ], + "summary": "Query capsules", + "description": "Detailed info for queried serialized Dragon capsules.", + "operationId": "QueryCapsules", + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "docs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "reuse_count": { + "type": "integer", + "format": "int32", + "description": "The reuse count.", + "title": "Reuse Count" + }, + "water_landings": { + "type": "integer", + "format": "int32", + "description": "The number of water landings.", + "title": "Water Landings" + }, + "land_landings": { + "type": "integer", + "format": "int32", + "description": "The number of land landings.", + "title": "Land Landings" + }, + "last_update": { + "type": "string", + "description": "When last updated.", + "title": "Last Update" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "serial": { + "type": "string", + "description": "The serial number.", + "title": "Serial" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + }, + "description": "The documentation.", + "title": "Docs" + }, + "totalDocs": { + "type": "integer", + "format": "int32", + "description": "The total number of documentations.", + "title": "Total Docs" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The response offset.", + "title": "Offset" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The response limit.", + "title": "Limit" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "The total number of pages.", + "title": "Total Pages" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The current page.", + "title": "Page" + }, + "pagingCounter": { + "type": "integer", + "format": "int32", + "description": "The paging counter.", + "title": "Paging Counter" + }, + "hasPrevPage": { + "type": "boolean", + "description": "Whether has previous page.", + "title": "Has Previous Page" + }, + "hasNextPage": { + "type": "boolean", + "description": "Whether has next page.", + "title": "Has Next Page" + }, + "prevPage": { + "type": "string", + "description": "The previous page.", + "title": "Previous Page" + }, + "nextPage": { + "type": "integer", + "format": "int32", + "description": "The next page.", + "title": "Next Page" + } + } + } + } + } + } + }, + "/v4/company": { + "get": { + "summary": "Get company info", + "description": "Detailed info about SpaceX as a company.", + "operationId": "GetCompanyInfo", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "headquarters": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The street address.", + "title": "Address" + }, + "city": { + "type": "string", + "description": "The city.", + "title": "City" + }, + "state": { + "type": "string", + "description": "The state.", + "title": "State" + } + }, + "description": "The headquarter address.", + "title": "Headquarters" + }, + "links": { + "type": "object", + "properties": { + "website": { + "type": "string", + "description": "The website address.", + "title": "Website" + }, + "flickr": { + "type": "string", + "description": "The Flickr address.", + "title": "Flickr" + }, + "twitter": { + "type": "string", + "description": "The Twitter address.", + "title": "Twitter" + }, + "elon_twitter": { + "type": "string", + "description": "Elon Musk's Twitter address.", + "title": "Elon's Twitter" + } + }, + "description": "Link addresses.", + "title": "Links" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "founder": { + "type": "string", + "description": "The founder.", + "title": "Founder" + }, + "founded": { + "type": "integer", + "format": "int32", + "description": "The year founded.", + "title": "Founded" + }, + "employees": { + "type": "integer", + "format": "int32", + "description": "The number of employees.", + "title": "Employees" + }, + "vehicles": { + "type": "integer", + "format": "int32", + "description": "The number of vehicles.", + "title": "Vehicles" + }, + "launch_sites": { + "type": "integer", + "format": "int32", + "description": "The number of launch sites.", + "title": "Launch Sites" + }, + "test_sites": { + "type": "integer", + "format": "int32", + "description": "The number of test sites.", + "title": "Test Sites" + }, + "ceo": { + "type": "string", + "description": "The current CEO.", + "title": "CEO" + }, + "cto": { + "type": "string", + "description": "The current CTO.", + "title": "CTO" + }, + "coo": { + "type": "string", + "description": "The current COO.", + "title": "COO" + }, + "cto_propulsion": { + "type": "string", + "description": "The CTO of Propulsion.", + "title": "CTO Propulsion" + }, + "valuation": { + "type": "integer", + "format": "int32", + "description": "The current valuation.", + "title": "Valuation" + }, + "summary": { + "type": "string", + "description": "The company summary.", + "title": "Summary" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/cores": { + "get": { + "summary": "Get all cores", + "description": "Detailed info for all serialized first stage cores.", + "operationId": "GetAllCores", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "headquarters": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The street address.", + "title": "Address" + }, + "city": { + "type": "string", + "description": "The city.", + "title": "City" + }, + "state": { + "type": "string", + "description": "The state.", + "title": "State" + } + }, + "description": "The state.", + "title": "State" + }, + "links": { + "type": "object", + "properties": { + "website": { + "type": "string", + "description": "The website address.", + "title": "Website" + }, + "flickr": { + "type": "string", + "description": "The Flickr address.", + "title": "Flickr" + }, + "twitter": { + "type": "string", + "description": "The Twitter address.", + "title": "Twitter" + }, + "elon_twitter": { + "type": "string", + "description": "Elon Musk's Twitter address.", + "title": "Elon's Twitter" + } + }, + "description": "Link addresses.", + "title": "Links" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "founder": { + "type": "string", + "description": "The founder.", + "title": "Founder" + }, + "founded": { + "type": "integer", + "format": "int32", + "description": "The year founded.", + "title": "Founded" + }, + "employees": { + "type": "integer", + "format": "int32", + "description": "The number of employees.", + "title": "Employees" + }, + "vehicles": { + "type": "integer", + "format": "int32", + "description": "The number of vehicles.", + "title": "Vehicles" + }, + "launch_sites": { + "type": "integer", + "format": "int32", + "description": "The number of launch sites.", + "title": "Launch Sites" + }, + "test_sites": { + "type": "integer", + "format": "int32", + "description": "The number of test sites.", + "title": "Test Sites" + }, + "ceo": { + "type": "string", + "description": "The current CEO.", + "title": "CEO" + }, + "cto": { + "type": "string", + "description": "The current CTO.", + "title": "CTO" + }, + "coo": { + "type": "string", + "description": "The current COO.", + "title": "COO" + }, + "cto_propulsion": { + "type": "string", + "description": "The CTO of Propulsion.", + "title": "CTO Propulsion" + }, + "valuation": { + "type": "integer", + "format": "int32", + "description": "The current valuation.", + "title": "Valuation" + }, + "summary": { + "type": "string", + "description": "The company summary.", + "title": "Summary" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/cores/{coreID}": { + "get": { + "summary": "Get a core", + "description": "Detailed info for a serialized first stage core.", + "operationId": "GetACore", + "parameters": [ + { + "name": "coreID", + "in": "path", + "x-ms-url-encoding": "single", + "required": true, + "type": "string", + "description": "The ID of the core.", + "x-ms-summary": "Core ID" + } + ], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "block": { + "type": "string", + "description": "The block.", + "title": "Block" + }, + "reuse_count": { + "type": "integer", + "format": "int32", + "description": "The reuse count.", + "title": "Reuse Count" + }, + "rtls_attempts": { + "type": "integer", + "format": "int32", + "description": "The number of RTLS attempts.", + "title": "RTLS Attempts" + }, + "rtls_landings": { + "type": "integer", + "format": "int32", + "description": "The number of RTLS landings.", + "title": "RTLS Landings" + }, + "asds_attempts": { + "type": "integer", + "format": "int32", + "description": "The number of ASDS attempts.", + "title": "ASDS Attempts" + }, + "asds_landings": { + "type": "integer", + "format": "int32", + "description": "The number of ASDS landings.", + "title": "ASDS Landings" + }, + "last_update": { + "type": "string", + "description": "When last updated.", + "title": "Last Update" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "serial": { + "type": "string", + "description": "The serial number.", + "title": "Serial" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/cores/query": { + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "query": { + "type": "object", + "properties": {}, + "description": "Accepts any valid MongoDB find() query.", + "title": "Query" + }, + "options": { + "type": "object", + "properties": { + "select": { + "type": "string", + "description": "Fields to return (by default returns all fields).", + "title": "Select" + }, + "collation": { + "type": "object", + "properties": {}, + "description": "Specify the collation", + "title": "collation" + }, + "sort": { + "type": "string", + "description": "Sort order.", + "title": "Sort" + }, + "populate": { + "type": "array", + "items": {}, + "description": "Paths which should be populated with other documents.", + "title": "Populate" + }, + "projection": { + "type": "string", + "description": "Get/set the query projection.", + "title": "Projection" + }, + "lean": { + "type": "boolean", + "description": "Should return plain javascript objects instead of Mongoose documents.", + "title": "Lean" + }, + "leanWithId": { + "type": "boolean", + "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", + "title": "Lean With Id" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Use offset or page to set skip position.", + "title": "Offset" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The page number.", + "title": "Page" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit per page.", + "title": "Limit" + }, + "customLabels": { + "type": "object", + "properties": {}, + "description": "Developers can provide custom labels for manipulating the response data.", + "title": "Custom Labels" + }, + "pagination": { + "type": "boolean", + "description": "If pagination is set to false it will return all docs without adding limit condition.", + "title": "Pagination" + }, + "useEstimatedCount": { + "type": "boolean", + "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", + "title": "Use Estimated Count" + }, + "useCustomCountFn": { + "type": "boolean", + "description": "Enable custom function for count datasets.", + "title": "Use Custom Count Function" + }, + "forceCountFn": { + "type": "boolean", + "description": "Set this to true if you need to support $geo queries.", + "title": "Force Count Function" + }, + "allowDiskUse": { + "type": "boolean", + "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", + "title": "Allow Disk Use" + }, + "options": { + "type": "object", + "properties": { + "pref": { + "type": "string", + "description": "A of the listed preference options or aliases.", + "title": "Preference" + }, + "tags": { + "type": "string", + "description": "Optional tags for this query (must be used with pref).", + "title": "Tags" + } + }, + "description": "Determines the MongoDB nodes from which to read.", + "title": "Options" + } + }, + "description": "Requested options", + "title": "Options" + } + } + } + } + ], + "summary": "Query cores", + "description": "Detailed info for queried serialized first stage cores.", + "operationId": "QueryCores", + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "docs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block": { + "type": "integer", + "format": "int32", + "description": "The number of blocks.", + "title": "Block" + }, + "reuse_count": { + "type": "integer", + "format": "int32", + "description": "The reuse count.", + "title": "Reuse Count" + }, + "rtls_attempts": { + "type": "integer", + "format": "int32", + "description": "The number of RTLS attempts.", + "title": "RTLS Attempts" + }, + "rtls_landings": { + "type": "integer", + "format": "int32", + "description": "The number of RTLS landings.", + "title": "RTLS Landings" + }, + "asds_attempts": { + "type": "integer", + "format": "int32", + "description": "The number of ASDS attempts.", + "title": "ASDS Attempts" + }, + "asds_landings": { + "type": "integer", + "format": "int32", + "description": "The number of ASDS landings.", + "title": "ASDS Landings" + }, + "last_update": { + "type": "string", + "description": "When last updated.", + "title": "Last Update" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "serial": { + "type": "string", + "description": "The serial number.", + "title": "Serial" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + }, + "description": "The documentation.", + "title": "Docs" + }, + "totalDocs": { + "type": "integer", + "format": "int32", + "description": "The total number of documentations.", + "title": "Total Docs" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The response offset.", + "title": "Offset" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The response limit.", + "title": "Limit" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "The total number of pages.", + "title": "Total Pages" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The current page.", + "title": "Page" + }, + "pagingCounter": { + "type": "integer", + "format": "int32", + "description": "The paging counter.", + "title": "Paging Counter" + }, + "hasPrevPage": { + "type": "boolean", + "description": "Whether has previous page.", + "title": "Has Previous Page" + }, + "hasNextPage": { + "type": "boolean", + "description": "Whether has next page.", + "title": "Has Next Page" + }, + "prevPage": { + "type": "string", + "description": "The previous page.", + "title": "Previous Page" + }, + "nextPage": { + "type": "integer", + "format": "int32", + "description": "The next page.", + "title": "Next Page" + } + } + } + } + } + } + }, + "/v4/crew": { + "get": { + "summary": "Get all crew members", + "description": "Detailed info on all Dragon crew members.", + "operationId": "GetAllCrew", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "agency": { + "type": "string", + "description": "The space agency.", + "title": "Agency" + }, + "image": { + "type": "string", + "description": "An image.", + "title": "Image" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia address.", + "title": "Wikipedia" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + } + }, + "/v4/crew/{id}": { + "get": { + "summary": "Get a crew member", + "description": "Detailed info on a Dragon crew member.", + "operationId": "GetACrewMember", + "parameters": [ + { + "name": "id", + "in": "path", + "x-ms-url-encoding": "single", + "required": true, + "type": "string", + "description": "The ID of the crew member.", + "x-ms-summary": "Crew Member ID" + } + ], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "agency": { + "type": "string", + "description": "The space agency.", + "title": "Agency" + }, + "image": { + "type": "string", + "description": "Image.", + "title": "Image" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia address.", + "title": "Wikipedia" + }, + "launches": { + "type": "array", + "items": {}, + "description": "The launch identifiers.", + "title": "Launches" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/crew/query": { + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "query": { + "type": "object", + "properties": {}, + "description": "Accepts any valid MongoDB find() query.", + "title": "Query" + }, + "options": { + "type": "object", + "properties": { + "select": { + "type": "string", + "description": "Fields to return (by default returns all fields).", + "title": "Select" + }, + "collation": { + "type": "object", + "properties": {}, + "description": "Specify the collation", + "title": "collation" + }, + "sort": { + "type": "string", + "description": "Sort order.", + "title": "Sort" + }, + "populate": { + "type": "array", + "items": {}, + "description": "Paths which should be populated with other documents.", + "title": "Populate" + }, + "projection": { + "type": "string", + "description": "Get/set the query projection.", + "title": "Projection" + }, + "lean": { + "type": "boolean", + "description": "Should return plain javascript objects instead of Mongoose documents.", + "title": "Lean" + }, + "leanWithId": { + "type": "boolean", + "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", + "title": "Lean With Id" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Use offset or page to set skip position.", + "title": "Offset" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The page number.", + "title": "Page" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit per page.", + "title": "Limit" + }, + "customLabels": { + "type": "object", + "properties": {}, + "description": "Developers can provide custom labels for manipulating the response data.", + "title": "Custom Labels" + }, + "pagination": { + "type": "boolean", + "description": "If pagination is set to false it will return all docs without adding limit condition.", + "title": "Pagination" + }, + "useEstimatedCount": { + "type": "boolean", + "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", + "title": "Use Estimated Count" + }, + "useCustomCountFn": { + "type": "boolean", + "description": "Enable custom function for count datasets.", + "title": "Use Custom Count Function" + }, + "forceCountFn": { + "type": "boolean", + "description": "Set this to true if you need to support $geo queries.", + "title": "Force Count Function" + }, + "allowDiskUse": { + "type": "boolean", + "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", + "title": "Allow Disk Use" + }, + "options": { + "type": "object", + "properties": { + "pref": { + "type": "string", + "description": "A of the listed preference options or aliases.", + "title": "Preference" + }, + "tags": { + "type": "string", + "description": "Optional tags for this query (must be used with pref).", + "title": "Tags" + } + }, + "description": "Determines the MongoDB nodes from which to read.", + "title": "Options" + } + }, + "description": "Requested options", + "title": "Options" + } + } + } + } + ], + "summary": "Query crew members", + "description": "Detailed info on queried Dragon crew members.", + "operationId": "QueryCrewMembers", + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "docs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "agency": { + "type": "string", + "description": "The space agency.", + "title": "Agency" + }, + "image": { + "type": "string", + "description": "An image.", + "title": "Image" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia link.", + "title": "Wikipedia" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + }, + "description": "The documentation.", + "title": "Docs" + }, + "totalDocs": { + "type": "integer", + "format": "int32", + "description": "The total number of documentations.", + "title": "Total Docs" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The response offset.", + "title": "Offset" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The response limit.", + "title": "Limit" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "The total number of pages.", + "title": "Total Pages" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The current page.", + "title": "Page" + }, + "pagingCounter": { + "type": "integer", + "format": "int32", + "description": "The paging counter.", + "title": "Paging Counter" + }, + "hasPrevPage": { + "type": "boolean", + "description": "Whether has previous page.", + "title": "Has Previous Page" + }, + "hasNextPage": { + "type": "boolean", + "description": "Whether has next page.", + "title": "Has Next Page" + }, + "prevPage": { + "type": "string", + "description": "The previous page.", + "title": "Previous Page" + }, + "nextPage": { + "type": "integer", + "format": "int32", + "description": "The next page.", + "title": "Next Page" + } + } + } + } + } + } + }, + "/v4/dragons": { + "get": { + "summary": "Get all Dragons", + "description": "Detailed info about all Dragon capsule versions.", + "operationId": "GetAllDragons", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "heat_shield": { + "type": "object", + "properties": { + "material": { + "type": "string", + "description": "The heat shield material.", + "title": "Heat Shield Material" + }, + "size_meters": { + "type": "number", + "format": "float", + "description": "The heat shield size in meters.", + "title": "Heat Shield Size in Meters" + }, + "temp_degrees": { + "type": "integer", + "format": "int32", + "description": "The heat shield temperature rating in degrees.", + "title": "Heat Shield Temperature in Degrees" + }, + "dev_partner": { + "type": "string", + "description": "The heat shield developing partner.", + "title": "Heat Shield Developing Partner" + } + }, + "description": "The heat shield.", + "title": "Heat Shield" + }, + "launch_payload_mass": { + "type": "object", + "properties": { + "kg": { + "type": "integer", + "format": "int32", + "description": "The launch mass in kilograms.", + "title": "Launch Payload Kg" + }, + "lb": { + "type": "integer", + "format": "int32", + "description": "The launch mass in pounds", + "title": "Launch Payload Lb" + } + }, + "description": "The launch payload mass.", + "title": "Launch Payload Mass" + }, + "launch_payload_vol": { + "type": "object", + "properties": { + "cubic_meters": { + "type": "integer", + "format": "int32", + "description": "The volume in cubic meters. ", + "title": "Launch Payload Cubic Meters" + }, + "cubic_feet": { + "type": "integer", + "format": "int32", + "description": "The volume in cubic feet.", + "title": "Launch Payload Cubic Feet" + } + }, + "description": "The launch payload volume", + "title": "Launch Payload Volume" + }, + "return_payload_mass": { + "type": "object", + "properties": { + "kg": { + "type": "integer", + "format": "int32", + "description": "The mass in kilograms.", + "title": "Return Payload Kg" + }, + "lb": { + "type": "integer", + "format": "int32", + "description": "The mass in pounds", + "title": "Return Payload Lb" + } + }, + "description": "return_payload_mass" + }, + "return_payload_vol": { + "type": "object", + "properties": { + "cubic_meters": { + "type": "integer", + "format": "int32", + "description": "The volume in cubic meters. ", + "title": "Return Payload Cubic Meters" + }, + "cubic_feet": { + "type": "integer", + "format": "int32", + "description": "The volume in cubic feet.", + "title": "Return Payload Cubic Feet" + } + }, + "description": "The return payload volume.", + "title": "Return Payload Volume" + }, + "pressurized_capsule": { + "type": "object", + "properties": { + "payload_volume": { + "type": "object", + "properties": { + "cubic_meters": { + "type": "integer", + "format": "int32", + "description": "The pressurized capsule's volume in cubic meters.", + "title": "Pressurized Capsule Cubic Meters" + }, + "cubic_feet": { + "type": "integer", + "format": "int32", + "description": "The pressurized capsule's volume in cubic feet.", + "title": "Pressurized Capsule Cubic Feet" + } + }, + "description": "The Pressurized Capsule's Volume.", + "title": "Pressurized Capsule Volume" + } + }, + "description": "The Pressurized Capsule.", + "title": "Pressurized Capsule" + }, + "trunk": { + "type": "object", + "properties": { + "trunk_volume": { + "type": "object", + "properties": { + "cubic_meters": { + "type": "integer", + "format": "int32", + "description": "The trunk volume in cubic meters.", + "title": "Trunk Cubic Meters" + }, + "cubic_feet": { + "type": "integer", + "format": "int32", + "description": "The trunk volume in cubic feet.", + "title": "Trunk Cubic Feet" + } + }, + "description": "The trunk volume.", + "title": "Trunk Volume" + }, + "cargo": { + "type": "object", + "properties": { + "solar_array": { + "type": "integer", + "format": "int32", + "description": "The number of solar arrays in cargo.", + "title": "solar_array" + }, + "unpressurized_cargo": { + "type": "boolean", + "description": "Whether the cargo is unpressurized.", + "title": "Unpressurized Cargo" + } + }, + "description": "The cargo.", + "title": "Cargo" + } + }, + "description": "The trunk.", + "title": "Trunk" + }, + "height_w_trunk": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The height with trunk in meters.", + "title": "Meters" + }, + "feet": { + "type": "number", + "format": "float", + "description": "The height with trunk in feet.", + "title": "Feet" + } + }, + "description": "The height with trunk.", + "title": "Height with Trunk" + }, + "diameter": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The diameter in meters.", + "title": "Diameter Meters" + }, + "feet": { + "type": "integer", + "format": "int32", + "description": "The diameter in feet.", + "title": "Diameter Feet" + } + }, + "description": "The diameter.", + "title": "Diameter" + }, + "first_flight": { + "type": "string", + "description": "The first flight.", + "title": "First Flight" + }, + "flickr_images": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Flickr image links.", + "title": "Flickr Images" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "active": { + "type": "boolean", + "description": "Whether active.", + "title": "Active" + }, + "crew_capacity": { + "type": "integer", + "format": "int32", + "description": "The crew capacity.", + "title": "Crew Capacity" + }, + "sidewall_angle_deg": { + "type": "integer", + "format": "int32", + "description": "The sidewall angle in degrees.", + "title": "Sidewall Angle Degrees" + }, + "orbit_duration_yr": { + "type": "integer", + "format": "int32", + "description": "The orbit duration in years.", + "title": "Orbit Duration Years" + }, + "dry_mass_kg": { + "type": "integer", + "format": "int32", + "description": "The dry mass in kilograms.", + "title": "Dry Mass Kilograms" + }, + "dry_mass_lb": { + "type": "integer", + "format": "int32", + "description": "The dry mass in kilograms.", + "title": "Dry Mass Pounds" + }, + "thrusters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The thruster type.", + "title": "Thruster Type" + }, + "amount": { + "type": "integer", + "format": "int32", + "description": "The thruster amount.", + "title": "Thruster Amount" + }, + "pods": { + "type": "integer", + "format": "int32", + "description": "The number of thruster pods.", + "title": "Thruster Pods" + }, + "fuel_1": { + "type": "string", + "description": "The thruster fuel 1 type.", + "title": "Thruster Fuel 1" + }, + "fuel_2": { + "type": "string", + "description": "The thruster fuel 2 type", + "title": "Thruster Fuel 2" + }, + "isp": { + "type": "integer", + "format": "int32", + "description": "The specific impulse.", + "title": "Isp" + }, + "thrust": { + "type": "object", + "properties": { + "kN": { + "type": "integer", + "format": "int32", + "description": "The thrust in newtons.", + "title": "Thrust kN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The thrust in total impulse.", + "title": "Thrust lbf" + } + }, + "description": "The thrust.", + "title": "Thrust" + } + } + }, + "description": "The thrusters.", + "title": "Thrusters" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia address.", + "title": "Wikipedia" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + } + }, + "/v4/dragons/{id}": { + "get": { + "summary": "Get a Dragon", + "description": "Detailed info about a Dragon capsule version.", + "operationId": "GetADragon", + "parameters": [ + { + "name": "id", + "in": "path", + "x-ms-url-encoding": "single", + "required": true, + "type": "string", + "description": "The ID of the Dragon.", + "x-ms-summary": "Dragon ID" + } + ], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "heat_shield": { + "type": "object", + "properties": { + "material": { + "type": "string", + "description": "The heat shield material", + "title": "Heat Shield Material" + }, + "size_meters": { + "type": "number", + "format": "float", + "description": "The heat shield size in meters.", + "title": "Heat Shield Size Meters" + }, + "temp_degrees": { + "type": "integer", + "format": "int32", + "description": "The heat shield maximum temperature in degrees.", + "title": "temp_degrees" + }, + "dev_partner": { + "type": "string", + "description": "The heat shield developing partner.", + "title": "Heat Shield Dev Partner" + } + }, + "description": "The heat shield.", + "title": "Heat Shield" + }, + "launch_payload_mass": { + "type": "object", + "properties": { + "kg": { + "type": "integer", + "format": "int32", + "description": "The launch payload mass in kilograms.", + "title": "Launch Payload Kg" + }, + "lb": { + "type": "integer", + "format": "int32", + "description": "The mass in pounds.", + "title": "Launch Payload Lb" + } + }, + "description": "The launch payload mass.", + "title": "Launch Payload Mass" + }, + "launch_payload_vol": { + "type": "object", + "properties": { + "cubic_meters": { + "type": "integer", + "format": "int32", + "description": "The launch payload volume in cubic meters.", + "title": "Launch Payload Cubic Meters" + }, + "cubic_feet": { + "type": "integer", + "format": "int32", + "description": "The launch payload volume in cubic feet.", + "title": "Launch Payload Cubic Feet" + } + }, + "description": "The launch payload volume", + "title": "Launch Payload Volume" + }, + "return_payload_mass": { + "type": "object", + "properties": { + "kg": { + "type": "integer", + "format": "int32", + "description": "The return payload mass in kilograms.", + "title": "Return Payload Kg" + }, + "lb": { + "type": "integer", + "format": "int32", + "description": "The return payload mass in pounds.", + "title": "Return Payload Lb" + } + }, + "description": "The return payload mass.", + "title": "Return Payload Mass" + }, + "return_payload_vol": { + "type": "object", + "properties": { + "cubic_meters": { + "type": "integer", + "format": "int32", + "description": "The return payload volume in cubic meters.", + "title": "Return Payload Cubic Meters" + }, + "cubic_feet": { + "type": "integer", + "format": "int32", + "description": "The return payload volume in cubic feet.", + "title": "Return Payload Cubic Feet" + } + }, + "description": "The return payload volume.", + "title": "Return Payload Volume" + }, + "pressurized_capsule": { + "type": "object", + "properties": { + "payload_volume": { + "type": "object", + "properties": { + "cubic_meters": { + "type": "integer", + "format": "int32", + "description": "The pressurized capsule volume in cubic meters.", + "title": "Pressurized Capsule Cubic Meters" + }, + "cubic_feet": { + "type": "integer", + "format": "int32", + "description": "The pressurized capsulevolume in cubic feet.", + "title": "Pressurized Cubic Feet" + } + }, + "description": "The payload volume.", + "title": "Payload Volume" + } + }, + "description": "The pressurized capsule.", + "title": "Pressurized Capsule" + }, + "trunk": { + "type": "object", + "properties": { + "trunk_volume": { + "type": "object", + "properties": { + "cubic_meters": { + "type": "integer", + "format": "int32", + "description": "The trunk volume in cubic meters.", + "title": "Trunk Cubic Meters" + }, + "cubic_feet": { + "type": "integer", + "format": "int32", + "description": "The trunk volume in cubic feet.", + "title": "Trunk Cubic Feet" + } + }, + "description": "The trunk volume.", + "title": "Trunk Volume" + }, + "cargo": { + "type": "object", + "properties": { + "solar_array": { + "type": "integer", + "format": "int32", + "description": "The solar array in cargo.", + "title": "solar_array" + }, + "unpressurized_cargo": { + "type": "boolean", + "description": "The unpressurized cargo.", + "title": "unpressurized_cargo" + } + }, + "description": "The cargo.", + "title": "Cargo" + } + }, + "description": "The trunk.", + "title": "Trunk" + }, + "height_w_trunk": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The height with trunk in meters", + "title": "Meters" + }, + "feet": { + "type": "number", + "format": "float", + "description": "The height with trunk in feet.", + "title": "Feet" + } + }, + "description": "The height with trunk.", + "title": "Height with Trunk" + }, + "diameter": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The diameter in meters", + "title": "Meters" + }, + "feet": { + "type": "integer", + "format": "int32", + "description": "The diaameter in feet.", + "title": "Feet" + } + }, + "description": "The diameter.", + "title": "Diameter" + }, + "first_flight": { + "type": "string", + "description": "The first flight.", + "title": "First Flight" + }, + "flickr_images": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Flickr image links.", + "title": "Flickr Images" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "active": { + "type": "boolean", + "description": "Whether active.", + "title": "Active" + }, + "crew_capacity": { + "type": "integer", + "format": "int32", + "description": "The crew capacity.", + "title": "Crew Capacity" + }, + "sidewall_angle_deg": { + "type": "integer", + "format": "int32", + "description": "The sidewall angle in degrees.", + "title": "Sidewall Angle Degrees" + }, + "orbit_duration_yr": { + "type": "integer", + "format": "int32", + "description": "The orbit duration in years.", + "title": "Orbit Duration Years" + }, + "dry_mass_kg": { + "type": "integer", + "format": "int32", + "description": "The dry mass in kilograms.", + "title": "Dry Mass Kg" + }, + "dry_mass_lb": { + "type": "integer", + "format": "int32", + "description": "The dry mass in pounds.", + "title": "Dry Mass Lb" + }, + "thrusters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The thruster type.", + "title": "Thruster Type" + }, + "amount": { + "type": "integer", + "format": "int32", + "description": "The thruster amount.", + "title": "Thruster Amount" + }, + "pods": { + "type": "integer", + "format": "int32", + "description": "The number of thruster pods.", + "title": "Thruster Pods" + }, + "fuel_1": { + "type": "string", + "description": "The thruster fuel 1 type.", + "title": "Thruster Fuel 1" + }, + "fuel_2": { + "type": "string", + "description": "The thruster fuel 2 type.", + "title": "Thruster Fuel 2" + }, + "isp": { + "type": "integer", + "format": "int32", + "description": "The specific impulse.", + "title": "Isp" + }, + "thrust": { + "type": "object", + "properties": { + "kN": { + "type": "integer", + "format": "int32", + "description": "The thrust in kilogram newtons.", + "title": "Thurst kN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The thrust in pounds of force.", + "title": "Thurst Lbf" + } + }, + "description": "The thrust.", + "title": "Thrust" + } + } + }, + "description": "The thrusters.", + "title": "Thrusters" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia address.", + "title": "Wikipedia" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/dragons/query": { + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "query": { + "type": "object", + "properties": {}, + "description": "Accepts any valid MongoDB find() query.", + "title": "Query" + }, + "options": { + "type": "object", + "properties": { + "select": { + "type": "string", + "description": "Fields to return (by default returns all fields).", + "title": "Select" + }, + "collation": { + "type": "object", + "properties": {}, + "description": "Specify the collation", + "title": "collation" + }, + "sort": { + "type": "string", + "description": "Sort order.", + "title": "Sort" + }, + "populate": { + "type": "array", + "items": {}, + "description": "Paths which should be populated with other documents.", + "title": "Populate" + }, + "projection": { + "type": "string", + "description": "Get/set the query projection.", + "title": "Projection" + }, + "lean": { + "type": "boolean", + "description": "Should return plain javascript objects instead of Mongoose documents.", + "title": "Lean" + }, + "leanWithId": { + "type": "boolean", + "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", + "title": "Lean With Id" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Use offset or page to set skip position.", + "title": "Offset" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The page number.", + "title": "Page" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit per page.", + "title": "Limit" + }, + "customLabels": { + "type": "object", + "properties": {}, + "description": "Developers can provide custom labels for manipulating the response data.", + "title": "Custom Labels" + }, + "pagination": { + "type": "boolean", + "description": "If pagination is set to false it will return all docs without adding limit condition.", + "title": "Pagination" + }, + "useEstimatedCount": { + "type": "boolean", + "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", + "title": "Use Estimated Count" + }, + "useCustomCountFn": { + "type": "boolean", + "description": "Enable custom function for count datasets.", + "title": "Use Custom Count Function" + }, + "forceCountFn": { + "type": "boolean", + "description": "Set this to true if you need to support $geo queries.", + "title": "Force Count Function" + }, + "allowDiskUse": { + "type": "boolean", + "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", + "title": "Allow Disk Use" + }, + "options": { + "type": "object", + "properties": { + "pref": { + "type": "string", + "description": "A of the listed preference options or aliases.", + "title": "Preference" + }, + "tags": { + "type": "string", + "description": "Optional tags for this query (must be used with pref).", + "title": "Tags" + } + }, + "description": "Determines the MongoDB nodes from which to read.", + "title": "Options" + } + }, + "description": "Requested options", + "title": "Options" + } + } + } + } + ], + "summary": "Query Dragons", + "description": "Detailed info about queried Dragon capsule versions.", + "operationId": "QueryDragons", + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "docs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "heat_shield": { + "type": "object", + "properties": { + "material": { + "type": "string", + "description": "The heat shield material type.", + "title": "Heat Shield Material" + }, + "size_meters": { + "type": "number", + "format": "float", + "description": "The heat shield size in meters.", + "title": "Heat Shield Size Meters" + }, + "temp_degrees": { + "type": "integer", + "format": "int32", + "description": "The heat shield maximum temperature in degrees.", + "title": "Heat Sheild Temp Degrees" + }, + "dev_partner": { + "type": "string", + "description": "The heat shield developing partner.", + "title": "Heat Shield Dev Partner" + } + }, + "description": "The heat shield.", + "title": "Heat Shield" + }, + "launch_payload_mass": { + "type": "object", + "properties": { + "kg": { + "type": "integer", + "format": "int32", + "description": "The launch payload mass in kilograms.", + "title": "Launch Payload Mass Kg" + }, + "lb": { + "type": "integer", + "format": "int32", + "description": "The launch payload mass in pounds.", + "title": "Launch Payload Mass Lb" + } + }, + "description": "The launch payload mass.", + "title": "Launch Payload Mass" + }, + "launch_payload_vol": { + "type": "object", + "properties": { + "cubic_meters": { + "type": "integer", + "format": "int32", + "description": "The launch payload volume in cubic meters.", + "title": "Launch Payload Cubic Meters" + }, + "cubic_feet": { + "type": "integer", + "format": "int32", + "description": "The launch payload volume in cubic feet.", + "title": "Launch Payload Cubic Feet" + } + }, + "description": "The launch payload.", + "title": "Launch Payload Volume" + }, + "return_payload_mass": { + "type": "object", + "properties": { + "kg": { + "type": "integer", + "format": "int32", + "description": "The return payload mass in kilograms.", + "title": "Return Payload Mass Kg" + }, + "lb": { + "type": "integer", + "format": "int32", + "description": "The return payload mass in pounds.", + "title": "Return Payload Mass Lb" + } + }, + "description": "The return payload mass.", + "title": "Return Payload Mass" + }, + "return_payload_vol": { + "type": "object", + "properties": { + "cubic_meters": { + "type": "integer", + "format": "int32", + "description": "The return payload volume in cubic meters.", + "title": "Return Payload Cubic Meters" + }, + "cubic_feet": { + "type": "integer", + "format": "int32", + "description": "The return payload volume in cubic feet.", + "title": "Return Payload Cubic Feet" + } + }, + "description": "The return payload volume.", + "title": "Return Payload Volume" + }, + "pressurized_capsule": { + "type": "object", + "properties": { + "payload_volume": { + "type": "object", + "properties": { + "cubic_meters": { + "type": "integer", + "format": "int32", + "description": "The pressurized capsule volume in cubic meter.", + "title": "Pressurized Capsule Cubic Meters" + }, + "cubic_feet": { + "type": "integer", + "format": "int32", + "description": "The pressurized capsule volume in cubic feet.", + "title": "Pressurized Capsule Cubic Feet" + } + }, + "description": "The pressurized capsule payload volume.", + "title": "Pressurized Capsule Payload Volume" + } + }, + "description": "The pressurized capsule.", + "title": "Pressurized Capsule" + }, + "trunk": { + "type": "object", + "properties": { + "trunk_volume": { + "type": "object", + "properties": { + "cubic_meters": { + "type": "integer", + "format": "int32", + "description": "The trunk volume in cubic meter.", + "title": "Trunk Cubic Meters" + }, + "cubic_feet": { + "type": "integer", + "format": "int32", + "description": "The trunk volume in cubic feet.", + "title": "Trunk Cubic Feet" + } + }, + "description": "The trunk volume.", + "title": "Trunk Volume" + }, + "cargo": { + "type": "object", + "properties": { + "solar_array": { + "type": "integer", + "format": "int32", + "description": "The solar array in cargo.", + "title": "Cargo Solar Array" + }, + "unpressurized_cargo": { + "type": "boolean", + "description": "Whether the cargo is unpressurized.", + "title": "Unpressurized Cargo" + } + }, + "description": "The cargo.", + "title": "Cargo" + } + }, + "description": "The trunk.", + "title": "Trunk" + }, + "height_w_trunk": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The height with trunk in meters.", + "title": "Height with Trunk Meters" + }, + "feet": { + "type": "number", + "format": "float", + "description": "The height with trunk in feet.", + "title": "Height with Trunk Feet" + } + }, + "description": "The height with trunk.", + "title": "Height with Trunk" + }, + "diameter": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The diamter in meters.", + "title": "Diameter Meters" + }, + "feet": { + "type": "integer", + "format": "int32", + "description": "The diameter in feet.", + "title": "Diameter Feet" + } + }, + "description": "The diameter.", + "title": "Diameter" + }, + "first_flight": { + "type": "string", + "description": "The first flight.", + "title": "First Flight" + }, + "flickr_images": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Flickr images links.", + "title": "Flickr Images" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "active": { + "type": "boolean", + "description": "Whether active.", + "title": "Active" + }, + "crew_capacity": { + "type": "integer", + "format": "int32", + "description": "The crew capacity.", + "title": "Crew Capacity" + }, + "sidewall_angle_deg": { + "type": "integer", + "format": "int32", + "description": "The sidewall angle in degrees.", + "title": "Sidewall Angle Degrees" + }, + "orbit_duration_yr": { + "type": "integer", + "format": "int32", + "description": "The orbit duration in years.", + "title": "Orbit Duration Years" + }, + "dry_mass_kg": { + "type": "integer", + "format": "int32", + "description": "The dry mass in kilograms.", + "title": "Dry Mass Kg" + }, + "dry_mass_lb": { + "type": "integer", + "format": "int32", + "description": "The dry mass in pounds.", + "title": "Dry Mass Lb" + }, + "thrusters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The thruster type.", + "title": "Thruster Type" + }, + "amount": { + "type": "integer", + "format": "int32", + "description": "The thruster amount.", + "title": "Thruster Amount" + }, + "pods": { + "type": "integer", + "format": "int32", + "description": "The thruster pods.", + "title": "Thruster Pods" + }, + "fuel_1": { + "type": "string", + "description": "The thruster fuel 1.", + "title": "Thruster Fuel 1" + }, + "fuel_2": { + "type": "string", + "description": "The thruster fuel 2.", + "title": "Thruster Fuel 2" + }, + "isp": { + "type": "integer", + "format": "int32", + "description": "The thruster Isp.", + "title": "Thruster Isp" + }, + "thrust": { + "type": "object", + "properties": { + "kN": { + "type": "integer", + "format": "int32", + "description": "The thrust in kN.", + "title": "Thrust kN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The thrust in lbf.", + "title": "Thrust lbf" + } + }, + "description": "The thrust.", + "title": "Thrust" + } + } + }, + "description": "The thrusters.", + "title": "Thrusters" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia link.", + "title": "Wikipedia" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + }, + "description": "The documentation.", + "title": "Docs" + }, + "totalDocs": { + "type": "integer", + "format": "int32", + "description": "The total number of documentations.", + "title": "Total Docs" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The response offset.", + "title": "Offset" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The response limit.", + "title": "Limit" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "The total number of pages.", + "title": "Total Pages" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The current page.", + "title": "Page" + }, + "pagingCounter": { + "type": "integer", + "format": "int32", + "description": "The paging counter.", + "title": "Paging Counter" + }, + "hasPrevPage": { + "type": "boolean", + "description": "Whether has previous page.", + "title": "Has Previous Page" + }, + "hasNextPage": { + "type": "boolean", + "description": "Whether has next page.", + "title": "Has Next Page" + }, + "prevPage": { + "type": "string", + "description": "The previous page.", + "title": "Previous Page" + }, + "nextPage": { + "type": "string", + "description": "The next page.", + "title": "Next Page" + } + } + } + } + } + } + }, + "/v4/history": { + "get": { + "summary": "Get all history events", + "description": "Detailed info on all SpaceX historical events.", + "operationId": "GetAllHistory", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "links": { + "type": "object", + "properties": { + "article": { + "type": "string", + "description": "The article.", + "title": "Article" + } + }, + "description": "Link addresses.", + "title": "Links" + }, + "title": { + "type": "string", + "description": "The title.", + "title": "Title" + }, + "event_date_utc": { + "type": "string", + "description": "The event date in UTC.", + "title": "Event Date UTC" + }, + "event_date_unix": { + "type": "integer", + "format": "int32", + "description": "The event date in UNIX.", + "title": "Event Date UNIX" + }, + "details": { + "type": "string", + "description": "The event details.", + "title": "Details" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + } + }, + "/v4/history/{id}": { + "get": { + "summary": "Get a historic event", + "description": "Detailed info on a SpaceX historical event.", + "operationId": "GetAHistory", + "parameters": [ + { + "name": "id", + "in": "path", + "x-ms-url-encoding": "single", + "required": true, + "type": "string", + "description": "The ID of the historic event.", + "x-ms-summary": "Historic Event ID" + } + ], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "links": { + "type": "object", + "properties": { + "article": { + "type": "string", + "description": "The article.", + "title": "Article" + } + }, + "description": "Link addresses.", + "title": "Links" + }, + "title": { + "type": "string", + "description": "The title.", + "title": "Title" + }, + "event_date_utc": { + "type": "string", + "description": "The event date in UTC.", + "title": "event_date UTC" + }, + "event_date_unix": { + "type": "integer", + "format": "int32", + "description": "The event date in UNIX.", + "title": "Event Date UNIX" + }, + "details": { + "type": "string", + "description": "The event details.", + "title": "Details" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/history/query": { + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "query": { + "type": "object", + "properties": {}, + "description": "Accepts any valid MongoDB find() query.", + "title": "Query" + }, + "options": { + "type": "object", + "properties": { + "select": { + "type": "string", + "description": "Fields to return (by default returns all fields).", + "title": "Select" + }, + "collation": { + "type": "object", + "properties": {}, + "description": "Specify the collation", + "title": "collation" + }, + "sort": { + "type": "string", + "description": "Sort order.", + "title": "Sort" + }, + "populate": { + "type": "array", + "items": {}, + "description": "Paths which should be populated with other documents.", + "title": "Populate" + }, + "projection": { + "type": "string", + "description": "Get/set the query projection.", + "title": "Projection" + }, + "lean": { + "type": "boolean", + "description": "Should return plain javascript objects instead of Mongoose documents.", + "title": "Lean" + }, + "leanWithId": { + "type": "boolean", + "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", + "title": "Lean With Id" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Use offset or page to set skip position.", + "title": "Offset" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The page number.", + "title": "Page" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit per page.", + "title": "Limit" + }, + "customLabels": { + "type": "object", + "properties": {}, + "description": "Developers can provide custom labels for manipulating the response data.", + "title": "Custom Labels" + }, + "pagination": { + "type": "boolean", + "description": "If pagination is set to false it will return all docs without adding limit condition.", + "title": "Pagination" + }, + "useEstimatedCount": { + "type": "boolean", + "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", + "title": "Use Estimated Count" + }, + "useCustomCountFn": { + "type": "boolean", + "description": "Enable custom function for count datasets.", + "title": "Use Custom Count Function" + }, + "forceCountFn": { + "type": "boolean", + "description": "Set this to true if you need to support $geo queries.", + "title": "Force Count Function" + }, + "allowDiskUse": { + "type": "boolean", + "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", + "title": "Allow Disk Use" + }, + "options": { + "type": "object", + "properties": { + "pref": { + "type": "string", + "description": "A of the listed preference options or aliases.", + "title": "Preference" + }, + "tags": { + "type": "string", + "description": "Optional tags for this query (must be used with pref).", + "title": "Tags" + } + }, + "description": "Determines the MongoDB nodes from which to read.", + "title": "Options" + } + }, + "description": "Requested options", + "title": "Options" + } + } + } + } + ], + "summary": "Query historic events", + "description": "Detailed info on queried SpaceX historical events.", + "operationId": "QueryHistory", + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "docs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "links": { + "type": "object", + "properties": { + "article": { + "type": "string", + "description": "The article.", + "title": "Article" + } + }, + "description": "The links.", + "title": "Links" + }, + "title": { + "type": "string", + "description": "The title.", + "title": "Title" + }, + "event_date_utc": { + "type": "string", + "description": "The event date in UTC.", + "title": "Event Date UTC" + }, + "event_date_unix": { + "type": "integer", + "format": "int32", + "description": "The event date in UNIX.", + "title": "Event Date UNIX" + }, + "details": { + "type": "string", + "description": "The event details.", + "title": "Details" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + }, + "description": "The documentation.", + "title": "Docs" + }, + "totalDocs": { + "type": "integer", + "format": "int32", + "description": "The total number of documentations.", + "title": "Total Docs" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The response offset.", + "title": "Offset" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The response limit.", + "title": "Limit" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "The total number of pages.", + "title": "Total Pages" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The current page.", + "title": "Page" + }, + "pagingCounter": { + "type": "integer", + "format": "int32", + "description": "The paging counter.", + "title": "Paging Counter" + }, + "hasPrevPage": { + "type": "boolean", + "description": "Whether has previous page.", + "title": "Has Previous Page" + }, + "hasNextPage": { + "type": "boolean", + "description": "Whether has next page.", + "title": "Has Next Page" + }, + "prevPage": { + "type": "string", + "description": "The previous page.", + "title": "Previous Page" + }, + "nextPage": { + "type": "integer", + "format": "int32", + "description": "The next page.", + "title": "Next Page" + } + } + } + } + } + } + }, + "/v4/landpads": { + "get": { + "summary": "Get all landpads", + "description": "Detailed info about all landing pads and ships.", + "operationId": "GetAllLandpads", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "images": { + "type": "object", + "properties": { + "large": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The large images.", + "title": "Large Images" + } + }, + "description": "The images.", + "title": "images" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "full_name": { + "type": "string", + "description": "The full name.", + "title": "Full Name" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "locality": { + "type": "string", + "description": "The locality.", + "title": "Locality" + }, + "region": { + "type": "string", + "description": "The region.", + "title": "Region" + }, + "latitude": { + "type": "number", + "format": "float", + "description": "The latitude.", + "title": "Latitude" + }, + "longitude": { + "type": "number", + "format": "float", + "description": "The longitude.", + "title": "Longitude" + }, + "landing_attempts": { + "type": "integer", + "format": "int32", + "description": "The number of landing attempts.", + "title": "Landing Attempts" + }, + "landing_successes": { + "type": "integer", + "format": "int32", + "description": "The number of landing successes.", + "title": "Landing Successes" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia address.", + "title": "Wikipedia" + }, + "details": { + "type": "string", + "description": "The landpad details.", + "title": "Details" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + } + }, + "/v4/landpads/{id}": { + "get": { + "summary": "Get a landpad", + "description": "Detailed info about a landing pad or ship.", + "operationId": "GetALandpad", + "parameters": [ + { + "name": "id", + "in": "path", + "x-ms-url-encoding": "single", + "required": true, + "type": "string", + "description": "The ID of the landpad.", + "x-ms-summary": "Landpad ID" + } + ], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "images": { + "type": "object", + "properties": { + "large": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The large images.", + "title": "Large Images." + } + }, + "description": "The images.", + "title": "images" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "full_name": { + "type": "string", + "description": "The full name.", + "title": "Full Name" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "locality": { + "type": "string", + "description": "The locality.", + "title": "Locality" + }, + "region": { + "type": "string", + "description": "The region.", + "title": "Region" + }, + "latitude": { + "type": "number", + "format": "float", + "description": "The latitude.", + "title": "Latitude" + }, + "longitude": { + "type": "number", + "format": "float", + "description": "The longitude.", + "title": "Longitude" + }, + "landing_attempts": { + "type": "integer", + "format": "int32", + "description": "The number of landing attempts.", + "title": "landing_attempts" + }, + "landing_successes": { + "type": "integer", + "format": "int32", + "description": "The number of landing successes.", + "title": "Landing Successes" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia address.", + "title": "Wikipedia" + }, + "details": { + "type": "string", + "description": "The landpad details.", + "title": "Details" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/landpads/query": { + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "query": { + "type": "object", + "properties": {}, + "description": "Accepts any valid MongoDB find() query.", + "title": "Query" + }, + "options": { + "type": "object", + "properties": { + "select": { + "type": "string", + "description": "Fields to return (by default returns all fields).", + "title": "Select" + }, + "collation": { + "type": "object", + "properties": {}, + "description": "Specify the collation", + "title": "collation" + }, + "sort": { + "type": "string", + "description": "Sort order.", + "title": "Sort" + }, + "populate": { + "type": "array", + "items": {}, + "description": "Paths which should be populated with other documents.", + "title": "Populate" + }, + "projection": { + "type": "string", + "description": "Get/set the query projection.", + "title": "Projection" + }, + "lean": { + "type": "boolean", + "description": "Should return plain javascript objects instead of Mongoose documents.", + "title": "Lean" + }, + "leanWithId": { + "type": "boolean", + "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", + "title": "Lean With Id" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Use offset or page to set skip position.", + "title": "Offset" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The page number.", + "title": "Page" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit per page.", + "title": "Limit" + }, + "customLabels": { + "type": "object", + "properties": {}, + "description": "Developers can provide custom labels for manipulating the response data.", + "title": "Custom Labels" + }, + "pagination": { + "type": "boolean", + "description": "If pagination is set to false it will return all docs without adding limit condition.", + "title": "Pagination" + }, + "useEstimatedCount": { + "type": "boolean", + "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", + "title": "Use Estimated Count" + }, + "useCustomCountFn": { + "type": "boolean", + "description": "Enable custom function for count datasets.", + "title": "Use Custom Count Function" + }, + "forceCountFn": { + "type": "boolean", + "description": "Set this to true if you need to support $geo queries.", + "title": "Force Count Function" + }, + "allowDiskUse": { + "type": "boolean", + "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", + "title": "Allow Disk Use" + }, + "options": { + "type": "object", + "properties": { + "pref": { + "type": "string", + "description": "A of the listed preference options or aliases.", + "title": "Preference" + }, + "tags": { + "type": "string", + "description": "Optional tags for this query (must be used with pref).", + "title": "Tags" + } + }, + "description": "Determines the MongoDB nodes from which to read.", + "title": "Options" + } + }, + "description": "Requested options", + "title": "Options" + } + } + } + } + ], + "summary": "Query landpads", + "description": "Detailed info about queried landing pads and ships.", + "operationId": "QueryLandpads", + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "docs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "images": { + "type": "object", + "properties": { + "large": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The large images.", + "title": "Large Images" + } + }, + "description": "The images.", + "title": "images" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "full_name": { + "type": "string", + "description": "The full name.", + "title": "Full Name" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "locality": { + "type": "string", + "description": "The locality.", + "title": "Locality" + }, + "region": { + "type": "string", + "description": "The region.", + "title": "Region" + }, + "latitude": { + "type": "number", + "format": "float", + "description": "The latitude.", + "title": "Latitude" + }, + "longitude": { + "type": "number", + "format": "float", + "description": "The longitude.", + "title": "Longitude" + }, + "landing_attempts": { + "type": "integer", + "format": "int32", + "description": "The number of landind attempts.", + "title": "Landing Attempts" + }, + "landing_successes": { + "type": "integer", + "format": "int32", + "description": "The landing successes.", + "title": "Landing Successes" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia link.", + "title": "Wikipedia" + }, + "details": { + "type": "string", + "description": "The landpad details.", + "title": "Details" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + }, + "description": "The documentation.", + "title": "Docs" + }, + "totalDocs": { + "type": "integer", + "format": "int32", + "description": "The total number of documentations.", + "title": "Total Docs" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The response offset.", + "title": "Offset" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The response limit.", + "title": "Limit" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "The total number of pages.", + "title": "Total Pages" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The current page.", + "title": "Page" + }, + "pagingCounter": { + "type": "integer", + "format": "int32", + "description": "The paging counter.", + "title": "Paging Counter" + }, + "hasPrevPage": { + "type": "boolean", + "description": "Whether has previous page.", + "title": "Has Previous Page" + }, + "hasNextPage": { + "type": "boolean", + "description": "Whether has next page.", + "title": "Has Next Page" + }, + "prevPage": { + "type": "string", + "description": "The previous page.", + "title": "Previous Page" + }, + "nextPage": { + "type": "string", + "description": "The next page.", + "title": "Next Page" + } + } + } + } + } + } + }, + "/v4/launches": { + "get": { + "summary": "Get all launches", + "description": "Detailed info about all launches.", + "operationId": "GetAllLaunches", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fairings": { + "type": "object", + "properties": { + "reused": { + "type": "boolean", + "description": "Reused.", + "title": "Reused" + }, + "recovery_attempt": { + "type": "boolean", + "description": "The recovery attempt.", + "title": "Recovery Attempt" + }, + "recovered": { + "type": "boolean", + "description": "Recovered.", + "title": "Recovered" + }, + "ships": { + "type": "array", + "items": {}, + "description": "The ships.", + "title": "Ships" + } + }, + "description": "The fairings.", + "title": "Fairings" + }, + "links": { + "type": "object", + "properties": { + "patch": { + "type": "object", + "properties": { + "small": { + "type": "string", + "description": "The small patch.", + "title": "Small Patch" + }, + "large": { + "type": "string", + "description": "The large patch.", + "title": "Large Patch" + } + }, + "description": "The patch.", + "title": "Patch" + }, + "reddit": { + "type": "object", + "properties": { + "campaign": { + "type": "string", + "description": "The campaign.", + "title": "Campaign" + }, + "launch": { + "type": "string", + "description": "The launch.", + "title": "Launch" + }, + "media": { + "type": "string", + "description": "The media.", + "title": "Media" + }, + "recovery": { + "type": "string", + "description": "The recovery.", + "title": "Recovery" + } + }, + "description": "Reddit.", + "title": "Reddit" + }, + "flickr": { + "type": "object", + "properties": { + "small": { + "type": "array", + "items": {}, + "description": "The small images on Flickr.", + "title": "Small Flickr Images" + }, + "original": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The original images on Flickr.", + "title": "Original Flickr Images" + } + }, + "description": "The Flickr images.", + "title": "Flickr" + }, + "presskit": { + "type": "string", + "description": "The presskit.", + "title": "Presskit" + }, + "webcast": { + "type": "string", + "description": "The webcast.", + "title": "Webcast" + }, + "youtube_id": { + "type": "string", + "description": "The YouTube ID.", + "title": "YouTube ID" + }, + "article": { + "type": "string", + "description": "The article.", + "title": "Article" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia link.", + "title": "Wikipedia" + } + }, + "description": "Link addresses.", + "title": "Links" + }, + "static_fire_date_utc": { + "type": "string", + "description": "The static fire date in UTC.", + "title": "Static Fire Date UTC" + }, + "static_fire_date_unix": { + "type": "integer", + "description": "The static fire date in UNIX.", + "title": "Static Fire Date UNIX" + }, + "net": { + "type": "boolean", + "description": "Whether by net.", + "title": "Net" + }, + "window": { + "type": "integer", + "description": "The window.", + "title": "Window" + }, + "rocket": { + "type": "string", + "description": "The rocket.", + "title": "Rocket" + }, + "success": { + "type": "boolean", + "description": "The success.", + "title": "Success" + }, + "failures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "format": "int32", + "description": "The time.", + "title": "Time" + }, + "altitude": { + "type": "integer", + "format": "int32", + "description": "The altitue.", + "title": "Altitude" + }, + "reason": { + "type": "string", + "description": "The reason.", + "title": "Reason" + } + } + }, + "description": "The failures.", + "title": "failures" + }, + "details": { + "type": "string", + "description": "The launch details.", + "title": "Details" + }, + "crew": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The crew.", + "title": "Crew" + }, + "ships": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ships.", + "title": "Ships" + }, + "capsules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The capsules.", + "title": "Capsules" + }, + "payloads": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The payloads.", + "title": "Payloads" + }, + "launchpad": { + "type": "string", + "description": "The launchpad.", + "title": "Launchpad" + }, + "flight_number": { + "type": "integer", + "format": "int32", + "description": "The flight number.", + "title": "Flight Number" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "date_utc": { + "type": "string", + "description": "The date in UTC.", + "title": "Date UTC" + }, + "date_unix": { + "type": "integer", + "format": "int32", + "description": "The date in UNIX.", + "title": "Date UNIX" + }, + "date_local": { + "type": "string", + "description": "The local date.", + "title": "Date Local" + }, + "date_precision": { + "type": "string", + "description": "The date precision.", + "title": "Date Precision" + }, + "upcoming": { + "type": "boolean", + "description": "Whether upcoming.", + "title": "Upcoming" + }, + "cores": { + "type": "array", + "items": { + "type": "object", + "properties": { + "core": { + "type": "string", + "description": "The core.", + "title": "Core" + }, + "flight": { + "type": "integer", + "format": "int32", + "description": "The flight number.", + "title": "Flight" + }, + "gridfins": { + "type": "boolean", + "description": "Whether has gridfins.", + "title": "Gridfins" + }, + "legs": { + "type": "boolean", + "description": "Whether has legs.", + "title": "Legs" + }, + "reused": { + "type": "boolean", + "description": "Whether reused.", + "title": "Reused" + }, + "landing_attempt": { + "type": "boolean", + "description": "Whether landing attempted.", + "title": "Landing Attempt" + }, + "landing_success": { + "type": "boolean", + "description": "The landing success.", + "title": "Landing Success" + }, + "landing_type": { + "type": "string", + "description": "The landing type.", + "title": "Landing Type" + }, + "landpad": { + "type": "string", + "description": "The landpad.", + "title": "Landpad" + } + } + }, + "description": "The cores.", + "title": "Cores" + }, + "auto_update": { + "type": "boolean", + "description": "Whether auto-updating.", + "title": "Auto-update" + }, + "tbd": { + "type": "boolean", + "description": "Whether to-be-determined.", + "title": "TBD" + }, + "launch_library_id": { + "type": "string", + "description": "The launch library ID.", + "title": "Launch Library ID" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + } + }, + "/v4/launches/{id}": { + "get": { + "summary": "Get a launch", + "description": "Detailed info about a launch.", + "operationId": "GetALaunch", + "parameters": [ + { + "name": "id", + "in": "path", + "x-ms-url-encoding": "single", + "required": true, + "type": "string", + "description": "The ID of the launch.", + "x-ms-summary": "Launch ID" + } + ], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "fairings": { + "type": "object", + "properties": { + "reused": { + "type": "boolean", + "description": "The fairings reused.", + "title": "Reused" + }, + "recovery_attempt": { + "type": "boolean", + "description": "The recovery attempt.", + "title": "Recovery Attempt" + }, + "recovered": { + "type": "boolean", + "description": "The recovered.", + "title": "Recovered" + }, + "ships": { + "type": "array", + "items": {}, + "description": "The ships.", + "title": "Ships" + } + }, + "description": "The fairings.", + "title": "Fairings" + }, + "links": { + "type": "object", + "properties": { + "patch": { + "type": "object", + "properties": { + "small": { + "type": "string", + "description": "The small patch.", + "title": "Small Patch" + }, + "large": { + "type": "string", + "description": "The large patch.", + "title": "Large Patch" + } + }, + "description": "The patch.", + "title": "Patch" + }, + "reddit": { + "type": "object", + "properties": { + "campaign": { + "type": "string", + "description": "The reddit campaign", + "title": "Reddit campaign" + }, + "launch": { + "type": "string", + "description": "The reddit launch.", + "title": "Reddit Launch" + }, + "media": { + "type": "string", + "description": "The reddit media.", + "title": "Reddit Media" + }, + "recovery": { + "type": "string", + "description": "The reddit recovery.", + "title": "Reddit eecovery" + } + }, + "description": "The reddit links", + "title": "Reddit Links" + }, + "flickr": { + "type": "object", + "properties": { + "small": { + "type": "array", + "items": {}, + "description": "The Flickr small images.", + "title": "Flickr Small" + }, + "original": { + "type": "array", + "items": {}, + "description": "The Flickr original images.", + "title": "Flickr Original" + } + }, + "description": "The Flickr images.", + "title": "Flickr Images" + }, + "presskit": { + "type": "string", + "description": "The presskit.", + "title": "Presskit" + }, + "webcast": { + "type": "string", + "description": "The webcast.", + "title": "Webcast" + }, + "youtube_id": { + "type": "string", + "description": "The YouTube ID.", + "title": "YouTube ID" + }, + "article": { + "type": "string", + "description": "The article.", + "title": "Article" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia.", + "title": "Wikipedia" + } + }, + "description": "Link addresses.", + "title": "Links" + }, + "static_fire_date_utc": { + "type": "string", + "description": "The static fire date in UTC.", + "title": "Static Fire Date UTC" + }, + "static_fire_date_unix": { + "type": "integer", + "description": "The static fire date in ", + "title": "Static Fire Date UNIX" + }, + "net": { + "type": "boolean", + "description": "Whether used a net.", + "title": "Net" + }, + "window": { + "type": "integer", + "description": "The window.", + "title": "Window" + }, + "rocket": { + "type": "string", + "description": "The rocket.", + "title": "Rocket" + }, + "success": { + "type": "boolean", + "description": "The success.", + "title": "Success" + }, + "failures": { + "type": "array", + "items": {}, + "description": "The failures.", + "title": "Failures" + }, + "details": { + "type": "string", + "description": "The launch details.", + "title": "Details" + }, + "crew": { + "type": "array", + "items": {}, + "description": "The crew.", + "title": "Crew" + }, + "ships": { + "type": "array", + "items": {}, + "description": "The ships.", + "title": "Ships" + }, + "capsules": { + "type": "array", + "items": {}, + "description": "The capsules.", + "title": "Capsules" + }, + "payloads": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The payloads.", + "title": "Payloads" + }, + "launchpad": { + "type": "string", + "description": "The launchpad.", + "title": "Launchpad" + }, + "flight_number": { + "type": "integer", + "format": "int32", + "description": "The flight number.", + "title": "Flight Number" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "date_utc": { + "type": "string", + "description": "The date in UTC.", + "title": "Date UTC" + }, + "date_unix": { + "type": "integer", + "format": "int32", + "description": "Date in UNIX", + "title": "Date UNIX" + }, + "date_local": { + "type": "string", + "description": "The date at local.", + "title": "Date Local" + }, + "date_precision": { + "type": "string", + "description": "The precision date.", + "title": "Date Precision" + }, + "upcoming": { + "type": "boolean", + "description": "Whether upcoming.", + "title": "Upcoming" + }, + "cores": { + "type": "array", + "items": { + "type": "object", + "properties": { + "core": { + "type": "string", + "description": "The cores' core.", + "title": "Cores' Core" + }, + "flight": { + "type": "string", + "description": "The cores' flight.", + "title": "Cores' Flight" + }, + "gridfins": { + "type": "string", + "description": "The cores' gridfins.", + "title": "Cores' Gridfins" + }, + "legs": { + "type": "string", + "description": "The cores' legs.", + "title": "Cores' Legs" + }, + "reused": { + "type": "boolean", + "description": "Reused.", + "title": "Reused" + }, + "landing_attempt": { + "type": "string", + "description": "The landing attempt.", + "title": "Landing Attempt" + }, + "landing_success": { + "type": "boolean", + "description": "The landing success.", + "title": "Landing Success" + }, + "landing_type": { + "type": "string", + "description": "The landing type.", + "title": "Landing Type" + }, + "landpad": { + "type": "string", + "description": "The landpad.", + "title": "Landpad" + } + } + }, + "description": "The cores.", + "title": "Cores" + }, + "auto_update": { + "type": "boolean", + "description": "Whether auto-updated.", + "title": "Auto-update" + }, + "tbd": { + "type": "boolean", + "description": "To be determined.", + "title": "TBD" + }, + "launch_library_id": { + "type": "string", + "description": "The launch library ID.", + "title": "Launch Library ID" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/launches/query": { + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "query": { + "type": "object", + "properties": {}, + "description": "Accepts any valid MongoDB find() query.", + "title": "Query" + }, + "options": { + "type": "object", + "properties": { + "select": { + "type": "string", + "description": "Fields to return (by default returns all fields).", + "title": "Select" + }, + "collation": { + "type": "object", + "properties": {}, + "description": "Specify the collation", + "title": "collation" + }, + "sort": { + "type": "string", + "description": "Sort order.", + "title": "Sort" + }, + "populate": { + "type": "array", + "items": {}, + "description": "Paths which should be populated with other documents.", + "title": "Populate" + }, + "projection": { + "type": "string", + "description": "Get/set the query projection.", + "title": "Projection" + }, + "lean": { + "type": "boolean", + "description": "Should return plain javascript objects instead of Mongoose documents.", + "title": "Lean" + }, + "leanWithId": { + "type": "boolean", + "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", + "title": "Lean With Id" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Use offset or page to set skip position.", + "title": "Offset" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The page number.", + "title": "Page" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit per page.", + "title": "Limit" + }, + "customLabels": { + "type": "object", + "properties": {}, + "description": "Developers can provide custom labels for manipulating the response data.", + "title": "Custom Labels" + }, + "pagination": { + "type": "boolean", + "description": "If pagination is set to false it will return all docs without adding limit condition.", + "title": "Pagination" + }, + "useEstimatedCount": { + "type": "boolean", + "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", + "title": "Use Estimated Count" + }, + "useCustomCountFn": { + "type": "boolean", + "description": "Enable custom function for count datasets.", + "title": "Use Custom Count Function" + }, + "forceCountFn": { + "type": "boolean", + "description": "Set this to true if you need to support $geo queries.", + "title": "Force Count Function" + }, + "allowDiskUse": { + "type": "boolean", + "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", + "title": "Allow Disk Use" + }, + "options": { + "type": "object", + "properties": { + "pref": { + "type": "string", + "description": "A of the listed preference options or aliases.", + "title": "Preference" + }, + "tags": { + "type": "string", + "description": "Optional tags for this query (must be used with pref).", + "title": "Tags" + } + }, + "description": "Determines the MongoDB nodes from which to read.", + "title": "Options" + } + }, + "description": "Requested options", + "title": "Options" + } + } + } + } + ], + "summary": "Query launches", + "description": "Detailed info about queried launches.", + "operationId": "QueryLaunches", + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "docs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fairings": { + "type": "string", + "description": "The fairings.", + "title": "Fairings" + }, + "links": { + "type": "object", + "properties": { + "patch": { + "type": "object", + "properties": { + "small": { + "type": "string", + "description": "The small patch.", + "title": "Small Patch" + }, + "large": { + "type": "string", + "description": "The large patch.", + "title": "Large Patch" + } + }, + "description": "The patch.", + "title": "Patch" + }, + "reddit": { + "type": "object", + "properties": { + "campaign": { + "type": "string", + "description": "The reddit campaign.", + "title": "Reddit Campaign" + }, + "launch": { + "type": "string", + "description": "The reddit launch.", + "title": "Reddit Launch" + }, + "media": { + "type": "string", + "description": "The reddit media.", + "title": "Reddit Media" + }, + "recovery": { + "type": "string", + "description": "The reddit recovery.", + "title": "Reddit Recovery" + } + }, + "description": "Reddit links.", + "title": "reddit" + }, + "flickr": { + "type": "object", + "properties": { + "small": { + "type": "array", + "items": {}, + "description": "The Flickr small images.", + "title": "Flickr Small" + }, + "original": { + "type": "array", + "items": {}, + "description": "The Flickr original images.", + "title": "Flickr Originals" + } + }, + "description": "Flickr images.", + "title": "Flickr" + }, + "presskit": { + "type": "string", + "description": "The presskit.", + "title": "Presskit" + }, + "webcast": { + "type": "string", + "description": "The webcast.", + "title": "Webcast" + }, + "youtube_id": { + "type": "string", + "description": "The YouTube ID.", + "title": "YouTube ID" + }, + "article": { + "type": "string", + "description": "The article.", + "title": "Article" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia.", + "title": "Wikipedia" + } + }, + "description": "The links.", + "title": "Links" + }, + "static_fire_date_utc": { + "type": "string", + "description": "The static fire date in UTC.", + "title": "Static Fire Date UTC" + }, + "static_fire_date_unix": { + "type": "integer", + "format": "int32", + "description": "The static fire date in UNIX", + "title": "Static Fire Date UNIX" + }, + "net": { + "type": "boolean", + "description": "Whether a net was used.", + "title": "Net" + }, + "window": { + "type": "integer", + "format": "int32", + "description": "The number of windows.", + "title": "Window" + }, + "rocket": { + "type": "string", + "description": "The rocket.", + "title": "Rocket" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + }, + "failures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "format": "int32", + "description": "The failure time.", + "title": "Failure Time" + }, + "altitude": { + "type": "integer", + "format": "int32", + "description": "The failure altitude.", + "title": "Failure Altitude" + }, + "reason": { + "type": "string", + "description": "The failure reason.", + "title": "Failure Reason" + } + } + }, + "description": "The failures.", + "title": "failures" + }, + "details": { + "type": "string", + "description": "The launch details.", + "title": "Details" + }, + "crew": { + "type": "array", + "items": {}, + "description": "The crew.", + "title": "Crew" + }, + "ships": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ships.", + "title": "Ships" + }, + "capsules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The capsules.", + "title": "Capsules" + }, + "payloads": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The payloads.", + "title": "Payloads" + }, + "launchpad": { + "type": "string", + "description": "The launchpad.", + "title": "Launchpad" + }, + "flight_number": { + "type": "integer", + "format": "int32", + "description": "The flight number.", + "title": "Flight Number" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "date_utc": { + "type": "string", + "description": "The date in UTC.", + "title": "Date UTC" + }, + "date_unix": { + "type": "integer", + "format": "int32", + "description": "The date in UNIX.", + "title": "Date UNIX" + }, + "date_local": { + "type": "string", + "description": "The date at local.", + "title": "Date Local" + }, + "date_precision": { + "type": "string", + "description": "The date precision.", + "title": "Date Precision" + }, + "upcoming": { + "type": "boolean", + "description": "Whether upcoming.", + "title": "Upcoming" + }, + "cores": { + "type": "array", + "items": { + "type": "object", + "properties": { + "core": { + "type": "string", + "description": "The cores core.", + "title": "Core" + }, + "flight": { + "type": "integer", + "format": "int32", + "description": "The flight number.", + "title": "Flight" + }, + "gridfins": { + "type": "boolean", + "description": "The gridfins.", + "title": "Gridfins" + }, + "legs": { + "type": "boolean", + "description": "The legs.", + "title": "Legs" + }, + "reused": { + "type": "boolean", + "description": "Whether reused.", + "title": "Reused" + }, + "landing_attempt": { + "type": "boolean", + "description": "Whether landing attempted.", + "title": "Landing Attempt" + }, + "landing_success": { + "type": "boolean", + "description": "Whether landing successful.", + "title": "Landing Success" + }, + "landing_type": { + "type": "string", + "description": "The landing type.", + "title": "Landing Type" + }, + "landpad": { + "type": "string", + "description": "The landpad.", + "title": "Landpad" + } + } + }, + "description": "The cores.", + "title": "Cores" + }, + "auto_update": { + "type": "boolean", + "description": "Whether auto-updating.", + "title": "Auto-update" + }, + "tbd": { + "type": "boolean", + "description": "Whether to be determined.", + "title": "TBD" + }, + "launch_library_id": { + "type": "string", + "description": "The launch library ID.", + "title": "Launch Library ID" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + }, + "description": "The documentation.", + "title": "Docs" + }, + "totalDocs": { + "type": "integer", + "format": "int32", + "description": "The total number of documentations.", + "title": "Total Docs" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The response offset.", + "title": "Offset" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The response limit.", + "title": "Limit" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "The total number of pages.", + "title": "Total Pages" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The current page.", + "title": "Page" + }, + "pagingCounter": { + "type": "integer", + "format": "int32", + "description": "The paging counter.", + "title": "Paging Counter" + }, + "hasPrevPage": { + "type": "boolean", + "description": "Whether has previous page.", + "title": "Has Previous Page" + }, + "hasNextPage": { + "type": "boolean", + "description": "Whether has next page.", + "title": "Has Next Page" + }, + "prevPage": { + "type": "string", + "description": "The previous page.", + "title": "Previous Page" + }, + "nextPage": { + "type": "integer", + "format": "int32", + "description": "The next page.", + "title": "Next Page" + } + } + } + } + } + } + }, + "/v4/launches/past": { + "get": { + "summary": "Get past launches", + "description": "Detailed info about past launches.", + "operationId": "GetPastLaunches", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fairings": { + "type": "string", + "description": "The fairings.", + "title": "Fairings" + }, + "links": { + "type": "object", + "properties": { + "patch": { + "type": "object", + "properties": { + "small": { + "type": "string", + "description": "The small patch.", + "title": "Small Patch" + }, + "large": { + "type": "string", + "description": "The large patch.", + "title": "Large Patch" + } + }, + "description": "The patch.", + "title": "Patch" + }, + "reddit": { + "type": "object", + "properties": { + "campaign": { + "type": "string", + "description": "The reddit campaign.", + "title": "Reddit Campaign" + }, + "launch": { + "type": "string", + "description": "The reddit launch.", + "title": "Reddit Launch" + }, + "media": { + "type": "string", + "description": "The reddit media.", + "title": "Reddit Media" + }, + "recovery": { + "type": "string", + "description": "The reddit recovery.", + "title": "Reddit Recovery" + } + }, + "description": "Reddit.", + "title": "Reddit Campaign" + }, + "flickr": { + "type": "object", + "properties": { + "small": { + "type": "array", + "items": {}, + "description": "The Flickr small images.", + "title": "Flickr Small" + }, + "original": { + "type": "array", + "items": { + "type": "string", + "title": "Items" + }, + "description": "The Flickr original images.", + "title": "Flickr Originals" + } + }, + "description": "The Flickr images.", + "title": "flickr" + }, + "presskit": { + "type": "string", + "description": "The presskit.", + "title": "Presskit" + }, + "webcast": { + "type": "string", + "description": "The webcast.", + "title": "Webcast" + }, + "youtube_id": { + "type": "string", + "description": "The YouTube ID.", + "title": "YouTube ID" + }, + "article": { + "type": "string", + "description": "The article.", + "title": "Article" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia link.", + "title": "Wikipedia" + } + }, + "description": "Link addresses.", + "title": "Links" + }, + "static_fire_date_utc": { + "type": "string", + "description": "The static fire date in UTC.", + "title": "Static Fire Date UTC" + }, + "static_fire_date_unix": { + "type": "integer", + "format": "int32", + "description": "The static fire date in UNIX.", + "title": "Static Fire Date UNIX" + }, + "net": { + "type": "boolean", + "description": "Whether by net", + "title": "Net" + }, + "window": { + "type": "integer", + "format": "int32", + "description": "The window.", + "title": "Window" + }, + "rocket": { + "type": "string", + "description": "The rocket.", + "title": "Rocket" + }, + "success": { + "type": "boolean", + "description": "The success.", + "title": "Success" + }, + "failures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "format": "int32", + "description": "The failure time.", + "title": "Failure Time" + }, + "altitude": { + "type": "integer", + "format": "int32", + "description": "The failure altitude.", + "title": "Failure Altitude" + }, + "reason": { + "type": "string", + "description": "The failure reason.", + "title": "Failure Reason" + } + } + }, + "description": "The failures.", + "title": "failures" + }, + "details": { + "type": "string", + "description": "The launch details.", + "title": "Details" + }, + "crew": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The crew.", + "title": "Crew" + }, + "ships": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The ships.", + "title": "Ships" + }, + "capsules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The capsules.", + "title": "Capsules" + }, + "payloads": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The payloads.", + "title": "Payloads" + }, + "launchpad": { + "type": "string", + "description": "The launchpad.", + "title": "Launchpad" + }, + "flight_number": { + "type": "integer", + "format": "int32", + "description": "The flight number.", + "title": "Flight Number" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "date_utc": { + "type": "string", + "description": "The date in UTC.", + "title": "Date UTC" + }, + "date_unix": { + "type": "integer", + "format": "int32", + "description": "The date in UNIX.", + "title": "Date UNIX" + }, + "date_local": { + "type": "string", + "description": "The local date.", + "title": "Date Local" + }, + "date_precision": { + "type": "string", + "description": "The date precision.", + "title": "Date Precision" + }, + "upcoming": { + "type": "boolean", + "description": "Whether upcoming.", + "title": "Upcoming" + }, + "cores": { + "type": "array", + "items": { + "type": "object", + "properties": { + "core": { + "type": "string", + "description": "The core.", + "title": "Core" + }, + "flight": { + "type": "integer", + "format": "int32", + "description": "The flight number.", + "title": "Flight" + }, + "gridfins": { + "type": "boolean", + "description": "Whether has gridfins.", + "title": "Gridfins" + }, + "legs": { + "type": "boolean", + "description": "Whether has legs.", + "title": "Legs" + }, + "reused": { + "type": "boolean", + "description": "Whether reused.", + "title": "Reused" + }, + "landing_attempt": { + "type": "boolean", + "description": "Whether landing attempted.", + "title": "Landing Attempt" + }, + "landing_success": { + "type": "boolean", + "description": "The landing success", + "title": "Landing Success" + }, + "landing_type": { + "type": "string", + "description": "The landing type.", + "title": "Landing Type" + }, + "landpad": { + "type": "string", + "description": "The landpad.", + "title": "Landpad" + } + } + }, + "description": "The cores.", + "title": "Cores" + }, + "auto_update": { + "type": "boolean", + "description": "Whether auto-updated.", + "title": "Auto-update" + }, + "tbd": { + "type": "boolean", + "description": "To be determined.", + "title": "TBD" + }, + "launch_library_id": { + "type": "string", + "description": "The launch library ID.", + "title": "Launch Library ID" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + } + }, + "/v4/launches/upcoming": { + "get": { + "summary": "Get upcoming launches", + "description": "Detailed info about upcoming launches.", + "operationId": "GetUpcomingLaunches", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fairings": { + "type": "object", + "properties": { + "reused": { + "type": "boolean", + "description": "Reused.", + "title": "Reused" + }, + "recovery_attempt": { + "type": "boolean", + "description": "The recovery attempt.", + "title": "Recovery Attempt" + }, + "recovered": { + "type": "boolean", + "description": "Recovered.", + "title": "Recovered" + }, + "ships": { + "type": "array", + "items": {}, + "description": "The ships.", + "title": "Ships" + } + }, + "description": "The fairings.", + "title": "Fairings" + }, + "links": { + "type": "object", + "properties": { + "patch": { + "type": "object", + "properties": { + "small": { + "type": "string", + "description": "The small patch.", + "title": "Small Patch" + }, + "large": { + "type": "string", + "description": "The large patch.", + "title": "Large Patch" + } + }, + "description": "The patch.", + "title": "Patch" + }, + "reddit": { + "type": "object", + "properties": { + "campaign": { + "type": "string", + "description": "The campaign.", + "title": "Campaign" + }, + "launch": { + "type": "string", + "description": "The launch.", + "title": "Launch" + }, + "media": { + "type": "string", + "description": "The media.", + "title": "Media" + }, + "recovery": { + "type": "string", + "description": "The recovery.", + "title": "Recovery" + } + }, + "description": "Reddit.", + "title": "Reddit" + }, + "flickr": { + "type": "object", + "properties": { + "small": { + "type": "array", + "items": {}, + "description": "The Flickr small images.", + "title": "Flickr Small" + }, + "original": { + "type": "array", + "items": {}, + "description": "The Flickr original images.", + "title": "Flickr Originals" + } + }, + "description": "The Flickr images.", + "title": "flickr" + }, + "presskit": { + "type": "string", + "description": "The presskit.", + "title": "Presskit" + }, + "webcast": { + "type": "string", + "description": "The webcast.", + "title": "Webcast" + }, + "youtube_id": { + "type": "string", + "description": "The YouTube ID.", + "title": "YouTube ID" + }, + "article": { + "type": "string", + "description": "The article.", + "title": "Article" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia link.", + "title": "Wikipedia" + } + }, + "description": "Link addresses.", + "title": "Links" + }, + "static_fire_date_utc": { + "type": "string", + "description": "The static fire date in UTC.", + "title": "Static Fire Date UTC" + }, + "static_fire_date_unix": { + "type": "integer", + "description": "The static fire date in UNIX.", + "title": "Static Fire Date UNIX" + }, + "net": { + "type": "boolean", + "description": "Whether by net", + "title": "Net" + }, + "window": { + "type": "integer", + "description": "The window.", + "title": "Window" + }, + "rocket": { + "type": "string", + "description": "The rocket.", + "title": "Rocket" + }, + "success": { + "type": "boolean", + "description": "The success.", + "title": "Success" + }, + "failures": { + "type": "array", + "items": {}, + "description": "The failures.", + "title": "failures" + }, + "details": { + "type": "string", + "description": "The launch details.", + "title": "Details" + }, + "crew": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The crew.", + "title": "Crew" + }, + "ships": { + "type": "array", + "items": {}, + "description": "The ships.", + "title": "Ships" + }, + "capsules": { + "type": "array", + "items": {}, + "description": "The capsules.", + "title": "Capsules" + }, + "payloads": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The payloads.", + "title": "Payloads" + }, + "launchpad": { + "type": "string", + "description": "The launchpad.", + "title": "Launchpad" + }, + "flight_number": { + "type": "integer", + "format": "int32", + "description": "The flight number.", + "title": "Flight Number" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "date_utc": { + "type": "string", + "description": "The date in UTC.", + "title": "Date UTC" + }, + "date_unix": { + "type": "integer", + "format": "int32", + "description": "The date in UNIX.", + "title": "Date UNIX" + }, + "date_local": { + "type": "string", + "description": "The local date.", + "title": "Date Local" + }, + "date_precision": { + "type": "string", + "description": "The date precision.", + "title": "Date Precision" + }, + "upcoming": { + "type": "boolean", + "description": "Whether upcoming.", + "title": "Upcoming" + }, + "cores": { + "type": "array", + "items": { + "type": "object", + "properties": { + "core": { + "type": "string", + "description": "The core.", + "title": "Core" + }, + "flight": { + "type": "integer", + "format": "int32", + "description": "The flight number.", + "title": "Flight" + }, + "gridfins": { + "type": "boolean", + "description": "Whether has gridfins.", + "title": "Gridfins" + }, + "legs": { + "type": "boolean", + "description": "Whether has legs.", + "title": "Legs" + }, + "reused": { + "type": "boolean", + "description": "Whether reused.", + "title": "Reused" + }, + "landing_attempt": { + "type": "boolean", + "description": "Whether landing attempted.", + "title": "Landing Attempt" + }, + "landing_success": { + "type": "boolean", + "description": "The landing success", + "title": "Landing Success" + }, + "landing_type": { + "type": "string", + "description": "The landing type.", + "title": "Landing Type" + }, + "landpad": { + "type": "string", + "description": "The landpad.", + "title": "Landpad" + } + } + }, + "description": "The cores.", + "title": "Cores" + }, + "auto_update": { + "type": "boolean", + "description": "Whether auto-updated.", + "title": "Auto-update" + }, + "tbd": { + "type": "boolean", + "description": "To be determined.", + "title": "TBD" + }, + "launch_library_id": { + "type": "string", + "description": "The launch library ID.", + "title": "Launch Library ID" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + } + }, + "/v4/launches/latest": { + "get": { + "summary": "Get latest launch", + "description": "Detailed info about latest launch.", + "operationId": "GetLatestLaunch", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "fairings": { + "type": "string", + "description": "The fairings.", + "title": "Fairings" + }, + "links": { + "type": "object", + "properties": { + "patch": { + "type": "object", + "properties": { + "small": { + "type": "string", + "description": "The small patch.", + "title": "Small Patch" + }, + "large": { + "type": "string", + "description": "The large patch.", + "title": "Large Patch" + } + }, + "description": "The patch.", + "title": "Patch" + }, + "reddit": { + "type": "object", + "properties": { + "campaign": { + "type": "string", + "description": "The reddit campaign.", + "title": "Reddit Campaign" + }, + "launch": { + "type": "string", + "description": "The reddit launch.", + "title": "Reddit Launch" + }, + "media": { + "type": "string", + "description": "The reddit media.", + "title": "Reddit Media" + }, + "recovery": { + "type": "string", + "description": "The reddit recovery.", + "title": "Reddit Recovery" + } + }, + "description": "The reddit links.", + "title": "Reddit" + }, + "flickr": { + "type": "object", + "properties": { + "small": { + "type": "array", + "items": {}, + "description": "The small Flickr images.", + "title": "Flickr Small" + }, + "original": { + "type": "array", + "items": {}, + "description": "The original Flickr images.", + "title": "Flickr Originals" + } + }, + "description": "Flickr Images", + "title": "Flickr" + }, + "presskit": { + "type": "string", + "description": "The presskit.", + "title": "Presskit" + }, + "webcast": { + "type": "string", + "description": "The webcast.", + "title": "Webcast" + }, + "youtube_id": { + "type": "string", + "description": "The YouTube ID.", + "title": "YouTube ID" + }, + "article": { + "type": "string", + "description": "The article.", + "title": "Article" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia.", + "title": "Wikipedia" + } + }, + "description": "Link addresses.", + "title": "Links" + }, + "static_fire_date_utc": { + "type": "string", + "description": "The static fire date in UTC.", + "title": "Static Fire Date UTC" + }, + "static_fire_date_unix": { + "type": "integer", + "description": "The static fire date in UNIX.", + "title": "Static Fire Date UNIX" + }, + "net": { + "type": "boolean", + "description": "Whether used a net.", + "title": "Net" + }, + "window": { + "type": "integer", + "format": "int32", + "description": "The window.", + "title": "Window" + }, + "rocket": { + "type": "string", + "description": "The rocket.", + "title": "Rocket" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + }, + "failures": { + "type": "array", + "items": {}, + "description": "The failures.", + "title": "failures" + }, + "details": { + "type": "string", + "description": "The launch details.", + "title": "Details" + }, + "crew": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The crew.", + "title": "Crew" + }, + "ships": { + "type": "array", + "items": { + "type": "string", + "title": "Items" + }, + "description": "The ships.", + "title": "ships" + }, + "capsules": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The capsules.", + "title": "Capsules" + }, + "payloads": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The payloads.", + "title": "Payloads" + }, + "launchpad": { + "type": "string", + "description": "The launchpad.", + "title": "Launchpad" + }, + "flight_number": { + "type": "integer", + "format": "int32", + "description": "The flight number.", + "title": "Flight Number" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "date_utc": { + "type": "string", + "description": "The date in UTC.", + "title": "Date UTC" + }, + "date_unix": { + "type": "integer", + "format": "int32", + "description": "The date in UNIX.", + "title": "Date UNIX" + }, + "date_local": { + "type": "string", + "description": "The date at local.", + "title": "Date Local" + }, + "date_precision": { + "type": "string", + "description": "The date precision.", + "title": "Date Precision" + }, + "upcoming": { + "type": "boolean", + "description": "Whether upcoming.", + "title": "Upcoming" + }, + "cores": { + "type": "array", + "items": { + "type": "object", + "properties": { + "core": { + "type": "string", + "description": "The core's core.", + "title": "Core" + }, + "flight": { + "type": "integer", + "format": "int32", + "description": "The flight.", + "title": "Flight" + }, + "gridfins": { + "type": "boolean", + "description": "Whether had gridfins.", + "title": "Gridfins" + }, + "legs": { + "type": "boolean", + "description": "Whether had legs.", + "title": "Legs" + }, + "reused": { + "type": "boolean", + "description": "Reused.", + "title": "Reused" + }, + "landing_attempt": { + "type": "boolean", + "description": "Whether landing attempted", + "title": "Landing Attempt" + }, + "landing_success": { + "type": "boolean", + "description": "Whether landing successful.", + "title": "Landing Success" + }, + "landing_type": { + "type": "string", + "description": "The landing type.", + "title": "Landing Type" + }, + "landpad": { + "type": "string", + "description": "The landpad.", + "title": "Landpad" + } + } + }, + "description": "The cores.", + "title": "Cores" + }, + "auto_update": { + "type": "boolean", + "description": "Whether auto-updating.", + "title": "Auto-update" + }, + "tbd": { + "type": "boolean", + "description": "Whether to be determined.", + "title": "TBD" + }, + "launch_library_id": { + "type": "string", + "description": "The launch library ID.", + "title": "Launch Library ID" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/launches/next": { + "get": { + "summary": "Get next launch", + "description": "Detailed info about next launches.", + "operationId": "GetNextLaunch", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "fairings": { + "type": "object", + "properties": { + "reused": { + "type": "boolean", + "description": "The reused fairings.", + "title": "Reused" + }, + "recovery_attempt": { + "type": "boolean", + "description": "The recovery attempt.", + "title": "Recovery Attempt" + }, + "recovered": { + "type": "boolean", + "description": "The recovered.", + "title": "Recovered" + }, + "ships": { + "type": "array", + "items": {}, + "description": "The ships.", + "title": "Ships" + } + }, + "description": "The fairings.", + "title": "Fairings" + }, + "links": { + "type": "object", + "properties": { + "patch": { + "type": "object", + "properties": { + "small": { + "type": "string", + "description": "The small patch.", + "title": "Small Patch" + }, + "large": { + "type": "string", + "description": "The large patch.", + "title": "Large Patch" + } + }, + "description": "The patch.", + "title": "Patch" + }, + "reddit": { + "type": "object", + "properties": { + "campaign": { + "type": "string", + "description": "The reddit campaign.", + "title": "Reddit Campaign" + }, + "launch": { + "type": "string", + "description": "The reddit launch.", + "title": "Reddit Launch" + }, + "media": { + "type": "string", + "description": "The reddit media.", + "title": "Reddit Media" + }, + "recovery": { + "type": "string", + "description": "The reddit recovery.", + "title": "Reddit Recovery" + } + }, + "description": "The reddit links.", + "title": "Reddit" + }, + "flickr": { + "type": "object", + "properties": { + "small": { + "type": "array", + "items": {}, + "description": "The Flickr small images.", + "title": "Flickr Small" + }, + "original": { + "type": "array", + "items": {}, + "description": "The Flickr original images.", + "title": "Flicrk Originals" + } + }, + "description": "Flickr Images", + "title": "Flickr" + }, + "presskit": { + "type": "string", + "description": "The presskit.", + "title": "Presskit" + }, + "webcast": { + "type": "string", + "description": "The webcast.", + "title": "Webcast" + }, + "youtube_id": { + "type": "string", + "description": "The YouTube ID.", + "title": "YouTube ID" + }, + "article": { + "type": "string", + "description": "The article.", + "title": "Article" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia.", + "title": "Wikipedia" + } + }, + "description": "Link addresses.", + "title": "Links" + }, + "static_fire_date_utc": { + "type": "string", + "description": "The static fire date in UTC.", + "title": "Static Fire Date UTC" + }, + "static_fire_date_unix": { + "type": "string", + "description": "The static fire date in UNIX.", + "title": "Static Fire Date UNIX" + }, + "net": { + "type": "boolean", + "description": "Whether used a net.", + "title": "Net" + }, + "window": { + "type": "integer", + "description": "The window.", + "title": "Window" + }, + "rocket": { + "type": "string", + "description": "The rocket.", + "title": "Rocket" + }, + "success": { + "type": "boolean", + "description": "Whether a success.", + "title": "Success" + }, + "failures": { + "type": "array", + "items": {}, + "description": "The failures.", + "title": "failures" + }, + "details": { + "type": "string", + "description": "The launch details.", + "title": "Details" + }, + "crew": { + "type": "array", + "items": {}, + "description": "The crew.", + "title": "Crew" + }, + "ships": { + "type": "array", + "items": {}, + "description": "The ships.", + "title": "ships" + }, + "capsules": { + "type": "array", + "items": {}, + "description": "The capsules.", + "title": "Capsules" + }, + "payloads": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The payloads.", + "title": "Payloads" + }, + "launchpad": { + "type": "string", + "description": "The launchpad.", + "title": "Launchpad" + }, + "flight_number": { + "type": "integer", + "format": "int32", + "description": "The flight number.", + "title": "Flight Number" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "date_utc": { + "type": "string", + "description": "The date in UTC.", + "title": "Date UTC" + }, + "date_unix": { + "type": "integer", + "format": "int32", + "description": "The date in UNIX.", + "title": "Date UNIX" + }, + "date_local": { + "type": "string", + "description": "The date at local.", + "title": "Date Local" + }, + "date_precision": { + "type": "string", + "description": "The date precision.", + "title": "Date Precision" + }, + "upcoming": { + "type": "boolean", + "description": "Whether upcoming.", + "title": "Upcoming" + }, + "cores": { + "type": "array", + "items": { + "type": "object", + "properties": { + "core": { + "type": "string", + "description": "The core's core.", + "title": "Core" + }, + "flight": { + "type": "string", + "description": "The flight.", + "title": "Flight" + }, + "gridfins": { + "type": "boolean", + "description": "Whether had gridfins.", + "title": "Gridfins" + }, + "legs": { + "type": "boolean", + "description": "Whether had legs.", + "title": "Legs" + }, + "reused": { + "type": "boolean", + "description": "Reused.", + "title": "Reused" + }, + "landing_attempt": { + "type": "boolean", + "description": "Whether landing attempted", + "title": "Landing Attempt" + }, + "landing_success": { + "type": "boolean", + "description": "Whether landing successful.", + "title": "Landing Success" + }, + "landing_type": { + "type": "string", + "description": "The landing type.", + "title": "Landing Type" + }, + "landpad": { + "type": "string", + "description": "The landpad.", + "title": "Landpad" + } + } + }, + "description": "The cores.", + "title": "Cores" + }, + "auto_update": { + "type": "boolean", + "description": "Whether auto-updating.", + "title": "Auto-update" + }, + "tbd": { + "type": "boolean", + "description": "Whether to be determined.", + "title": "TBD" + }, + "launch_library_id": { + "type": "string", + "description": "The launch library ID.", + "title": "Launch Library ID" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/launchpads": { + "get": { + "summary": "Get all launchpads", + "description": "Detailed info about all launchpads.", + "operationId": "GetAllLaunchpads", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "images": { + "type": "object", + "properties": { + "large": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The large images.", + "title": "Large Images" + } + }, + "description": "The images.", + "title": "images" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "full_name": { + "type": "string", + "description": "The full name.", + "title": "Full Name" + }, + "locality": { + "type": "string", + "description": "The locality.", + "title": "Locality" + }, + "region": { + "type": "string", + "description": "The region.", + "title": "Region" + }, + "latitude": { + "type": "number", + "format": "float", + "description": "The latitude.", + "title": "Latitude" + }, + "longitude": { + "type": "number", + "format": "float", + "description": "The longitude.", + "title": "Longitude" + }, + "launch_attempts": { + "type": "integer", + "format": "int32", + "description": "The launch attempts.", + "title": "Launch Attempts" + }, + "launch_successes": { + "type": "integer", + "format": "int32", + "description": "The launch successes.", + "title": "Launch Successes" + }, + "rockets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The rockets.", + "title": "Rockets" + }, + "timezone": { + "type": "string", + "description": "The timezone.", + "title": "Timezone" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "details": { + "type": "string", + "description": "The launchpad details.", + "title": "Details" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + } + }, + "/v4/launchpads/{id}": { + "get": { + "summary": "Get a launchpad", + "description": "Detailed info about a launchpad.", + "operationId": "GetALaunchpad", + "parameters": [ + { + "name": "id", + "in": "path", + "x-ms-url-encoding": "single", + "required": true, + "type": "string", + "description": "The ID of the launchpad.", + "x-ms-summary": "Launchpad ID" + } + ], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "images": { + "type": "object", + "properties": { + "large": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The large images.", + "title": "Large Images." + } + }, + "description": "The images.", + "title": "images" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "full_name": { + "type": "string", + "description": "The full name.", + "title": "Full Name" + }, + "locality": { + "type": "string", + "description": "The locality.", + "title": "Locality" + }, + "region": { + "type": "string", + "description": "The region.", + "title": "Region" + }, + "latitude": { + "type": "number", + "format": "float", + "description": "The latitude.", + "title": "Latitude" + }, + "longitude": { + "type": "number", + "format": "float", + "description": "The longitude.", + "title": "Longitude" + }, + "launch_attempts": { + "type": "integer", + "format": "int32", + "description": "The launch attempts.", + "title": "Launch Attempts" + }, + "launch_successes": { + "type": "integer", + "format": "int32", + "description": "The launch successes.", + "title": "Launch Successes" + }, + "rockets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The rockets.", + "title": "Rockets" + }, + "timezone": { + "type": "string", + "description": "The timezone.", + "title": "Timezone" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "details": { + "type": "string", + "description": "The launchpad details.", + "title": "Details" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/launchpads/query": { + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "query": { + "type": "object", + "properties": {}, + "description": "Accepts any valid MongoDB find() query.", + "title": "Query" + }, + "options": { + "type": "object", + "properties": { + "select": { + "type": "string", + "description": "Fields to return (by default returns all fields).", + "title": "Select" + }, + "collation": { + "type": "object", + "properties": {}, + "description": "Specify the collation", + "title": "collation" + }, + "sort": { + "type": "string", + "description": "Sort order.", + "title": "Sort" + }, + "populate": { + "type": "array", + "items": {}, + "description": "Paths which should be populated with other documents.", + "title": "Populate" + }, + "projection": { + "type": "string", + "description": "Get/set the query projection.", + "title": "Projection" + }, + "lean": { + "type": "boolean", + "description": "Should return plain javascript objects instead of Mongoose documents.", + "title": "Lean" + }, + "leanWithId": { + "type": "boolean", + "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", + "title": "Lean With Id" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Use offset or page to set skip position.", + "title": "Offset" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The page number.", + "title": "Page" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit per page.", + "title": "Limit" + }, + "customLabels": { + "type": "object", + "properties": {}, + "description": "Developers can provide custom labels for manipulating the response data.", + "title": "Custom Labels" + }, + "pagination": { + "type": "boolean", + "description": "If pagination is set to false it will return all docs without adding limit condition.", + "title": "Pagination" + }, + "useEstimatedCount": { + "type": "boolean", + "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", + "title": "Use Estimated Count" + }, + "useCustomCountFn": { + "type": "boolean", + "description": "Enable custom function for count datasets.", + "title": "Use Custom Count Function" + }, + "forceCountFn": { + "type": "boolean", + "description": "Set this to true if you need to support $geo queries.", + "title": "Force Count Function" + }, + "allowDiskUse": { + "type": "boolean", + "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", + "title": "Allow Disk Use" + }, + "options": { + "type": "object", + "properties": { + "pref": { + "type": "string", + "description": "A of the listed preference options or aliases.", + "title": "Preference" + }, + "tags": { + "type": "string", + "description": "Optional tags for this query (must be used with pref).", + "title": "Tags" + } + }, + "description": "Determines the MongoDB nodes from which to read.", + "title": "Options" + } + }, + "description": "Requested options", + "title": "Options" + } + } + } + } + ], + "summary": "Query launchpads", + "description": "Detailed info about queried launchpads.", + "operationId": "QueryLaunchpads", + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "docs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "images": { + "type": "object", + "properties": { + "large": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The large images.", + "title": "Large Images" + } + }, + "description": "The images.", + "title": "images" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "full_name": { + "type": "string", + "description": "The full name.", + "title": "Full Name" + }, + "locality": { + "type": "string", + "description": "The locality.", + "title": "Locality" + }, + "region": { + "type": "string", + "description": "The region.", + "title": "Region" + }, + "latitude": { + "type": "number", + "format": "float", + "description": "The latitude.", + "title": "Latitude" + }, + "longitude": { + "type": "number", + "format": "float", + "description": "The longitude.", + "title": "Longitude" + }, + "launch_attempts": { + "type": "integer", + "format": "int32", + "description": "The launch attempts.", + "title": "Launch Attempts" + }, + "launch_successes": { + "type": "integer", + "format": "int32", + "description": "The launch successes.", + "title": "Launch Successes" + }, + "rockets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The rockets.", + "title": "Rockets" + }, + "timezone": { + "type": "string", + "description": "The timezone.", + "title": "Timezone" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "details": { + "type": "string", + "description": "The launchpad details.", + "title": "Details" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + }, + "description": "The documentation.", + "title": "Docs" + }, + "totalDocs": { + "type": "integer", + "format": "int32", + "description": "The total number of documentations.", + "title": "Total Docs" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The response offset.", + "title": "Offset" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The response limit.", + "title": "Limit" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "The total number of pages.", + "title": "Total Pages" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The current page.", + "title": "Page" + }, + "pagingCounter": { + "type": "integer", + "format": "int32", + "description": "The paging counter.", + "title": "Paging Counter" + }, + "hasPrevPage": { + "type": "boolean", + "description": "Whether has previous page.", + "title": "Has Previous Page" + }, + "hasNextPage": { + "type": "boolean", + "description": "Whether has next page.", + "title": "Has Next Page" + }, + "prevPage": { + "type": "string", + "description": "The previous page.", + "title": "Previous Page" + }, + "nextPage": { + "type": "string", + "description": "The next page.", + "title": "Next Page" + } + } + } + } + } + } + }, + "/v4/payloads": { + "get": { + "summary": "Get all payloads", + "description": "Detailed info about all launch payloads.", + "operationId": "GetAllPayloads", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "dragon": { + "type": "object", + "properties": { + "capsule": { + "type": "string", + "description": "The Dragon capsule.", + "title": "Dragon Capsule" + }, + "mass_returned_kg": { + "type": "string", + "description": "The mass returned in kilograms.", + "title": "Mass Returned Kg" + }, + "mass_returned_lbs": { + "type": "string", + "description": "The mass returned in pounds.", + "title": "Mass Returned Lbs" + }, + "flight_time_sec": { + "type": "string", + "description": "The flight time in seconds.", + "title": "Flight Time Seconds" + }, + "manifest": { + "type": "string", + "description": "The manifest.", + "title": "Manifest" + }, + "water_landing": { + "type": "string", + "description": "The water landing.", + "title": "Water Landing" + }, + "land_landing": { + "type": "string", + "description": "The land landing.", + "title": "Land Landing" + } + }, + "description": "The Dragon", + "title": "Dragon" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "reused": { + "type": "boolean", + "description": "Whether reused.", + "title": "Reused" + }, + "launch": { + "type": "string", + "description": "The launch.", + "title": "Launch" + }, + "customers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The customers.", + "title": "Customers" + }, + "norad_ids": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "The NORAD IDs.", + "title": "NORAD IDs" + }, + "nationalities": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The nationalities.", + "title": "Nationalities" + }, + "manufacturers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The manufacturers.", + "title": "Manufacturers" + }, + "mass_kg": { + "type": "integer", + "format": "int32", + "description": "The mass in kilograms.", + "title": "Mass Kg" + }, + "mass_lbs": { + "type": "integer", + "format": "int32", + "description": "The mass in pounds.", + "title": "Mass Lbs" + }, + "orbit": { + "type": "string", + "description": "The orbit.", + "title": "Orbit" + }, + "reference_system": { + "type": "string", + "description": "The reference system.", + "title": "Reference System" + }, + "regime": { + "type": "string", + "description": "the regime.", + "title": "Regime" + }, + "longitude": { + "type": "string", + "description": "The longitude.", + "title": "Longitude" + }, + "semi_major_axis_km": { + "type": "string", + "description": "The semi-major axix in kilometers.", + "title": "Semi-major Axis Km" + }, + "eccentricity": { + "type": "string", + "description": "The eccentricity.", + "title": "Eccentricity" + }, + "periapsis_km": { + "type": "string", + "description": "The periapsis in kilometers.", + "title": "Periapsis Km" + }, + "apoapsis_km": { + "type": "string", + "description": "The apoapsis in kilometers.", + "title": "Apoapsis Km" + }, + "inclination_deg": { + "type": "string", + "description": "The inclination degree.", + "title": "Inclination Degree" + }, + "period_min": { + "type": "string", + "description": "The period minimum.", + "title": "Period Minimum" + }, + "lifespan_years": { + "type": "string", + "description": "The lifespan in years.", + "title": "Lifespan Years" + }, + "epoch": { + "type": "string", + "description": "The epoch.", + "title": "Epoch" + }, + "mean_motion": { + "type": "string", + "description": "The mean motion.", + "title": "Mean Motion" + }, + "raan": { + "type": "string", + "description": "The right ascension of the ascending node.", + "title": "RAAN" + }, + "arg_of_pericenter": { + "type": "string", + "description": "The argument of pericenter.", + "title": "Argument of Pericenter" + }, + "mean_anomaly": { + "type": "string", + "description": "The mean anomaly.", + "title": "Mean Anomaly" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + } + }, + "/v4/payloads/{id}": { + "get": { + "summary": "Get a payload", + "description": "Detailed info about a launch payload.", + "operationId": "GetAPayload", + "parameters": [ + { + "name": "id", + "in": "path", + "x-ms-url-encoding": "single", + "required": true, + "type": "string", + "description": "The ID of the payload.", + "x-ms-summary": "Payload ID" + } + ], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "dragon": { + "type": "object", + "properties": { + "capsule": { + "type": "string", + "description": "The Dragon capsule.", + "title": "Capsule" + }, + "mass_returned_kg": { + "type": "string", + "description": "The mass returned in kilograms.", + "title": "Mass Returned Kg" + }, + "mass_returned_lbs": { + "type": "string", + "description": "The mass returned in pounds.", + "title": "Mass Returned Lbs" + }, + "flight_time_sec": { + "type": "string", + "description": "The flight time in seconds.", + "title": "Flight Time Seconds" + }, + "manifest": { + "type": "string", + "description": "The manifest.", + "title": "Manifest" + }, + "water_landing": { + "type": "string", + "description": "The water landing.", + "title": "Water Landing" + }, + "land_landing": { + "type": "string", + "description": "The land landing.", + "title": "Land Landing" + } + }, + "description": "The Dragon.", + "title": "dragon" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "reused": { + "type": "boolean", + "description": "Whether reused.", + "title": "Reused" + }, + "launch": { + "type": "string", + "description": "The launch.", + "title": "Launch" + }, + "customers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The customers.", + "title": "Customers" + }, + "norad_ids": { + "type": "array", + "items": {}, + "description": "The NORAD IDs.", + "title": "NORAD IDs" + }, + "nationalities": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The nationalities.", + "title": "Nationalities" + }, + "manufacturers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The manufacturers.", + "title": "Manufacturers" + }, + "mass_kg": { + "type": "integer", + "format": "int32", + "description": "The mass in kilograms.", + "title": "Mass Kg" + }, + "mass_lbs": { + "type": "integer", + "format": "int32", + "description": "The mass in pounds.", + "title": "Mass Lbs" + }, + "orbit": { + "type": "string", + "description": "The orbit.", + "title": "Orbit" + }, + "reference_system": { + "type": "string", + "description": "The reference system.", + "title": "Reference System" + }, + "regime": { + "type": "string", + "description": "The regime.", + "title": "Regime" + }, + "longitude": { + "type": "string", + "description": "The longitude.", + "title": "Longitude" + }, + "semi_major_axis_km": { + "type": "string", + "description": "The semi-major axis in kilometers.", + "title": "Semi-major Axis Km" + }, + "eccentricity": { + "type": "string", + "description": "The eccesntricity.", + "title": "Eccentricity" + }, + "periapsis_km": { + "type": "string", + "description": "The periapsis in kilometers.", + "title": "Periapsis Km" + }, + "apoapsis_km": { + "type": "string", + "description": "The apoapsis in kilometers.", + "title": "Apoapsis Km" + }, + "inclination_deg": { + "type": "string", + "description": "The inclination in degrees.", + "title": "Inclination Degree" + }, + "period_min": { + "type": "string", + "description": "The period minimum.", + "title": "Period Minimum" + }, + "lifespan_years": { + "type": "string", + "description": "The lifespan in years.", + "title": "Lifespan Years" + }, + "epoch": { + "type": "string", + "description": "The epoch.", + "title": "Epoch" + }, + "mean_motion": { + "type": "string", + "description": "The mean motion.", + "title": "Mean Motion" + }, + "raan": { + "type": "string", + "description": "The right ascension of the ascending node.", + "title": "RAAN" + }, + "arg_of_pericenter": { + "type": "string", + "description": "The argument of pericenter.", + "title": "Argument of Pericenter" + }, + "mean_anomaly": { + "type": "string", + "description": "The mean anomaly.", + "title": "Mean Anomaly" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/payloads/query": { + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "query": { + "type": "object", + "properties": {}, + "description": "Accepts any valid MongoDB find() query.", + "title": "Query" + }, + "options": { + "type": "object", + "properties": { + "select": { + "type": "string", + "description": "Fields to return (by default returns all fields).", + "title": "Select" + }, + "collation": { + "type": "object", + "properties": {}, + "description": "Specify the collation", + "title": "collation" + }, + "sort": { + "type": "string", + "description": "Sort order.", + "title": "Sort" + }, + "populate": { + "type": "array", + "items": {}, + "description": "Paths which should be populated with other documents.", + "title": "Populate" + }, + "projection": { + "type": "string", + "description": "Get/set the query projection.", + "title": "Projection" + }, + "lean": { + "type": "boolean", + "description": "Should return plain javascript objects instead of Mongoose documents.", + "title": "Lean" + }, + "leanWithId": { + "type": "boolean", + "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", + "title": "Lean With Id" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Use offset or page to set skip position.", + "title": "Offset" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The page number.", + "title": "Page" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit per page.", + "title": "Limit" + }, + "customLabels": { + "type": "object", + "properties": {}, + "description": "Developers can provide custom labels for manipulating the response data.", + "title": "Custom Labels" + }, + "pagination": { + "type": "boolean", + "description": "If pagination is set to false it will return all docs without adding limit condition.", + "title": "Pagination" + }, + "useEstimatedCount": { + "type": "boolean", + "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", + "title": "Use Estimated Count" + }, + "useCustomCountFn": { + "type": "boolean", + "description": "Enable custom function for count datasets.", + "title": "Use Custom Count Function" + }, + "forceCountFn": { + "type": "boolean", + "description": "Set this to true if you need to support $geo queries.", + "title": "Force Count Function" + }, + "allowDiskUse": { + "type": "boolean", + "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", + "title": "Allow Disk Use" + }, + "options": { + "type": "object", + "properties": { + "pref": { + "type": "string", + "description": "A of the listed preference options or aliases.", + "title": "Preference" + }, + "tags": { + "type": "string", + "description": "Optional tags for this query (must be used with pref).", + "title": "Tags" + } + }, + "description": "Determines the MongoDB nodes from which to read.", + "title": "Options" + } + }, + "description": "Requested options", + "title": "Options" + } + } + } + } + ], + "summary": "Query payloads", + "description": "Detailed info about queried launch payloads.", + "operationId": "QueryPayloads", + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "docs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "dragon": { + "type": "object", + "properties": { + "capsule": { + "type": "string", + "description": "The capsule.", + "title": "Capsule" + }, + "mass_returned_kg": { + "type": "string", + "description": "The mass returned in kilograms.", + "title": "Mass Returned Kg" + }, + "mass_returned_lbs": { + "type": "string", + "description": "The mass returned in pounds.", + "title": "Mass Returned Lbs" + }, + "flight_time_sec": { + "type": "integer", + "format": "int32", + "description": "The flight time seconds.", + "title": "Flight Time Seconds" + }, + "manifest": { + "type": "string", + "description": "The manifest.", + "title": "Manifest" + }, + "water_landing": { + "type": "boolean", + "description": "The water landing.", + "title": "Water Landing" + }, + "land_landing": { + "type": "boolean", + "description": "The land landing.", + "title": "Land Landing" + } + }, + "description": "The Dragon.", + "title": "Dragon" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "reused": { + "type": "boolean", + "description": "Whether reused.", + "title": "Reused" + }, + "launch": { + "type": "string", + "description": "The launch.", + "title": "Launch" + }, + "customers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The customers.", + "title": "Customers" + }, + "norad_ids": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "The NORAG IDs.", + "title": "NORAD IDs" + }, + "nationalities": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The nationalities.", + "title": "Nationalities" + }, + "manufacturers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The manufacturers.", + "title": "Manufacturers" + }, + "mass_kg": { + "type": "integer", + "format": "int32", + "description": "The mass in kilograms.", + "title": "Mass Kg" + }, + "mass_lbs": { + "type": "integer", + "format": "int32", + "description": "The mass in pounds.", + "title": "Mass Lbs" + }, + "orbit": { + "type": "string", + "description": "The orbit.", + "title": "Orbit" + }, + "reference_system": { + "type": "string", + "description": "The reference system.", + "title": "Reference System" + }, + "regime": { + "type": "string", + "description": "The regime.", + "title": "Regime" + }, + "longitude": { + "type": "string", + "description": "The longitude.", + "title": "Longitude" + }, + "semi_major_axis_km": { + "type": "number", + "format": "float", + "description": "The semi-major axis in kilometers.", + "title": "Semi-major Axis Km" + }, + "eccentricity": { + "type": "number", + "format": "float", + "description": "The excentricity.", + "title": "Eccentricity" + }, + "periapsis_km": { + "type": "number", + "format": "float", + "description": "The periapsis in kilometers.", + "title": "Periapsis Km" + }, + "apoapsis_km": { + "type": "number", + "format": "float", + "description": "The apoapsis in kilometers.", + "title": "Apoapsis Km" + }, + "inclination_deg": { + "type": "number", + "format": "float", + "description": "The inclination in degrees.", + "title": "Inclination Degree" + }, + "period_min": { + "type": "number", + "format": "float", + "description": "The period minimum.", + "title": "Period Minimum" + }, + "lifespan_years": { + "type": "string", + "description": "The lifespan in years.", + "title": "Lifespan Years" + }, + "epoch": { + "type": "string", + "description": "The epoch.", + "title": "Epoch" + }, + "mean_motion": { + "type": "number", + "format": "float", + "description": "The mean motion.", + "title": "Mean Motion" + }, + "raan": { + "type": "number", + "format": "float", + "description": "The right ascension of the ascending node.", + "title": "RAAN" + }, + "arg_of_pericenter": { + "type": "number", + "format": "float", + "description": "The argument of pericenter.", + "title": "Argument of Pericenter" + }, + "mean_anomaly": { + "type": "number", + "format": "float", + "description": "The mean anomaly.", + "title": "Mean Anomaly" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + }, + "description": "The documentation.", + "title": "Docs" + }, + "totalDocs": { + "type": "integer", + "format": "int32", + "description": "The total number of documentations.", + "title": "Total Docs" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The response offset.", + "title": "Offset" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The response limit.", + "title": "Limit" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "The total number of pages.", + "title": "Total Pages" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The current page.", + "title": "Page" + }, + "pagingCounter": { + "type": "integer", + "format": "int32", + "description": "The paging counter.", + "title": "Paging Counter" + }, + "hasPrevPage": { + "type": "boolean", + "description": "Whether has previous page.", + "title": "Has Previous Page" + }, + "hasNextPage": { + "type": "boolean", + "description": "Whether has next page.", + "title": "Has Next Page" + }, + "prevPage": { + "type": "string", + "description": "The previous page.", + "title": "Previous Page" + }, + "nextPage": { + "type": "integer", + "format": "int32", + "description": "The next page.", + "title": "Next Page" + } + } + } + } + } + } + }, + "/v4/roadster": { + "get": { + "summary": "Get Roadster Info", + "description": "Detailed info about Elon's Tesla Roadster's current position.", + "operationId": "GetRoadsterInfo", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "launch_date_utc": { + "type": "string", + "description": "The launch date in UTC.", + "title": "Launch Date UTC" + }, + "launch_date_unix": { + "type": "integer", + "format": "int32", + "description": "The launch date in UNIX.", + "title": "Launch Date UNIX" + }, + "launch_mass_kg": { + "type": "integer", + "format": "int32", + "description": "The launch mass in kilograms.", + "title": "Launch Mass Kg" + }, + "launch_mass_lbs": { + "type": "integer", + "format": "int32", + "description": "The launch mass in pounds.", + "title": "Launch Mass Lbs" + }, + "norad_id": { + "type": "integer", + "format": "int32", + "description": "The NORAD ID", + "title": "NORAD ID" + }, + "epoch_jd": { + "type": "number", + "format": "float", + "description": "The discrete epoch.", + "title": "Epoch JD" + }, + "orbit_type": { + "type": "string", + "description": "The orbit type.", + "title": "Orbit Type" + }, + "apoapsis_au": { + "type": "number", + "format": "float", + "description": "The apoapsis astromical unit", + "title": "apoapsis_au" + }, + "periapsis_au": { + "type": "number", + "format": "float", + "description": "The periapsis astronomical unit.", + "title": "Periapsis AU" + }, + "semi_major_axis_au": { + "type": "number", + "format": "float", + "description": "The semi-major axis astronomical unit.", + "title": "Semi-major Axis AU" + }, + "eccentricity": { + "type": "number", + "format": "float", + "description": "The eccentricity.", + "title": "Eccentricity" + }, + "inclination": { + "type": "number", + "format": "float", + "description": "The inclination.", + "title": "Inclination" + }, + "longitude": { + "type": "number", + "format": "float", + "description": "The longitude.", + "title": "Longitude" + }, + "periapsis_arg": { + "type": "number", + "format": "float", + "description": "The periapsis argument.", + "title": "Periapsis Arg" + }, + "period_days": { + "type": "number", + "format": "float", + "description": "The period in days.", + "title": "Period Days" + }, + "speed_kph": { + "type": "number", + "format": "float", + "description": "The speed in kilometers per hour.", + "title": "Speed KPH" + }, + "speed_mph": { + "type": "number", + "format": "float", + "description": "The speed in miles per hour.", + "title": "Speed MPH" + }, + "earth_distance_km": { + "type": "number", + "format": "float", + "description": "The Earth distance in kilomters.", + "title": "Earth Distance Km" + }, + "earth_distance_mi": { + "type": "number", + "format": "float", + "description": "The Earth distance in miles.", + "title": "Earth Distance Miles" + }, + "mars_distance_km": { + "type": "number", + "format": "float", + "description": "The Mars distance in kilometers.", + "title": "Mars Distance Km" + }, + "mars_distance_mi": { + "type": "number", + "format": "float", + "description": "The Mars distance in miles.", + "title": "Mars Distance Miles" + }, + "flickr_images": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Flickr image links.", + "title": "Flickr Images" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia address.", + "title": "Wikipedia" + }, + "video": { + "type": "string", + "description": "The video.", + "title": "Video" + }, + "details": { + "type": "string", + "description": "The Roadster details.", + "title": "Details" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/rockets": { + "get": { + "summary": "Get all rockets", + "description": "Detailed info about all rockets.", + "operationId": "GetAllRockets", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "height": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The height in meters.", + "title": "Meters" + }, + "feet": { + "type": "integer", + "format": "int32", + "description": "The height in feet.", + "title": "Feet" + } + }, + "description": "The height.", + "title": "Height" + }, + "diameter": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The height in meters.", + "title": "Meters" + }, + "feet": { + "type": "integer", + "format": "int32", + "description": "The height in feet.", + "title": "Feet" + } + }, + "description": "The diameter.", + "title": "Diameter" + }, + "mass": { + "type": "object", + "properties": { + "kg": { + "type": "integer", + "format": "int32", + "description": "The mass in kilograms.", + "title": "Kg" + }, + "lb": { + "type": "integer", + "format": "int32", + "description": "The mass in pounds", + "title": "Lb" + } + }, + "description": "The mass.", + "title": "Mass" + }, + "first_stage": { + "type": "object", + "properties": { + "thrust_sea_level": { + "type": "object", + "properties": { + "kN": { + "type": "integer", + "format": "int32", + "description": "The thrust in kilogram newtons.", + "title": "Thurst kN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The thrust in pounds of force.", + "title": "Thurst Lbf" + } + }, + "description": "The thrust at sea level.", + "title": "Thrust Sea Level" + }, + "thrust_vacuum": { + "type": "object", + "properties": { + "kN": { + "type": "integer", + "format": "int32", + "description": "The thrust in kilogram newtons.", + "title": "Thurst kN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The thrust in pounds of force.", + "title": "Thurst Lbf" + } + }, + "description": "The thrust vacuum.", + "title": "Thrust Vacuum" + }, + "reusable": { + "type": "boolean", + "description": "Whether reusable.", + "title": "Reusable" + }, + "engines": { + "type": "integer", + "format": "int32", + "description": "The engines", + "title": "Engines" + }, + "fuel_amount_tons": { + "type": "number", + "description": "The fuel amount in tons.", + "title": "Fuel Amount Tons" + }, + "burn_time_sec": { + "type": "integer", + "description": "The burn time in seconds.", + "title": "Burn Time Seconds" + } + }, + "description": "The first stage.", + "title": "First Stage" + }, + "second_stage": { + "type": "object", + "properties": { + "thrust": { + "type": "object", + "properties": { + "kN": { + "type": "integer", + "format": "int32", + "description": "The thrust in kilogram newtons.", + "title": "Thurst kN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The thrust in pounds of force.", + "title": "Thurst Lbf" + } + }, + "description": "The thrust.", + "title": "Thrust" + }, + "payloads": { + "type": "object", + "properties": { + "composite_fairing": { + "type": "object", + "properties": { + "height": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The height in meters.", + "title": "Meters" + }, + "feet": { + "type": "string", + "description": "The height in feet.", + "title": "Feet" + } + }, + "description": "The height.", + "title": "Height" + }, + "diameter": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The diameter in meters.", + "title": "Meters" + }, + "feet": { + "type": "string", + "description": "The diameter in feet.", + "title": "Feet" + } + }, + "description": "The diameter.", + "title": "Diameter" + } + }, + "description": "The fairing composite.", + "title": "Composite Fairing" + }, + "option_1": { + "type": "string", + "description": "The option 1.", + "title": "Option 1" + } + }, + "description": "The payloads.", + "title": "Payloads" + }, + "reusable": { + "type": "boolean", + "description": "Whether reusable.", + "title": "Reusable" + }, + "engines": { + "type": "integer", + "format": "int32", + "description": "The engines", + "title": "Engines" + }, + "fuel_amount_tons": { + "type": "number", + "description": "The fuel amount in tons.", + "title": "Fuel Amount Tons" + }, + "burn_time_sec": { + "type": "integer", + "description": "The burn time in seconds.", + "title": "Burn Time Seconds" + } + }, + "description": "The second stage.", + "title": "Second Stage" + }, + "engines": { + "type": "object", + "properties": { + "isp": { + "type": "object", + "properties": { + "sea_level": { + "type": "integer", + "format": "int32", + "description": "The Isp at sea level.", + "title": "Sea Level" + }, + "vacuum": { + "type": "integer", + "format": "int32", + "description": "The vacuum at sea level.", + "title": "Vacuum" + } + }, + "description": "The specific impulse.", + "title": "Isp" + }, + "thrust_sea_level": { + "type": "object", + "properties": { + "kN": { + "type": "integer", + "format": "int32", + "description": "The thrust in kilogram newtons.", + "title": "Thurst kN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The thrust in pounds of force.", + "title": "Thurst Lbf" + } + }, + "description": "The thrust at sea level.", + "title": "Thrust Sea Level" + }, + "thrust_vacuum": { + "type": "object", + "properties": { + "kN": { + "type": "integer", + "format": "int32", + "description": "The thrust in kilogram newtons.", + "title": "Thurst kN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The thrust in pounds of force.", + "title": "Thurst Lbf" + } + }, + "description": "The thrust vacuum.", + "title": "Thrust Vacuum" + }, + "number": { + "type": "integer", + "format": "int32", + "description": "The number.", + "title": "Number" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "version": { + "type": "string", + "description": "The version.", + "title": "Version" + }, + "layout": { + "type": "string", + "description": "The layout.", + "title": "Layout" + }, + "engine_loss_max": { + "type": "integer", + "description": "The engine loss maximum.", + "title": "Engine Loss Maximum" + }, + "propellant_1": { + "type": "string", + "description": "The propellant 1.", + "title": "Propellant 1" + }, + "propellant_2": { + "type": "string", + "description": "The propellant 2.", + "title": "Propellant 2" + }, + "thrust_to_weight": { + "type": "integer", + "format": "int32", + "description": "The thrust to weight ratio.", + "title": "Thrust to Weight" + } + }, + "description": "The engines.", + "title": "Engines" + }, + "landing_legs": { + "type": "object", + "properties": { + "number": { + "type": "integer", + "format": "int32", + "description": "The number of landing legs.", + "title": "Number" + }, + "material": { + "type": "string", + "description": "The landing legs material.", + "title": "material" + } + }, + "description": "The landing legs.", + "title": "Landing Legs" + }, + "payload_weights": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The item ID.", + "title": "ID" + }, + "name": { + "type": "string", + "description": "The item name.", + "title": "Name" + }, + "kg": { + "type": "integer", + "format": "int32", + "description": "The weight in kilograms.", + "title": "Kg" + }, + "lb": { + "type": "integer", + "format": "int32", + "description": "The weight in pounds.", + "title": "Lb" + } + } + }, + "description": "The payload weights.", + "title": "Payload Weights" + }, + "flickr_images": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Flickr image links.", + "title": "Flickr Images" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "active": { + "type": "boolean", + "description": "Whether active.", + "title": "Active" + }, + "stages": { + "type": "integer", + "format": "int32", + "description": "The stages.", + "title": "Stages" + }, + "boosters": { + "type": "integer", + "format": "int32", + "description": "The boosters.", + "title": "Boosters" + }, + "cost_per_launch": { + "type": "integer", + "format": "int32", + "description": "The cost per launch.", + "title": "Cost Per Launch" + }, + "success_rate_pct": { + "type": "integer", + "format": "int32", + "description": "The success rate percentage.", + "title": "Success Rate PCT" + }, + "first_flight": { + "type": "string", + "description": "The first flight.", + "title": "First Flight" + }, + "country": { + "type": "string", + "description": "The country.", + "title": "Country" + }, + "company": { + "type": "string", + "description": "The company.", + "title": "Company" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia address.", + "title": "Wikipedia" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + } + }, + "/v4/rockets/{id}": { + "get": { + "summary": "Get a rocket", + "description": "Detailed info about a rocket.", + "operationId": "GetARocket", + "parameters": [ + { + "name": "id", + "in": "path", + "x-ms-url-encoding": "single", + "required": true, + "type": "string", + "description": "The ID of the rocket.", + "x-ms-summary": "Rocket ID" + } + ], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "height": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The height in meters", + "title": "Meters" + }, + "feet": { + "type": "integer", + "format": "int32", + "description": "The height in feet.", + "title": "Feet" + } + }, + "description": "The height.", + "title": "Height" + }, + "diameter": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The height in meters", + "title": "Meters" + }, + "feet": { + "type": "integer", + "format": "int32", + "description": "The height in feet.", + "title": "Feet" + } + }, + "description": "The diameter.", + "title": "Diameter" + }, + "mass": { + "type": "object", + "properties": { + "kg": { + "type": "integer", + "format": "int32", + "description": "The mass in kilograms.", + "title": "Kg" + }, + "lb": { + "type": "integer", + "format": "int32", + "description": "The mass in pounds.", + "title": "Lb" + } + }, + "description": "The mass.", + "title": "Mass" + }, + "first_stage": { + "type": "object", + "properties": { + "thrust_sea_level": { + "type": "object", + "properties": { + "kN": { + "type": "integer", + "format": "int32", + "description": "The kilonewtons.", + "title": "KN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The pounds of force.", + "title": "Lbf" + } + }, + "description": "The thrust at sea level.", + "title": "Thrust Sea Level" + }, + "thrust_vacuum": { + "type": "object", + "properties": { + "kN": { + "type": "integer", + "format": "int32", + "description": "The kilonewtons.", + "title": "KN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The pounds of force.", + "title": "Lbf" + } + }, + "description": "The thrust vacuum.", + "title": "Thrust Vacuum" + }, + "reusable": { + "type": "boolean", + "description": "Whether reusable.", + "title": "Reusable" + }, + "engines": { + "type": "integer", + "format": "int32", + "description": "The number of engines.", + "title": "Engines" + }, + "fuel_amount_tons": { + "type": "number", + "description": "The fuel amount in tons.", + "title": "Fuel Amount Tons" + }, + "burn_time_sec": { + "type": "integer", + "description": "The burn time in seconds.", + "title": "Burn Time Seconds" + } + }, + "description": "The first stage.", + "title": "First Stage" + }, + "second_stage": { + "type": "object", + "properties": { + "thrust": { + "type": "object", + "properties": { + "kN": { + "type": "integer", + "format": "int32", + "description": "The kilonewtons.", + "title": "KN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The pounds of force.", + "title": "Lbf" + } + }, + "description": "The thrust.", + "title": "Thrust" + }, + "payloads": { + "type": "object", + "properties": { + "composite_fairing": { + "type": "object", + "properties": { + "height": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The height in meters.", + "title": "Meters" + }, + "feet": { + "type": "string", + "description": "The height in feet.", + "title": "Feet" + } + }, + "description": "The height.", + "title": "Height" + }, + "diameter": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The diamter in meters.", + "title": "Meters" + }, + "feet": { + "type": "string", + "description": "The diameter in feet.", + "title": "Feet" + } + }, + "description": "The diameter.", + "title": "Diameter" + } + }, + "description": "The composite fairing.", + "title": "Composite Fairing" + }, + "option_1": { + "type": "string", + "description": "Option 1", + "title": "Option 1" + } + }, + "description": "The payloads.", + "title": "Payloads" + }, + "reusable": { + "type": "boolean", + "description": "Whether reusable.", + "title": "Reusable" + }, + "engines": { + "type": "integer", + "format": "int32", + "description": "The number of engines.", + "title": "Engines" + }, + "fuel_amount_tons": { + "type": "number", + "description": "The fuel amount in tons.", + "title": "Fuel Amount Tons" + }, + "burn_time_sec": { + "type": "integer", + "description": "The burn time in seconds.", + "title": "Burn Time Seconds" + } + }, + "description": "The second stage.", + "title": "Second Stage" + }, + "engines": { + "type": "object", + "properties": { + "isp": { + "type": "object", + "properties": { + "sea_level": { + "type": "integer", + "format": "int32", + "description": "The Isp at sea level.", + "title": "Sea Level" + }, + "vacuum": { + "type": "integer", + "format": "int32", + "description": "The Isp vacuum.", + "title": "Vacuum" + } + }, + "description": "The Isp.", + "title": "Isp" + }, + "thrust_sea_level": { + "type": "object", + "properties": { + "kN": { + "type": "integer", + "format": "int32", + "description": "The thrust at sea level in kilonewtons.", + "title": "KN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The thrust at sea level in pounds of force.", + "title": "Lbf" + } + }, + "description": "The thrust at sea level.", + "title": "Thrust Sea Level" + }, + "thrust_vacuum": { + "type": "object", + "properties": { + "kN": { + "type": "integer", + "format": "int32", + "description": "The thrust vacuum in kilonewtons.", + "title": "KN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The thrust vacuum in pounds of force.", + "title": "Lbf" + } + }, + "description": "The thrust vacuum.", + "title": "Thrust Vacuum" + }, + "number": { + "type": "integer", + "format": "int32", + "description": "The number.", + "title": "Number" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "version": { + "type": "string", + "description": "The version.", + "title": "Version" + }, + "layout": { + "type": "string", + "description": "The layout.", + "title": "Layout" + }, + "engine_loss_max": { + "type": "integer", + "description": "The engine loss maximum.", + "title": "Engine Loss Maximum" + }, + "propellant_1": { + "type": "string", + "description": "The propellant 1.", + "title": "Propellant 1" + }, + "propellant_2": { + "type": "string", + "description": "The propellant 2.", + "title": "Propellant 2" + }, + "thrust_to_weight": { + "type": "integer", + "format": "int32", + "description": "The thrust to weight.", + "title": "Thrust to Weight" + } + }, + "description": "The engines.", + "title": "Engines" + }, + "landing_legs": { + "type": "object", + "properties": { + "number": { + "type": "integer", + "format": "int32", + "description": "The number of landing legs.", + "title": "Number" + }, + "material": { + "type": "string", + "description": "The material.", + "title": "Material" + } + }, + "description": "The landing legs.", + "title": "Landing Legs" + }, + "payload_weights": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "kg": { + "type": "integer", + "format": "int32", + "description": "The mass in kilograms.", + "title": "Kg" + }, + "lb": { + "type": "integer", + "format": "int32", + "description": "The mass in pounds", + "title": "Lb" + } + } + }, + "description": "The payload weights.", + "title": "Payload Weights" + }, + "flickr_images": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Flickr image links.", + "title": "Flickr Images" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "active": { + "type": "boolean", + "description": "Whether active.", + "title": "Active" + }, + "stages": { + "type": "integer", + "format": "int32", + "description": "The number of stages.", + "title": "Stages" + }, + "boosters": { + "type": "integer", + "format": "int32", + "description": "The number of boosters.", + "title": "Boosters" + }, + "cost_per_launch": { + "type": "integer", + "format": "int32", + "description": "The cost per launch.", + "title": "Cost Per Launch" + }, + "success_rate_pct": { + "type": "integer", + "format": "int32", + "description": "The success rate PCT.", + "title": "Success Rate PCT" + }, + "first_flight": { + "type": "string", + "description": "The first flight.", + "title": "First Flight" + }, + "country": { + "type": "string", + "description": "The country.", + "title": "Country" + }, + "company": { + "type": "string", + "description": "The company.", + "title": "Company" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia address.", + "title": "Wikipedia" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/rockets/query": { + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "query": { + "type": "object", + "properties": {}, + "description": "Accepts any valid MongoDB find() query.", + "title": "Query" + }, + "options": { + "type": "object", + "properties": { + "select": { + "type": "string", + "description": "Fields to return (by default returns all fields).", + "title": "Select" + }, + "collation": { + "type": "object", + "properties": {}, + "description": "Specify the collation", + "title": "collation" + }, + "sort": { + "type": "string", + "description": "Sort order.", + "title": "Sort" + }, + "populate": { + "type": "array", + "items": {}, + "description": "Paths which should be populated with other documents.", + "title": "Populate" + }, + "projection": { + "type": "string", + "description": "Get/set the query projection.", + "title": "Projection" + }, + "lean": { + "type": "boolean", + "description": "Should return plain javascript objects instead of Mongoose documents.", + "title": "Lean" + }, + "leanWithId": { + "type": "boolean", + "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", + "title": "Lean With Id" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Use offset or page to set skip position.", + "title": "Offset" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The page number.", + "title": "Page" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit per page.", + "title": "Limit" + }, + "customLabels": { + "type": "object", + "properties": {}, + "description": "Developers can provide custom labels for manipulating the response data.", + "title": "Custom Labels" + }, + "pagination": { + "type": "boolean", + "description": "If pagination is set to false it will return all docs without adding limit condition.", + "title": "Pagination" + }, + "useEstimatedCount": { + "type": "boolean", + "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", + "title": "Use Estimated Count" + }, + "useCustomCountFn": { + "type": "boolean", + "description": "Enable custom function for count datasets.", + "title": "Use Custom Count Function" + }, + "forceCountFn": { + "type": "boolean", + "description": "Set this to true if you need to support $geo queries.", + "title": "Force Count Function" + }, + "allowDiskUse": { + "type": "boolean", + "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", + "title": "Allow Disk Use" + }, + "options": { + "type": "object", + "properties": { + "pref": { + "type": "string", + "description": "A of the listed preference options or aliases.", + "title": "Preference" + }, + "tags": { + "type": "string", + "description": "Optional tags for this query (must be used with pref).", + "title": "Tags" + } + }, + "description": "Determines the MongoDB nodes from which to read.", + "title": "Options" + } + }, + "description": "Requested options", + "title": "Options" + } + } + } + } + ], + "summary": "Query rockets", + "description": "Detailed info about queried rockets.", + "operationId": "QueryRockets", + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "docs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "height": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "description": "The height in meters.", + "title": "Meters" + }, + "feet": { + "type": "integer", + "format": "int32", + "description": "The height in feet.", + "title": "Feet" + } + }, + "description": "The height.", + "title": "Height" + }, + "diameter": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The height in meters.", + "title": "Meters" + }, + "feet": { + "type": "number", + "description": "The height in feet.", + "title": "Feet" + } + }, + "description": "The diameter.", + "title": "Diameter" + }, + "mass": { + "type": "object", + "properties": { + "kg": { + "type": "integer", + "format": "int32", + "description": "The mass in kilograms.", + "title": "Mass Kg" + }, + "lb": { + "type": "integer", + "format": "int32", + "description": "The mass in pounds.", + "title": "Mass Lb" + } + }, + "description": "The mass.", + "title": "Mass" + }, + "first_stage": { + "type": "object", + "properties": { + "thrust_sea_level": { + "type": "object", + "properties": { + "kN": { + "type": "number", + "format": "float", + "description": "The kilonewtons.", + "title": "KN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The pounds of force.", + "title": "Lbf" + } + }, + "description": "The thrust at sea level.", + "title": "Thrust Sea Level" + }, + "thrust_vacuum": { + "type": "object", + "properties": { + "kN": { + "type": "number", + "format": "float", + "description": "The kilonewtons.", + "title": "KN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The pounds of force.", + "title": "Lbf" + } + }, + "description": "The thrust vacuum.", + "title": "Thrust Vacuum" + }, + "reusable": { + "type": "boolean", + "description": "Whether reusable.", + "title": "Reusable" + }, + "engines": { + "type": "integer", + "format": "int32", + "description": "The engines.", + "title": "Engines" + }, + "fuel_amount_tons": { + "type": "number", + "description": "The fuel amount in tons.", + "title": "Fuel Amount Tons" + }, + "burn_time_sec": { + "type": "integer", + "description": "The burn time in seconds.", + "title": "Burn Time Seconds" + } + }, + "description": "The first stage.", + "title": "First Stage" + }, + "second_stage": { + "type": "object", + "properties": { + "thrust": { + "type": "object", + "properties": { + "kN": { + "type": "number", + "format": "float", + "description": "The kilonewtons.", + "title": "KN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The pounds of force.", + "title": "Lbf" + } + }, + "description": "The thrust.", + "title": "Thrust" + }, + "payloads": { + "type": "object", + "properties": { + "composite_fairing": { + "type": "object", + "properties": { + "height": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The height in meters.", + "title": "Meters" + }, + "feet": { + "type": "string", + "description": "The height in feet.", + "title": "Feet" + } + }, + "description": "The height.", + "title": "Height" + }, + "diameter": { + "type": "object", + "properties": { + "meters": { + "type": "number", + "format": "float", + "description": "The diameter in meters.", + "title": "Meters" + }, + "feet": { + "type": "string", + "description": "The diameter in feet.", + "title": "Feet" + } + }, + "description": "The diameter.", + "title": "Diameter" + } + }, + "description": "The composite fairing.", + "title": "Composite Fairing" + }, + "option_1": { + "type": "string", + "description": "The option 1.", + "title": "Option 1" + } + }, + "description": "The payloads.", + "title": "Payloads" + }, + "reusable": { + "type": "boolean", + "description": "Whether reusable.", + "title": "Reusable" + }, + "engines": { + "type": "integer", + "format": "int32", + "description": "The engines.", + "title": "Engines" + }, + "fuel_amount_tons": { + "type": "number", + "description": "The fuel amount in tons.", + "title": "Fuel Amount Tons" + }, + "burn_time_sec": { + "type": "integer", + "description": "The burn time in seconds.", + "title": "Burn Time Seconds" + } + }, + "description": "The second stage.", + "title": "Second Stage" + }, + "engines": { + "type": "object", + "properties": { + "isp": { + "type": "object", + "properties": { + "sea_level": { + "type": "integer", + "format": "int32", + "description": "The Isp at sea level.", + "title": "Sea Level" + }, + "vacuum": { + "type": "integer", + "format": "int32", + "description": "The vacuum at sea level.", + "title": "Vacuum" + } + }, + "description": "The Isp.", + "title": "Isp" + }, + "thrust_sea_level": { + "type": "object", + "properties": { + "kN": { + "type": "number", + "format": "float", + "description": "The kilonewtons.", + "title": "KN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The pounds of force.", + "title": "Lbf" + } + }, + "description": "The thrust at sea level.", + "title": "Thrust Sea Level" + }, + "thrust_vacuum": { + "type": "object", + "properties": { + "kN": { + "type": "number", + "format": "float", + "description": "The kilonewtons.", + "title": "KN" + }, + "lbf": { + "type": "integer", + "format": "int32", + "description": "The pounds of force.", + "title": "Lbf" + } + }, + "description": "The thrust vacuum.", + "title": "Thrust Vacuum" + }, + "number": { + "type": "integer", + "format": "int32", + "description": "The number.", + "title": "Number" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "version": { + "type": "string", + "description": "The version", + "title": "Version" + }, + "layout": { + "type": "string", + "description": "The layout.", + "title": "Layout" + }, + "engine_loss_max": { + "type": "integer", + "description": "The engine loss maximum.", + "title": "Engine Loss Maximum" + }, + "propellant_1": { + "type": "string", + "description": "The propellant 1.", + "title": "Propellant 1" + }, + "propellant_2": { + "type": "string", + "description": "The propellant 2.", + "title": "Propellant 2" + }, + "thrust_to_weight": { + "type": "integer", + "format": "int32", + "description": "The thrust to weight.", + "title": "Thrust to Weight" + } + }, + "description": "The engines", + "title": "Engines" + }, + "landing_legs": { + "type": "object", + "properties": { + "number": { + "type": "integer", + "format": "int32", + "description": "The number of landing legs.", + "title": "Number" + }, + "material": { + "type": "string", + "description": "The material type.", + "title": "Material" + } + }, + "description": "The landing legs.", + "title": "Landing Legs" + }, + "payload_weights": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID.", + "title": "ID" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "name" + }, + "kg": { + "type": "integer", + "format": "int32", + "description": "The weight in kilograms.", + "title": "Kg" + }, + "lb": { + "type": "integer", + "format": "int32", + "description": "The weight in pounds.", + "title": "Lb" + } + } + }, + "description": "The payload weights.", + "title": "Payload Weights" + }, + "flickr_images": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Flickr images links.", + "title": "Flickr Images" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "active": { + "type": "boolean", + "description": "Whether active", + "title": "Active" + }, + "stages": { + "type": "integer", + "format": "int32", + "description": "The number of stages.", + "title": "Stages" + }, + "boosters": { + "type": "integer", + "format": "int32", + "description": "The number of boosters.", + "title": "Boosters" + }, + "cost_per_launch": { + "type": "integer", + "format": "int32", + "description": "The cost per launch.", + "title": "Cost Per Launch" + }, + "success_rate_pct": { + "type": "integer", + "format": "int32", + "description": "The success rate percentage.", + "title": "Success Rate PCT" + }, + "first_flight": { + "type": "string", + "description": "The first flight.", + "title": "First Flight" + }, + "country": { + "type": "string", + "description": "The country.", + "title": "Country" + }, + "company": { + "type": "string", + "description": "The company.", + "title": "Company" + }, + "wikipedia": { + "type": "string", + "description": "The Wikipedia link.", + "title": "Wikipedia" + }, + "description": { + "type": "string", + "description": "The description.", + "title": "Description" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + }, + "description": "The documentation.", + "title": "Docs" + }, + "totalDocs": { + "type": "integer", + "format": "int32", + "description": "The total number of documentations.", + "title": "Total Docs" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The response offset.", + "title": "Offset" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The response limit.", + "title": "Limit" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "The total number of pages.", + "title": "Total Pages" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The current page.", + "title": "Page" + }, + "pagingCounter": { + "type": "integer", + "format": "int32", + "description": "The paging counter.", + "title": "Paging Counter" + }, + "hasPrevPage": { + "type": "boolean", + "description": "Whether has previous page.", + "title": "Has Previous Page" + }, + "hasNextPage": { + "type": "boolean", + "description": "Whether has next page.", + "title": "Has Next Page" + }, + "prevPage": { + "type": "string", + "description": "The previous page.", + "title": "Previous Page" + }, + "nextPage": { + "type": "string", + "description": "The next page.", + "title": "Next Page" + } + } + } + } + } + } + }, + "/v4/ships": { + "get": { + "summary": "Get all ships", + "description": "Detailed info about all ships in the SpaceX fleet.", + "operationId": "GetAllShips", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "last_ais_update": { + "type": "string", + "description": "The last AIS update.", + "title": "Last AIS Update" + }, + "legacy_id": { + "type": "string", + "description": "The legacy ID.", + "title": "Legacy ID" + }, + "model": { + "type": "string", + "description": "The model.", + "title": "Model" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The roles.", + "title": "Roles" + }, + "imo": { + "type": "integer", + "format": "int32", + "description": "The International Maritime Organization number.", + "title": "IMO" + }, + "mmsi": { + "type": "integer", + "format": "int32", + "description": "The Maritime Mobile Service Identity number.", + "title": "MMSI" + }, + "abs": { + "type": "integer", + "format": "int32", + "description": "The number of autonomous spaceport drone ships.", + "title": "ABS" + }, + "class": { + "type": "integer", + "format": "int32", + "description": "The class number.", + "title": "Class" + }, + "mass_kg": { + "type": "integer", + "format": "int32", + "description": "The mass in kilograms.", + "title": "Mass Kg" + }, + "mass_lbs": { + "type": "integer", + "format": "int32", + "description": "The mass in pounds.", + "title": "Mass Lbs" + }, + "year_built": { + "type": "integer", + "format": "int32", + "description": "The year built.", + "title": "Year Built" + }, + "home_port": { + "type": "string", + "description": "The home port.", + "title": "Home Port" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "speed_kn": { + "type": "string", + "description": "The speed in KN.", + "title": "Speed KN" + }, + "course_deg": { + "type": "string", + "description": "The course in degrees.", + "title": "Course Degrees" + }, + "latitude": { + "type": "number", + "description": "The latitude.", + "title": "Latitude" + }, + "longitude": { + "type": "number", + "description": "The longitude.", + "title": "Longitude" + }, + "link": { + "type": "string", + "description": "The link.", + "title": "Link" + }, + "image": { + "type": "string", + "description": "An image.", + "title": "image" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "active": { + "type": "boolean", + "description": "Whether active.", + "title": "Active" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + } + }, + "/v4/ships/{id}": { + "get": { + "summary": "Get a ship", + "description": "Detailed info about a ship in the SpaceX fleet.", + "operationId": "GetAShip", + "parameters": [ + { + "name": "id", + "in": "path", + "x-ms-url-encoding": "single", + "required": true, + "type": "string", + "description": "The ID of the ship.", + "x-ms-summary": "Ship ID" + } + ], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "last_ais_update": { + "type": "string", + "description": "The last AIS update.", + "title": "Last AIS Update" + }, + "legacy_id": { + "type": "string", + "description": "The legacy ID.", + "title": "Legacy ID" + }, + "model": { + "type": "string", + "description": "The model", + "title": "Model" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The roles.", + "title": "Roles" + }, + "imo": { + "type": "integer", + "format": "int32", + "description": "The International Maritime Organization number", + "title": "IMO" + }, + "mmsi": { + "type": "integer", + "format": "int32", + "description": "The Maritime Mobile Service Identity number.", + "title": "MMSI" + }, + "abs": { + "type": "string", + "description": "The autonomous spaceport drone ship.", + "title": "ABS" + }, + "class": { + "type": "string", + "description": "The class.", + "title": "Class" + }, + "mass_kg": { + "type": "integer", + "format": "int32", + "description": "The mass in kilograms.", + "title": "Mass Kg" + }, + "mass_lbs": { + "type": "integer", + "format": "int32", + "description": "The mass in pounds.", + "title": "Mass Lbs" + }, + "year_built": { + "type": "integer", + "format": "int32", + "description": "The year built.", + "title": "Year Built" + }, + "home_port": { + "type": "string", + "description": "The home port.", + "title": "Home Port" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "speed_kn": { + "type": "string", + "description": "The speed in KN.", + "title": "Speed KN" + }, + "course_deg": { + "type": "string", + "description": "The course in degrees.", + "title": "Course Degrees" + }, + "latitude": { + "type": "number", + "description": "The latitude.", + "title": "Latitude" + }, + "longitude": { + "type": "number", + "description": "The longitude.", + "title": "Longitude" + }, + "link": { + "type": "string", + "description": "The link.", + "title": "Link" + }, + "image": { + "type": "string", + "description": "Image.", + "title": "Image" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "active": { + "type": "boolean", + "description": "Whether active.", + "title": "Active" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/ships/query": { + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "query": { + "type": "object", + "properties": {}, + "description": "Accepts any valid MongoDB find() query.", + "title": "Query" + }, + "options": { + "type": "object", + "properties": { + "select": { + "type": "string", + "description": "Fields to return (by default returns all fields).", + "title": "Select" + }, + "collation": { + "type": "object", + "properties": {}, + "description": "Specify the collation", + "title": "collation" + }, + "sort": { + "type": "string", + "description": "Sort order.", + "title": "Sort" + }, + "populate": { + "type": "array", + "items": {}, + "description": "Paths which should be populated with other documents.", + "title": "Populate" + }, + "projection": { + "type": "string", + "description": "Get/set the query projection.", + "title": "Projection" + }, + "lean": { + "type": "boolean", + "description": "Should return plain javascript objects instead of Mongoose documents.", + "title": "Lean" + }, + "leanWithId": { + "type": "boolean", + "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", + "title": "Lean With Id" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Use offset or page to set skip position.", + "title": "Offset" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The page number.", + "title": "Page" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit per page.", + "title": "Limit" + }, + "customLabels": { + "type": "object", + "properties": {}, + "description": "Developers can provide custom labels for manipulating the response data.", + "title": "Custom Labels" + }, + "pagination": { + "type": "boolean", + "description": "If pagination is set to false it will return all docs without adding limit condition.", + "title": "Pagination" + }, + "useEstimatedCount": { + "type": "boolean", + "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", + "title": "Use Estimated Count" + }, + "useCustomCountFn": { + "type": "boolean", + "description": "Enable custom function for count datasets.", + "title": "Use Custom Count Function" + }, + "forceCountFn": { + "type": "boolean", + "description": "Set this to true if you need to support $geo queries.", + "title": "Force Count Function" + }, + "allowDiskUse": { + "type": "boolean", + "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", + "title": "Allow Disk Use" + }, + "options": { + "type": "object", + "properties": { + "pref": { + "type": "string", + "description": "A of the listed preference options or aliases.", + "title": "Preference" + }, + "tags": { + "type": "string", + "description": "Optional tags for this query (must be used with pref).", + "title": "Tags" + } + }, + "description": "Determines the MongoDB nodes from which to read.", + "title": "Options" + } + }, + "description": "Requested options", + "title": "Options" + } + } + } + } + ], + "summary": "Query ships", + "description": "Detailed info about queried ships in the SpaceX fleet.", + "operationId": "QueryShips", + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "docs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "last_ais_update": { + "type": "string", + "description": "The last AIS update.", + "title": "Last AIS Update" + }, + "legacy_id": { + "type": "string", + "description": "", + "title": "Legacy ID" + }, + "model": { + "type": "string", + "description": "The model.", + "title": "Model" + }, + "type": { + "type": "string", + "description": "The type.", + "title": "Type" + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The roles.", + "title": "Roles" + }, + "imo": { + "type": "integer", + "format": "int32", + "description": "The International Maritime Organization number.", + "title": "IMO" + }, + "mmsi": { + "type": "integer", + "format": "int32", + "description": "The Maritime Mobile Service Identity number.", + "title": "MMSI" + }, + "abs": { + "type": "integer", + "format": "int32", + "description": "The autonomous spaceport drone ship number.", + "title": "ABS" + }, + "class": { + "type": "integer", + "format": "int32", + "description": "The class.", + "title": "Class" + }, + "mass_kg": { + "type": "integer", + "format": "int32", + "description": "The mass in kilograms.", + "title": "Mass Kg" + }, + "mass_lbs": { + "type": "integer", + "format": "int32", + "description": "The mass in pounds.", + "title": "Mass Lbs" + }, + "year_built": { + "type": "integer", + "format": "int32", + "description": "The year built.", + "title": "Year Built" + }, + "home_port": { + "type": "string", + "description": "The home port.", + "title": "Home Port" + }, + "status": { + "type": "string", + "description": "The current status.", + "title": "Status" + }, + "speed_kn": { + "type": "string", + "description": "The speed in KN.", + "title": "Speed KN" + }, + "course_deg": { + "type": "string", + "description": "The course in degrees.", + "title": "Course Degrees" + }, + "latitude": { + "type": "number", + "description": "The latitude.", + "title": "Latitude" + }, + "longitude": { + "type": "number", + "description": "The longitude.", + "title": "Longitude" + }, + "link": { + "type": "string", + "description": "The link.", + "title": "Link" + }, + "image": { + "type": "string", + "description": "An image.", + "title": "Image" + }, + "name": { + "type": "string", + "description": "The name.", + "title": "Name" + }, + "active": { + "type": "boolean", + "description": "Whether active", + "title": "Active" + }, + "launches": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The launch identifiers.", + "title": "Launches" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + }, + "description": "The documentation.", + "title": "Docs" + }, + "totalDocs": { + "type": "integer", + "format": "int32", + "description": "The total number of documentations.", + "title": "Total Docs" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The response offset.", + "title": "Offset" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The response limit.", + "title": "Limit" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "The total number of pages.", + "title": "Total Pages" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The current page.", + "title": "Page" + }, + "pagingCounter": { + "type": "integer", + "format": "int32", + "description": "The paging counter.", + "title": "Paging Counter" + }, + "hasPrevPage": { + "type": "boolean", + "description": "Whether has previous page.", + "title": "Has Previous Page" + }, + "hasNextPage": { + "type": "boolean", + "description": "Whether has next page.", + "title": "Has Next Page" + }, + "prevPage": { + "type": "string", + "description": "The previous page.", + "title": "Previous Page" + }, + "nextPage": { + "type": "integer", + "format": "int32", + "description": "The next page.", + "title": "Next Page" + } + } + } + } + } + } + }, + "/v4/starlink": { + "get": { + "summary": "Get all Starlink sats", + "description": "Detailed info about all Starlink satellites and orbits.", + "operationId": "GetAllStarlinkSats", + "parameters": [], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "spaceTrack": { + "type": "object", + "properties": { + "CCSDS_OMM_VERS": { + "type": "string", + "description": "The Consultative Committee for Space Data Systems Orbit Mean-Elements Message version.", + "title": "CCSDS OMM Version" + }, + "COMMENT": { + "type": "string", + "description": "The comment", + "title": "Comment" + }, + "CREATION_DATE": { + "type": "string", + "description": "The creation date.", + "title": "Creation Date" + }, + "ORIGINATOR": { + "type": "string", + "description": "The originator.", + "title": "Originator" + }, + "OBJECT_NAME": { + "type": "string", + "description": "The object name.", + "title": "Object Name" + }, + "OBJECT_ID": { + "type": "string", + "description": "The object ID.", + "title": "Object ID" + }, + "CENTER_NAME": { + "type": "string", + "description": "The center name.", + "title": "Center Name" + }, + "REF_FRAME": { + "type": "string", + "description": "The refernece frame.", + "title": "Reference Frame" + }, + "TIME_SYSTEM": { + "type": "string", + "description": "The time system.", + "title": "Time System" + }, + "MEAN_ELEMENT_THEORY": { + "type": "string", + "description": "The mean element theory.", + "title": "Mean Element Theory" + }, + "EPOCH": { + "type": "string", + "description": "The epoch", + "title": "Epoch" + }, + "MEAN_MOTION": { + "type": "number", + "format": "float", + "description": "The mean motion.", + "title": "Mean Motion" + }, + "ECCENTRICITY": { + "type": "number", + "format": "float", + "description": "The excentricity.", + "title": "Eccentricity" + }, + "INCLINATION": { + "type": "number", + "format": "float", + "description": "The inclination.", + "title": "Inclination" + }, + "RA_OF_ASC_NODE": { + "type": "number", + "format": "float", + "description": "The RA of ASC node.", + "title": "RA of ASC Node" + }, + "ARG_OF_PERICENTER": { + "type": "number", + "format": "float", + "description": "The argument of pericenter.", + "title": "Argument of Pericenter" + }, + "MEAN_ANOMALY": { + "type": "number", + "format": "float", + "description": "The mean anomaly.", + "title": "Mean Anomaly" + }, + "EPHEMERIS_TYPE": { + "type": "integer", + "format": "int32", + "description": "The ephemeris type.", + "title": "Ephemeris Type" + }, + "CLASSIFICATION_TYPE": { + "type": "string", + "description": "The classification type.", + "title": "Classification Type" + }, + "NORAD_CAT_ID": { + "type": "integer", + "format": "int32", + "description": "The NORAD catalog ID.", + "title": "NORAD Catalog ID" + }, + "ELEMENT_SET_NO": { + "type": "integer", + "format": "int32", + "description": "The number of element sets.", + "title": "ELEMENT_SET_NO" + }, + "REV_AT_EPOCH": { + "type": "integer", + "format": "int32", + "description": "The rev at epoch.", + "title": "Rev at Epoch" + }, + "BSTAR": { + "type": "number", + "format": "float", + "description": "The BSTAR.", + "title": "BSTAR" + }, + "MEAN_MOTION_DOT": { + "type": "number", + "format": "float", + "description": "The mean motion at DOT.", + "title": "Mean Motion DOT" + }, + "MEAN_MOTION_DDOT": { + "type": "integer", + "format": "int32", + "description": "The mean motion at DDOT.", + "title": "Mean Motion DDOT" + }, + "SEMIMAJOR_AXIS": { + "type": "number", + "format": "float", + "description": "The semimajor axis.", + "title": "Semimajor Axis" + }, + "PERIOD": { + "type": "number", + "format": "float", + "description": "The period.", + "title": "Period" + }, + "APOAPSIS": { + "type": "number", + "format": "float", + "description": "The apoapsis.", + "title": "Apoapsis" + }, + "PERIAPSIS": { + "type": "number", + "format": "float", + "description": "The periapsis.", + "title": "Periapsis" + }, + "OBJECT_TYPE": { + "type": "string", + "description": "The object type.", + "title": "Object Type" + }, + "RCS_SIZE": { + "type": "string", + "description": "The radar cross-section size.", + "title": "RCS Size" + }, + "COUNTRY_CODE": { + "type": "string", + "description": "The country code.", + "title": "Country Code" + }, + "LAUNCH_DATE": { + "type": "string", + "description": "The launch date.", + "title": "Launch Date" + }, + "SITE": { + "type": "string", + "description": "The SITE.", + "title": "SITE" + }, + "DECAY_DATE": { + "type": "string", + "description": "The decay date.", + "title": "Decay Date" + }, + "DECAYED": { + "type": "integer", + "format": "int32", + "description": "The decayed number.", + "title": "Decayed" + }, + "FILE": { + "type": "integer", + "format": "int32", + "description": "The file.", + "title": "File" + }, + "GP_ID": { + "type": "integer", + "format": "int32", + "description": "The GP ID.", + "title": "GP ID" + }, + "TLE_LINE0": { + "type": "string", + "description": "The TLE line 0.", + "title": "TLE Line 0" + }, + "TLE_LINE1": { + "type": "string", + "description": "The TLE line 1.", + "title": "TLE Line 1" + }, + "TLE_LINE2": { + "type": "string", + "description": "The TLE line 2.", + "title": "TLE Line 2" + } + }, + "description": "The space track.", + "title": "Space Track" + }, + "launch": { + "type": "string", + "description": "The launch.", + "title": "Launch" + }, + "version": { + "type": "string", + "description": "The version.", + "title": "Version" + }, + "height_km": { + "type": "number", + "format": "float", + "description": "The height in kilometers.", + "title": "Height KM" + }, + "latitude": { + "type": "number", + "format": "float", + "description": "The latitude.", + "title": "Latitude" + }, + "longitude": { + "type": "number", + "format": "float", + "description": "The longitude.", + "title": "Longitude" + }, + "velocity_kms": { + "type": "number", + "format": "float", + "description": "The velocity kilometers per second.", + "title": "Velocity KMS" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + } + }, + "/v4/starlink/{id}": { + "get": { + "summary": "Get a Starlink sat", + "description": "Detailed info about a Starlink satellite and orbit.", + "operationId": "GetAStarlinkSat", + "parameters": [ + { + "name": "id", + "in": "path", + "x-ms-url-encoding": "single", + "required": true, + "type": "string", + "description": "The ID of the Starlink.", + "x-ms-summary": "Starlink ID" + } + ], + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "spaceTrack": { + "type": "object", + "properties": { + "CCSDS_OMM_VERS": { + "type": "string", + "description": "The Consultative Committee for Space Data Systems Orbit Mean-Elements Message version.", + "title": "CCSDS OMM Version" + }, + "COMMENT": { + "type": "string", + "description": "The comment.", + "title": "Comment" + }, + "CREATION_DATE": { + "type": "string", + "description": "The creation date.", + "title": "Creation Date" + }, + "ORIGINATOR": { + "type": "string", + "description": "The originator.", + "title": "Originator" + }, + "OBJECT_NAME": { + "type": "string", + "description": "The object name.", + "title": "Object Name" + }, + "OBJECT_ID": { + "type": "string", + "description": "The object ID.", + "title": "Object ID" + }, + "CENTER_NAME": { + "type": "string", + "description": "The center name.", + "title": "Center Name" + }, + "REF_FRAME": { + "type": "string", + "description": "The reference frame.", + "title": "Reference Frame" + }, + "TIME_SYSTEM": { + "type": "string", + "description": "The time system.", + "title": "Time System" + }, + "MEAN_ELEMENT_THEORY": { + "type": "string", + "description": "The mean element theory.", + "title": "Mean Element Theory" + }, + "EPOCH": { + "type": "string", + "description": "The epoch.", + "title": "Epoch" + }, + "MEAN_MOTION": { + "type": "number", + "format": "float", + "description": "The mean motion.", + "title": "Mean Motion" + }, + "ECCENTRICITY": { + "type": "number", + "format": "float", + "description": "The eccentricity.", + "title": "Eccentricity" + }, + "INCLINATION": { + "type": "number", + "format": "float", + "description": "The inclination.", + "title": "Inclination" + }, + "RA_OF_ASC_NODE": { + "type": "number", + "format": "float", + "description": "The RA of ASC node.", + "title": "RA of ASC Node" + }, + "ARG_OF_PERICENTER": { + "type": "number", + "format": "float", + "description": "The argument of pericenter.", + "title": "Argument of Pericenter" + }, + "MEAN_ANOMALY": { + "type": "number", + "format": "float", + "description": "The mean anomaly.", + "title": "Mean Anomaly" + }, + "EPHEMERIS_TYPE": { + "type": "integer", + "format": "int32", + "description": "The ephemeris type.", + "title": "Ephemeris Type" + }, + "CLASSIFICATION_TYPE": { + "type": "string", + "description": "The classification type.", + "title": "Classification Type" + }, + "NORAD_CAT_ID": { + "type": "integer", + "format": "int32", + "description": "The NORAD catalog ID.", + "title": "NORAD Catalog ID" + }, + "ELEMENT_SET_NO": { + "type": "integer", + "format": "int32", + "description": "The number of element sets.", + "title": "ELEMENT_SET_NO" + }, + "REV_AT_EPOCH": { + "type": "integer", + "format": "int32", + "description": "The rev at epoch.", + "title": "Rev at Epoch" + }, + "BSTAR": { + "type": "number", + "format": "float", + "description": "The BSTAR.", + "title": "BSTAR" + }, + "MEAN_MOTION_DOT": { + "type": "number", + "format": "float", + "description": "The mean motion at DOT.", + "title": "Mean Motion DOT" + }, + "MEAN_MOTION_DDOT": { + "type": "integer", + "format": "int32", + "description": "The mean motion at DDOT.", + "title": "Mean Motion DDOT" + }, + "SEMIMAJOR_AXIS": { + "type": "number", + "format": "float", + "description": "The semimajor axis.", + "title": "Semimajor Axis" + }, + "PERIOD": { + "type": "number", + "format": "float", + "description": "The period.", + "title": "PERIOD" + }, + "APOAPSIS": { + "type": "number", + "format": "float", + "description": "The apoapsis.", + "title": "Apoapsis" + }, + "PERIAPSIS": { + "type": "number", + "format": "float", + "description": "The periapsis.", + "title": "Periapsis" + }, + "OBJECT_TYPE": { + "type": "string", + "description": "The object type.", + "title": "Object Type" + }, + "RCS_SIZE": { + "type": "string", + "description": "The radar cross-section size.", + "title": "RCS Size" + }, + "COUNTRY_CODE": { + "type": "string", + "description": "The country code.", + "title": "Country Code" + }, + "LAUNCH_DATE": { + "type": "string", + "description": "The launch date", + "title": "Launch Date" + }, + "SITE": { + "type": "string", + "description": "The site.", + "title": "SITE" + }, + "DECAY_DATE": { + "type": "string", + "description": "The decay date.", + "title": "Decay Date" + }, + "DECAYED": { + "type": "integer", + "format": "int32", + "description": "The decayed number.", + "title": "Decayed" + }, + "FILE": { + "type": "integer", + "format": "int32", + "description": "The file.", + "title": "File" + }, + "GP_ID": { + "type": "integer", + "format": "int32", + "description": "The GP ID.", + "title": "GP ID" + }, + "TLE_LINE0": { + "type": "string", + "description": "The TLE line 0.", + "title": "TLE Line 0" + }, + "TLE_LINE1": { + "type": "string", + "description": "The TLE line 1.", + "title": "TLE Line 1" + }, + "TLE_LINE2": { + "type": "string", + "description": "The TLE line 2.", + "title": "TLE Line 2" + } + }, + "description": "The space track.", + "title": "Space Track" + }, + "launch": { + "type": "string", + "description": "The launch.", + "title": "Launch" + }, + "version": { + "type": "string", + "description": "The version.", + "title": "Version" + }, + "height_km": { + "type": "number", + "format": "float", + "description": "The height in kilometers.", + "title": "Height KM" + }, + "latitude": { + "type": "number", + "format": "float", + "description": "The latitude.", + "title": "Latitude" + }, + "longitude": { + "type": "number", + "format": "float", + "description": "The longitude.", + "title": "Longitude" + }, + "velocity_kms": { + "type": "number", + "format": "float", + "description": "The velocity kilometers per second.", + "title": "Velocity KMS" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + } + } + } + } + }, + "/v4/starlink/query": { + "post": { + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "query": { + "type": "object", + "properties": {}, + "description": "Accepts any valid MongoDB find() query.", + "title": "Query" + }, + "options": { + "type": "object", + "properties": { + "select": { + "type": "string", + "description": "Fields to return (by default returns all fields).", + "title": "Select" + }, + "collation": { + "type": "object", + "properties": {}, + "description": "Specify the collation", + "title": "collation" + }, + "sort": { + "type": "string", + "description": "Sort order.", + "title": "Sort" + }, + "populate": { + "type": "array", + "items": {}, + "description": "Paths which should be populated with other documents.", + "title": "Populate" + }, + "projection": { + "type": "string", + "description": "Get/set the query projection.", + "title": "Projection" + }, + "lean": { + "type": "boolean", + "description": "Should return plain javascript objects instead of Mongoose documents.", + "title": "Lean" + }, + "leanWithId": { + "type": "boolean", + "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", + "title": "Lean With Id" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "Use offset or page to set skip position.", + "title": "Offset" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The page number.", + "title": "Page" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The limit per page.", + "title": "Limit" + }, + "customLabels": { + "type": "object", + "properties": {}, + "description": "Developers can provide custom labels for manipulating the response data.", + "title": "Custom Labels" + }, + "pagination": { + "type": "boolean", + "description": "If pagination is set to false it will return all docs without adding limit condition.", + "title": "Pagination" + }, + "useEstimatedCount": { + "type": "boolean", + "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", + "title": "Use Estimated Count" + }, + "useCustomCountFn": { + "type": "boolean", + "description": "Enable custom function for count datasets.", + "title": "Use Custom Count Function" + }, + "forceCountFn": { + "type": "boolean", + "description": "Set this to true if you need to support $geo queries.", + "title": "Force Count Function" + }, + "allowDiskUse": { + "type": "boolean", + "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", + "title": "Allow Disk Use" + }, + "options": { + "type": "object", + "properties": { + "pref": { + "type": "string", + "description": "A of the listed preference options or aliases.", + "title": "Preference" + }, + "tags": { + "type": "string", + "description": "Optional tags for this query (must be used with pref).", + "title": "Tags" + } + }, + "description": "Determines the MongoDB nodes from which to read.", + "title": "Options" + } + }, + "description": "Requested options", + "title": "Options" + } + } + } + } + ], + "summary": "Query Starlink sats", + "description": "Detailed info about queried Starlink satellites and orbits.", + "operationId": "QueryStarlinkSats", + "responses": { + "200": { + "description": "default", + "schema": { + "type": "object", + "properties": { + "docs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "spaceTrack": { + "type": "object", + "properties": { + "CCSDS_OMM_VERS": { + "type": "string", + "description": "The Consultative Committee for Space Data Systems Orbit Mean-Elements Message version.", + "title": "CCSDS OMM Version" + }, + "COMMENT": { + "type": "string", + "description": "The comment.", + "title": "Comment" + }, + "CREATION_DATE": { + "type": "string", + "description": "The creation date.", + "title": "Creation Date" + }, + "ORIGINATOR": { + "type": "string", + "description": "The originator.", + "title": "Originator" + }, + "OBJECT_NAME": { + "type": "string", + "description": "The object name.", + "title": "Object Name" + }, + "OBJECT_ID": { + "type": "string", + "description": "The object ID.", + "title": "Object ID" + }, + "CENTER_NAME": { + "type": "string", + "description": "The center name.", + "title": "Center Name" + }, + "REF_FRAME": { + "type": "string", + "description": "The reference frame.", + "title": "Reference Frame" + }, + "TIME_SYSTEM": { + "type": "string", + "description": "The time system.", + "title": "Time System" + }, + "MEAN_ELEMENT_THEORY": { + "type": "string", + "description": "The mean element theory.", + "title": "Mean Element Theory" + }, + "EPOCH": { + "type": "string", + "description": "The epoch.", + "title": "Epoch" + }, + "MEAN_MOTION": { + "type": "number", + "format": "float", + "description": "The mean motion.", + "title": "Mean Motion" + }, + "ECCENTRICITY": { + "type": "number", + "format": "float", + "description": "The eccentricity.", + "title": "Eccentricity" + }, + "INCLINATION": { + "type": "number", + "format": "float", + "description": "The inclination.", + "title": "Inclination" + }, + "RA_OF_ASC_NODE": { + "type": "number", + "format": "float", + "description": "he RA of ASC node.", + "title": "RA of ASC Node" + }, + "ARG_OF_PERICENTER": { + "type": "number", + "format": "float", + "description": "The argument of pericenter.", + "title": "Argument of Pericenter" + }, + "MEAN_ANOMALY": { + "type": "number", + "format": "float", + "description": "The mean anomaly.", + "title": "Mean Anomaly" + }, + "EPHEMERIS_TYPE": { + "type": "integer", + "format": "int32", + "description": "The ephemeris type.", + "title": "Ephemeris Type" + }, + "CLASSIFICATION_TYPE": { + "type": "string", + "description": "The classification type.", + "title": "Classification Type" + }, + "NORAD_CAT_ID": { + "type": "integer", + "format": "int32", + "description": "The NORAD catalog ID.", + "title": "NORAD Catalog ID" + }, + "ELEMENT_SET_NO": { + "type": "integer", + "format": "int32", + "description": "The element set number.", + "title": "ELEMENT_SET_NO" + }, + "REV_AT_EPOCH": { + "type": "integer", + "format": "int32", + "description": "The rev at epoch.", + "title": "Rev at Epoch" + }, + "BSTAR": { + "type": "number", + "format": "float", + "description": "The BSTAR.", + "title": "BSTAR" + }, + "MEAN_MOTION_DOT": { + "type": "number", + "format": "float", + "description": "The mean motion at DOT.", + "title": "Mean Motion DOT" + }, + "MEAN_MOTION_DDOT": { + "type": "number", + "format": "float", + "description": "The mean motion at DDOT.", + "title": "Mean Motion DDOT" + }, + "SEMIMAJOR_AXIS": { + "type": "number", + "format": "float", + "description": "The semimajor axis.", + "title": "Semimajor Axis" + }, + "PERIOD": { + "type": "number", + "format": "float", + "description": "The period.", + "title": "Period" + }, + "APOAPSIS": { + "type": "number", + "format": "float", + "description": "The apoapsis.", + "title": "Apoapsis" + }, + "PERIAPSIS": { + "type": "number", + "format": "float", + "description": "The periapsis.", + "title": "Periapsis" + }, + "OBJECT_TYPE": { + "type": "string", + "description": "The object type.", + "title": "Object Type" + }, + "RCS_SIZE": { + "type": "string", + "description": "The RCS size.", + "title": "RCS Size" + }, + "COUNTRY_CODE": { + "type": "string", + "description": "The country code.", + "title": "Country Code" + }, + "LAUNCH_DATE": { + "type": "string", + "description": "The launch date.", + "title": "Launch Date" + }, + "SITE": { + "type": "string", + "description": "The SITE.", + "title": "SITE" + }, + "DECAY_DATE": { + "type": "string", + "description": "The decay date.", + "title": "Decay Date" + }, + "DECAYED": { + "type": "integer", + "format": "int32", + "description": "The decayed.", + "title": "Decayed" + }, + "FILE": { + "type": "integer", + "format": "int32", + "description": "The file.", + "title": "File" + }, + "GP_ID": { + "type": "integer", + "format": "int32", + "description": "The GP ID.", + "title": "GP ID" + }, + "TLE_LINE0": { + "type": "string", + "description": "The TLE line 0.", + "title": "TLE Line 0" + }, + "TLE_LINE1": { + "type": "string", + "description": "The TLE line 1.", + "title": "TLE Line 1" + }, + "TLE_LINE2": { + "type": "string", + "description": "The TLE line 2.", + "title": "TLE Line 2" + } + }, + "description": "The space track.", + "title": "Space Track" + }, + "launch": { + "type": "string", + "description": "The launch.", + "title": "Launch" + }, + "version": { + "type": "string", + "description": "The version.", + "title": "Version" + }, + "height_km": { + "type": "string", + "description": "The height in kilometers.", + "title": "Height KM" + }, + "latitude": { + "type": "number", + "description": "The latitude.", + "title": "Latitude" + }, + "longitude": { + "type": "number", + "description": "The longitude.", + "title": "Longitude" + }, + "velocity_kms": { + "type": "string", + "description": "The veloity in kilometers per second.", + "title": "Velocity KMS" + }, + "id": { + "type": "string", + "description": "The identifier.", + "title": "ID" + } + } + }, + "description": "The documentation.", + "title": "Docs" + }, + "totalDocs": { + "type": "integer", + "format": "int32", + "description": "The total number of documentations.", + "title": "Total Docs" + }, + "offset": { + "type": "integer", + "format": "int32", + "description": "The response offset.", + "title": "Offset" + }, + "limit": { + "type": "integer", + "format": "int32", + "description": "The response limit.", + "title": "Limit" + }, + "totalPages": { + "type": "integer", + "format": "int32", + "description": "The total number of pages.", + "title": "Total Pages" + }, + "page": { + "type": "integer", + "format": "int32", + "description": "The current page.", + "title": "Page" + }, + "pagingCounter": { + "type": "integer", + "format": "int32", + "description": "The paging counter.", + "title": "Paging Counter" + }, + "hasPrevPage": { + "type": "boolean", + "description": "Whether has previous page.", + "title": "Has Previous Page" + }, + "hasNextPage": { + "type": "boolean", + "description": "Whether has next page.", + "title": "Has Next Page" + }, + "prevPage": { + "type": "string", + "description": "The previous page.", + "title": "Previous Page" + }, + "nextPage": { + "type": "integer", + "format": "int32", + "description": "The next page.", + "title": "Next Page" + } + } + } + } + } + } + } + }, + "definitions": {}, + "parameters": {}, + "responses": {}, + "securityDefinitions": {}, + "security": [], + "tags": [], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://github.com/r-spacex/SpaceX-API" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://github.com/r-spacex/SpaceX-API" + }, + { + "propertyName": "Categories", + "propertyValue": "Data" + } + ] +} diff --git a/independent-publisher-connectors/Sap Successfactors/apiProperties.json b/independent-publisher-connectors/Sap Successfactors/apiProperties.json new file mode 100644 index 0000000000..d7c6328e13 --- /dev/null +++ b/independent-publisher-connectors/Sap Successfactors/apiProperties.json @@ -0,0 +1,9 @@ +{ + "properties": { + "connectionParameters": {}, + "iconBrandColor": "#da3b01", + "capabilities": [], + "publisher": "Sascha Bajonczak", + "stackOwner": "Sascha Bajonczak" + } +} diff --git a/independent-publisher-connectors/Sap Successfactors/readme.md b/independent-publisher-connectors/Sap Successfactors/readme.md new file mode 100644 index 0000000000..5cff8da6db --- /dev/null +++ b/independent-publisher-connectors/Sap Successfactors/readme.md @@ -0,0 +1,97 @@ +# r/SpaceX +r/SpaceX is an open source REST API for SpaceX launch, rocket, core, capsule, Starlink, launchpad, and landing pad data. r/SpaceX is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Space Exploration Technologies Corp (SpaceX), or any of its subsidiaries or its affiliates. The names SpaceX as well as related names, marks, emblems and images are registered trademarks of their respective owners. + +## Publisher: Troy Taylor, Hitachi Solutions + +## Prerequisites +This API requires no authentication for all of the actions provided in this connector. All create, update, and delete endpoints are not included. The query actions support pagination, custom queries, and other output controls. See the [pagination + query guide](https://github.com/r-spacex/SpaceX-API/blob/master/docs/queries.md) for more details and examples. + +## Supported Operations + +### Get all capsules +Detailed info for all serialized Dragon capsules. +### Get a capsule +Detailed info for a serialized Dragon capsule. +### Query capsules +Detailed info for queried serialized Dragon capsules. +### Get company info +Detailed info about SpaceX as a company. +### Get all cores +Detailed info for all serialized first stage cores. +### Get a core +Detailed info for a serialized first stage core. +### Query cores +Detailed info for queried serialized first stage cores. +### Get all crew members +Detailed info on all Dragon crew members. +### Get a crew member +Detailed info on a Dragon crew member. +### Query crew members +Detailed info on queried Dragon crew members. +### Get all Dragons +Detailed info about all Dragon capsule versions. +### Get a Dragon +Detailed info about a Dragon capsule version. +### Query Dragons +Detailed info about queried Dragon capsule versions. +### Get all history events +Detailed info on all SpaceX historical events. +### Get a historic event +Detailed info on a SpaceX historical event. +### Query historic events +Detailed info on queried SpaceX historical events. +### Get all landpads +Detailed info about all landing pads and ships. +### Get a landpad +Detailed info about a landing pad or ship. +### Query landpads +Detailed info about queried landing pads and ships. +### Get all launches +Detailed info about all launches. +### Get a launch +Detailed info about a launch. +### Query launches +Detailed info about queried launches. +### Get past launches +Detailed info about past launches. +### Get upcoming launches +Detailed info about upcoming launches. +### Get latest launch +Detailed info about latest launch. +### Get next launch +Detailed info about next launches. +### Get all launchpads +Detailed info about all launchpads. +### Get a launchpad +Detailed info about a launchpad. +### Query launchpads +Detailed info about queried launchpads. +### Get all payloads +Detailed info about all launch payloads. +### Get a payload +Detailed info about a launch payload. +### Query payloads +Detailed info about queried launch payloads. +### Get Roadster Info +Detailed info about Elon's Tesla Roadster's current position. +### Get all rockets +Detailed info about all rockets. +### Get a rocket +Detailed info about a rocket. +### Query rockets +Detailed info about queried rockets. +### Get all ships +Detailed info about all ships in the SpaceX fleet. +### Get a ship +Detailed info about a ship in the SpaceX fleet. +### Query ships +Detailed info about queried ships in the SpaceX fleet. +### Get all Starlink sats +Detailed info about all Starlink satellites and orbits. +### Get a Starlink sat +Detailed info about a Starlink satellite and orbit. +### Query Starlink sats +Detailed info about queried Starlink satellites and orbits. + +#### Launch dates +Why does the date appear wrong? This is usually due to the way partial dates are stored and displayed in the API. For example, a launch scheduled for July 2020 would be represented as 2020-07-01T00:00:00.000Z. In this case, the field date_precision would be set as month, meaning the date is only valid to the month level, or 2020-07. diff --git a/schemas/RunSuccess-1.png b/schemas/RunSuccess-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8c0c883474db984e791f86bffd385592ffe00575 GIT binary patch literal 45516 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 z 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 literal 0 HcmV?d00001 diff --git a/schemas/RunSuccess-3.png b/schemas/RunSuccess-3.png new file mode 100644 index 0000000000000000000000000000000000000000..059511b1ffefe9f086a197eea99c30e8a2e11ca4 GIT binary patch literal 52396 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 Date: Sat, 6 Jun 2026 22:06:16 +0200 Subject: [PATCH 06/10] Added apiDefintion.swagger and complete information --- .../apiDefinition.swagger.json | 11457 +--------------- .../Sap Successfactors/apiProperties.json | 40 +- .../Sap Successfactors/readme.md | 144 +- 3 files changed, 619 insertions(+), 11022 deletions(-) diff --git a/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json b/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json index f0045948a9..b6c6946dd4 100644 --- a/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json +++ b/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json @@ -1,11145 +1,748 @@ { "swagger": "2.0", "info": { - "version": "1.0.0", - "title": "r/SpaceX", - "description": "r/SpaceX is an open Source REST API for SpaceX launch, rocket, core, capsule, Starlink, launchpad, and landing pad data. r/SpaceX is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Space Exploration Technologies Corp (SpaceX), or any of its subsidiaries or its affiliates. The names SpaceX as well as related names, marks, emblems and images are registered trademarks of their respective owners.", - "contact": { - "name": "Troy Taylor", - "url": "https://www.hitachisolutions.com", - "email": "ttaylor@hitachisolutions.com" - } + "title": "PremiumConnector SF", + "description": "Connector for SAP SuccessFactors Modules.", + "version": "1.0.0" }, - "host": "api.spacexdata.com", + "host": "sap-api.bajonczak.com", "basePath": "/", "schemes": [ "https" ], - "consumes": [], + "consumes": [ + "application/json" + ], "produces": [ "application/json" ], + "x-ms-connector-metadata": [ + { + "propertyName": "Website", + "propertyValue": "https://sap-connectors.bajonczak.com" + }, + { + "propertyName": "Privacy policy", + "propertyValue": "https://blog.bajonczak.com/privacy-policy/" + } + ], + "securityDefinitions": { + "oauth2_auth": { + "type": "oauth2", + "flow": "accessCode", + "authorizationUrl": "https://sap-api.bajonczak.com/oauth2/authorize", + "tokenUrl": "https://sap-api.bajonczak.com/oauth2/token", + "refreshUrl": "https://sap-api.bajonczak.com/oauth2/token", + "clientId": "c6917df8-0049-46b5-8136-11b10d8d7e59", + "clientSecret": "Dummy value - replace in production", + "scopes": { + "premiumconnector.read": "Read access to PremiumConnector resources", + "premiumconnector.write": "Write access to PremiumConnector resources" + } + } + }, + "security": [ + { + "oauth2_auth": [ + "premiumconnector.read" + ] + } + ], "paths": { - "/v4/capsules": { + "/api/v1/plans": { "get": { - "summary": "Get all capsules", - "description": "Detailed info for all serialized Dragon capsules.", - "operationId": "GetAllCapsules", - "parameters": [], + "summary": "List plans", + "description": "Returns all active plans for pricing and onboarding.", + "operationId": "Plans_GetAll", + "x-ms-summary": "List plans", + "security": [], "responses": { "200": { - "description": "default", + "description": "Plan list", "schema": { "type": "array", "items": { - "type": "object", - "properties": { - "reuse_count": { - "type": "integer", - "format": "int32", - "description": "The reuse count.", - "title": "Reuse Count" - }, - "water_landings": { - "type": "integer", - "format": "int32", - "description": "The number of water landings.", - "title": "Water Landings" - }, - "land_landings": { - "type": "integer", - "format": "int32", - "description": "The number of land landings.", - "title": "Land Landings" - }, - "last_update": { - "type": "string", - "description": "When last updated.", - "title": "Last Update" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "serial": { - "type": "string", - "description": "The serial number.", - "title": "Serial" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } + "$ref": "#/definitions/PlanDto" } } } } } }, - "/v4/capsules/{capsuleID}": { + "/api/v1/job-postings": { "get": { - "summary": "Get a capsule", - "description": "Detailed info for a serialized Dragon capsule.", - "operationId": "GetACapsule", + "summary": "List job postings", + "description": "Returns job requisitions from SuccessFactors through PremiumConnector.", + "operationId": "JobPosting_GetJobPostings", + "x-ms-summary": "List job postings", "parameters": [ { - "name": "capsuleID", - "in": "path", - "x-ms-url-encoding": "single", - "required": true, + "name": "templateType", + "in": "query", "type": "string", - "description": "The ID of the capsule.", - "x-ms-summary": "Capsule ID" - } - ], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "reuse_count": { - "type": "integer", - "format": "int32", - "description": "The reuse count.", - "title": "Reuse Count" - }, - "water_landings": { - "type": "integer", - "format": "int32", - "description": "The number of water landings.", - "title": "Water Landings" - }, - "land_landings": { - "type": "integer", - "format": "int32", - "description": "The number of land landings.", - "title": "Land Landings" - }, - "last_update": { - "type": "string", - "description": "When last updated.", - "title": "Last Update" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "serial": { - "type": "string", - "description": "The serial number.", - "title": "Serial" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - }, - "/v4/capsules/query": { - "post": { - "parameters": [ + "required": false, + "x-ms-summary": "Template type", + "x-ms-visibility": "advanced", + "description": "Optional template type filter, for example JOB_REQ." + }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "query": { - "type": "object", - "properties": {}, - "description": "Accepts any valid MongoDB find() query.", - "title": "Query" - }, - "options": { - "type": "object", - "properties": { - "select": { - "type": "string", - "description": "Fields to return (by default returns all fields).", - "title": "Select" - }, - "collation": { - "type": "object", - "properties": {}, - "description": "Specify the collation", - "title": "collation" - }, - "sort": { - "type": "string", - "description": "Sort order.", - "title": "Sort" - }, - "populate": { - "type": "array", - "items": {}, - "description": "Paths which should be populated with other documents.", - "title": "Populate" - }, - "projection": { - "type": "string", - "description": "Get/set the query projection.", - "title": "Projection" - }, - "lean": { - "type": "boolean", - "description": "Should return plain javascript objects instead of Mongoose documents.", - "title": "Lean" - }, - "leanWithId": { - "type": "boolean", - "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", - "title": "Lean With Id" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Use offset or page to set skip position.", - "title": "Offset" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The page number.", - "title": "Page" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The limit per page.", - "title": "Limit" - }, - "customLabels": { - "type": "object", - "properties": {}, - "description": "Developers can provide custom labels for manipulating the response data.", - "title": "Custom Labels" - }, - "pagination": { - "type": "boolean", - "description": "If pagination is set to false it will return all docs without adding limit condition.", - "title": "Pagination" - }, - "useEstimatedCount": { - "type": "boolean", - "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", - "title": "Use Estimated Count" - }, - "useCustomCountFn": { - "type": "boolean", - "description": "Enable custom function for count datasets.", - "title": "Use Custom Count Function" - }, - "forceCountFn": { - "type": "boolean", - "description": "Set this to true if you need to support $geo queries.", - "title": "Force Count Function" - }, - "allowDiskUse": { - "type": "boolean", - "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", - "title": "Allow Disk Use" - }, - "options": { - "type": "object", - "properties": { - "pref": { - "type": "string", - "description": "A of the listed preference options or aliases.", - "title": "Preference" - }, - "tags": { - "type": "string", - "description": "Optional tags for this query (must be used with pref).", - "title": "Tags" - } - }, - "description": "Determines the MongoDB nodes from which to read.", - "title": "Options" - } - }, - "description": "Requested options", - "title": "Options" - } - } - } - } - ], - "summary": "Query capsules", - "description": "Detailed info for queried serialized Dragon capsules.", - "operationId": "QueryCapsules", - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "docs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "reuse_count": { - "type": "integer", - "format": "int32", - "description": "The reuse count.", - "title": "Reuse Count" - }, - "water_landings": { - "type": "integer", - "format": "int32", - "description": "The number of water landings.", - "title": "Water Landings" - }, - "land_landings": { - "type": "integer", - "format": "int32", - "description": "The number of land landings.", - "title": "Land Landings" - }, - "last_update": { - "type": "string", - "description": "When last updated.", - "title": "Last Update" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "serial": { - "type": "string", - "description": "The serial number.", - "title": "Serial" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - }, - "description": "The documentation.", - "title": "Docs" - }, - "totalDocs": { - "type": "integer", - "format": "int32", - "description": "The total number of documentations.", - "title": "Total Docs" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The response offset.", - "title": "Offset" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The response limit.", - "title": "Limit" - }, - "totalPages": { - "type": "integer", - "format": "int32", - "description": "The total number of pages.", - "title": "Total Pages" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The current page.", - "title": "Page" - }, - "pagingCounter": { - "type": "integer", - "format": "int32", - "description": "The paging counter.", - "title": "Paging Counter" - }, - "hasPrevPage": { - "type": "boolean", - "description": "Whether has previous page.", - "title": "Has Previous Page" - }, - "hasNextPage": { - "type": "boolean", - "description": "Whether has next page.", - "title": "Has Next Page" - }, - "prevPage": { - "type": "string", - "description": "The previous page.", - "title": "Previous Page" - }, - "nextPage": { - "type": "integer", - "format": "int32", - "description": "The next page.", - "title": "Next Page" - } - } - } - } - } - } - }, - "/v4/company": { - "get": { - "summary": "Get company info", - "description": "Detailed info about SpaceX as a company.", - "operationId": "GetCompanyInfo", - "parameters": [], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "headquarters": { - "type": "object", - "properties": { - "address": { - "type": "string", - "description": "The street address.", - "title": "Address" - }, - "city": { - "type": "string", - "description": "The city.", - "title": "City" - }, - "state": { - "type": "string", - "description": "The state.", - "title": "State" - } - }, - "description": "The headquarter address.", - "title": "Headquarters" - }, - "links": { - "type": "object", - "properties": { - "website": { - "type": "string", - "description": "The website address.", - "title": "Website" - }, - "flickr": { - "type": "string", - "description": "The Flickr address.", - "title": "Flickr" - }, - "twitter": { - "type": "string", - "description": "The Twitter address.", - "title": "Twitter" - }, - "elon_twitter": { - "type": "string", - "description": "Elon Musk's Twitter address.", - "title": "Elon's Twitter" - } - }, - "description": "Link addresses.", - "title": "Links" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "founder": { - "type": "string", - "description": "The founder.", - "title": "Founder" - }, - "founded": { - "type": "integer", - "format": "int32", - "description": "The year founded.", - "title": "Founded" - }, - "employees": { - "type": "integer", - "format": "int32", - "description": "The number of employees.", - "title": "Employees" - }, - "vehicles": { - "type": "integer", - "format": "int32", - "description": "The number of vehicles.", - "title": "Vehicles" - }, - "launch_sites": { - "type": "integer", - "format": "int32", - "description": "The number of launch sites.", - "title": "Launch Sites" - }, - "test_sites": { - "type": "integer", - "format": "int32", - "description": "The number of test sites.", - "title": "Test Sites" - }, - "ceo": { - "type": "string", - "description": "The current CEO.", - "title": "CEO" - }, - "cto": { - "type": "string", - "description": "The current CTO.", - "title": "CTO" - }, - "coo": { - "type": "string", - "description": "The current COO.", - "title": "COO" - }, - "cto_propulsion": { - "type": "string", - "description": "The CTO of Propulsion.", - "title": "CTO Propulsion" - }, - "valuation": { - "type": "integer", - "format": "int32", - "description": "The current valuation.", - "title": "Valuation" - }, - "summary": { - "type": "string", - "description": "The company summary.", - "title": "Summary" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - }, - "/v4/cores": { - "get": { - "summary": "Get all cores", - "description": "Detailed info for all serialized first stage cores.", - "operationId": "GetAllCores", - "parameters": [], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "headquarters": { - "type": "object", - "properties": { - "address": { - "type": "string", - "description": "The street address.", - "title": "Address" - }, - "city": { - "type": "string", - "description": "The city.", - "title": "City" - }, - "state": { - "type": "string", - "description": "The state.", - "title": "State" - } - }, - "description": "The state.", - "title": "State" - }, - "links": { - "type": "object", - "properties": { - "website": { - "type": "string", - "description": "The website address.", - "title": "Website" - }, - "flickr": { - "type": "string", - "description": "The Flickr address.", - "title": "Flickr" - }, - "twitter": { - "type": "string", - "description": "The Twitter address.", - "title": "Twitter" - }, - "elon_twitter": { - "type": "string", - "description": "Elon Musk's Twitter address.", - "title": "Elon's Twitter" - } - }, - "description": "Link addresses.", - "title": "Links" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "founder": { - "type": "string", - "description": "The founder.", - "title": "Founder" - }, - "founded": { - "type": "integer", - "format": "int32", - "description": "The year founded.", - "title": "Founded" - }, - "employees": { - "type": "integer", - "format": "int32", - "description": "The number of employees.", - "title": "Employees" - }, - "vehicles": { - "type": "integer", - "format": "int32", - "description": "The number of vehicles.", - "title": "Vehicles" - }, - "launch_sites": { - "type": "integer", - "format": "int32", - "description": "The number of launch sites.", - "title": "Launch Sites" - }, - "test_sites": { - "type": "integer", - "format": "int32", - "description": "The number of test sites.", - "title": "Test Sites" - }, - "ceo": { - "type": "string", - "description": "The current CEO.", - "title": "CEO" - }, - "cto": { - "type": "string", - "description": "The current CTO.", - "title": "CTO" - }, - "coo": { - "type": "string", - "description": "The current COO.", - "title": "COO" - }, - "cto_propulsion": { - "type": "string", - "description": "The CTO of Propulsion.", - "title": "CTO Propulsion" - }, - "valuation": { - "type": "integer", - "format": "int32", - "description": "The current valuation.", - "title": "Valuation" - }, - "summary": { - "type": "string", - "description": "The company summary.", - "title": "Summary" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - }, - "/v4/cores/{coreID}": { - "get": { - "summary": "Get a core", - "description": "Detailed info for a serialized first stage core.", - "operationId": "GetACore", - "parameters": [ + "name": "activeOnly", + "in": "query", + "type": "boolean", + "required": false, + "default": false, + "x-ms-summary": "Active only", + "description": "When true, returns only active postings." + }, { - "name": "coreID", - "in": "path", - "x-ms-url-encoding": "single", - "required": true, - "type": "string", - "description": "The ID of the core.", - "x-ms-summary": "Core ID" - } - ], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "block": { - "type": "string", - "description": "The block.", - "title": "Block" - }, - "reuse_count": { - "type": "integer", - "format": "int32", - "description": "The reuse count.", - "title": "Reuse Count" - }, - "rtls_attempts": { - "type": "integer", - "format": "int32", - "description": "The number of RTLS attempts.", - "title": "RTLS Attempts" - }, - "rtls_landings": { - "type": "integer", - "format": "int32", - "description": "The number of RTLS landings.", - "title": "RTLS Landings" - }, - "asds_attempts": { - "type": "integer", - "format": "int32", - "description": "The number of ASDS attempts.", - "title": "ASDS Attempts" - }, - "asds_landings": { - "type": "integer", - "format": "int32", - "description": "The number of ASDS landings.", - "title": "ASDS Landings" - }, - "last_update": { - "type": "string", - "description": "When last updated.", - "title": "Last Update" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "serial": { - "type": "string", - "description": "The serial number.", - "title": "Serial" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - }, - "/v4/cores/query": { - "post": { - "parameters": [ + "name": "top", + "in": "query", + "type": "integer", + "format": "int32", + "required": false, + "default": 50, + "x-ms-summary": "Page size", + "x-ms-visibility": "advanced", + "description": "Maximum number of results to return." + }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "query": { - "type": "object", - "properties": {}, - "description": "Accepts any valid MongoDB find() query.", - "title": "Query" - }, - "options": { - "type": "object", - "properties": { - "select": { - "type": "string", - "description": "Fields to return (by default returns all fields).", - "title": "Select" - }, - "collation": { - "type": "object", - "properties": {}, - "description": "Specify the collation", - "title": "collation" - }, - "sort": { - "type": "string", - "description": "Sort order.", - "title": "Sort" - }, - "populate": { - "type": "array", - "items": {}, - "description": "Paths which should be populated with other documents.", - "title": "Populate" - }, - "projection": { - "type": "string", - "description": "Get/set the query projection.", - "title": "Projection" - }, - "lean": { - "type": "boolean", - "description": "Should return plain javascript objects instead of Mongoose documents.", - "title": "Lean" - }, - "leanWithId": { - "type": "boolean", - "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", - "title": "Lean With Id" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Use offset or page to set skip position.", - "title": "Offset" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The page number.", - "title": "Page" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The limit per page.", - "title": "Limit" - }, - "customLabels": { - "type": "object", - "properties": {}, - "description": "Developers can provide custom labels for manipulating the response data.", - "title": "Custom Labels" - }, - "pagination": { - "type": "boolean", - "description": "If pagination is set to false it will return all docs without adding limit condition.", - "title": "Pagination" - }, - "useEstimatedCount": { - "type": "boolean", - "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", - "title": "Use Estimated Count" - }, - "useCustomCountFn": { - "type": "boolean", - "description": "Enable custom function for count datasets.", - "title": "Use Custom Count Function" - }, - "forceCountFn": { - "type": "boolean", - "description": "Set this to true if you need to support $geo queries.", - "title": "Force Count Function" - }, - "allowDiskUse": { - "type": "boolean", - "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", - "title": "Allow Disk Use" - }, - "options": { - "type": "object", - "properties": { - "pref": { - "type": "string", - "description": "A of the listed preference options or aliases.", - "title": "Preference" - }, - "tags": { - "type": "string", - "description": "Optional tags for this query (must be used with pref).", - "title": "Tags" - } - }, - "description": "Determines the MongoDB nodes from which to read.", - "title": "Options" - } - }, - "description": "Requested options", - "title": "Options" - } - } - } + "name": "skip", + "in": "query", + "type": "integer", + "format": "int32", + "required": false, + "default": 0, + "x-ms-summary": "Offset", + "x-ms-visibility": "advanced", + "description": "Number of items to skip for paging." } ], - "summary": "Query cores", - "description": "Detailed info for queried serialized first stage cores.", - "operationId": "QueryCores", "responses": { "200": { - "description": "default", + "description": "Job posting list", "schema": { - "type": "object", - "properties": { - "docs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block": { - "type": "integer", - "format": "int32", - "description": "The number of blocks.", - "title": "Block" - }, - "reuse_count": { - "type": "integer", - "format": "int32", - "description": "The reuse count.", - "title": "Reuse Count" - }, - "rtls_attempts": { - "type": "integer", - "format": "int32", - "description": "The number of RTLS attempts.", - "title": "RTLS Attempts" - }, - "rtls_landings": { - "type": "integer", - "format": "int32", - "description": "The number of RTLS landings.", - "title": "RTLS Landings" - }, - "asds_attempts": { - "type": "integer", - "format": "int32", - "description": "The number of ASDS attempts.", - "title": "ASDS Attempts" - }, - "asds_landings": { - "type": "integer", - "format": "int32", - "description": "The number of ASDS landings.", - "title": "ASDS Landings" - }, - "last_update": { - "type": "string", - "description": "When last updated.", - "title": "Last Update" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "serial": { - "type": "string", - "description": "The serial number.", - "title": "Serial" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - }, - "description": "The documentation.", - "title": "Docs" - }, - "totalDocs": { - "type": "integer", - "format": "int32", - "description": "The total number of documentations.", - "title": "Total Docs" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The response offset.", - "title": "Offset" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The response limit.", - "title": "Limit" - }, - "totalPages": { - "type": "integer", - "format": "int32", - "description": "The total number of pages.", - "title": "Total Pages" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The current page.", - "title": "Page" - }, - "pagingCounter": { - "type": "integer", - "format": "int32", - "description": "The paging counter.", - "title": "Paging Counter" - }, - "hasPrevPage": { - "type": "boolean", - "description": "Whether has previous page.", - "title": "Has Previous Page" - }, - "hasNextPage": { - "type": "boolean", - "description": "Whether has next page.", - "title": "Has Next Page" - }, - "prevPage": { - "type": "string", - "description": "The previous page.", - "title": "Previous Page" - }, - "nextPage": { - "type": "integer", - "format": "int32", - "description": "The next page.", - "title": "Next Page" - } - } + "$ref": "#/definitions/JobPostingListResponse" } } } } }, - "/v4/crew": { + "/api/v1/job-postings/{id}": { "get": { - "summary": "Get all crew members", - "description": "Detailed info on all Dragon crew members.", - "operationId": "GetAllCrew", - "parameters": [], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "agency": { - "type": "string", - "description": "The space agency.", - "title": "Agency" - }, - "image": { - "type": "string", - "description": "An image.", - "title": "Image" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia address.", - "title": "Wikipedia" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - } - }, - "/v4/crew/{id}": { - "get": { - "summary": "Get a crew member", - "description": "Detailed info on a Dragon crew member.", - "operationId": "GetACrewMember", + "summary": "Get job posting by id", + "description": "Returns a single job requisition by id.", + "operationId": "JobPosting_GetJobPostingById", + "x-ms-summary": "Get job posting by id", "parameters": [ { "name": "id", "in": "path", - "x-ms-url-encoding": "single", "required": true, - "type": "string", - "description": "The ID of the crew member.", - "x-ms-summary": "Crew Member ID" + "type": "integer", + "format": "int32", + "x-ms-summary": "Job posting id", + "description": "Internal PremiumConnector job posting identifier." } ], "responses": { "200": { - "description": "default", + "description": "Job posting", "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "agency": { - "type": "string", - "description": "The space agency.", - "title": "Agency" - }, - "image": { - "type": "string", - "description": "Image.", - "title": "Image" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia address.", - "title": "Wikipedia" - }, - "launches": { - "type": "array", - "items": {}, - "description": "The launch identifiers.", - "title": "Launches" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } + "$ref": "#/definitions/JobRequisition" } + }, + "404": { + "description": "Not found" } } } }, - "/v4/crew/query": { - "post": { - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "query": { - "type": "object", - "properties": {}, - "description": "Accepts any valid MongoDB find() query.", - "title": "Query" - }, - "options": { - "type": "object", - "properties": { - "select": { - "type": "string", - "description": "Fields to return (by default returns all fields).", - "title": "Select" - }, - "collation": { - "type": "object", - "properties": {}, - "description": "Specify the collation", - "title": "collation" - }, - "sort": { - "type": "string", - "description": "Sort order.", - "title": "Sort" - }, - "populate": { - "type": "array", - "items": {}, - "description": "Paths which should be populated with other documents.", - "title": "Populate" - }, - "projection": { - "type": "string", - "description": "Get/set the query projection.", - "title": "Projection" - }, - "lean": { - "type": "boolean", - "description": "Should return plain javascript objects instead of Mongoose documents.", - "title": "Lean" - }, - "leanWithId": { - "type": "boolean", - "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", - "title": "Lean With Id" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Use offset or page to set skip position.", - "title": "Offset" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The page number.", - "title": "Page" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The limit per page.", - "title": "Limit" - }, - "customLabels": { - "type": "object", - "properties": {}, - "description": "Developers can provide custom labels for manipulating the response data.", - "title": "Custom Labels" - }, - "pagination": { - "type": "boolean", - "description": "If pagination is set to false it will return all docs without adding limit condition.", - "title": "Pagination" - }, - "useEstimatedCount": { - "type": "boolean", - "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", - "title": "Use Estimated Count" - }, - "useCustomCountFn": { - "type": "boolean", - "description": "Enable custom function for count datasets.", - "title": "Use Custom Count Function" - }, - "forceCountFn": { - "type": "boolean", - "description": "Set this to true if you need to support $geo queries.", - "title": "Force Count Function" - }, - "allowDiskUse": { - "type": "boolean", - "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", - "title": "Allow Disk Use" - }, - "options": { - "type": "object", - "properties": { - "pref": { - "type": "string", - "description": "A of the listed preference options or aliases.", - "title": "Preference" - }, - "tags": { - "type": "string", - "description": "Optional tags for this query (must be used with pref).", - "title": "Tags" - } - }, - "description": "Determines the MongoDB nodes from which to read.", - "title": "Options" - } - }, - "description": "Requested options", - "title": "Options" - } - } - } - } - ], - "summary": "Query crew members", - "description": "Detailed info on queried Dragon crew members.", - "operationId": "QueryCrewMembers", - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "docs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "agency": { - "type": "string", - "description": "The space agency.", - "title": "Agency" - }, - "image": { - "type": "string", - "description": "An image.", - "title": "Image" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia link.", - "title": "Wikipedia" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - }, - "description": "The documentation.", - "title": "Docs" - }, - "totalDocs": { - "type": "integer", - "format": "int32", - "description": "The total number of documentations.", - "title": "Total Docs" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The response offset.", - "title": "Offset" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The response limit.", - "title": "Limit" - }, - "totalPages": { - "type": "integer", - "format": "int32", - "description": "The total number of pages.", - "title": "Total Pages" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The current page.", - "title": "Page" - }, - "pagingCounter": { - "type": "integer", - "format": "int32", - "description": "The paging counter.", - "title": "Paging Counter" - }, - "hasPrevPage": { - "type": "boolean", - "description": "Whether has previous page.", - "title": "Has Previous Page" - }, - "hasNextPage": { - "type": "boolean", - "description": "Whether has next page.", - "title": "Has Next Page" - }, - "prevPage": { - "type": "string", - "description": "The previous page.", - "title": "Previous Page" - }, - "nextPage": { - "type": "integer", - "format": "int32", - "description": "The next page.", - "title": "Next Page" - } - } - } - } - } - } - }, - "/v4/dragons": { + "/api/v1/job-applications": { "get": { - "summary": "Get all Dragons", - "description": "Detailed info about all Dragon capsule versions.", - "operationId": "GetAllDragons", - "parameters": [], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "heat_shield": { - "type": "object", - "properties": { - "material": { - "type": "string", - "description": "The heat shield material.", - "title": "Heat Shield Material" - }, - "size_meters": { - "type": "number", - "format": "float", - "description": "The heat shield size in meters.", - "title": "Heat Shield Size in Meters" - }, - "temp_degrees": { - "type": "integer", - "format": "int32", - "description": "The heat shield temperature rating in degrees.", - "title": "Heat Shield Temperature in Degrees" - }, - "dev_partner": { - "type": "string", - "description": "The heat shield developing partner.", - "title": "Heat Shield Developing Partner" - } - }, - "description": "The heat shield.", - "title": "Heat Shield" - }, - "launch_payload_mass": { - "type": "object", - "properties": { - "kg": { - "type": "integer", - "format": "int32", - "description": "The launch mass in kilograms.", - "title": "Launch Payload Kg" - }, - "lb": { - "type": "integer", - "format": "int32", - "description": "The launch mass in pounds", - "title": "Launch Payload Lb" - } - }, - "description": "The launch payload mass.", - "title": "Launch Payload Mass" - }, - "launch_payload_vol": { - "type": "object", - "properties": { - "cubic_meters": { - "type": "integer", - "format": "int32", - "description": "The volume in cubic meters. ", - "title": "Launch Payload Cubic Meters" - }, - "cubic_feet": { - "type": "integer", - "format": "int32", - "description": "The volume in cubic feet.", - "title": "Launch Payload Cubic Feet" - } - }, - "description": "The launch payload volume", - "title": "Launch Payload Volume" - }, - "return_payload_mass": { - "type": "object", - "properties": { - "kg": { - "type": "integer", - "format": "int32", - "description": "The mass in kilograms.", - "title": "Return Payload Kg" - }, - "lb": { - "type": "integer", - "format": "int32", - "description": "The mass in pounds", - "title": "Return Payload Lb" - } - }, - "description": "return_payload_mass" - }, - "return_payload_vol": { - "type": "object", - "properties": { - "cubic_meters": { - "type": "integer", - "format": "int32", - "description": "The volume in cubic meters. ", - "title": "Return Payload Cubic Meters" - }, - "cubic_feet": { - "type": "integer", - "format": "int32", - "description": "The volume in cubic feet.", - "title": "Return Payload Cubic Feet" - } - }, - "description": "The return payload volume.", - "title": "Return Payload Volume" - }, - "pressurized_capsule": { - "type": "object", - "properties": { - "payload_volume": { - "type": "object", - "properties": { - "cubic_meters": { - "type": "integer", - "format": "int32", - "description": "The pressurized capsule's volume in cubic meters.", - "title": "Pressurized Capsule Cubic Meters" - }, - "cubic_feet": { - "type": "integer", - "format": "int32", - "description": "The pressurized capsule's volume in cubic feet.", - "title": "Pressurized Capsule Cubic Feet" - } - }, - "description": "The Pressurized Capsule's Volume.", - "title": "Pressurized Capsule Volume" - } - }, - "description": "The Pressurized Capsule.", - "title": "Pressurized Capsule" - }, - "trunk": { - "type": "object", - "properties": { - "trunk_volume": { - "type": "object", - "properties": { - "cubic_meters": { - "type": "integer", - "format": "int32", - "description": "The trunk volume in cubic meters.", - "title": "Trunk Cubic Meters" - }, - "cubic_feet": { - "type": "integer", - "format": "int32", - "description": "The trunk volume in cubic feet.", - "title": "Trunk Cubic Feet" - } - }, - "description": "The trunk volume.", - "title": "Trunk Volume" - }, - "cargo": { - "type": "object", - "properties": { - "solar_array": { - "type": "integer", - "format": "int32", - "description": "The number of solar arrays in cargo.", - "title": "solar_array" - }, - "unpressurized_cargo": { - "type": "boolean", - "description": "Whether the cargo is unpressurized.", - "title": "Unpressurized Cargo" - } - }, - "description": "The cargo.", - "title": "Cargo" - } - }, - "description": "The trunk.", - "title": "Trunk" - }, - "height_w_trunk": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The height with trunk in meters.", - "title": "Meters" - }, - "feet": { - "type": "number", - "format": "float", - "description": "The height with trunk in feet.", - "title": "Feet" - } - }, - "description": "The height with trunk.", - "title": "Height with Trunk" - }, - "diameter": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The diameter in meters.", - "title": "Diameter Meters" - }, - "feet": { - "type": "integer", - "format": "int32", - "description": "The diameter in feet.", - "title": "Diameter Feet" - } - }, - "description": "The diameter.", - "title": "Diameter" - }, - "first_flight": { - "type": "string", - "description": "The first flight.", - "title": "First Flight" - }, - "flickr_images": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The Flickr image links.", - "title": "Flickr Images" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "active": { - "type": "boolean", - "description": "Whether active.", - "title": "Active" - }, - "crew_capacity": { - "type": "integer", - "format": "int32", - "description": "The crew capacity.", - "title": "Crew Capacity" - }, - "sidewall_angle_deg": { - "type": "integer", - "format": "int32", - "description": "The sidewall angle in degrees.", - "title": "Sidewall Angle Degrees" - }, - "orbit_duration_yr": { - "type": "integer", - "format": "int32", - "description": "The orbit duration in years.", - "title": "Orbit Duration Years" - }, - "dry_mass_kg": { - "type": "integer", - "format": "int32", - "description": "The dry mass in kilograms.", - "title": "Dry Mass Kilograms" - }, - "dry_mass_lb": { - "type": "integer", - "format": "int32", - "description": "The dry mass in kilograms.", - "title": "Dry Mass Pounds" - }, - "thrusters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "The thruster type.", - "title": "Thruster Type" - }, - "amount": { - "type": "integer", - "format": "int32", - "description": "The thruster amount.", - "title": "Thruster Amount" - }, - "pods": { - "type": "integer", - "format": "int32", - "description": "The number of thruster pods.", - "title": "Thruster Pods" - }, - "fuel_1": { - "type": "string", - "description": "The thruster fuel 1 type.", - "title": "Thruster Fuel 1" - }, - "fuel_2": { - "type": "string", - "description": "The thruster fuel 2 type", - "title": "Thruster Fuel 2" - }, - "isp": { - "type": "integer", - "format": "int32", - "description": "The specific impulse.", - "title": "Isp" - }, - "thrust": { - "type": "object", - "properties": { - "kN": { - "type": "integer", - "format": "int32", - "description": "The thrust in newtons.", - "title": "Thrust kN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The thrust in total impulse.", - "title": "Thrust lbf" - } - }, - "description": "The thrust.", - "title": "Thrust" - } - } - }, - "description": "The thrusters.", - "title": "Thrusters" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia address.", - "title": "Wikipedia" - }, - "description": { - "type": "string", - "description": "The description.", - "title": "Description" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - } - }, - "/v4/dragons/{id}": { - "get": { - "summary": "Get a Dragon", - "description": "Detailed info about a Dragon capsule version.", - "operationId": "GetADragon", + "summary": "List job applications", + "description": "Returns paged job applications and supports filtering by jobReqId and status.", + "operationId": "JobApplication_GetJobApplications", + "x-ms-summary": "List job applications", "parameters": [ { - "name": "id", - "in": "path", - "x-ms-url-encoding": "single", - "required": true, - "type": "string", - "description": "The ID of the Dragon.", - "x-ms-summary": "Dragon ID" - } - ], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "heat_shield": { - "type": "object", - "properties": { - "material": { - "type": "string", - "description": "The heat shield material", - "title": "Heat Shield Material" - }, - "size_meters": { - "type": "number", - "format": "float", - "description": "The heat shield size in meters.", - "title": "Heat Shield Size Meters" - }, - "temp_degrees": { - "type": "integer", - "format": "int32", - "description": "The heat shield maximum temperature in degrees.", - "title": "temp_degrees" - }, - "dev_partner": { - "type": "string", - "description": "The heat shield developing partner.", - "title": "Heat Shield Dev Partner" - } - }, - "description": "The heat shield.", - "title": "Heat Shield" - }, - "launch_payload_mass": { - "type": "object", - "properties": { - "kg": { - "type": "integer", - "format": "int32", - "description": "The launch payload mass in kilograms.", - "title": "Launch Payload Kg" - }, - "lb": { - "type": "integer", - "format": "int32", - "description": "The mass in pounds.", - "title": "Launch Payload Lb" - } - }, - "description": "The launch payload mass.", - "title": "Launch Payload Mass" - }, - "launch_payload_vol": { - "type": "object", - "properties": { - "cubic_meters": { - "type": "integer", - "format": "int32", - "description": "The launch payload volume in cubic meters.", - "title": "Launch Payload Cubic Meters" - }, - "cubic_feet": { - "type": "integer", - "format": "int32", - "description": "The launch payload volume in cubic feet.", - "title": "Launch Payload Cubic Feet" - } - }, - "description": "The launch payload volume", - "title": "Launch Payload Volume" - }, - "return_payload_mass": { - "type": "object", - "properties": { - "kg": { - "type": "integer", - "format": "int32", - "description": "The return payload mass in kilograms.", - "title": "Return Payload Kg" - }, - "lb": { - "type": "integer", - "format": "int32", - "description": "The return payload mass in pounds.", - "title": "Return Payload Lb" - } - }, - "description": "The return payload mass.", - "title": "Return Payload Mass" - }, - "return_payload_vol": { - "type": "object", - "properties": { - "cubic_meters": { - "type": "integer", - "format": "int32", - "description": "The return payload volume in cubic meters.", - "title": "Return Payload Cubic Meters" - }, - "cubic_feet": { - "type": "integer", - "format": "int32", - "description": "The return payload volume in cubic feet.", - "title": "Return Payload Cubic Feet" - } - }, - "description": "The return payload volume.", - "title": "Return Payload Volume" - }, - "pressurized_capsule": { - "type": "object", - "properties": { - "payload_volume": { - "type": "object", - "properties": { - "cubic_meters": { - "type": "integer", - "format": "int32", - "description": "The pressurized capsule volume in cubic meters.", - "title": "Pressurized Capsule Cubic Meters" - }, - "cubic_feet": { - "type": "integer", - "format": "int32", - "description": "The pressurized capsulevolume in cubic feet.", - "title": "Pressurized Cubic Feet" - } - }, - "description": "The payload volume.", - "title": "Payload Volume" - } - }, - "description": "The pressurized capsule.", - "title": "Pressurized Capsule" - }, - "trunk": { - "type": "object", - "properties": { - "trunk_volume": { - "type": "object", - "properties": { - "cubic_meters": { - "type": "integer", - "format": "int32", - "description": "The trunk volume in cubic meters.", - "title": "Trunk Cubic Meters" - }, - "cubic_feet": { - "type": "integer", - "format": "int32", - "description": "The trunk volume in cubic feet.", - "title": "Trunk Cubic Feet" - } - }, - "description": "The trunk volume.", - "title": "Trunk Volume" - }, - "cargo": { - "type": "object", - "properties": { - "solar_array": { - "type": "integer", - "format": "int32", - "description": "The solar array in cargo.", - "title": "solar_array" - }, - "unpressurized_cargo": { - "type": "boolean", - "description": "The unpressurized cargo.", - "title": "unpressurized_cargo" - } - }, - "description": "The cargo.", - "title": "Cargo" - } - }, - "description": "The trunk.", - "title": "Trunk" - }, - "height_w_trunk": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The height with trunk in meters", - "title": "Meters" - }, - "feet": { - "type": "number", - "format": "float", - "description": "The height with trunk in feet.", - "title": "Feet" - } - }, - "description": "The height with trunk.", - "title": "Height with Trunk" - }, - "diameter": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The diameter in meters", - "title": "Meters" - }, - "feet": { - "type": "integer", - "format": "int32", - "description": "The diaameter in feet.", - "title": "Feet" - } - }, - "description": "The diameter.", - "title": "Diameter" - }, - "first_flight": { - "type": "string", - "description": "The first flight.", - "title": "First Flight" - }, - "flickr_images": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Flickr image links.", - "title": "Flickr Images" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "active": { - "type": "boolean", - "description": "Whether active.", - "title": "Active" - }, - "crew_capacity": { - "type": "integer", - "format": "int32", - "description": "The crew capacity.", - "title": "Crew Capacity" - }, - "sidewall_angle_deg": { - "type": "integer", - "format": "int32", - "description": "The sidewall angle in degrees.", - "title": "Sidewall Angle Degrees" - }, - "orbit_duration_yr": { - "type": "integer", - "format": "int32", - "description": "The orbit duration in years.", - "title": "Orbit Duration Years" - }, - "dry_mass_kg": { - "type": "integer", - "format": "int32", - "description": "The dry mass in kilograms.", - "title": "Dry Mass Kg" - }, - "dry_mass_lb": { - "type": "integer", - "format": "int32", - "description": "The dry mass in pounds.", - "title": "Dry Mass Lb" - }, - "thrusters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "The thruster type.", - "title": "Thruster Type" - }, - "amount": { - "type": "integer", - "format": "int32", - "description": "The thruster amount.", - "title": "Thruster Amount" - }, - "pods": { - "type": "integer", - "format": "int32", - "description": "The number of thruster pods.", - "title": "Thruster Pods" - }, - "fuel_1": { - "type": "string", - "description": "The thruster fuel 1 type.", - "title": "Thruster Fuel 1" - }, - "fuel_2": { - "type": "string", - "description": "The thruster fuel 2 type.", - "title": "Thruster Fuel 2" - }, - "isp": { - "type": "integer", - "format": "int32", - "description": "The specific impulse.", - "title": "Isp" - }, - "thrust": { - "type": "object", - "properties": { - "kN": { - "type": "integer", - "format": "int32", - "description": "The thrust in kilogram newtons.", - "title": "Thurst kN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The thrust in pounds of force.", - "title": "Thurst Lbf" - } - }, - "description": "The thrust.", - "title": "Thrust" - } - } - }, - "description": "The thrusters.", - "title": "Thrusters" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia address.", - "title": "Wikipedia" - }, - "description": { - "type": "string", - "description": "The description.", - "title": "Description" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - }, - "/v4/dragons/query": { - "post": { - "parameters": [ + "name": "jobReqId", + "in": "query", + "type": "integer", + "format": "int64", + "required": false, + "x-ms-summary": "Job requisition id", + "x-ms-visibility": "advanced" + }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "query": { - "type": "object", - "properties": {}, - "description": "Accepts any valid MongoDB find() query.", - "title": "Query" - }, - "options": { - "type": "object", - "properties": { - "select": { - "type": "string", - "description": "Fields to return (by default returns all fields).", - "title": "Select" - }, - "collation": { - "type": "object", - "properties": {}, - "description": "Specify the collation", - "title": "collation" - }, - "sort": { - "type": "string", - "description": "Sort order.", - "title": "Sort" - }, - "populate": { - "type": "array", - "items": {}, - "description": "Paths which should be populated with other documents.", - "title": "Populate" - }, - "projection": { - "type": "string", - "description": "Get/set the query projection.", - "title": "Projection" - }, - "lean": { - "type": "boolean", - "description": "Should return plain javascript objects instead of Mongoose documents.", - "title": "Lean" - }, - "leanWithId": { - "type": "boolean", - "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", - "title": "Lean With Id" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Use offset or page to set skip position.", - "title": "Offset" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The page number.", - "title": "Page" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The limit per page.", - "title": "Limit" - }, - "customLabels": { - "type": "object", - "properties": {}, - "description": "Developers can provide custom labels for manipulating the response data.", - "title": "Custom Labels" - }, - "pagination": { - "type": "boolean", - "description": "If pagination is set to false it will return all docs without adding limit condition.", - "title": "Pagination" - }, - "useEstimatedCount": { - "type": "boolean", - "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", - "title": "Use Estimated Count" - }, - "useCustomCountFn": { - "type": "boolean", - "description": "Enable custom function for count datasets.", - "title": "Use Custom Count Function" - }, - "forceCountFn": { - "type": "boolean", - "description": "Set this to true if you need to support $geo queries.", - "title": "Force Count Function" - }, - "allowDiskUse": { - "type": "boolean", - "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", - "title": "Allow Disk Use" - }, - "options": { - "type": "object", - "properties": { - "pref": { - "type": "string", - "description": "A of the listed preference options or aliases.", - "title": "Preference" - }, - "tags": { - "type": "string", - "description": "Optional tags for this query (must be used with pref).", - "title": "Tags" - } - }, - "description": "Determines the MongoDB nodes from which to read.", - "title": "Options" - } - }, - "description": "Requested options", - "title": "Options" - } - } - } - } - ], - "summary": "Query Dragons", - "description": "Detailed info about queried Dragon capsule versions.", - "operationId": "QueryDragons", - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "docs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "heat_shield": { - "type": "object", - "properties": { - "material": { - "type": "string", - "description": "The heat shield material type.", - "title": "Heat Shield Material" - }, - "size_meters": { - "type": "number", - "format": "float", - "description": "The heat shield size in meters.", - "title": "Heat Shield Size Meters" - }, - "temp_degrees": { - "type": "integer", - "format": "int32", - "description": "The heat shield maximum temperature in degrees.", - "title": "Heat Sheild Temp Degrees" - }, - "dev_partner": { - "type": "string", - "description": "The heat shield developing partner.", - "title": "Heat Shield Dev Partner" - } - }, - "description": "The heat shield.", - "title": "Heat Shield" - }, - "launch_payload_mass": { - "type": "object", - "properties": { - "kg": { - "type": "integer", - "format": "int32", - "description": "The launch payload mass in kilograms.", - "title": "Launch Payload Mass Kg" - }, - "lb": { - "type": "integer", - "format": "int32", - "description": "The launch payload mass in pounds.", - "title": "Launch Payload Mass Lb" - } - }, - "description": "The launch payload mass.", - "title": "Launch Payload Mass" - }, - "launch_payload_vol": { - "type": "object", - "properties": { - "cubic_meters": { - "type": "integer", - "format": "int32", - "description": "The launch payload volume in cubic meters.", - "title": "Launch Payload Cubic Meters" - }, - "cubic_feet": { - "type": "integer", - "format": "int32", - "description": "The launch payload volume in cubic feet.", - "title": "Launch Payload Cubic Feet" - } - }, - "description": "The launch payload.", - "title": "Launch Payload Volume" - }, - "return_payload_mass": { - "type": "object", - "properties": { - "kg": { - "type": "integer", - "format": "int32", - "description": "The return payload mass in kilograms.", - "title": "Return Payload Mass Kg" - }, - "lb": { - "type": "integer", - "format": "int32", - "description": "The return payload mass in pounds.", - "title": "Return Payload Mass Lb" - } - }, - "description": "The return payload mass.", - "title": "Return Payload Mass" - }, - "return_payload_vol": { - "type": "object", - "properties": { - "cubic_meters": { - "type": "integer", - "format": "int32", - "description": "The return payload volume in cubic meters.", - "title": "Return Payload Cubic Meters" - }, - "cubic_feet": { - "type": "integer", - "format": "int32", - "description": "The return payload volume in cubic feet.", - "title": "Return Payload Cubic Feet" - } - }, - "description": "The return payload volume.", - "title": "Return Payload Volume" - }, - "pressurized_capsule": { - "type": "object", - "properties": { - "payload_volume": { - "type": "object", - "properties": { - "cubic_meters": { - "type": "integer", - "format": "int32", - "description": "The pressurized capsule volume in cubic meter.", - "title": "Pressurized Capsule Cubic Meters" - }, - "cubic_feet": { - "type": "integer", - "format": "int32", - "description": "The pressurized capsule volume in cubic feet.", - "title": "Pressurized Capsule Cubic Feet" - } - }, - "description": "The pressurized capsule payload volume.", - "title": "Pressurized Capsule Payload Volume" - } - }, - "description": "The pressurized capsule.", - "title": "Pressurized Capsule" - }, - "trunk": { - "type": "object", - "properties": { - "trunk_volume": { - "type": "object", - "properties": { - "cubic_meters": { - "type": "integer", - "format": "int32", - "description": "The trunk volume in cubic meter.", - "title": "Trunk Cubic Meters" - }, - "cubic_feet": { - "type": "integer", - "format": "int32", - "description": "The trunk volume in cubic feet.", - "title": "Trunk Cubic Feet" - } - }, - "description": "The trunk volume.", - "title": "Trunk Volume" - }, - "cargo": { - "type": "object", - "properties": { - "solar_array": { - "type": "integer", - "format": "int32", - "description": "The solar array in cargo.", - "title": "Cargo Solar Array" - }, - "unpressurized_cargo": { - "type": "boolean", - "description": "Whether the cargo is unpressurized.", - "title": "Unpressurized Cargo" - } - }, - "description": "The cargo.", - "title": "Cargo" - } - }, - "description": "The trunk.", - "title": "Trunk" - }, - "height_w_trunk": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The height with trunk in meters.", - "title": "Height with Trunk Meters" - }, - "feet": { - "type": "number", - "format": "float", - "description": "The height with trunk in feet.", - "title": "Height with Trunk Feet" - } - }, - "description": "The height with trunk.", - "title": "Height with Trunk" - }, - "diameter": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The diamter in meters.", - "title": "Diameter Meters" - }, - "feet": { - "type": "integer", - "format": "int32", - "description": "The diameter in feet.", - "title": "Diameter Feet" - } - }, - "description": "The diameter.", - "title": "Diameter" - }, - "first_flight": { - "type": "string", - "description": "The first flight.", - "title": "First Flight" - }, - "flickr_images": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The Flickr images links.", - "title": "Flickr Images" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "active": { - "type": "boolean", - "description": "Whether active.", - "title": "Active" - }, - "crew_capacity": { - "type": "integer", - "format": "int32", - "description": "The crew capacity.", - "title": "Crew Capacity" - }, - "sidewall_angle_deg": { - "type": "integer", - "format": "int32", - "description": "The sidewall angle in degrees.", - "title": "Sidewall Angle Degrees" - }, - "orbit_duration_yr": { - "type": "integer", - "format": "int32", - "description": "The orbit duration in years.", - "title": "Orbit Duration Years" - }, - "dry_mass_kg": { - "type": "integer", - "format": "int32", - "description": "The dry mass in kilograms.", - "title": "Dry Mass Kg" - }, - "dry_mass_lb": { - "type": "integer", - "format": "int32", - "description": "The dry mass in pounds.", - "title": "Dry Mass Lb" - }, - "thrusters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "The thruster type.", - "title": "Thruster Type" - }, - "amount": { - "type": "integer", - "format": "int32", - "description": "The thruster amount.", - "title": "Thruster Amount" - }, - "pods": { - "type": "integer", - "format": "int32", - "description": "The thruster pods.", - "title": "Thruster Pods" - }, - "fuel_1": { - "type": "string", - "description": "The thruster fuel 1.", - "title": "Thruster Fuel 1" - }, - "fuel_2": { - "type": "string", - "description": "The thruster fuel 2.", - "title": "Thruster Fuel 2" - }, - "isp": { - "type": "integer", - "format": "int32", - "description": "The thruster Isp.", - "title": "Thruster Isp" - }, - "thrust": { - "type": "object", - "properties": { - "kN": { - "type": "integer", - "format": "int32", - "description": "The thrust in kN.", - "title": "Thrust kN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The thrust in lbf.", - "title": "Thrust lbf" - } - }, - "description": "The thrust.", - "title": "Thrust" - } - } - }, - "description": "The thrusters.", - "title": "Thrusters" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia link.", - "title": "Wikipedia" - }, - "description": { - "type": "string", - "description": "The description.", - "title": "Description" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - }, - "description": "The documentation.", - "title": "Docs" - }, - "totalDocs": { - "type": "integer", - "format": "int32", - "description": "The total number of documentations.", - "title": "Total Docs" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The response offset.", - "title": "Offset" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The response limit.", - "title": "Limit" - }, - "totalPages": { - "type": "integer", - "format": "int32", - "description": "The total number of pages.", - "title": "Total Pages" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The current page.", - "title": "Page" - }, - "pagingCounter": { - "type": "integer", - "format": "int32", - "description": "The paging counter.", - "title": "Paging Counter" - }, - "hasPrevPage": { - "type": "boolean", - "description": "Whether has previous page.", - "title": "Has Previous Page" - }, - "hasNextPage": { - "type": "boolean", - "description": "Whether has next page.", - "title": "Has Next Page" - }, - "prevPage": { - "type": "string", - "description": "The previous page.", - "title": "Previous Page" - }, - "nextPage": { - "type": "string", - "description": "The next page.", - "title": "Next Page" - } - } - } - } - } - } - }, - "/v4/history": { - "get": { - "summary": "Get all history events", - "description": "Detailed info on all SpaceX historical events.", - "operationId": "GetAllHistory", - "parameters": [], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "links": { - "type": "object", - "properties": { - "article": { - "type": "string", - "description": "The article.", - "title": "Article" - } - }, - "description": "Link addresses.", - "title": "Links" - }, - "title": { - "type": "string", - "description": "The title.", - "title": "Title" - }, - "event_date_utc": { - "type": "string", - "description": "The event date in UTC.", - "title": "Event Date UTC" - }, - "event_date_unix": { - "type": "integer", - "format": "int32", - "description": "The event date in UNIX.", - "title": "Event Date UNIX" - }, - "details": { - "type": "string", - "description": "The event details.", - "title": "Details" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - } - }, - "/v4/history/{id}": { - "get": { - "summary": "Get a historic event", - "description": "Detailed info on a SpaceX historical event.", - "operationId": "GetAHistory", - "parameters": [ - { - "name": "id", - "in": "path", - "x-ms-url-encoding": "single", - "required": true, + "name": "status", + "in": "query", "type": "string", - "description": "The ID of the historic event.", - "x-ms-summary": "Historic Event ID" - } - ], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "links": { - "type": "object", - "properties": { - "article": { - "type": "string", - "description": "The article.", - "title": "Article" - } - }, - "description": "Link addresses.", - "title": "Links" - }, - "title": { - "type": "string", - "description": "The title.", - "title": "Title" - }, - "event_date_utc": { - "type": "string", - "description": "The event date in UTC.", - "title": "event_date UTC" - }, - "event_date_unix": { - "type": "integer", - "format": "int32", - "description": "The event date in UNIX.", - "title": "Event Date UNIX" - }, - "details": { - "type": "string", - "description": "The event details.", - "title": "Details" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - }, - "/v4/history/query": { - "post": { - "parameters": [ + "required": false, + "x-ms-summary": "Application status", + "x-ms-visibility": "advanced" + }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "query": { - "type": "object", - "properties": {}, - "description": "Accepts any valid MongoDB find() query.", - "title": "Query" - }, - "options": { - "type": "object", - "properties": { - "select": { - "type": "string", - "description": "Fields to return (by default returns all fields).", - "title": "Select" - }, - "collation": { - "type": "object", - "properties": {}, - "description": "Specify the collation", - "title": "collation" - }, - "sort": { - "type": "string", - "description": "Sort order.", - "title": "Sort" - }, - "populate": { - "type": "array", - "items": {}, - "description": "Paths which should be populated with other documents.", - "title": "Populate" - }, - "projection": { - "type": "string", - "description": "Get/set the query projection.", - "title": "Projection" - }, - "lean": { - "type": "boolean", - "description": "Should return plain javascript objects instead of Mongoose documents.", - "title": "Lean" - }, - "leanWithId": { - "type": "boolean", - "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", - "title": "Lean With Id" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Use offset or page to set skip position.", - "title": "Offset" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The page number.", - "title": "Page" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The limit per page.", - "title": "Limit" - }, - "customLabels": { - "type": "object", - "properties": {}, - "description": "Developers can provide custom labels for manipulating the response data.", - "title": "Custom Labels" - }, - "pagination": { - "type": "boolean", - "description": "If pagination is set to false it will return all docs without adding limit condition.", - "title": "Pagination" - }, - "useEstimatedCount": { - "type": "boolean", - "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", - "title": "Use Estimated Count" - }, - "useCustomCountFn": { - "type": "boolean", - "description": "Enable custom function for count datasets.", - "title": "Use Custom Count Function" - }, - "forceCountFn": { - "type": "boolean", - "description": "Set this to true if you need to support $geo queries.", - "title": "Force Count Function" - }, - "allowDiskUse": { - "type": "boolean", - "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", - "title": "Allow Disk Use" - }, - "options": { - "type": "object", - "properties": { - "pref": { - "type": "string", - "description": "A of the listed preference options or aliases.", - "title": "Preference" - }, - "tags": { - "type": "string", - "description": "Optional tags for this query (must be used with pref).", - "title": "Tags" - } - }, - "description": "Determines the MongoDB nodes from which to read.", - "title": "Options" - } - }, - "description": "Requested options", - "title": "Options" - } - } - } + "name": "top", + "in": "query", + "type": "integer", + "format": "int32", + "required": false, + "default": 50, + "x-ms-summary": "Page size", + "x-ms-visibility": "advanced" + }, + { + "name": "skip", + "in": "query", + "type": "integer", + "format": "int32", + "required": false, + "default": 0, + "x-ms-summary": "Offset", + "x-ms-visibility": "advanced" } ], - "summary": "Query historic events", - "description": "Detailed info on queried SpaceX historical events.", - "operationId": "QueryHistory", - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "docs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "links": { - "type": "object", - "properties": { - "article": { - "type": "string", - "description": "The article.", - "title": "Article" - } - }, - "description": "The links.", - "title": "Links" - }, - "title": { - "type": "string", - "description": "The title.", - "title": "Title" - }, - "event_date_utc": { - "type": "string", - "description": "The event date in UTC.", - "title": "Event Date UTC" - }, - "event_date_unix": { - "type": "integer", - "format": "int32", - "description": "The event date in UNIX.", - "title": "Event Date UNIX" - }, - "details": { - "type": "string", - "description": "The event details.", - "title": "Details" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - }, - "description": "The documentation.", - "title": "Docs" - }, - "totalDocs": { - "type": "integer", - "format": "int32", - "description": "The total number of documentations.", - "title": "Total Docs" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The response offset.", - "title": "Offset" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The response limit.", - "title": "Limit" - }, - "totalPages": { - "type": "integer", - "format": "int32", - "description": "The total number of pages.", - "title": "Total Pages" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The current page.", - "title": "Page" - }, - "pagingCounter": { - "type": "integer", - "format": "int32", - "description": "The paging counter.", - "title": "Paging Counter" - }, - "hasPrevPage": { - "type": "boolean", - "description": "Whether has previous page.", - "title": "Has Previous Page" - }, - "hasNextPage": { - "type": "boolean", - "description": "Whether has next page.", - "title": "Has Next Page" - }, - "prevPage": { - "type": "string", - "description": "The previous page.", - "title": "Previous Page" - }, - "nextPage": { - "type": "integer", - "format": "int32", - "description": "The next page.", - "title": "Next Page" - } - } - } - } - } - } - }, - "/v4/landpads": { - "get": { - "summary": "Get all landpads", - "description": "Detailed info about all landing pads and ships.", - "operationId": "GetAllLandpads", - "parameters": [], "responses": { "200": { - "description": "default", + "description": "Job application list", "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "images": { - "type": "object", - "properties": { - "large": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The large images.", - "title": "Large Images" - } - }, - "description": "The images.", - "title": "images" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "full_name": { - "type": "string", - "description": "The full name.", - "title": "Full Name" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "locality": { - "type": "string", - "description": "The locality.", - "title": "Locality" - }, - "region": { - "type": "string", - "description": "The region.", - "title": "Region" - }, - "latitude": { - "type": "number", - "format": "float", - "description": "The latitude.", - "title": "Latitude" - }, - "longitude": { - "type": "number", - "format": "float", - "description": "The longitude.", - "title": "Longitude" - }, - "landing_attempts": { - "type": "integer", - "format": "int32", - "description": "The number of landing attempts.", - "title": "Landing Attempts" - }, - "landing_successes": { - "type": "integer", - "format": "int32", - "description": "The number of landing successes.", - "title": "Landing Successes" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia address.", - "title": "Wikipedia" - }, - "details": { - "type": "string", - "description": "The landpad details.", - "title": "Details" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } + "$ref": "#/definitions/JobApplicationListResponse" } } } } }, - "/v4/landpads/{id}": { + "/api/v1/job-applications/{id}": { "get": { - "summary": "Get a landpad", - "description": "Detailed info about a landing pad or ship.", - "operationId": "GetALandpad", + "summary": "Get job application by id", + "description": "Returns a single job application by its id.", + "operationId": "JobApplication_GetJobApplicationById", + "x-ms-summary": "Get job application by id", "parameters": [ { "name": "id", "in": "path", - "x-ms-url-encoding": "single", "required": true, - "type": "string", - "description": "The ID of the landpad.", - "x-ms-summary": "Landpad ID" + "type": "integer", + "format": "int64", + "x-ms-summary": "Application id" } ], "responses": { "200": { - "description": "default", + "description": "Job application", "schema": { - "type": "object", - "properties": { - "images": { - "type": "object", - "properties": { - "large": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The large images.", - "title": "Large Images." - } - }, - "description": "The images.", - "title": "images" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "full_name": { - "type": "string", - "description": "The full name.", - "title": "Full Name" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "locality": { - "type": "string", - "description": "The locality.", - "title": "Locality" - }, - "region": { - "type": "string", - "description": "The region.", - "title": "Region" - }, - "latitude": { - "type": "number", - "format": "float", - "description": "The latitude.", - "title": "Latitude" - }, - "longitude": { - "type": "number", - "format": "float", - "description": "The longitude.", - "title": "Longitude" - }, - "landing_attempts": { - "type": "integer", - "format": "int32", - "description": "The number of landing attempts.", - "title": "landing_attempts" - }, - "landing_successes": { - "type": "integer", - "format": "int32", - "description": "The number of landing successes.", - "title": "Landing Successes" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia address.", - "title": "Wikipedia" - }, - "details": { - "type": "string", - "description": "The landpad details.", - "title": "Details" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } + "$ref": "#/definitions/JobApplication" } + }, + "404": { + "description": "Not found" } } } }, - "/v4/landpads/query": { + "/api/v1/job-interviews": { "post": { + "summary": "Create interview", + "description": "Creates a new interview for an existing job application.", + "operationId": "JobInterview_CreateInterview", + "x-ms-summary": "Create interview", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "query": { - "type": "object", - "properties": {}, - "description": "Accepts any valid MongoDB find() query.", - "title": "Query" - }, - "options": { - "type": "object", - "properties": { - "select": { - "type": "string", - "description": "Fields to return (by default returns all fields).", - "title": "Select" - }, - "collation": { - "type": "object", - "properties": {}, - "description": "Specify the collation", - "title": "collation" - }, - "sort": { - "type": "string", - "description": "Sort order.", - "title": "Sort" - }, - "populate": { - "type": "array", - "items": {}, - "description": "Paths which should be populated with other documents.", - "title": "Populate" - }, - "projection": { - "type": "string", - "description": "Get/set the query projection.", - "title": "Projection" - }, - "lean": { - "type": "boolean", - "description": "Should return plain javascript objects instead of Mongoose documents.", - "title": "Lean" - }, - "leanWithId": { - "type": "boolean", - "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", - "title": "Lean With Id" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Use offset or page to set skip position.", - "title": "Offset" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The page number.", - "title": "Page" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The limit per page.", - "title": "Limit" - }, - "customLabels": { - "type": "object", - "properties": {}, - "description": "Developers can provide custom labels for manipulating the response data.", - "title": "Custom Labels" - }, - "pagination": { - "type": "boolean", - "description": "If pagination is set to false it will return all docs without adding limit condition.", - "title": "Pagination" - }, - "useEstimatedCount": { - "type": "boolean", - "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", - "title": "Use Estimated Count" - }, - "useCustomCountFn": { - "type": "boolean", - "description": "Enable custom function for count datasets.", - "title": "Use Custom Count Function" - }, - "forceCountFn": { - "type": "boolean", - "description": "Set this to true if you need to support $geo queries.", - "title": "Force Count Function" - }, - "allowDiskUse": { - "type": "boolean", - "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", - "title": "Allow Disk Use" - }, - "options": { - "type": "object", - "properties": { - "pref": { - "type": "string", - "description": "A of the listed preference options or aliases.", - "title": "Preference" - }, - "tags": { - "type": "string", - "description": "Optional tags for this query (must be used with pref).", - "title": "Tags" - } - }, - "description": "Determines the MongoDB nodes from which to read.", - "title": "Options" - } - }, - "description": "Requested options", - "title": "Options" - } - } + "$ref": "#/definitions/CreateJobInterviewRequest" } } ], - "summary": "Query landpads", - "description": "Detailed info about queried landing pads and ships.", - "operationId": "QueryLandpads", "responses": { - "200": { - "description": "default", + "201": { + "description": "Interview created", "schema": { - "type": "object", - "properties": { - "docs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "images": { - "type": "object", - "properties": { - "large": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The large images.", - "title": "Large Images" - } - }, - "description": "The images.", - "title": "images" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "full_name": { - "type": "string", - "description": "The full name.", - "title": "Full Name" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "locality": { - "type": "string", - "description": "The locality.", - "title": "Locality" - }, - "region": { - "type": "string", - "description": "The region.", - "title": "Region" - }, - "latitude": { - "type": "number", - "format": "float", - "description": "The latitude.", - "title": "Latitude" - }, - "longitude": { - "type": "number", - "format": "float", - "description": "The longitude.", - "title": "Longitude" - }, - "landing_attempts": { - "type": "integer", - "format": "int32", - "description": "The number of landind attempts.", - "title": "Landing Attempts" - }, - "landing_successes": { - "type": "integer", - "format": "int32", - "description": "The landing successes.", - "title": "Landing Successes" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia link.", - "title": "Wikipedia" - }, - "details": { - "type": "string", - "description": "The landpad details.", - "title": "Details" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - }, - "description": "The documentation.", - "title": "Docs" - }, - "totalDocs": { - "type": "integer", - "format": "int32", - "description": "The total number of documentations.", - "title": "Total Docs" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The response offset.", - "title": "Offset" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The response limit.", - "title": "Limit" - }, - "totalPages": { - "type": "integer", - "format": "int32", - "description": "The total number of pages.", - "title": "Total Pages" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The current page.", - "title": "Page" - }, - "pagingCounter": { - "type": "integer", - "format": "int32", - "description": "The paging counter.", - "title": "Paging Counter" - }, - "hasPrevPage": { - "type": "boolean", - "description": "Whether has previous page.", - "title": "Has Previous Page" - }, - "hasNextPage": { - "type": "boolean", - "description": "Whether has next page.", - "title": "Has Next Page" - }, - "prevPage": { - "type": "string", - "description": "The previous page.", - "title": "Previous Page" - }, - "nextPage": { - "type": "string", - "description": "The next page.", - "title": "Next Page" - } - } + "$ref": "#/definitions/CreateJobInterviewResponse" } } } } }, - "/v4/launches": { + "/api/v1/candidates": { "get": { - "summary": "Get all launches", - "description": "Detailed info about all launches.", - "operationId": "GetAllLaunches", - "parameters": [], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "fairings": { - "type": "object", - "properties": { - "reused": { - "type": "boolean", - "description": "Reused.", - "title": "Reused" - }, - "recovery_attempt": { - "type": "boolean", - "description": "The recovery attempt.", - "title": "Recovery Attempt" - }, - "recovered": { - "type": "boolean", - "description": "Recovered.", - "title": "Recovered" - }, - "ships": { - "type": "array", - "items": {}, - "description": "The ships.", - "title": "Ships" - } - }, - "description": "The fairings.", - "title": "Fairings" - }, - "links": { - "type": "object", - "properties": { - "patch": { - "type": "object", - "properties": { - "small": { - "type": "string", - "description": "The small patch.", - "title": "Small Patch" - }, - "large": { - "type": "string", - "description": "The large patch.", - "title": "Large Patch" - } - }, - "description": "The patch.", - "title": "Patch" - }, - "reddit": { - "type": "object", - "properties": { - "campaign": { - "type": "string", - "description": "The campaign.", - "title": "Campaign" - }, - "launch": { - "type": "string", - "description": "The launch.", - "title": "Launch" - }, - "media": { - "type": "string", - "description": "The media.", - "title": "Media" - }, - "recovery": { - "type": "string", - "description": "The recovery.", - "title": "Recovery" - } - }, - "description": "Reddit.", - "title": "Reddit" - }, - "flickr": { - "type": "object", - "properties": { - "small": { - "type": "array", - "items": {}, - "description": "The small images on Flickr.", - "title": "Small Flickr Images" - }, - "original": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The original images on Flickr.", - "title": "Original Flickr Images" - } - }, - "description": "The Flickr images.", - "title": "Flickr" - }, - "presskit": { - "type": "string", - "description": "The presskit.", - "title": "Presskit" - }, - "webcast": { - "type": "string", - "description": "The webcast.", - "title": "Webcast" - }, - "youtube_id": { - "type": "string", - "description": "The YouTube ID.", - "title": "YouTube ID" - }, - "article": { - "type": "string", - "description": "The article.", - "title": "Article" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia link.", - "title": "Wikipedia" - } - }, - "description": "Link addresses.", - "title": "Links" - }, - "static_fire_date_utc": { - "type": "string", - "description": "The static fire date in UTC.", - "title": "Static Fire Date UTC" - }, - "static_fire_date_unix": { - "type": "integer", - "description": "The static fire date in UNIX.", - "title": "Static Fire Date UNIX" - }, - "net": { - "type": "boolean", - "description": "Whether by net.", - "title": "Net" - }, - "window": { - "type": "integer", - "description": "The window.", - "title": "Window" - }, - "rocket": { - "type": "string", - "description": "The rocket.", - "title": "Rocket" - }, - "success": { - "type": "boolean", - "description": "The success.", - "title": "Success" - }, - "failures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "time": { - "type": "integer", - "format": "int32", - "description": "The time.", - "title": "Time" - }, - "altitude": { - "type": "integer", - "format": "int32", - "description": "The altitue.", - "title": "Altitude" - }, - "reason": { - "type": "string", - "description": "The reason.", - "title": "Reason" - } - } - }, - "description": "The failures.", - "title": "failures" - }, - "details": { - "type": "string", - "description": "The launch details.", - "title": "Details" - }, - "crew": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The crew.", - "title": "Crew" - }, - "ships": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The ships.", - "title": "Ships" - }, - "capsules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The capsules.", - "title": "Capsules" - }, - "payloads": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The payloads.", - "title": "Payloads" - }, - "launchpad": { - "type": "string", - "description": "The launchpad.", - "title": "Launchpad" - }, - "flight_number": { - "type": "integer", - "format": "int32", - "description": "The flight number.", - "title": "Flight Number" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "date_utc": { - "type": "string", - "description": "The date in UTC.", - "title": "Date UTC" - }, - "date_unix": { - "type": "integer", - "format": "int32", - "description": "The date in UNIX.", - "title": "Date UNIX" - }, - "date_local": { - "type": "string", - "description": "The local date.", - "title": "Date Local" - }, - "date_precision": { - "type": "string", - "description": "The date precision.", - "title": "Date Precision" - }, - "upcoming": { - "type": "boolean", - "description": "Whether upcoming.", - "title": "Upcoming" - }, - "cores": { - "type": "array", - "items": { - "type": "object", - "properties": { - "core": { - "type": "string", - "description": "The core.", - "title": "Core" - }, - "flight": { - "type": "integer", - "format": "int32", - "description": "The flight number.", - "title": "Flight" - }, - "gridfins": { - "type": "boolean", - "description": "Whether has gridfins.", - "title": "Gridfins" - }, - "legs": { - "type": "boolean", - "description": "Whether has legs.", - "title": "Legs" - }, - "reused": { - "type": "boolean", - "description": "Whether reused.", - "title": "Reused" - }, - "landing_attempt": { - "type": "boolean", - "description": "Whether landing attempted.", - "title": "Landing Attempt" - }, - "landing_success": { - "type": "boolean", - "description": "The landing success.", - "title": "Landing Success" - }, - "landing_type": { - "type": "string", - "description": "The landing type.", - "title": "Landing Type" - }, - "landpad": { - "type": "string", - "description": "The landpad.", - "title": "Landpad" - } - } - }, - "description": "The cores.", - "title": "Cores" - }, - "auto_update": { - "type": "boolean", - "description": "Whether auto-updating.", - "title": "Auto-update" - }, - "tbd": { - "type": "boolean", - "description": "Whether to-be-determined.", - "title": "TBD" - }, - "launch_library_id": { - "type": "string", - "description": "The launch library ID.", - "title": "Launch Library ID" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - } - }, - "/v4/launches/{id}": { - "get": { - "summary": "Get a launch", - "description": "Detailed info about a launch.", - "operationId": "GetALaunch", + "summary": "List candidates", + "description": "Returns a list of candidates.", + "operationId": "Candidate_GetCandidates", + "x-ms-summary": "List candidates", "parameters": [ { - "name": "id", - "in": "path", - "x-ms-url-encoding": "single", - "required": true, - "type": "string", - "description": "The ID of the launch.", - "x-ms-summary": "Launch ID" + "name": "top", + "in": "query", + "type": "integer", + "format": "int32", + "required": false, + "default": 20, + "x-ms-summary": "Max results", + "x-ms-visibility": "advanced" } ], "responses": { "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "fairings": { - "type": "object", - "properties": { - "reused": { - "type": "boolean", - "description": "The fairings reused.", - "title": "Reused" - }, - "recovery_attempt": { - "type": "boolean", - "description": "The recovery attempt.", - "title": "Recovery Attempt" - }, - "recovered": { - "type": "boolean", - "description": "The recovered.", - "title": "Recovered" - }, - "ships": { - "type": "array", - "items": {}, - "description": "The ships.", - "title": "Ships" - } - }, - "description": "The fairings.", - "title": "Fairings" - }, - "links": { - "type": "object", - "properties": { - "patch": { - "type": "object", - "properties": { - "small": { - "type": "string", - "description": "The small patch.", - "title": "Small Patch" - }, - "large": { - "type": "string", - "description": "The large patch.", - "title": "Large Patch" - } - }, - "description": "The patch.", - "title": "Patch" - }, - "reddit": { - "type": "object", - "properties": { - "campaign": { - "type": "string", - "description": "The reddit campaign", - "title": "Reddit campaign" - }, - "launch": { - "type": "string", - "description": "The reddit launch.", - "title": "Reddit Launch" - }, - "media": { - "type": "string", - "description": "The reddit media.", - "title": "Reddit Media" - }, - "recovery": { - "type": "string", - "description": "The reddit recovery.", - "title": "Reddit eecovery" - } - }, - "description": "The reddit links", - "title": "Reddit Links" - }, - "flickr": { - "type": "object", - "properties": { - "small": { - "type": "array", - "items": {}, - "description": "The Flickr small images.", - "title": "Flickr Small" - }, - "original": { - "type": "array", - "items": {}, - "description": "The Flickr original images.", - "title": "Flickr Original" - } - }, - "description": "The Flickr images.", - "title": "Flickr Images" - }, - "presskit": { - "type": "string", - "description": "The presskit.", - "title": "Presskit" - }, - "webcast": { - "type": "string", - "description": "The webcast.", - "title": "Webcast" - }, - "youtube_id": { - "type": "string", - "description": "The YouTube ID.", - "title": "YouTube ID" - }, - "article": { - "type": "string", - "description": "The article.", - "title": "Article" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia.", - "title": "Wikipedia" - } - }, - "description": "Link addresses.", - "title": "Links" - }, - "static_fire_date_utc": { - "type": "string", - "description": "The static fire date in UTC.", - "title": "Static Fire Date UTC" - }, - "static_fire_date_unix": { - "type": "integer", - "description": "The static fire date in ", - "title": "Static Fire Date UNIX" - }, - "net": { - "type": "boolean", - "description": "Whether used a net.", - "title": "Net" - }, - "window": { - "type": "integer", - "description": "The window.", - "title": "Window" - }, - "rocket": { - "type": "string", - "description": "The rocket.", - "title": "Rocket" - }, - "success": { - "type": "boolean", - "description": "The success.", - "title": "Success" - }, - "failures": { - "type": "array", - "items": {}, - "description": "The failures.", - "title": "Failures" - }, - "details": { - "type": "string", - "description": "The launch details.", - "title": "Details" - }, - "crew": { - "type": "array", - "items": {}, - "description": "The crew.", - "title": "Crew" - }, - "ships": { - "type": "array", - "items": {}, - "description": "The ships.", - "title": "Ships" - }, - "capsules": { - "type": "array", - "items": {}, - "description": "The capsules.", - "title": "Capsules" - }, - "payloads": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The payloads.", - "title": "Payloads" - }, - "launchpad": { - "type": "string", - "description": "The launchpad.", - "title": "Launchpad" - }, - "flight_number": { - "type": "integer", - "format": "int32", - "description": "The flight number.", - "title": "Flight Number" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "date_utc": { - "type": "string", - "description": "The date in UTC.", - "title": "Date UTC" - }, - "date_unix": { - "type": "integer", - "format": "int32", - "description": "Date in UNIX", - "title": "Date UNIX" - }, - "date_local": { - "type": "string", - "description": "The date at local.", - "title": "Date Local" - }, - "date_precision": { - "type": "string", - "description": "The precision date.", - "title": "Date Precision" - }, - "upcoming": { - "type": "boolean", - "description": "Whether upcoming.", - "title": "Upcoming" - }, - "cores": { - "type": "array", - "items": { - "type": "object", - "properties": { - "core": { - "type": "string", - "description": "The cores' core.", - "title": "Cores' Core" - }, - "flight": { - "type": "string", - "description": "The cores' flight.", - "title": "Cores' Flight" - }, - "gridfins": { - "type": "string", - "description": "The cores' gridfins.", - "title": "Cores' Gridfins" - }, - "legs": { - "type": "string", - "description": "The cores' legs.", - "title": "Cores' Legs" - }, - "reused": { - "type": "boolean", - "description": "Reused.", - "title": "Reused" - }, - "landing_attempt": { - "type": "string", - "description": "The landing attempt.", - "title": "Landing Attempt" - }, - "landing_success": { - "type": "boolean", - "description": "The landing success.", - "title": "Landing Success" - }, - "landing_type": { - "type": "string", - "description": "The landing type.", - "title": "Landing Type" - }, - "landpad": { - "type": "string", - "description": "The landpad.", - "title": "Landpad" - } - } - }, - "description": "The cores.", - "title": "Cores" - }, - "auto_update": { - "type": "boolean", - "description": "Whether auto-updated.", - "title": "Auto-update" - }, - "tbd": { - "type": "boolean", - "description": "To be determined.", - "title": "TBD" - }, - "launch_library_id": { - "type": "string", - "description": "The launch library ID.", - "title": "Launch Library ID" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - }, - "/v4/launches/query": { - "post": { - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "query": { - "type": "object", - "properties": {}, - "description": "Accepts any valid MongoDB find() query.", - "title": "Query" - }, - "options": { - "type": "object", - "properties": { - "select": { - "type": "string", - "description": "Fields to return (by default returns all fields).", - "title": "Select" - }, - "collation": { - "type": "object", - "properties": {}, - "description": "Specify the collation", - "title": "collation" - }, - "sort": { - "type": "string", - "description": "Sort order.", - "title": "Sort" - }, - "populate": { - "type": "array", - "items": {}, - "description": "Paths which should be populated with other documents.", - "title": "Populate" - }, - "projection": { - "type": "string", - "description": "Get/set the query projection.", - "title": "Projection" - }, - "lean": { - "type": "boolean", - "description": "Should return plain javascript objects instead of Mongoose documents.", - "title": "Lean" - }, - "leanWithId": { - "type": "boolean", - "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", - "title": "Lean With Id" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Use offset or page to set skip position.", - "title": "Offset" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The page number.", - "title": "Page" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The limit per page.", - "title": "Limit" - }, - "customLabels": { - "type": "object", - "properties": {}, - "description": "Developers can provide custom labels for manipulating the response data.", - "title": "Custom Labels" - }, - "pagination": { - "type": "boolean", - "description": "If pagination is set to false it will return all docs without adding limit condition.", - "title": "Pagination" - }, - "useEstimatedCount": { - "type": "boolean", - "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", - "title": "Use Estimated Count" - }, - "useCustomCountFn": { - "type": "boolean", - "description": "Enable custom function for count datasets.", - "title": "Use Custom Count Function" - }, - "forceCountFn": { - "type": "boolean", - "description": "Set this to true if you need to support $geo queries.", - "title": "Force Count Function" - }, - "allowDiskUse": { - "type": "boolean", - "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", - "title": "Allow Disk Use" - }, - "options": { - "type": "object", - "properties": { - "pref": { - "type": "string", - "description": "A of the listed preference options or aliases.", - "title": "Preference" - }, - "tags": { - "type": "string", - "description": "Optional tags for this query (must be used with pref).", - "title": "Tags" - } - }, - "description": "Determines the MongoDB nodes from which to read.", - "title": "Options" - } - }, - "description": "Requested options", - "title": "Options" - } - } - } - } - ], - "summary": "Query launches", - "description": "Detailed info about queried launches.", - "operationId": "QueryLaunches", - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "docs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "fairings": { - "type": "string", - "description": "The fairings.", - "title": "Fairings" - }, - "links": { - "type": "object", - "properties": { - "patch": { - "type": "object", - "properties": { - "small": { - "type": "string", - "description": "The small patch.", - "title": "Small Patch" - }, - "large": { - "type": "string", - "description": "The large patch.", - "title": "Large Patch" - } - }, - "description": "The patch.", - "title": "Patch" - }, - "reddit": { - "type": "object", - "properties": { - "campaign": { - "type": "string", - "description": "The reddit campaign.", - "title": "Reddit Campaign" - }, - "launch": { - "type": "string", - "description": "The reddit launch.", - "title": "Reddit Launch" - }, - "media": { - "type": "string", - "description": "The reddit media.", - "title": "Reddit Media" - }, - "recovery": { - "type": "string", - "description": "The reddit recovery.", - "title": "Reddit Recovery" - } - }, - "description": "Reddit links.", - "title": "reddit" - }, - "flickr": { - "type": "object", - "properties": { - "small": { - "type": "array", - "items": {}, - "description": "The Flickr small images.", - "title": "Flickr Small" - }, - "original": { - "type": "array", - "items": {}, - "description": "The Flickr original images.", - "title": "Flickr Originals" - } - }, - "description": "Flickr images.", - "title": "Flickr" - }, - "presskit": { - "type": "string", - "description": "The presskit.", - "title": "Presskit" - }, - "webcast": { - "type": "string", - "description": "The webcast.", - "title": "Webcast" - }, - "youtube_id": { - "type": "string", - "description": "The YouTube ID.", - "title": "YouTube ID" - }, - "article": { - "type": "string", - "description": "The article.", - "title": "Article" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia.", - "title": "Wikipedia" - } - }, - "description": "The links.", - "title": "Links" - }, - "static_fire_date_utc": { - "type": "string", - "description": "The static fire date in UTC.", - "title": "Static Fire Date UTC" - }, - "static_fire_date_unix": { - "type": "integer", - "format": "int32", - "description": "The static fire date in UNIX", - "title": "Static Fire Date UNIX" - }, - "net": { - "type": "boolean", - "description": "Whether a net was used.", - "title": "Net" - }, - "window": { - "type": "integer", - "format": "int32", - "description": "The number of windows.", - "title": "Window" - }, - "rocket": { - "type": "string", - "description": "The rocket.", - "title": "Rocket" - }, - "success": { - "type": "boolean", - "description": "Whether a success.", - "title": "Success" - }, - "failures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "time": { - "type": "integer", - "format": "int32", - "description": "The failure time.", - "title": "Failure Time" - }, - "altitude": { - "type": "integer", - "format": "int32", - "description": "The failure altitude.", - "title": "Failure Altitude" - }, - "reason": { - "type": "string", - "description": "The failure reason.", - "title": "Failure Reason" - } - } - }, - "description": "The failures.", - "title": "failures" - }, - "details": { - "type": "string", - "description": "The launch details.", - "title": "Details" - }, - "crew": { - "type": "array", - "items": {}, - "description": "The crew.", - "title": "Crew" - }, - "ships": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The ships.", - "title": "Ships" - }, - "capsules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The capsules.", - "title": "Capsules" - }, - "payloads": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The payloads.", - "title": "Payloads" - }, - "launchpad": { - "type": "string", - "description": "The launchpad.", - "title": "Launchpad" - }, - "flight_number": { - "type": "integer", - "format": "int32", - "description": "The flight number.", - "title": "Flight Number" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "date_utc": { - "type": "string", - "description": "The date in UTC.", - "title": "Date UTC" - }, - "date_unix": { - "type": "integer", - "format": "int32", - "description": "The date in UNIX.", - "title": "Date UNIX" - }, - "date_local": { - "type": "string", - "description": "The date at local.", - "title": "Date Local" - }, - "date_precision": { - "type": "string", - "description": "The date precision.", - "title": "Date Precision" - }, - "upcoming": { - "type": "boolean", - "description": "Whether upcoming.", - "title": "Upcoming" - }, - "cores": { - "type": "array", - "items": { - "type": "object", - "properties": { - "core": { - "type": "string", - "description": "The cores core.", - "title": "Core" - }, - "flight": { - "type": "integer", - "format": "int32", - "description": "The flight number.", - "title": "Flight" - }, - "gridfins": { - "type": "boolean", - "description": "The gridfins.", - "title": "Gridfins" - }, - "legs": { - "type": "boolean", - "description": "The legs.", - "title": "Legs" - }, - "reused": { - "type": "boolean", - "description": "Whether reused.", - "title": "Reused" - }, - "landing_attempt": { - "type": "boolean", - "description": "Whether landing attempted.", - "title": "Landing Attempt" - }, - "landing_success": { - "type": "boolean", - "description": "Whether landing successful.", - "title": "Landing Success" - }, - "landing_type": { - "type": "string", - "description": "The landing type.", - "title": "Landing Type" - }, - "landpad": { - "type": "string", - "description": "The landpad.", - "title": "Landpad" - } - } - }, - "description": "The cores.", - "title": "Cores" - }, - "auto_update": { - "type": "boolean", - "description": "Whether auto-updating.", - "title": "Auto-update" - }, - "tbd": { - "type": "boolean", - "description": "Whether to be determined.", - "title": "TBD" - }, - "launch_library_id": { - "type": "string", - "description": "The launch library ID.", - "title": "Launch Library ID" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - }, - "description": "The documentation.", - "title": "Docs" - }, - "totalDocs": { - "type": "integer", - "format": "int32", - "description": "The total number of documentations.", - "title": "Total Docs" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The response offset.", - "title": "Offset" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The response limit.", - "title": "Limit" - }, - "totalPages": { - "type": "integer", - "format": "int32", - "description": "The total number of pages.", - "title": "Total Pages" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The current page.", - "title": "Page" - }, - "pagingCounter": { - "type": "integer", - "format": "int32", - "description": "The paging counter.", - "title": "Paging Counter" - }, - "hasPrevPage": { - "type": "boolean", - "description": "Whether has previous page.", - "title": "Has Previous Page" - }, - "hasNextPage": { - "type": "boolean", - "description": "Whether has next page.", - "title": "Has Next Page" - }, - "prevPage": { - "type": "string", - "description": "The previous page.", - "title": "Previous Page" - }, - "nextPage": { - "type": "integer", - "format": "int32", - "description": "The next page.", - "title": "Next Page" - } - } - } - } - } - } - }, - "/v4/launches/past": { - "get": { - "summary": "Get past launches", - "description": "Detailed info about past launches.", - "operationId": "GetPastLaunches", - "parameters": [], - "responses": { - "200": { - "description": "default", + "description": "Candidate list", "schema": { "type": "array", "items": { - "type": "object", - "properties": { - "fairings": { - "type": "string", - "description": "The fairings.", - "title": "Fairings" - }, - "links": { - "type": "object", - "properties": { - "patch": { - "type": "object", - "properties": { - "small": { - "type": "string", - "description": "The small patch.", - "title": "Small Patch" - }, - "large": { - "type": "string", - "description": "The large patch.", - "title": "Large Patch" - } - }, - "description": "The patch.", - "title": "Patch" - }, - "reddit": { - "type": "object", - "properties": { - "campaign": { - "type": "string", - "description": "The reddit campaign.", - "title": "Reddit Campaign" - }, - "launch": { - "type": "string", - "description": "The reddit launch.", - "title": "Reddit Launch" - }, - "media": { - "type": "string", - "description": "The reddit media.", - "title": "Reddit Media" - }, - "recovery": { - "type": "string", - "description": "The reddit recovery.", - "title": "Reddit Recovery" - } - }, - "description": "Reddit.", - "title": "Reddit Campaign" - }, - "flickr": { - "type": "object", - "properties": { - "small": { - "type": "array", - "items": {}, - "description": "The Flickr small images.", - "title": "Flickr Small" - }, - "original": { - "type": "array", - "items": { - "type": "string", - "title": "Items" - }, - "description": "The Flickr original images.", - "title": "Flickr Originals" - } - }, - "description": "The Flickr images.", - "title": "flickr" - }, - "presskit": { - "type": "string", - "description": "The presskit.", - "title": "Presskit" - }, - "webcast": { - "type": "string", - "description": "The webcast.", - "title": "Webcast" - }, - "youtube_id": { - "type": "string", - "description": "The YouTube ID.", - "title": "YouTube ID" - }, - "article": { - "type": "string", - "description": "The article.", - "title": "Article" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia link.", - "title": "Wikipedia" - } - }, - "description": "Link addresses.", - "title": "Links" - }, - "static_fire_date_utc": { - "type": "string", - "description": "The static fire date in UTC.", - "title": "Static Fire Date UTC" - }, - "static_fire_date_unix": { - "type": "integer", - "format": "int32", - "description": "The static fire date in UNIX.", - "title": "Static Fire Date UNIX" - }, - "net": { - "type": "boolean", - "description": "Whether by net", - "title": "Net" - }, - "window": { - "type": "integer", - "format": "int32", - "description": "The window.", - "title": "Window" - }, - "rocket": { - "type": "string", - "description": "The rocket.", - "title": "Rocket" - }, - "success": { - "type": "boolean", - "description": "The success.", - "title": "Success" - }, - "failures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "time": { - "type": "integer", - "format": "int32", - "description": "The failure time.", - "title": "Failure Time" - }, - "altitude": { - "type": "integer", - "format": "int32", - "description": "The failure altitude.", - "title": "Failure Altitude" - }, - "reason": { - "type": "string", - "description": "The failure reason.", - "title": "Failure Reason" - } - } - }, - "description": "The failures.", - "title": "failures" - }, - "details": { - "type": "string", - "description": "The launch details.", - "title": "Details" - }, - "crew": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The crew.", - "title": "Crew" - }, - "ships": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The ships.", - "title": "Ships" - }, - "capsules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The capsules.", - "title": "Capsules" - }, - "payloads": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The payloads.", - "title": "Payloads" - }, - "launchpad": { - "type": "string", - "description": "The launchpad.", - "title": "Launchpad" - }, - "flight_number": { - "type": "integer", - "format": "int32", - "description": "The flight number.", - "title": "Flight Number" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "date_utc": { - "type": "string", - "description": "The date in UTC.", - "title": "Date UTC" - }, - "date_unix": { - "type": "integer", - "format": "int32", - "description": "The date in UNIX.", - "title": "Date UNIX" - }, - "date_local": { - "type": "string", - "description": "The local date.", - "title": "Date Local" - }, - "date_precision": { - "type": "string", - "description": "The date precision.", - "title": "Date Precision" - }, - "upcoming": { - "type": "boolean", - "description": "Whether upcoming.", - "title": "Upcoming" - }, - "cores": { - "type": "array", - "items": { - "type": "object", - "properties": { - "core": { - "type": "string", - "description": "The core.", - "title": "Core" - }, - "flight": { - "type": "integer", - "format": "int32", - "description": "The flight number.", - "title": "Flight" - }, - "gridfins": { - "type": "boolean", - "description": "Whether has gridfins.", - "title": "Gridfins" - }, - "legs": { - "type": "boolean", - "description": "Whether has legs.", - "title": "Legs" - }, - "reused": { - "type": "boolean", - "description": "Whether reused.", - "title": "Reused" - }, - "landing_attempt": { - "type": "boolean", - "description": "Whether landing attempted.", - "title": "Landing Attempt" - }, - "landing_success": { - "type": "boolean", - "description": "The landing success", - "title": "Landing Success" - }, - "landing_type": { - "type": "string", - "description": "The landing type.", - "title": "Landing Type" - }, - "landpad": { - "type": "string", - "description": "The landpad.", - "title": "Landpad" - } - } - }, - "description": "The cores.", - "title": "Cores" - }, - "auto_update": { - "type": "boolean", - "description": "Whether auto-updated.", - "title": "Auto-update" - }, - "tbd": { - "type": "boolean", - "description": "To be determined.", - "title": "TBD" - }, - "launch_library_id": { - "type": "string", - "description": "The launch library ID.", - "title": "Launch Library ID" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - } - }, - "/v4/launches/upcoming": { - "get": { - "summary": "Get upcoming launches", - "description": "Detailed info about upcoming launches.", - "operationId": "GetUpcomingLaunches", - "parameters": [], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "fairings": { - "type": "object", - "properties": { - "reused": { - "type": "boolean", - "description": "Reused.", - "title": "Reused" - }, - "recovery_attempt": { - "type": "boolean", - "description": "The recovery attempt.", - "title": "Recovery Attempt" - }, - "recovered": { - "type": "boolean", - "description": "Recovered.", - "title": "Recovered" - }, - "ships": { - "type": "array", - "items": {}, - "description": "The ships.", - "title": "Ships" - } - }, - "description": "The fairings.", - "title": "Fairings" - }, - "links": { - "type": "object", - "properties": { - "patch": { - "type": "object", - "properties": { - "small": { - "type": "string", - "description": "The small patch.", - "title": "Small Patch" - }, - "large": { - "type": "string", - "description": "The large patch.", - "title": "Large Patch" - } - }, - "description": "The patch.", - "title": "Patch" - }, - "reddit": { - "type": "object", - "properties": { - "campaign": { - "type": "string", - "description": "The campaign.", - "title": "Campaign" - }, - "launch": { - "type": "string", - "description": "The launch.", - "title": "Launch" - }, - "media": { - "type": "string", - "description": "The media.", - "title": "Media" - }, - "recovery": { - "type": "string", - "description": "The recovery.", - "title": "Recovery" - } - }, - "description": "Reddit.", - "title": "Reddit" - }, - "flickr": { - "type": "object", - "properties": { - "small": { - "type": "array", - "items": {}, - "description": "The Flickr small images.", - "title": "Flickr Small" - }, - "original": { - "type": "array", - "items": {}, - "description": "The Flickr original images.", - "title": "Flickr Originals" - } - }, - "description": "The Flickr images.", - "title": "flickr" - }, - "presskit": { - "type": "string", - "description": "The presskit.", - "title": "Presskit" - }, - "webcast": { - "type": "string", - "description": "The webcast.", - "title": "Webcast" - }, - "youtube_id": { - "type": "string", - "description": "The YouTube ID.", - "title": "YouTube ID" - }, - "article": { - "type": "string", - "description": "The article.", - "title": "Article" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia link.", - "title": "Wikipedia" - } - }, - "description": "Link addresses.", - "title": "Links" - }, - "static_fire_date_utc": { - "type": "string", - "description": "The static fire date in UTC.", - "title": "Static Fire Date UTC" - }, - "static_fire_date_unix": { - "type": "integer", - "description": "The static fire date in UNIX.", - "title": "Static Fire Date UNIX" - }, - "net": { - "type": "boolean", - "description": "Whether by net", - "title": "Net" - }, - "window": { - "type": "integer", - "description": "The window.", - "title": "Window" - }, - "rocket": { - "type": "string", - "description": "The rocket.", - "title": "Rocket" - }, - "success": { - "type": "boolean", - "description": "The success.", - "title": "Success" - }, - "failures": { - "type": "array", - "items": {}, - "description": "The failures.", - "title": "failures" - }, - "details": { - "type": "string", - "description": "The launch details.", - "title": "Details" - }, - "crew": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The crew.", - "title": "Crew" - }, - "ships": { - "type": "array", - "items": {}, - "description": "The ships.", - "title": "Ships" - }, - "capsules": { - "type": "array", - "items": {}, - "description": "The capsules.", - "title": "Capsules" - }, - "payloads": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The payloads.", - "title": "Payloads" - }, - "launchpad": { - "type": "string", - "description": "The launchpad.", - "title": "Launchpad" - }, - "flight_number": { - "type": "integer", - "format": "int32", - "description": "The flight number.", - "title": "Flight Number" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "date_utc": { - "type": "string", - "description": "The date in UTC.", - "title": "Date UTC" - }, - "date_unix": { - "type": "integer", - "format": "int32", - "description": "The date in UNIX.", - "title": "Date UNIX" - }, - "date_local": { - "type": "string", - "description": "The local date.", - "title": "Date Local" - }, - "date_precision": { - "type": "string", - "description": "The date precision.", - "title": "Date Precision" - }, - "upcoming": { - "type": "boolean", - "description": "Whether upcoming.", - "title": "Upcoming" - }, - "cores": { - "type": "array", - "items": { - "type": "object", - "properties": { - "core": { - "type": "string", - "description": "The core.", - "title": "Core" - }, - "flight": { - "type": "integer", - "format": "int32", - "description": "The flight number.", - "title": "Flight" - }, - "gridfins": { - "type": "boolean", - "description": "Whether has gridfins.", - "title": "Gridfins" - }, - "legs": { - "type": "boolean", - "description": "Whether has legs.", - "title": "Legs" - }, - "reused": { - "type": "boolean", - "description": "Whether reused.", - "title": "Reused" - }, - "landing_attempt": { - "type": "boolean", - "description": "Whether landing attempted.", - "title": "Landing Attempt" - }, - "landing_success": { - "type": "boolean", - "description": "The landing success", - "title": "Landing Success" - }, - "landing_type": { - "type": "string", - "description": "The landing type.", - "title": "Landing Type" - }, - "landpad": { - "type": "string", - "description": "The landpad.", - "title": "Landpad" - } - } - }, - "description": "The cores.", - "title": "Cores" - }, - "auto_update": { - "type": "boolean", - "description": "Whether auto-updated.", - "title": "Auto-update" - }, - "tbd": { - "type": "boolean", - "description": "To be determined.", - "title": "TBD" - }, - "launch_library_id": { - "type": "string", - "description": "The launch library ID.", - "title": "Launch Library ID" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - } - }, - "/v4/launches/latest": { - "get": { - "summary": "Get latest launch", - "description": "Detailed info about latest launch.", - "operationId": "GetLatestLaunch", - "parameters": [], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "fairings": { - "type": "string", - "description": "The fairings.", - "title": "Fairings" - }, - "links": { - "type": "object", - "properties": { - "patch": { - "type": "object", - "properties": { - "small": { - "type": "string", - "description": "The small patch.", - "title": "Small Patch" - }, - "large": { - "type": "string", - "description": "The large patch.", - "title": "Large Patch" - } - }, - "description": "The patch.", - "title": "Patch" - }, - "reddit": { - "type": "object", - "properties": { - "campaign": { - "type": "string", - "description": "The reddit campaign.", - "title": "Reddit Campaign" - }, - "launch": { - "type": "string", - "description": "The reddit launch.", - "title": "Reddit Launch" - }, - "media": { - "type": "string", - "description": "The reddit media.", - "title": "Reddit Media" - }, - "recovery": { - "type": "string", - "description": "The reddit recovery.", - "title": "Reddit Recovery" - } - }, - "description": "The reddit links.", - "title": "Reddit" - }, - "flickr": { - "type": "object", - "properties": { - "small": { - "type": "array", - "items": {}, - "description": "The small Flickr images.", - "title": "Flickr Small" - }, - "original": { - "type": "array", - "items": {}, - "description": "The original Flickr images.", - "title": "Flickr Originals" - } - }, - "description": "Flickr Images", - "title": "Flickr" - }, - "presskit": { - "type": "string", - "description": "The presskit.", - "title": "Presskit" - }, - "webcast": { - "type": "string", - "description": "The webcast.", - "title": "Webcast" - }, - "youtube_id": { - "type": "string", - "description": "The YouTube ID.", - "title": "YouTube ID" - }, - "article": { - "type": "string", - "description": "The article.", - "title": "Article" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia.", - "title": "Wikipedia" - } - }, - "description": "Link addresses.", - "title": "Links" - }, - "static_fire_date_utc": { - "type": "string", - "description": "The static fire date in UTC.", - "title": "Static Fire Date UTC" - }, - "static_fire_date_unix": { - "type": "integer", - "description": "The static fire date in UNIX.", - "title": "Static Fire Date UNIX" - }, - "net": { - "type": "boolean", - "description": "Whether used a net.", - "title": "Net" - }, - "window": { - "type": "integer", - "format": "int32", - "description": "The window.", - "title": "Window" - }, - "rocket": { - "type": "string", - "description": "The rocket.", - "title": "Rocket" - }, - "success": { - "type": "boolean", - "description": "Whether a success.", - "title": "Success" - }, - "failures": { - "type": "array", - "items": {}, - "description": "The failures.", - "title": "failures" - }, - "details": { - "type": "string", - "description": "The launch details.", - "title": "Details" - }, - "crew": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The crew.", - "title": "Crew" - }, - "ships": { - "type": "array", - "items": { - "type": "string", - "title": "Items" - }, - "description": "The ships.", - "title": "ships" - }, - "capsules": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The capsules.", - "title": "Capsules" - }, - "payloads": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The payloads.", - "title": "Payloads" - }, - "launchpad": { - "type": "string", - "description": "The launchpad.", - "title": "Launchpad" - }, - "flight_number": { - "type": "integer", - "format": "int32", - "description": "The flight number.", - "title": "Flight Number" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "date_utc": { - "type": "string", - "description": "The date in UTC.", - "title": "Date UTC" - }, - "date_unix": { - "type": "integer", - "format": "int32", - "description": "The date in UNIX.", - "title": "Date UNIX" - }, - "date_local": { - "type": "string", - "description": "The date at local.", - "title": "Date Local" - }, - "date_precision": { - "type": "string", - "description": "The date precision.", - "title": "Date Precision" - }, - "upcoming": { - "type": "boolean", - "description": "Whether upcoming.", - "title": "Upcoming" - }, - "cores": { - "type": "array", - "items": { - "type": "object", - "properties": { - "core": { - "type": "string", - "description": "The core's core.", - "title": "Core" - }, - "flight": { - "type": "integer", - "format": "int32", - "description": "The flight.", - "title": "Flight" - }, - "gridfins": { - "type": "boolean", - "description": "Whether had gridfins.", - "title": "Gridfins" - }, - "legs": { - "type": "boolean", - "description": "Whether had legs.", - "title": "Legs" - }, - "reused": { - "type": "boolean", - "description": "Reused.", - "title": "Reused" - }, - "landing_attempt": { - "type": "boolean", - "description": "Whether landing attempted", - "title": "Landing Attempt" - }, - "landing_success": { - "type": "boolean", - "description": "Whether landing successful.", - "title": "Landing Success" - }, - "landing_type": { - "type": "string", - "description": "The landing type.", - "title": "Landing Type" - }, - "landpad": { - "type": "string", - "description": "The landpad.", - "title": "Landpad" - } - } - }, - "description": "The cores.", - "title": "Cores" - }, - "auto_update": { - "type": "boolean", - "description": "Whether auto-updating.", - "title": "Auto-update" - }, - "tbd": { - "type": "boolean", - "description": "Whether to be determined.", - "title": "TBD" - }, - "launch_library_id": { - "type": "string", - "description": "The launch library ID.", - "title": "Launch Library ID" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } + "$ref": "#/definitions/CandidateResponse" } } } } - } - }, - "/v4/launches/next": { - "get": { - "summary": "Get next launch", - "description": "Detailed info about next launches.", - "operationId": "GetNextLaunch", - "parameters": [], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "fairings": { - "type": "object", - "properties": { - "reused": { - "type": "boolean", - "description": "The reused fairings.", - "title": "Reused" - }, - "recovery_attempt": { - "type": "boolean", - "description": "The recovery attempt.", - "title": "Recovery Attempt" - }, - "recovered": { - "type": "boolean", - "description": "The recovered.", - "title": "Recovered" - }, - "ships": { - "type": "array", - "items": {}, - "description": "The ships.", - "title": "Ships" - } - }, - "description": "The fairings.", - "title": "Fairings" - }, - "links": { - "type": "object", - "properties": { - "patch": { - "type": "object", - "properties": { - "small": { - "type": "string", - "description": "The small patch.", - "title": "Small Patch" - }, - "large": { - "type": "string", - "description": "The large patch.", - "title": "Large Patch" - } - }, - "description": "The patch.", - "title": "Patch" - }, - "reddit": { - "type": "object", - "properties": { - "campaign": { - "type": "string", - "description": "The reddit campaign.", - "title": "Reddit Campaign" - }, - "launch": { - "type": "string", - "description": "The reddit launch.", - "title": "Reddit Launch" - }, - "media": { - "type": "string", - "description": "The reddit media.", - "title": "Reddit Media" - }, - "recovery": { - "type": "string", - "description": "The reddit recovery.", - "title": "Reddit Recovery" - } - }, - "description": "The reddit links.", - "title": "Reddit" - }, - "flickr": { - "type": "object", - "properties": { - "small": { - "type": "array", - "items": {}, - "description": "The Flickr small images.", - "title": "Flickr Small" - }, - "original": { - "type": "array", - "items": {}, - "description": "The Flickr original images.", - "title": "Flicrk Originals" - } - }, - "description": "Flickr Images", - "title": "Flickr" - }, - "presskit": { - "type": "string", - "description": "The presskit.", - "title": "Presskit" - }, - "webcast": { - "type": "string", - "description": "The webcast.", - "title": "Webcast" - }, - "youtube_id": { - "type": "string", - "description": "The YouTube ID.", - "title": "YouTube ID" - }, - "article": { - "type": "string", - "description": "The article.", - "title": "Article" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia.", - "title": "Wikipedia" - } - }, - "description": "Link addresses.", - "title": "Links" - }, - "static_fire_date_utc": { - "type": "string", - "description": "The static fire date in UTC.", - "title": "Static Fire Date UTC" - }, - "static_fire_date_unix": { - "type": "string", - "description": "The static fire date in UNIX.", - "title": "Static Fire Date UNIX" - }, - "net": { - "type": "boolean", - "description": "Whether used a net.", - "title": "Net" - }, - "window": { - "type": "integer", - "description": "The window.", - "title": "Window" - }, - "rocket": { - "type": "string", - "description": "The rocket.", - "title": "Rocket" - }, - "success": { - "type": "boolean", - "description": "Whether a success.", - "title": "Success" - }, - "failures": { - "type": "array", - "items": {}, - "description": "The failures.", - "title": "failures" - }, - "details": { - "type": "string", - "description": "The launch details.", - "title": "Details" - }, - "crew": { - "type": "array", - "items": {}, - "description": "The crew.", - "title": "Crew" - }, - "ships": { - "type": "array", - "items": {}, - "description": "The ships.", - "title": "ships" - }, - "capsules": { - "type": "array", - "items": {}, - "description": "The capsules.", - "title": "Capsules" - }, - "payloads": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The payloads.", - "title": "Payloads" - }, - "launchpad": { - "type": "string", - "description": "The launchpad.", - "title": "Launchpad" - }, - "flight_number": { - "type": "integer", - "format": "int32", - "description": "The flight number.", - "title": "Flight Number" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "date_utc": { - "type": "string", - "description": "The date in UTC.", - "title": "Date UTC" - }, - "date_unix": { - "type": "integer", - "format": "int32", - "description": "The date in UNIX.", - "title": "Date UNIX" - }, - "date_local": { - "type": "string", - "description": "The date at local.", - "title": "Date Local" - }, - "date_precision": { - "type": "string", - "description": "The date precision.", - "title": "Date Precision" - }, - "upcoming": { - "type": "boolean", - "description": "Whether upcoming.", - "title": "Upcoming" - }, - "cores": { - "type": "array", - "items": { - "type": "object", - "properties": { - "core": { - "type": "string", - "description": "The core's core.", - "title": "Core" - }, - "flight": { - "type": "string", - "description": "The flight.", - "title": "Flight" - }, - "gridfins": { - "type": "boolean", - "description": "Whether had gridfins.", - "title": "Gridfins" - }, - "legs": { - "type": "boolean", - "description": "Whether had legs.", - "title": "Legs" - }, - "reused": { - "type": "boolean", - "description": "Reused.", - "title": "Reused" - }, - "landing_attempt": { - "type": "boolean", - "description": "Whether landing attempted", - "title": "Landing Attempt" - }, - "landing_success": { - "type": "boolean", - "description": "Whether landing successful.", - "title": "Landing Success" - }, - "landing_type": { - "type": "string", - "description": "The landing type.", - "title": "Landing Type" - }, - "landpad": { - "type": "string", - "description": "The landpad.", - "title": "Landpad" - } - } - }, - "description": "The cores.", - "title": "Cores" - }, - "auto_update": { - "type": "boolean", - "description": "Whether auto-updating.", - "title": "Auto-update" - }, - "tbd": { - "type": "boolean", - "description": "Whether to be determined.", - "title": "TBD" - }, - "launch_library_id": { - "type": "string", - "description": "The launch library ID.", - "title": "Launch Library ID" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - }, - "/v4/launchpads": { - "get": { - "summary": "Get all launchpads", - "description": "Detailed info about all launchpads.", - "operationId": "GetAllLaunchpads", - "parameters": [], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "images": { - "type": "object", - "properties": { - "large": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The large images.", - "title": "Large Images" - } - }, - "description": "The images.", - "title": "images" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "full_name": { - "type": "string", - "description": "The full name.", - "title": "Full Name" - }, - "locality": { - "type": "string", - "description": "The locality.", - "title": "Locality" - }, - "region": { - "type": "string", - "description": "The region.", - "title": "Region" - }, - "latitude": { - "type": "number", - "format": "float", - "description": "The latitude.", - "title": "Latitude" - }, - "longitude": { - "type": "number", - "format": "float", - "description": "The longitude.", - "title": "Longitude" - }, - "launch_attempts": { - "type": "integer", - "format": "int32", - "description": "The launch attempts.", - "title": "Launch Attempts" - }, - "launch_successes": { - "type": "integer", - "format": "int32", - "description": "The launch successes.", - "title": "Launch Successes" - }, - "rockets": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The rockets.", - "title": "Rockets" - }, - "timezone": { - "type": "string", - "description": "The timezone.", - "title": "Timezone" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "details": { - "type": "string", - "description": "The launchpad details.", - "title": "Details" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - } - }, - "/v4/launchpads/{id}": { - "get": { - "summary": "Get a launchpad", - "description": "Detailed info about a launchpad.", - "operationId": "GetALaunchpad", - "parameters": [ - { - "name": "id", - "in": "path", - "x-ms-url-encoding": "single", - "required": true, - "type": "string", - "description": "The ID of the launchpad.", - "x-ms-summary": "Launchpad ID" - } - ], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "images": { - "type": "object", - "properties": { - "large": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The large images.", - "title": "Large Images." - } - }, - "description": "The images.", - "title": "images" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "full_name": { - "type": "string", - "description": "The full name.", - "title": "Full Name" - }, - "locality": { - "type": "string", - "description": "The locality.", - "title": "Locality" - }, - "region": { - "type": "string", - "description": "The region.", - "title": "Region" - }, - "latitude": { - "type": "number", - "format": "float", - "description": "The latitude.", - "title": "Latitude" - }, - "longitude": { - "type": "number", - "format": "float", - "description": "The longitude.", - "title": "Longitude" - }, - "launch_attempts": { - "type": "integer", - "format": "int32", - "description": "The launch attempts.", - "title": "Launch Attempts" - }, - "launch_successes": { - "type": "integer", - "format": "int32", - "description": "The launch successes.", - "title": "Launch Successes" - }, - "rockets": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The rockets.", - "title": "Rockets" - }, - "timezone": { - "type": "string", - "description": "The timezone.", - "title": "Timezone" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "details": { - "type": "string", - "description": "The launchpad details.", - "title": "Details" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - }, - "/v4/launchpads/query": { + }, "post": { + "summary": "Create candidate", + "description": "Creates a candidate in SuccessFactors.", + "operationId": "Candidate_CreateCandidate", + "x-ms-summary": "Create candidate", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "query": { - "type": "object", - "properties": {}, - "description": "Accepts any valid MongoDB find() query.", - "title": "Query" - }, - "options": { - "type": "object", - "properties": { - "select": { - "type": "string", - "description": "Fields to return (by default returns all fields).", - "title": "Select" - }, - "collation": { - "type": "object", - "properties": {}, - "description": "Specify the collation", - "title": "collation" - }, - "sort": { - "type": "string", - "description": "Sort order.", - "title": "Sort" - }, - "populate": { - "type": "array", - "items": {}, - "description": "Paths which should be populated with other documents.", - "title": "Populate" - }, - "projection": { - "type": "string", - "description": "Get/set the query projection.", - "title": "Projection" - }, - "lean": { - "type": "boolean", - "description": "Should return plain javascript objects instead of Mongoose documents.", - "title": "Lean" - }, - "leanWithId": { - "type": "boolean", - "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", - "title": "Lean With Id" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Use offset or page to set skip position.", - "title": "Offset" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The page number.", - "title": "Page" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The limit per page.", - "title": "Limit" - }, - "customLabels": { - "type": "object", - "properties": {}, - "description": "Developers can provide custom labels for manipulating the response data.", - "title": "Custom Labels" - }, - "pagination": { - "type": "boolean", - "description": "If pagination is set to false it will return all docs without adding limit condition.", - "title": "Pagination" - }, - "useEstimatedCount": { - "type": "boolean", - "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", - "title": "Use Estimated Count" - }, - "useCustomCountFn": { - "type": "boolean", - "description": "Enable custom function for count datasets.", - "title": "Use Custom Count Function" - }, - "forceCountFn": { - "type": "boolean", - "description": "Set this to true if you need to support $geo queries.", - "title": "Force Count Function" - }, - "allowDiskUse": { - "type": "boolean", - "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", - "title": "Allow Disk Use" - }, - "options": { - "type": "object", - "properties": { - "pref": { - "type": "string", - "description": "A of the listed preference options or aliases.", - "title": "Preference" - }, - "tags": { - "type": "string", - "description": "Optional tags for this query (must be used with pref).", - "title": "Tags" - } - }, - "description": "Determines the MongoDB nodes from which to read.", - "title": "Options" - } - }, - "description": "Requested options", - "title": "Options" - } - } + "$ref": "#/definitions/CandidateRequest" } } ], - "summary": "Query launchpads", - "description": "Detailed info about queried launchpads.", - "operationId": "QueryLaunchpads", - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "docs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "images": { - "type": "object", - "properties": { - "large": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The large images.", - "title": "Large Images" - } - }, - "description": "The images.", - "title": "images" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "full_name": { - "type": "string", - "description": "The full name.", - "title": "Full Name" - }, - "locality": { - "type": "string", - "description": "The locality.", - "title": "Locality" - }, - "region": { - "type": "string", - "description": "The region.", - "title": "Region" - }, - "latitude": { - "type": "number", - "format": "float", - "description": "The latitude.", - "title": "Latitude" - }, - "longitude": { - "type": "number", - "format": "float", - "description": "The longitude.", - "title": "Longitude" - }, - "launch_attempts": { - "type": "integer", - "format": "int32", - "description": "The launch attempts.", - "title": "Launch Attempts" - }, - "launch_successes": { - "type": "integer", - "format": "int32", - "description": "The launch successes.", - "title": "Launch Successes" - }, - "rockets": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The rockets.", - "title": "Rockets" - }, - "timezone": { - "type": "string", - "description": "The timezone.", - "title": "Timezone" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "details": { - "type": "string", - "description": "The launchpad details.", - "title": "Details" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - }, - "description": "The documentation.", - "title": "Docs" - }, - "totalDocs": { - "type": "integer", - "format": "int32", - "description": "The total number of documentations.", - "title": "Total Docs" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The response offset.", - "title": "Offset" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The response limit.", - "title": "Limit" - }, - "totalPages": { - "type": "integer", - "format": "int32", - "description": "The total number of pages.", - "title": "Total Pages" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The current page.", - "title": "Page" - }, - "pagingCounter": { - "type": "integer", - "format": "int32", - "description": "The paging counter.", - "title": "Paging Counter" - }, - "hasPrevPage": { - "type": "boolean", - "description": "Whether has previous page.", - "title": "Has Previous Page" - }, - "hasNextPage": { - "type": "boolean", - "description": "Whether has next page.", - "title": "Has Next Page" - }, - "prevPage": { - "type": "string", - "description": "The previous page.", - "title": "Previous Page" - }, - "nextPage": { - "type": "string", - "description": "The next page.", - "title": "Next Page" - } - } - } - } - } - } - }, - "/v4/payloads": { - "get": { - "summary": "Get all payloads", - "description": "Detailed info about all launch payloads.", - "operationId": "GetAllPayloads", - "parameters": [], "responses": { - "200": { - "description": "default", + "201": { + "description": "Candidate created", "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "dragon": { - "type": "object", - "properties": { - "capsule": { - "type": "string", - "description": "The Dragon capsule.", - "title": "Dragon Capsule" - }, - "mass_returned_kg": { - "type": "string", - "description": "The mass returned in kilograms.", - "title": "Mass Returned Kg" - }, - "mass_returned_lbs": { - "type": "string", - "description": "The mass returned in pounds.", - "title": "Mass Returned Lbs" - }, - "flight_time_sec": { - "type": "string", - "description": "The flight time in seconds.", - "title": "Flight Time Seconds" - }, - "manifest": { - "type": "string", - "description": "The manifest.", - "title": "Manifest" - }, - "water_landing": { - "type": "string", - "description": "The water landing.", - "title": "Water Landing" - }, - "land_landing": { - "type": "string", - "description": "The land landing.", - "title": "Land Landing" - } - }, - "description": "The Dragon", - "title": "Dragon" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "reused": { - "type": "boolean", - "description": "Whether reused.", - "title": "Reused" - }, - "launch": { - "type": "string", - "description": "The launch.", - "title": "Launch" - }, - "customers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The customers.", - "title": "Customers" - }, - "norad_ids": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "description": "The NORAD IDs.", - "title": "NORAD IDs" - }, - "nationalities": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The nationalities.", - "title": "Nationalities" - }, - "manufacturers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The manufacturers.", - "title": "Manufacturers" - }, - "mass_kg": { - "type": "integer", - "format": "int32", - "description": "The mass in kilograms.", - "title": "Mass Kg" - }, - "mass_lbs": { - "type": "integer", - "format": "int32", - "description": "The mass in pounds.", - "title": "Mass Lbs" - }, - "orbit": { - "type": "string", - "description": "The orbit.", - "title": "Orbit" - }, - "reference_system": { - "type": "string", - "description": "The reference system.", - "title": "Reference System" - }, - "regime": { - "type": "string", - "description": "the regime.", - "title": "Regime" - }, - "longitude": { - "type": "string", - "description": "The longitude.", - "title": "Longitude" - }, - "semi_major_axis_km": { - "type": "string", - "description": "The semi-major axix in kilometers.", - "title": "Semi-major Axis Km" - }, - "eccentricity": { - "type": "string", - "description": "The eccentricity.", - "title": "Eccentricity" - }, - "periapsis_km": { - "type": "string", - "description": "The periapsis in kilometers.", - "title": "Periapsis Km" - }, - "apoapsis_km": { - "type": "string", - "description": "The apoapsis in kilometers.", - "title": "Apoapsis Km" - }, - "inclination_deg": { - "type": "string", - "description": "The inclination degree.", - "title": "Inclination Degree" - }, - "period_min": { - "type": "string", - "description": "The period minimum.", - "title": "Period Minimum" - }, - "lifespan_years": { - "type": "string", - "description": "The lifespan in years.", - "title": "Lifespan Years" - }, - "epoch": { - "type": "string", - "description": "The epoch.", - "title": "Epoch" - }, - "mean_motion": { - "type": "string", - "description": "The mean motion.", - "title": "Mean Motion" - }, - "raan": { - "type": "string", - "description": "The right ascension of the ascending node.", - "title": "RAAN" - }, - "arg_of_pericenter": { - "type": "string", - "description": "The argument of pericenter.", - "title": "Argument of Pericenter" - }, - "mean_anomaly": { - "type": "string", - "description": "The mean anomaly.", - "title": "Mean Anomaly" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } + "$ref": "#/definitions/CandidateResponse" } } } } }, - "/v4/payloads/{id}": { + "/api/v1/candidates/{candidateId}": { "get": { - "summary": "Get a payload", - "description": "Detailed info about a launch payload.", - "operationId": "GetAPayload", + "summary": "Get candidate by id", + "description": "Returns a candidate by SuccessFactors candidate id.", + "operationId": "Candidate_GetCandidateById", + "x-ms-summary": "Get candidate by id", "parameters": [ { - "name": "id", + "name": "candidateId", "in": "path", - "x-ms-url-encoding": "single", "required": true, "type": "string", - "description": "The ID of the payload.", - "x-ms-summary": "Payload ID" - } - ], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "dragon": { - "type": "object", - "properties": { - "capsule": { - "type": "string", - "description": "The Dragon capsule.", - "title": "Capsule" - }, - "mass_returned_kg": { - "type": "string", - "description": "The mass returned in kilograms.", - "title": "Mass Returned Kg" - }, - "mass_returned_lbs": { - "type": "string", - "description": "The mass returned in pounds.", - "title": "Mass Returned Lbs" - }, - "flight_time_sec": { - "type": "string", - "description": "The flight time in seconds.", - "title": "Flight Time Seconds" - }, - "manifest": { - "type": "string", - "description": "The manifest.", - "title": "Manifest" - }, - "water_landing": { - "type": "string", - "description": "The water landing.", - "title": "Water Landing" - }, - "land_landing": { - "type": "string", - "description": "The land landing.", - "title": "Land Landing" - } - }, - "description": "The Dragon.", - "title": "dragon" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "reused": { - "type": "boolean", - "description": "Whether reused.", - "title": "Reused" - }, - "launch": { - "type": "string", - "description": "The launch.", - "title": "Launch" - }, - "customers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The customers.", - "title": "Customers" - }, - "norad_ids": { - "type": "array", - "items": {}, - "description": "The NORAD IDs.", - "title": "NORAD IDs" - }, - "nationalities": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The nationalities.", - "title": "Nationalities" - }, - "manufacturers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The manufacturers.", - "title": "Manufacturers" - }, - "mass_kg": { - "type": "integer", - "format": "int32", - "description": "The mass in kilograms.", - "title": "Mass Kg" - }, - "mass_lbs": { - "type": "integer", - "format": "int32", - "description": "The mass in pounds.", - "title": "Mass Lbs" - }, - "orbit": { - "type": "string", - "description": "The orbit.", - "title": "Orbit" - }, - "reference_system": { - "type": "string", - "description": "The reference system.", - "title": "Reference System" - }, - "regime": { - "type": "string", - "description": "The regime.", - "title": "Regime" - }, - "longitude": { - "type": "string", - "description": "The longitude.", - "title": "Longitude" - }, - "semi_major_axis_km": { - "type": "string", - "description": "The semi-major axis in kilometers.", - "title": "Semi-major Axis Km" - }, - "eccentricity": { - "type": "string", - "description": "The eccesntricity.", - "title": "Eccentricity" - }, - "periapsis_km": { - "type": "string", - "description": "The periapsis in kilometers.", - "title": "Periapsis Km" - }, - "apoapsis_km": { - "type": "string", - "description": "The apoapsis in kilometers.", - "title": "Apoapsis Km" - }, - "inclination_deg": { - "type": "string", - "description": "The inclination in degrees.", - "title": "Inclination Degree" - }, - "period_min": { - "type": "string", - "description": "The period minimum.", - "title": "Period Minimum" - }, - "lifespan_years": { - "type": "string", - "description": "The lifespan in years.", - "title": "Lifespan Years" - }, - "epoch": { - "type": "string", - "description": "The epoch.", - "title": "Epoch" - }, - "mean_motion": { - "type": "string", - "description": "The mean motion.", - "title": "Mean Motion" - }, - "raan": { - "type": "string", - "description": "The right ascension of the ascending node.", - "title": "RAAN" - }, - "arg_of_pericenter": { - "type": "string", - "description": "The argument of pericenter.", - "title": "Argument of Pericenter" - }, - "mean_anomaly": { - "type": "string", - "description": "The mean anomaly.", - "title": "Mean Anomaly" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - }, - "/v4/payloads/query": { - "post": { - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "query": { - "type": "object", - "properties": {}, - "description": "Accepts any valid MongoDB find() query.", - "title": "Query" - }, - "options": { - "type": "object", - "properties": { - "select": { - "type": "string", - "description": "Fields to return (by default returns all fields).", - "title": "Select" - }, - "collation": { - "type": "object", - "properties": {}, - "description": "Specify the collation", - "title": "collation" - }, - "sort": { - "type": "string", - "description": "Sort order.", - "title": "Sort" - }, - "populate": { - "type": "array", - "items": {}, - "description": "Paths which should be populated with other documents.", - "title": "Populate" - }, - "projection": { - "type": "string", - "description": "Get/set the query projection.", - "title": "Projection" - }, - "lean": { - "type": "boolean", - "description": "Should return plain javascript objects instead of Mongoose documents.", - "title": "Lean" - }, - "leanWithId": { - "type": "boolean", - "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", - "title": "Lean With Id" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Use offset or page to set skip position.", - "title": "Offset" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The page number.", - "title": "Page" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The limit per page.", - "title": "Limit" - }, - "customLabels": { - "type": "object", - "properties": {}, - "description": "Developers can provide custom labels for manipulating the response data.", - "title": "Custom Labels" - }, - "pagination": { - "type": "boolean", - "description": "If pagination is set to false it will return all docs without adding limit condition.", - "title": "Pagination" - }, - "useEstimatedCount": { - "type": "boolean", - "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", - "title": "Use Estimated Count" - }, - "useCustomCountFn": { - "type": "boolean", - "description": "Enable custom function for count datasets.", - "title": "Use Custom Count Function" - }, - "forceCountFn": { - "type": "boolean", - "description": "Set this to true if you need to support $geo queries.", - "title": "Force Count Function" - }, - "allowDiskUse": { - "type": "boolean", - "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", - "title": "Allow Disk Use" - }, - "options": { - "type": "object", - "properties": { - "pref": { - "type": "string", - "description": "A of the listed preference options or aliases.", - "title": "Preference" - }, - "tags": { - "type": "string", - "description": "Optional tags for this query (must be used with pref).", - "title": "Tags" - } - }, - "description": "Determines the MongoDB nodes from which to read.", - "title": "Options" - } - }, - "description": "Requested options", - "title": "Options" - } - } - } + "x-ms-summary": "Candidate id" } ], - "summary": "Query payloads", - "description": "Detailed info about queried launch payloads.", - "operationId": "QueryPayloads", "responses": { "200": { - "description": "default", + "description": "Candidate", "schema": { - "type": "object", - "properties": { - "docs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "dragon": { - "type": "object", - "properties": { - "capsule": { - "type": "string", - "description": "The capsule.", - "title": "Capsule" - }, - "mass_returned_kg": { - "type": "string", - "description": "The mass returned in kilograms.", - "title": "Mass Returned Kg" - }, - "mass_returned_lbs": { - "type": "string", - "description": "The mass returned in pounds.", - "title": "Mass Returned Lbs" - }, - "flight_time_sec": { - "type": "integer", - "format": "int32", - "description": "The flight time seconds.", - "title": "Flight Time Seconds" - }, - "manifest": { - "type": "string", - "description": "The manifest.", - "title": "Manifest" - }, - "water_landing": { - "type": "boolean", - "description": "The water landing.", - "title": "Water Landing" - }, - "land_landing": { - "type": "boolean", - "description": "The land landing.", - "title": "Land Landing" - } - }, - "description": "The Dragon.", - "title": "Dragon" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "reused": { - "type": "boolean", - "description": "Whether reused.", - "title": "Reused" - }, - "launch": { - "type": "string", - "description": "The launch.", - "title": "Launch" - }, - "customers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The customers.", - "title": "Customers" - }, - "norad_ids": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "description": "The NORAG IDs.", - "title": "NORAD IDs" - }, - "nationalities": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The nationalities.", - "title": "Nationalities" - }, - "manufacturers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The manufacturers.", - "title": "Manufacturers" - }, - "mass_kg": { - "type": "integer", - "format": "int32", - "description": "The mass in kilograms.", - "title": "Mass Kg" - }, - "mass_lbs": { - "type": "integer", - "format": "int32", - "description": "The mass in pounds.", - "title": "Mass Lbs" - }, - "orbit": { - "type": "string", - "description": "The orbit.", - "title": "Orbit" - }, - "reference_system": { - "type": "string", - "description": "The reference system.", - "title": "Reference System" - }, - "regime": { - "type": "string", - "description": "The regime.", - "title": "Regime" - }, - "longitude": { - "type": "string", - "description": "The longitude.", - "title": "Longitude" - }, - "semi_major_axis_km": { - "type": "number", - "format": "float", - "description": "The semi-major axis in kilometers.", - "title": "Semi-major Axis Km" - }, - "eccentricity": { - "type": "number", - "format": "float", - "description": "The excentricity.", - "title": "Eccentricity" - }, - "periapsis_km": { - "type": "number", - "format": "float", - "description": "The periapsis in kilometers.", - "title": "Periapsis Km" - }, - "apoapsis_km": { - "type": "number", - "format": "float", - "description": "The apoapsis in kilometers.", - "title": "Apoapsis Km" - }, - "inclination_deg": { - "type": "number", - "format": "float", - "description": "The inclination in degrees.", - "title": "Inclination Degree" - }, - "period_min": { - "type": "number", - "format": "float", - "description": "The period minimum.", - "title": "Period Minimum" - }, - "lifespan_years": { - "type": "string", - "description": "The lifespan in years.", - "title": "Lifespan Years" - }, - "epoch": { - "type": "string", - "description": "The epoch.", - "title": "Epoch" - }, - "mean_motion": { - "type": "number", - "format": "float", - "description": "The mean motion.", - "title": "Mean Motion" - }, - "raan": { - "type": "number", - "format": "float", - "description": "The right ascension of the ascending node.", - "title": "RAAN" - }, - "arg_of_pericenter": { - "type": "number", - "format": "float", - "description": "The argument of pericenter.", - "title": "Argument of Pericenter" - }, - "mean_anomaly": { - "type": "number", - "format": "float", - "description": "The mean anomaly.", - "title": "Mean Anomaly" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - }, - "description": "The documentation.", - "title": "Docs" - }, - "totalDocs": { - "type": "integer", - "format": "int32", - "description": "The total number of documentations.", - "title": "Total Docs" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The response offset.", - "title": "Offset" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The response limit.", - "title": "Limit" - }, - "totalPages": { - "type": "integer", - "format": "int32", - "description": "The total number of pages.", - "title": "Total Pages" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The current page.", - "title": "Page" - }, - "pagingCounter": { - "type": "integer", - "format": "int32", - "description": "The paging counter.", - "title": "Paging Counter" - }, - "hasPrevPage": { - "type": "boolean", - "description": "Whether has previous page.", - "title": "Has Previous Page" - }, - "hasNextPage": { - "type": "boolean", - "description": "Whether has next page.", - "title": "Has Next Page" - }, - "prevPage": { - "type": "string", - "description": "The previous page.", - "title": "Previous Page" - }, - "nextPage": { - "type": "integer", - "format": "int32", - "description": "The next page.", - "title": "Next Page" - } - } + "$ref": "#/definitions/CandidateResponse" } } } - } - }, - "/v4/roadster": { - "get": { - "summary": "Get Roadster Info", - "description": "Detailed info about Elon's Tesla Roadster's current position.", - "operationId": "GetRoadsterInfo", - "parameters": [], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "launch_date_utc": { - "type": "string", - "description": "The launch date in UTC.", - "title": "Launch Date UTC" - }, - "launch_date_unix": { - "type": "integer", - "format": "int32", - "description": "The launch date in UNIX.", - "title": "Launch Date UNIX" - }, - "launch_mass_kg": { - "type": "integer", - "format": "int32", - "description": "The launch mass in kilograms.", - "title": "Launch Mass Kg" - }, - "launch_mass_lbs": { - "type": "integer", - "format": "int32", - "description": "The launch mass in pounds.", - "title": "Launch Mass Lbs" - }, - "norad_id": { - "type": "integer", - "format": "int32", - "description": "The NORAD ID", - "title": "NORAD ID" - }, - "epoch_jd": { - "type": "number", - "format": "float", - "description": "The discrete epoch.", - "title": "Epoch JD" - }, - "orbit_type": { - "type": "string", - "description": "The orbit type.", - "title": "Orbit Type" - }, - "apoapsis_au": { - "type": "number", - "format": "float", - "description": "The apoapsis astromical unit", - "title": "apoapsis_au" - }, - "periapsis_au": { - "type": "number", - "format": "float", - "description": "The periapsis astronomical unit.", - "title": "Periapsis AU" - }, - "semi_major_axis_au": { - "type": "number", - "format": "float", - "description": "The semi-major axis astronomical unit.", - "title": "Semi-major Axis AU" - }, - "eccentricity": { - "type": "number", - "format": "float", - "description": "The eccentricity.", - "title": "Eccentricity" - }, - "inclination": { - "type": "number", - "format": "float", - "description": "The inclination.", - "title": "Inclination" - }, - "longitude": { - "type": "number", - "format": "float", - "description": "The longitude.", - "title": "Longitude" - }, - "periapsis_arg": { - "type": "number", - "format": "float", - "description": "The periapsis argument.", - "title": "Periapsis Arg" - }, - "period_days": { - "type": "number", - "format": "float", - "description": "The period in days.", - "title": "Period Days" - }, - "speed_kph": { - "type": "number", - "format": "float", - "description": "The speed in kilometers per hour.", - "title": "Speed KPH" - }, - "speed_mph": { - "type": "number", - "format": "float", - "description": "The speed in miles per hour.", - "title": "Speed MPH" - }, - "earth_distance_km": { - "type": "number", - "format": "float", - "description": "The Earth distance in kilomters.", - "title": "Earth Distance Km" - }, - "earth_distance_mi": { - "type": "number", - "format": "float", - "description": "The Earth distance in miles.", - "title": "Earth Distance Miles" - }, - "mars_distance_km": { - "type": "number", - "format": "float", - "description": "The Mars distance in kilometers.", - "title": "Mars Distance Km" - }, - "mars_distance_mi": { - "type": "number", - "format": "float", - "description": "The Mars distance in miles.", - "title": "Mars Distance Miles" - }, - "flickr_images": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Flickr image links.", - "title": "Flickr Images" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia address.", - "title": "Wikipedia" - }, - "video": { - "type": "string", - "description": "The video.", - "title": "Video" - }, - "details": { - "type": "string", - "description": "The Roadster details.", - "title": "Details" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - }, - "/v4/rockets": { - "get": { - "summary": "Get all rockets", - "description": "Detailed info about all rockets.", - "operationId": "GetAllRockets", - "parameters": [], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "height": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The height in meters.", - "title": "Meters" - }, - "feet": { - "type": "integer", - "format": "int32", - "description": "The height in feet.", - "title": "Feet" - } - }, - "description": "The height.", - "title": "Height" - }, - "diameter": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The height in meters.", - "title": "Meters" - }, - "feet": { - "type": "integer", - "format": "int32", - "description": "The height in feet.", - "title": "Feet" - } - }, - "description": "The diameter.", - "title": "Diameter" - }, - "mass": { - "type": "object", - "properties": { - "kg": { - "type": "integer", - "format": "int32", - "description": "The mass in kilograms.", - "title": "Kg" - }, - "lb": { - "type": "integer", - "format": "int32", - "description": "The mass in pounds", - "title": "Lb" - } - }, - "description": "The mass.", - "title": "Mass" - }, - "first_stage": { - "type": "object", - "properties": { - "thrust_sea_level": { - "type": "object", - "properties": { - "kN": { - "type": "integer", - "format": "int32", - "description": "The thrust in kilogram newtons.", - "title": "Thurst kN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The thrust in pounds of force.", - "title": "Thurst Lbf" - } - }, - "description": "The thrust at sea level.", - "title": "Thrust Sea Level" - }, - "thrust_vacuum": { - "type": "object", - "properties": { - "kN": { - "type": "integer", - "format": "int32", - "description": "The thrust in kilogram newtons.", - "title": "Thurst kN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The thrust in pounds of force.", - "title": "Thurst Lbf" - } - }, - "description": "The thrust vacuum.", - "title": "Thrust Vacuum" - }, - "reusable": { - "type": "boolean", - "description": "Whether reusable.", - "title": "Reusable" - }, - "engines": { - "type": "integer", - "format": "int32", - "description": "The engines", - "title": "Engines" - }, - "fuel_amount_tons": { - "type": "number", - "description": "The fuel amount in tons.", - "title": "Fuel Amount Tons" - }, - "burn_time_sec": { - "type": "integer", - "description": "The burn time in seconds.", - "title": "Burn Time Seconds" - } - }, - "description": "The first stage.", - "title": "First Stage" - }, - "second_stage": { - "type": "object", - "properties": { - "thrust": { - "type": "object", - "properties": { - "kN": { - "type": "integer", - "format": "int32", - "description": "The thrust in kilogram newtons.", - "title": "Thurst kN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The thrust in pounds of force.", - "title": "Thurst Lbf" - } - }, - "description": "The thrust.", - "title": "Thrust" - }, - "payloads": { - "type": "object", - "properties": { - "composite_fairing": { - "type": "object", - "properties": { - "height": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The height in meters.", - "title": "Meters" - }, - "feet": { - "type": "string", - "description": "The height in feet.", - "title": "Feet" - } - }, - "description": "The height.", - "title": "Height" - }, - "diameter": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The diameter in meters.", - "title": "Meters" - }, - "feet": { - "type": "string", - "description": "The diameter in feet.", - "title": "Feet" - } - }, - "description": "The diameter.", - "title": "Diameter" - } - }, - "description": "The fairing composite.", - "title": "Composite Fairing" - }, - "option_1": { - "type": "string", - "description": "The option 1.", - "title": "Option 1" - } - }, - "description": "The payloads.", - "title": "Payloads" - }, - "reusable": { - "type": "boolean", - "description": "Whether reusable.", - "title": "Reusable" - }, - "engines": { - "type": "integer", - "format": "int32", - "description": "The engines", - "title": "Engines" - }, - "fuel_amount_tons": { - "type": "number", - "description": "The fuel amount in tons.", - "title": "Fuel Amount Tons" - }, - "burn_time_sec": { - "type": "integer", - "description": "The burn time in seconds.", - "title": "Burn Time Seconds" - } - }, - "description": "The second stage.", - "title": "Second Stage" - }, - "engines": { - "type": "object", - "properties": { - "isp": { - "type": "object", - "properties": { - "sea_level": { - "type": "integer", - "format": "int32", - "description": "The Isp at sea level.", - "title": "Sea Level" - }, - "vacuum": { - "type": "integer", - "format": "int32", - "description": "The vacuum at sea level.", - "title": "Vacuum" - } - }, - "description": "The specific impulse.", - "title": "Isp" - }, - "thrust_sea_level": { - "type": "object", - "properties": { - "kN": { - "type": "integer", - "format": "int32", - "description": "The thrust in kilogram newtons.", - "title": "Thurst kN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The thrust in pounds of force.", - "title": "Thurst Lbf" - } - }, - "description": "The thrust at sea level.", - "title": "Thrust Sea Level" - }, - "thrust_vacuum": { - "type": "object", - "properties": { - "kN": { - "type": "integer", - "format": "int32", - "description": "The thrust in kilogram newtons.", - "title": "Thurst kN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The thrust in pounds of force.", - "title": "Thurst Lbf" - } - }, - "description": "The thrust vacuum.", - "title": "Thrust Vacuum" - }, - "number": { - "type": "integer", - "format": "int32", - "description": "The number.", - "title": "Number" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "version": { - "type": "string", - "description": "The version.", - "title": "Version" - }, - "layout": { - "type": "string", - "description": "The layout.", - "title": "Layout" - }, - "engine_loss_max": { - "type": "integer", - "description": "The engine loss maximum.", - "title": "Engine Loss Maximum" - }, - "propellant_1": { - "type": "string", - "description": "The propellant 1.", - "title": "Propellant 1" - }, - "propellant_2": { - "type": "string", - "description": "The propellant 2.", - "title": "Propellant 2" - }, - "thrust_to_weight": { - "type": "integer", - "format": "int32", - "description": "The thrust to weight ratio.", - "title": "Thrust to Weight" - } - }, - "description": "The engines.", - "title": "Engines" - }, - "landing_legs": { - "type": "object", - "properties": { - "number": { - "type": "integer", - "format": "int32", - "description": "The number of landing legs.", - "title": "Number" - }, - "material": { - "type": "string", - "description": "The landing legs material.", - "title": "material" - } - }, - "description": "The landing legs.", - "title": "Landing Legs" - }, - "payload_weights": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The item ID.", - "title": "ID" - }, - "name": { - "type": "string", - "description": "The item name.", - "title": "Name" - }, - "kg": { - "type": "integer", - "format": "int32", - "description": "The weight in kilograms.", - "title": "Kg" - }, - "lb": { - "type": "integer", - "format": "int32", - "description": "The weight in pounds.", - "title": "Lb" - } - } - }, - "description": "The payload weights.", - "title": "Payload Weights" - }, - "flickr_images": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The Flickr image links.", - "title": "Flickr Images" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "active": { - "type": "boolean", - "description": "Whether active.", - "title": "Active" - }, - "stages": { - "type": "integer", - "format": "int32", - "description": "The stages.", - "title": "Stages" - }, - "boosters": { - "type": "integer", - "format": "int32", - "description": "The boosters.", - "title": "Boosters" - }, - "cost_per_launch": { - "type": "integer", - "format": "int32", - "description": "The cost per launch.", - "title": "Cost Per Launch" - }, - "success_rate_pct": { - "type": "integer", - "format": "int32", - "description": "The success rate percentage.", - "title": "Success Rate PCT" - }, - "first_flight": { - "type": "string", - "description": "The first flight.", - "title": "First Flight" - }, - "country": { - "type": "string", - "description": "The country.", - "title": "Country" - }, - "company": { - "type": "string", - "description": "The company.", - "title": "Company" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia address.", - "title": "Wikipedia" - }, - "description": { - "type": "string", - "description": "The description.", - "title": "Description" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - } - }, - "/v4/rockets/{id}": { - "get": { - "summary": "Get a rocket", - "description": "Detailed info about a rocket.", - "operationId": "GetARocket", + }, + "patch": { + "summary": "Update candidate", + "description": "Updates an existing candidate.", + "operationId": "Candidate_UpdateCandidate", + "x-ms-summary": "Update candidate", "parameters": [ { - "name": "id", + "name": "candidateId", "in": "path", - "x-ms-url-encoding": "single", "required": true, "type": "string", - "description": "The ID of the rocket.", - "x-ms-summary": "Rocket ID" - } - ], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "height": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The height in meters", - "title": "Meters" - }, - "feet": { - "type": "integer", - "format": "int32", - "description": "The height in feet.", - "title": "Feet" - } - }, - "description": "The height.", - "title": "Height" - }, - "diameter": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The height in meters", - "title": "Meters" - }, - "feet": { - "type": "integer", - "format": "int32", - "description": "The height in feet.", - "title": "Feet" - } - }, - "description": "The diameter.", - "title": "Diameter" - }, - "mass": { - "type": "object", - "properties": { - "kg": { - "type": "integer", - "format": "int32", - "description": "The mass in kilograms.", - "title": "Kg" - }, - "lb": { - "type": "integer", - "format": "int32", - "description": "The mass in pounds.", - "title": "Lb" - } - }, - "description": "The mass.", - "title": "Mass" - }, - "first_stage": { - "type": "object", - "properties": { - "thrust_sea_level": { - "type": "object", - "properties": { - "kN": { - "type": "integer", - "format": "int32", - "description": "The kilonewtons.", - "title": "KN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The pounds of force.", - "title": "Lbf" - } - }, - "description": "The thrust at sea level.", - "title": "Thrust Sea Level" - }, - "thrust_vacuum": { - "type": "object", - "properties": { - "kN": { - "type": "integer", - "format": "int32", - "description": "The kilonewtons.", - "title": "KN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The pounds of force.", - "title": "Lbf" - } - }, - "description": "The thrust vacuum.", - "title": "Thrust Vacuum" - }, - "reusable": { - "type": "boolean", - "description": "Whether reusable.", - "title": "Reusable" - }, - "engines": { - "type": "integer", - "format": "int32", - "description": "The number of engines.", - "title": "Engines" - }, - "fuel_amount_tons": { - "type": "number", - "description": "The fuel amount in tons.", - "title": "Fuel Amount Tons" - }, - "burn_time_sec": { - "type": "integer", - "description": "The burn time in seconds.", - "title": "Burn Time Seconds" - } - }, - "description": "The first stage.", - "title": "First Stage" - }, - "second_stage": { - "type": "object", - "properties": { - "thrust": { - "type": "object", - "properties": { - "kN": { - "type": "integer", - "format": "int32", - "description": "The kilonewtons.", - "title": "KN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The pounds of force.", - "title": "Lbf" - } - }, - "description": "The thrust.", - "title": "Thrust" - }, - "payloads": { - "type": "object", - "properties": { - "composite_fairing": { - "type": "object", - "properties": { - "height": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The height in meters.", - "title": "Meters" - }, - "feet": { - "type": "string", - "description": "The height in feet.", - "title": "Feet" - } - }, - "description": "The height.", - "title": "Height" - }, - "diameter": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The diamter in meters.", - "title": "Meters" - }, - "feet": { - "type": "string", - "description": "The diameter in feet.", - "title": "Feet" - } - }, - "description": "The diameter.", - "title": "Diameter" - } - }, - "description": "The composite fairing.", - "title": "Composite Fairing" - }, - "option_1": { - "type": "string", - "description": "Option 1", - "title": "Option 1" - } - }, - "description": "The payloads.", - "title": "Payloads" - }, - "reusable": { - "type": "boolean", - "description": "Whether reusable.", - "title": "Reusable" - }, - "engines": { - "type": "integer", - "format": "int32", - "description": "The number of engines.", - "title": "Engines" - }, - "fuel_amount_tons": { - "type": "number", - "description": "The fuel amount in tons.", - "title": "Fuel Amount Tons" - }, - "burn_time_sec": { - "type": "integer", - "description": "The burn time in seconds.", - "title": "Burn Time Seconds" - } - }, - "description": "The second stage.", - "title": "Second Stage" - }, - "engines": { - "type": "object", - "properties": { - "isp": { - "type": "object", - "properties": { - "sea_level": { - "type": "integer", - "format": "int32", - "description": "The Isp at sea level.", - "title": "Sea Level" - }, - "vacuum": { - "type": "integer", - "format": "int32", - "description": "The Isp vacuum.", - "title": "Vacuum" - } - }, - "description": "The Isp.", - "title": "Isp" - }, - "thrust_sea_level": { - "type": "object", - "properties": { - "kN": { - "type": "integer", - "format": "int32", - "description": "The thrust at sea level in kilonewtons.", - "title": "KN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The thrust at sea level in pounds of force.", - "title": "Lbf" - } - }, - "description": "The thrust at sea level.", - "title": "Thrust Sea Level" - }, - "thrust_vacuum": { - "type": "object", - "properties": { - "kN": { - "type": "integer", - "format": "int32", - "description": "The thrust vacuum in kilonewtons.", - "title": "KN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The thrust vacuum in pounds of force.", - "title": "Lbf" - } - }, - "description": "The thrust vacuum.", - "title": "Thrust Vacuum" - }, - "number": { - "type": "integer", - "format": "int32", - "description": "The number.", - "title": "Number" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "version": { - "type": "string", - "description": "The version.", - "title": "Version" - }, - "layout": { - "type": "string", - "description": "The layout.", - "title": "Layout" - }, - "engine_loss_max": { - "type": "integer", - "description": "The engine loss maximum.", - "title": "Engine Loss Maximum" - }, - "propellant_1": { - "type": "string", - "description": "The propellant 1.", - "title": "Propellant 1" - }, - "propellant_2": { - "type": "string", - "description": "The propellant 2.", - "title": "Propellant 2" - }, - "thrust_to_weight": { - "type": "integer", - "format": "int32", - "description": "The thrust to weight.", - "title": "Thrust to Weight" - } - }, - "description": "The engines.", - "title": "Engines" - }, - "landing_legs": { - "type": "object", - "properties": { - "number": { - "type": "integer", - "format": "int32", - "description": "The number of landing legs.", - "title": "Number" - }, - "material": { - "type": "string", - "description": "The material.", - "title": "Material" - } - }, - "description": "The landing legs.", - "title": "Landing Legs" - }, - "payload_weights": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "kg": { - "type": "integer", - "format": "int32", - "description": "The mass in kilograms.", - "title": "Kg" - }, - "lb": { - "type": "integer", - "format": "int32", - "description": "The mass in pounds", - "title": "Lb" - } - } - }, - "description": "The payload weights.", - "title": "Payload Weights" - }, - "flickr_images": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Flickr image links.", - "title": "Flickr Images" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "active": { - "type": "boolean", - "description": "Whether active.", - "title": "Active" - }, - "stages": { - "type": "integer", - "format": "int32", - "description": "The number of stages.", - "title": "Stages" - }, - "boosters": { - "type": "integer", - "format": "int32", - "description": "The number of boosters.", - "title": "Boosters" - }, - "cost_per_launch": { - "type": "integer", - "format": "int32", - "description": "The cost per launch.", - "title": "Cost Per Launch" - }, - "success_rate_pct": { - "type": "integer", - "format": "int32", - "description": "The success rate PCT.", - "title": "Success Rate PCT" - }, - "first_flight": { - "type": "string", - "description": "The first flight.", - "title": "First Flight" - }, - "country": { - "type": "string", - "description": "The country.", - "title": "Country" - }, - "company": { - "type": "string", - "description": "The company.", - "title": "Company" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia address.", - "title": "Wikipedia" - }, - "description": { - "type": "string", - "description": "The description.", - "title": "Description" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - }, - "/v4/rockets/query": { - "post": { - "parameters": [ + "x-ms-summary": "Candidate id" + }, { "name": "body", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "query": { - "type": "object", - "properties": {}, - "description": "Accepts any valid MongoDB find() query.", - "title": "Query" - }, - "options": { - "type": "object", - "properties": { - "select": { - "type": "string", - "description": "Fields to return (by default returns all fields).", - "title": "Select" - }, - "collation": { - "type": "object", - "properties": {}, - "description": "Specify the collation", - "title": "collation" - }, - "sort": { - "type": "string", - "description": "Sort order.", - "title": "Sort" - }, - "populate": { - "type": "array", - "items": {}, - "description": "Paths which should be populated with other documents.", - "title": "Populate" - }, - "projection": { - "type": "string", - "description": "Get/set the query projection.", - "title": "Projection" - }, - "lean": { - "type": "boolean", - "description": "Should return plain javascript objects instead of Mongoose documents.", - "title": "Lean" - }, - "leanWithId": { - "type": "boolean", - "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", - "title": "Lean With Id" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Use offset or page to set skip position.", - "title": "Offset" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The page number.", - "title": "Page" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The limit per page.", - "title": "Limit" - }, - "customLabels": { - "type": "object", - "properties": {}, - "description": "Developers can provide custom labels for manipulating the response data.", - "title": "Custom Labels" - }, - "pagination": { - "type": "boolean", - "description": "If pagination is set to false it will return all docs without adding limit condition.", - "title": "Pagination" - }, - "useEstimatedCount": { - "type": "boolean", - "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", - "title": "Use Estimated Count" - }, - "useCustomCountFn": { - "type": "boolean", - "description": "Enable custom function for count datasets.", - "title": "Use Custom Count Function" - }, - "forceCountFn": { - "type": "boolean", - "description": "Set this to true if you need to support $geo queries.", - "title": "Force Count Function" - }, - "allowDiskUse": { - "type": "boolean", - "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", - "title": "Allow Disk Use" - }, - "options": { - "type": "object", - "properties": { - "pref": { - "type": "string", - "description": "A of the listed preference options or aliases.", - "title": "Preference" - }, - "tags": { - "type": "string", - "description": "Optional tags for this query (must be used with pref).", - "title": "Tags" - } - }, - "description": "Determines the MongoDB nodes from which to read.", - "title": "Options" - } - }, - "description": "Requested options", - "title": "Options" - } - } + "$ref": "#/definitions/CandidateRequest" } } ], - "summary": "Query rockets", - "description": "Detailed info about queried rockets.", - "operationId": "QueryRockets", "responses": { "200": { - "description": "default", + "description": "Candidate updated", "schema": { - "type": "object", - "properties": { - "docs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "height": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "description": "The height in meters.", - "title": "Meters" - }, - "feet": { - "type": "integer", - "format": "int32", - "description": "The height in feet.", - "title": "Feet" - } - }, - "description": "The height.", - "title": "Height" - }, - "diameter": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The height in meters.", - "title": "Meters" - }, - "feet": { - "type": "number", - "description": "The height in feet.", - "title": "Feet" - } - }, - "description": "The diameter.", - "title": "Diameter" - }, - "mass": { - "type": "object", - "properties": { - "kg": { - "type": "integer", - "format": "int32", - "description": "The mass in kilograms.", - "title": "Mass Kg" - }, - "lb": { - "type": "integer", - "format": "int32", - "description": "The mass in pounds.", - "title": "Mass Lb" - } - }, - "description": "The mass.", - "title": "Mass" - }, - "first_stage": { - "type": "object", - "properties": { - "thrust_sea_level": { - "type": "object", - "properties": { - "kN": { - "type": "number", - "format": "float", - "description": "The kilonewtons.", - "title": "KN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The pounds of force.", - "title": "Lbf" - } - }, - "description": "The thrust at sea level.", - "title": "Thrust Sea Level" - }, - "thrust_vacuum": { - "type": "object", - "properties": { - "kN": { - "type": "number", - "format": "float", - "description": "The kilonewtons.", - "title": "KN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The pounds of force.", - "title": "Lbf" - } - }, - "description": "The thrust vacuum.", - "title": "Thrust Vacuum" - }, - "reusable": { - "type": "boolean", - "description": "Whether reusable.", - "title": "Reusable" - }, - "engines": { - "type": "integer", - "format": "int32", - "description": "The engines.", - "title": "Engines" - }, - "fuel_amount_tons": { - "type": "number", - "description": "The fuel amount in tons.", - "title": "Fuel Amount Tons" - }, - "burn_time_sec": { - "type": "integer", - "description": "The burn time in seconds.", - "title": "Burn Time Seconds" - } - }, - "description": "The first stage.", - "title": "First Stage" - }, - "second_stage": { - "type": "object", - "properties": { - "thrust": { - "type": "object", - "properties": { - "kN": { - "type": "number", - "format": "float", - "description": "The kilonewtons.", - "title": "KN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The pounds of force.", - "title": "Lbf" - } - }, - "description": "The thrust.", - "title": "Thrust" - }, - "payloads": { - "type": "object", - "properties": { - "composite_fairing": { - "type": "object", - "properties": { - "height": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The height in meters.", - "title": "Meters" - }, - "feet": { - "type": "string", - "description": "The height in feet.", - "title": "Feet" - } - }, - "description": "The height.", - "title": "Height" - }, - "diameter": { - "type": "object", - "properties": { - "meters": { - "type": "number", - "format": "float", - "description": "The diameter in meters.", - "title": "Meters" - }, - "feet": { - "type": "string", - "description": "The diameter in feet.", - "title": "Feet" - } - }, - "description": "The diameter.", - "title": "Diameter" - } - }, - "description": "The composite fairing.", - "title": "Composite Fairing" - }, - "option_1": { - "type": "string", - "description": "The option 1.", - "title": "Option 1" - } - }, - "description": "The payloads.", - "title": "Payloads" - }, - "reusable": { - "type": "boolean", - "description": "Whether reusable.", - "title": "Reusable" - }, - "engines": { - "type": "integer", - "format": "int32", - "description": "The engines.", - "title": "Engines" - }, - "fuel_amount_tons": { - "type": "number", - "description": "The fuel amount in tons.", - "title": "Fuel Amount Tons" - }, - "burn_time_sec": { - "type": "integer", - "description": "The burn time in seconds.", - "title": "Burn Time Seconds" - } - }, - "description": "The second stage.", - "title": "Second Stage" - }, - "engines": { - "type": "object", - "properties": { - "isp": { - "type": "object", - "properties": { - "sea_level": { - "type": "integer", - "format": "int32", - "description": "The Isp at sea level.", - "title": "Sea Level" - }, - "vacuum": { - "type": "integer", - "format": "int32", - "description": "The vacuum at sea level.", - "title": "Vacuum" - } - }, - "description": "The Isp.", - "title": "Isp" - }, - "thrust_sea_level": { - "type": "object", - "properties": { - "kN": { - "type": "number", - "format": "float", - "description": "The kilonewtons.", - "title": "KN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The pounds of force.", - "title": "Lbf" - } - }, - "description": "The thrust at sea level.", - "title": "Thrust Sea Level" - }, - "thrust_vacuum": { - "type": "object", - "properties": { - "kN": { - "type": "number", - "format": "float", - "description": "The kilonewtons.", - "title": "KN" - }, - "lbf": { - "type": "integer", - "format": "int32", - "description": "The pounds of force.", - "title": "Lbf" - } - }, - "description": "The thrust vacuum.", - "title": "Thrust Vacuum" - }, - "number": { - "type": "integer", - "format": "int32", - "description": "The number.", - "title": "Number" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "version": { - "type": "string", - "description": "The version", - "title": "Version" - }, - "layout": { - "type": "string", - "description": "The layout.", - "title": "Layout" - }, - "engine_loss_max": { - "type": "integer", - "description": "The engine loss maximum.", - "title": "Engine Loss Maximum" - }, - "propellant_1": { - "type": "string", - "description": "The propellant 1.", - "title": "Propellant 1" - }, - "propellant_2": { - "type": "string", - "description": "The propellant 2.", - "title": "Propellant 2" - }, - "thrust_to_weight": { - "type": "integer", - "format": "int32", - "description": "The thrust to weight.", - "title": "Thrust to Weight" - } - }, - "description": "The engines", - "title": "Engines" - }, - "landing_legs": { - "type": "object", - "properties": { - "number": { - "type": "integer", - "format": "int32", - "description": "The number of landing legs.", - "title": "Number" - }, - "material": { - "type": "string", - "description": "The material type.", - "title": "Material" - } - }, - "description": "The landing legs.", - "title": "Landing Legs" - }, - "payload_weights": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "The ID.", - "title": "ID" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "name" - }, - "kg": { - "type": "integer", - "format": "int32", - "description": "The weight in kilograms.", - "title": "Kg" - }, - "lb": { - "type": "integer", - "format": "int32", - "description": "The weight in pounds.", - "title": "Lb" - } - } - }, - "description": "The payload weights.", - "title": "Payload Weights" - }, - "flickr_images": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The Flickr images links.", - "title": "Flickr Images" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "active": { - "type": "boolean", - "description": "Whether active", - "title": "Active" - }, - "stages": { - "type": "integer", - "format": "int32", - "description": "The number of stages.", - "title": "Stages" - }, - "boosters": { - "type": "integer", - "format": "int32", - "description": "The number of boosters.", - "title": "Boosters" - }, - "cost_per_launch": { - "type": "integer", - "format": "int32", - "description": "The cost per launch.", - "title": "Cost Per Launch" - }, - "success_rate_pct": { - "type": "integer", - "format": "int32", - "description": "The success rate percentage.", - "title": "Success Rate PCT" - }, - "first_flight": { - "type": "string", - "description": "The first flight.", - "title": "First Flight" - }, - "country": { - "type": "string", - "description": "The country.", - "title": "Country" - }, - "company": { - "type": "string", - "description": "The company.", - "title": "Company" - }, - "wikipedia": { - "type": "string", - "description": "The Wikipedia link.", - "title": "Wikipedia" - }, - "description": { - "type": "string", - "description": "The description.", - "title": "Description" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - }, - "description": "The documentation.", - "title": "Docs" - }, - "totalDocs": { - "type": "integer", - "format": "int32", - "description": "The total number of documentations.", - "title": "Total Docs" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The response offset.", - "title": "Offset" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The response limit.", - "title": "Limit" - }, - "totalPages": { - "type": "integer", - "format": "int32", - "description": "The total number of pages.", - "title": "Total Pages" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The current page.", - "title": "Page" - }, - "pagingCounter": { - "type": "integer", - "format": "int32", - "description": "The paging counter.", - "title": "Paging Counter" - }, - "hasPrevPage": { - "type": "boolean", - "description": "Whether has previous page.", - "title": "Has Previous Page" - }, - "hasNextPage": { - "type": "boolean", - "description": "Whether has next page.", - "title": "Has Next Page" - }, - "prevPage": { - "type": "string", - "description": "The previous page.", - "title": "Previous Page" - }, - "nextPage": { - "type": "string", - "description": "The next page.", - "title": "Next Page" - } - } + "$ref": "#/definitions/CandidateResponse" } } } } }, - "/v4/ships": { + "/api/v1/picklists/{picklistId}": { "get": { - "summary": "Get all ships", - "description": "Detailed info about all ships in the SpaceX fleet.", - "operationId": "GetAllShips", - "parameters": [], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "last_ais_update": { - "type": "string", - "description": "The last AIS update.", - "title": "Last AIS Update" - }, - "legacy_id": { - "type": "string", - "description": "The legacy ID.", - "title": "Legacy ID" - }, - "model": { - "type": "string", - "description": "The model.", - "title": "Model" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The roles.", - "title": "Roles" - }, - "imo": { - "type": "integer", - "format": "int32", - "description": "The International Maritime Organization number.", - "title": "IMO" - }, - "mmsi": { - "type": "integer", - "format": "int32", - "description": "The Maritime Mobile Service Identity number.", - "title": "MMSI" - }, - "abs": { - "type": "integer", - "format": "int32", - "description": "The number of autonomous spaceport drone ships.", - "title": "ABS" - }, - "class": { - "type": "integer", - "format": "int32", - "description": "The class number.", - "title": "Class" - }, - "mass_kg": { - "type": "integer", - "format": "int32", - "description": "The mass in kilograms.", - "title": "Mass Kg" - }, - "mass_lbs": { - "type": "integer", - "format": "int32", - "description": "The mass in pounds.", - "title": "Mass Lbs" - }, - "year_built": { - "type": "integer", - "format": "int32", - "description": "The year built.", - "title": "Year Built" - }, - "home_port": { - "type": "string", - "description": "The home port.", - "title": "Home Port" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "speed_kn": { - "type": "string", - "description": "The speed in KN.", - "title": "Speed KN" - }, - "course_deg": { - "type": "string", - "description": "The course in degrees.", - "title": "Course Degrees" - }, - "latitude": { - "type": "number", - "description": "The latitude.", - "title": "Latitude" - }, - "longitude": { - "type": "number", - "description": "The longitude.", - "title": "Longitude" - }, - "link": { - "type": "string", - "description": "The link.", - "title": "Link" - }, - "image": { - "type": "string", - "description": "An image.", - "title": "image" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "active": { - "type": "boolean", - "description": "Whether active.", - "title": "Active" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - } - }, - "/v4/ships/{id}": { - "get": { - "summary": "Get a ship", - "description": "Detailed info about a ship in the SpaceX fleet.", - "operationId": "GetAShip", + "summary": "Get picklist values", + "description": "Returns all values for the given picklist id.", + "operationId": "Picklist_GetPicklist", + "x-ms-summary": "Get picklist values", "parameters": [ { - "name": "id", + "name": "picklistId", "in": "path", - "x-ms-url-encoding": "single", "required": true, "type": "string", - "description": "The ID of the ship.", - "x-ms-summary": "Ship ID" - } - ], - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "last_ais_update": { - "type": "string", - "description": "The last AIS update.", - "title": "Last AIS Update" - }, - "legacy_id": { - "type": "string", - "description": "The legacy ID.", - "title": "Legacy ID" - }, - "model": { - "type": "string", - "description": "The model", - "title": "Model" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The roles.", - "title": "Roles" - }, - "imo": { - "type": "integer", - "format": "int32", - "description": "The International Maritime Organization number", - "title": "IMO" - }, - "mmsi": { - "type": "integer", - "format": "int32", - "description": "The Maritime Mobile Service Identity number.", - "title": "MMSI" - }, - "abs": { - "type": "string", - "description": "The autonomous spaceport drone ship.", - "title": "ABS" - }, - "class": { - "type": "string", - "description": "The class.", - "title": "Class" - }, - "mass_kg": { - "type": "integer", - "format": "int32", - "description": "The mass in kilograms.", - "title": "Mass Kg" - }, - "mass_lbs": { - "type": "integer", - "format": "int32", - "description": "The mass in pounds.", - "title": "Mass Lbs" - }, - "year_built": { - "type": "integer", - "format": "int32", - "description": "The year built.", - "title": "Year Built" - }, - "home_port": { - "type": "string", - "description": "The home port.", - "title": "Home Port" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "speed_kn": { - "type": "string", - "description": "The speed in KN.", - "title": "Speed KN" - }, - "course_deg": { - "type": "string", - "description": "The course in degrees.", - "title": "Course Degrees" - }, - "latitude": { - "type": "number", - "description": "The latitude.", - "title": "Latitude" - }, - "longitude": { - "type": "number", - "description": "The longitude.", - "title": "Longitude" - }, - "link": { - "type": "string", - "description": "The link.", - "title": "Link" - }, - "image": { - "type": "string", - "description": "Image.", - "title": "Image" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "active": { - "type": "boolean", - "description": "Whether active.", - "title": "Active" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - } - } - } - } - }, - "/v4/ships/query": { - "post": { - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "query": { - "type": "object", - "properties": {}, - "description": "Accepts any valid MongoDB find() query.", - "title": "Query" - }, - "options": { - "type": "object", - "properties": { - "select": { - "type": "string", - "description": "Fields to return (by default returns all fields).", - "title": "Select" - }, - "collation": { - "type": "object", - "properties": {}, - "description": "Specify the collation", - "title": "collation" - }, - "sort": { - "type": "string", - "description": "Sort order.", - "title": "Sort" - }, - "populate": { - "type": "array", - "items": {}, - "description": "Paths which should be populated with other documents.", - "title": "Populate" - }, - "projection": { - "type": "string", - "description": "Get/set the query projection.", - "title": "Projection" - }, - "lean": { - "type": "boolean", - "description": "Should return plain javascript objects instead of Mongoose documents.", - "title": "Lean" - }, - "leanWithId": { - "type": "boolean", - "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", - "title": "Lean With Id" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Use offset or page to set skip position.", - "title": "Offset" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The page number.", - "title": "Page" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The limit per page.", - "title": "Limit" - }, - "customLabels": { - "type": "object", - "properties": {}, - "description": "Developers can provide custom labels for manipulating the response data.", - "title": "Custom Labels" - }, - "pagination": { - "type": "boolean", - "description": "If pagination is set to false it will return all docs without adding limit condition.", - "title": "Pagination" - }, - "useEstimatedCount": { - "type": "boolean", - "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", - "title": "Use Estimated Count" - }, - "useCustomCountFn": { - "type": "boolean", - "description": "Enable custom function for count datasets.", - "title": "Use Custom Count Function" - }, - "forceCountFn": { - "type": "boolean", - "description": "Set this to true if you need to support $geo queries.", - "title": "Force Count Function" - }, - "allowDiskUse": { - "type": "boolean", - "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", - "title": "Allow Disk Use" - }, - "options": { - "type": "object", - "properties": { - "pref": { - "type": "string", - "description": "A of the listed preference options or aliases.", - "title": "Preference" - }, - "tags": { - "type": "string", - "description": "Optional tags for this query (must be used with pref).", - "title": "Tags" - } - }, - "description": "Determines the MongoDB nodes from which to read.", - "title": "Options" - } - }, - "description": "Requested options", - "title": "Options" - } - } - } + "x-ms-summary": "Picklist id" } ], - "summary": "Query ships", - "description": "Detailed info about queried ships in the SpaceX fleet.", - "operationId": "QueryShips", - "responses": { - "200": { - "description": "default", - "schema": { - "type": "object", - "properties": { - "docs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "last_ais_update": { - "type": "string", - "description": "The last AIS update.", - "title": "Last AIS Update" - }, - "legacy_id": { - "type": "string", - "description": "", - "title": "Legacy ID" - }, - "model": { - "type": "string", - "description": "The model.", - "title": "Model" - }, - "type": { - "type": "string", - "description": "The type.", - "title": "Type" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The roles.", - "title": "Roles" - }, - "imo": { - "type": "integer", - "format": "int32", - "description": "The International Maritime Organization number.", - "title": "IMO" - }, - "mmsi": { - "type": "integer", - "format": "int32", - "description": "The Maritime Mobile Service Identity number.", - "title": "MMSI" - }, - "abs": { - "type": "integer", - "format": "int32", - "description": "The autonomous spaceport drone ship number.", - "title": "ABS" - }, - "class": { - "type": "integer", - "format": "int32", - "description": "The class.", - "title": "Class" - }, - "mass_kg": { - "type": "integer", - "format": "int32", - "description": "The mass in kilograms.", - "title": "Mass Kg" - }, - "mass_lbs": { - "type": "integer", - "format": "int32", - "description": "The mass in pounds.", - "title": "Mass Lbs" - }, - "year_built": { - "type": "integer", - "format": "int32", - "description": "The year built.", - "title": "Year Built" - }, - "home_port": { - "type": "string", - "description": "The home port.", - "title": "Home Port" - }, - "status": { - "type": "string", - "description": "The current status.", - "title": "Status" - }, - "speed_kn": { - "type": "string", - "description": "The speed in KN.", - "title": "Speed KN" - }, - "course_deg": { - "type": "string", - "description": "The course in degrees.", - "title": "Course Degrees" - }, - "latitude": { - "type": "number", - "description": "The latitude.", - "title": "Latitude" - }, - "longitude": { - "type": "number", - "description": "The longitude.", - "title": "Longitude" - }, - "link": { - "type": "string", - "description": "The link.", - "title": "Link" - }, - "image": { - "type": "string", - "description": "An image.", - "title": "Image" - }, - "name": { - "type": "string", - "description": "The name.", - "title": "Name" - }, - "active": { - "type": "boolean", - "description": "Whether active", - "title": "Active" - }, - "launches": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The launch identifiers.", - "title": "Launches" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - }, - "description": "The documentation.", - "title": "Docs" - }, - "totalDocs": { - "type": "integer", - "format": "int32", - "description": "The total number of documentations.", - "title": "Total Docs" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The response offset.", - "title": "Offset" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The response limit.", - "title": "Limit" - }, - "totalPages": { - "type": "integer", - "format": "int32", - "description": "The total number of pages.", - "title": "Total Pages" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The current page.", - "title": "Page" - }, - "pagingCounter": { - "type": "integer", - "format": "int32", - "description": "The paging counter.", - "title": "Paging Counter" - }, - "hasPrevPage": { - "type": "boolean", - "description": "Whether has previous page.", - "title": "Has Previous Page" - }, - "hasNextPage": { - "type": "boolean", - "description": "Whether has next page.", - "title": "Has Next Page" - }, - "prevPage": { - "type": "string", - "description": "The previous page.", - "title": "Previous Page" - }, - "nextPage": { - "type": "integer", - "format": "int32", - "description": "The next page.", - "title": "Next Page" - } - } - } - } - } - } - }, - "/v4/starlink": { - "get": { - "summary": "Get all Starlink sats", - "description": "Detailed info about all Starlink satellites and orbits.", - "operationId": "GetAllStarlinkSats", - "parameters": [], "responses": { "200": { - "description": "default", + "description": "Picklist values", "schema": { "type": "array", "items": { - "type": "object", - "properties": { - "spaceTrack": { - "type": "object", - "properties": { - "CCSDS_OMM_VERS": { - "type": "string", - "description": "The Consultative Committee for Space Data Systems Orbit Mean-Elements Message version.", - "title": "CCSDS OMM Version" - }, - "COMMENT": { - "type": "string", - "description": "The comment", - "title": "Comment" - }, - "CREATION_DATE": { - "type": "string", - "description": "The creation date.", - "title": "Creation Date" - }, - "ORIGINATOR": { - "type": "string", - "description": "The originator.", - "title": "Originator" - }, - "OBJECT_NAME": { - "type": "string", - "description": "The object name.", - "title": "Object Name" - }, - "OBJECT_ID": { - "type": "string", - "description": "The object ID.", - "title": "Object ID" - }, - "CENTER_NAME": { - "type": "string", - "description": "The center name.", - "title": "Center Name" - }, - "REF_FRAME": { - "type": "string", - "description": "The refernece frame.", - "title": "Reference Frame" - }, - "TIME_SYSTEM": { - "type": "string", - "description": "The time system.", - "title": "Time System" - }, - "MEAN_ELEMENT_THEORY": { - "type": "string", - "description": "The mean element theory.", - "title": "Mean Element Theory" - }, - "EPOCH": { - "type": "string", - "description": "The epoch", - "title": "Epoch" - }, - "MEAN_MOTION": { - "type": "number", - "format": "float", - "description": "The mean motion.", - "title": "Mean Motion" - }, - "ECCENTRICITY": { - "type": "number", - "format": "float", - "description": "The excentricity.", - "title": "Eccentricity" - }, - "INCLINATION": { - "type": "number", - "format": "float", - "description": "The inclination.", - "title": "Inclination" - }, - "RA_OF_ASC_NODE": { - "type": "number", - "format": "float", - "description": "The RA of ASC node.", - "title": "RA of ASC Node" - }, - "ARG_OF_PERICENTER": { - "type": "number", - "format": "float", - "description": "The argument of pericenter.", - "title": "Argument of Pericenter" - }, - "MEAN_ANOMALY": { - "type": "number", - "format": "float", - "description": "The mean anomaly.", - "title": "Mean Anomaly" - }, - "EPHEMERIS_TYPE": { - "type": "integer", - "format": "int32", - "description": "The ephemeris type.", - "title": "Ephemeris Type" - }, - "CLASSIFICATION_TYPE": { - "type": "string", - "description": "The classification type.", - "title": "Classification Type" - }, - "NORAD_CAT_ID": { - "type": "integer", - "format": "int32", - "description": "The NORAD catalog ID.", - "title": "NORAD Catalog ID" - }, - "ELEMENT_SET_NO": { - "type": "integer", - "format": "int32", - "description": "The number of element sets.", - "title": "ELEMENT_SET_NO" - }, - "REV_AT_EPOCH": { - "type": "integer", - "format": "int32", - "description": "The rev at epoch.", - "title": "Rev at Epoch" - }, - "BSTAR": { - "type": "number", - "format": "float", - "description": "The BSTAR.", - "title": "BSTAR" - }, - "MEAN_MOTION_DOT": { - "type": "number", - "format": "float", - "description": "The mean motion at DOT.", - "title": "Mean Motion DOT" - }, - "MEAN_MOTION_DDOT": { - "type": "integer", - "format": "int32", - "description": "The mean motion at DDOT.", - "title": "Mean Motion DDOT" - }, - "SEMIMAJOR_AXIS": { - "type": "number", - "format": "float", - "description": "The semimajor axis.", - "title": "Semimajor Axis" - }, - "PERIOD": { - "type": "number", - "format": "float", - "description": "The period.", - "title": "Period" - }, - "APOAPSIS": { - "type": "number", - "format": "float", - "description": "The apoapsis.", - "title": "Apoapsis" - }, - "PERIAPSIS": { - "type": "number", - "format": "float", - "description": "The periapsis.", - "title": "Periapsis" - }, - "OBJECT_TYPE": { - "type": "string", - "description": "The object type.", - "title": "Object Type" - }, - "RCS_SIZE": { - "type": "string", - "description": "The radar cross-section size.", - "title": "RCS Size" - }, - "COUNTRY_CODE": { - "type": "string", - "description": "The country code.", - "title": "Country Code" - }, - "LAUNCH_DATE": { - "type": "string", - "description": "The launch date.", - "title": "Launch Date" - }, - "SITE": { - "type": "string", - "description": "The SITE.", - "title": "SITE" - }, - "DECAY_DATE": { - "type": "string", - "description": "The decay date.", - "title": "Decay Date" - }, - "DECAYED": { - "type": "integer", - "format": "int32", - "description": "The decayed number.", - "title": "Decayed" - }, - "FILE": { - "type": "integer", - "format": "int32", - "description": "The file.", - "title": "File" - }, - "GP_ID": { - "type": "integer", - "format": "int32", - "description": "The GP ID.", - "title": "GP ID" - }, - "TLE_LINE0": { - "type": "string", - "description": "The TLE line 0.", - "title": "TLE Line 0" - }, - "TLE_LINE1": { - "type": "string", - "description": "The TLE line 1.", - "title": "TLE Line 1" - }, - "TLE_LINE2": { - "type": "string", - "description": "The TLE line 2.", - "title": "TLE Line 2" - } - }, - "description": "The space track.", - "title": "Space Track" - }, - "launch": { - "type": "string", - "description": "The launch.", - "title": "Launch" - }, - "version": { - "type": "string", - "description": "The version.", - "title": "Version" - }, - "height_km": { - "type": "number", - "format": "float", - "description": "The height in kilometers.", - "title": "Height KM" - }, - "latitude": { - "type": "number", - "format": "float", - "description": "The latitude.", - "title": "Latitude" - }, - "longitude": { - "type": "number", - "format": "float", - "description": "The longitude.", - "title": "Longitude" - }, - "velocity_kms": { - "type": "number", - "format": "float", - "description": "The velocity kilometers per second.", - "title": "Velocity KMS" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } + "$ref": "#/definitions/PicklistOption" } } } } } }, - "/v4/starlink/{id}": { + "/api/v1/metadata/entities/{entityName}/fields": { "get": { - "summary": "Get a Starlink sat", - "description": "Detailed info about a Starlink satellite and orbit.", - "operationId": "GetAStarlinkSat", + "summary": "Get entity fields", + "description": "Returns available field names for a SuccessFactors entity.", + "operationId": "Metadata_GetEntityFields", + "x-ms-summary": "Get entity fields", "parameters": [ { - "name": "id", + "name": "entityName", "in": "path", - "x-ms-url-encoding": "single", "required": true, "type": "string", - "description": "The ID of the Starlink.", - "x-ms-summary": "Starlink ID" + "x-ms-summary": "Entity name" } ], "responses": { "200": { - "description": "default", + "description": "Entity fields", "schema": { - "type": "object", - "properties": { - "spaceTrack": { - "type": "object", - "properties": { - "CCSDS_OMM_VERS": { - "type": "string", - "description": "The Consultative Committee for Space Data Systems Orbit Mean-Elements Message version.", - "title": "CCSDS OMM Version" - }, - "COMMENT": { - "type": "string", - "description": "The comment.", - "title": "Comment" - }, - "CREATION_DATE": { - "type": "string", - "description": "The creation date.", - "title": "Creation Date" - }, - "ORIGINATOR": { - "type": "string", - "description": "The originator.", - "title": "Originator" - }, - "OBJECT_NAME": { - "type": "string", - "description": "The object name.", - "title": "Object Name" - }, - "OBJECT_ID": { - "type": "string", - "description": "The object ID.", - "title": "Object ID" - }, - "CENTER_NAME": { - "type": "string", - "description": "The center name.", - "title": "Center Name" - }, - "REF_FRAME": { - "type": "string", - "description": "The reference frame.", - "title": "Reference Frame" - }, - "TIME_SYSTEM": { - "type": "string", - "description": "The time system.", - "title": "Time System" - }, - "MEAN_ELEMENT_THEORY": { - "type": "string", - "description": "The mean element theory.", - "title": "Mean Element Theory" - }, - "EPOCH": { - "type": "string", - "description": "The epoch.", - "title": "Epoch" - }, - "MEAN_MOTION": { - "type": "number", - "format": "float", - "description": "The mean motion.", - "title": "Mean Motion" - }, - "ECCENTRICITY": { - "type": "number", - "format": "float", - "description": "The eccentricity.", - "title": "Eccentricity" - }, - "INCLINATION": { - "type": "number", - "format": "float", - "description": "The inclination.", - "title": "Inclination" - }, - "RA_OF_ASC_NODE": { - "type": "number", - "format": "float", - "description": "The RA of ASC node.", - "title": "RA of ASC Node" - }, - "ARG_OF_PERICENTER": { - "type": "number", - "format": "float", - "description": "The argument of pericenter.", - "title": "Argument of Pericenter" - }, - "MEAN_ANOMALY": { - "type": "number", - "format": "float", - "description": "The mean anomaly.", - "title": "Mean Anomaly" - }, - "EPHEMERIS_TYPE": { - "type": "integer", - "format": "int32", - "description": "The ephemeris type.", - "title": "Ephemeris Type" - }, - "CLASSIFICATION_TYPE": { - "type": "string", - "description": "The classification type.", - "title": "Classification Type" - }, - "NORAD_CAT_ID": { - "type": "integer", - "format": "int32", - "description": "The NORAD catalog ID.", - "title": "NORAD Catalog ID" - }, - "ELEMENT_SET_NO": { - "type": "integer", - "format": "int32", - "description": "The number of element sets.", - "title": "ELEMENT_SET_NO" - }, - "REV_AT_EPOCH": { - "type": "integer", - "format": "int32", - "description": "The rev at epoch.", - "title": "Rev at Epoch" - }, - "BSTAR": { - "type": "number", - "format": "float", - "description": "The BSTAR.", - "title": "BSTAR" - }, - "MEAN_MOTION_DOT": { - "type": "number", - "format": "float", - "description": "The mean motion at DOT.", - "title": "Mean Motion DOT" - }, - "MEAN_MOTION_DDOT": { - "type": "integer", - "format": "int32", - "description": "The mean motion at DDOT.", - "title": "Mean Motion DDOT" - }, - "SEMIMAJOR_AXIS": { - "type": "number", - "format": "float", - "description": "The semimajor axis.", - "title": "Semimajor Axis" - }, - "PERIOD": { - "type": "number", - "format": "float", - "description": "The period.", - "title": "PERIOD" - }, - "APOAPSIS": { - "type": "number", - "format": "float", - "description": "The apoapsis.", - "title": "Apoapsis" - }, - "PERIAPSIS": { - "type": "number", - "format": "float", - "description": "The periapsis.", - "title": "Periapsis" - }, - "OBJECT_TYPE": { - "type": "string", - "description": "The object type.", - "title": "Object Type" - }, - "RCS_SIZE": { - "type": "string", - "description": "The radar cross-section size.", - "title": "RCS Size" - }, - "COUNTRY_CODE": { - "type": "string", - "description": "The country code.", - "title": "Country Code" - }, - "LAUNCH_DATE": { - "type": "string", - "description": "The launch date", - "title": "Launch Date" - }, - "SITE": { - "type": "string", - "description": "The site.", - "title": "SITE" - }, - "DECAY_DATE": { - "type": "string", - "description": "The decay date.", - "title": "Decay Date" - }, - "DECAYED": { - "type": "integer", - "format": "int32", - "description": "The decayed number.", - "title": "Decayed" - }, - "FILE": { - "type": "integer", - "format": "int32", - "description": "The file.", - "title": "File" - }, - "GP_ID": { - "type": "integer", - "format": "int32", - "description": "The GP ID.", - "title": "GP ID" - }, - "TLE_LINE0": { - "type": "string", - "description": "The TLE line 0.", - "title": "TLE Line 0" - }, - "TLE_LINE1": { - "type": "string", - "description": "The TLE line 1.", - "title": "TLE Line 1" - }, - "TLE_LINE2": { - "type": "string", - "description": "The TLE line 2.", - "title": "TLE Line 2" - } - }, - "description": "The space track.", - "title": "Space Track" - }, - "launch": { - "type": "string", - "description": "The launch.", - "title": "Launch" - }, - "version": { - "type": "string", - "description": "The version.", - "title": "Version" - }, - "height_km": { - "type": "number", - "format": "float", - "description": "The height in kilometers.", - "title": "Height KM" - }, - "latitude": { - "type": "number", - "format": "float", - "description": "The latitude.", - "title": "Latitude" - }, - "longitude": { - "type": "number", - "format": "float", - "description": "The longitude.", - "title": "Longitude" - }, - "velocity_kms": { - "type": "number", - "format": "float", - "description": "The velocity kilometers per second.", - "title": "Velocity KMS" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } + "$ref": "#/definitions/EntityFieldsResponse" } } } } }, - "/v4/starlink/query": { - "post": { - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "query": { - "type": "object", - "properties": {}, - "description": "Accepts any valid MongoDB find() query.", - "title": "Query" - }, - "options": { - "type": "object", - "properties": { - "select": { - "type": "string", - "description": "Fields to return (by default returns all fields).", - "title": "Select" - }, - "collation": { - "type": "object", - "properties": {}, - "description": "Specify the collation", - "title": "collation" - }, - "sort": { - "type": "string", - "description": "Sort order.", - "title": "Sort" - }, - "populate": { - "type": "array", - "items": {}, - "description": "Paths which should be populated with other documents.", - "title": "Populate" - }, - "projection": { - "type": "string", - "description": "Get/set the query projection.", - "title": "Projection" - }, - "lean": { - "type": "boolean", - "description": "Should return plain javascript objects instead of Mongoose documents.", - "title": "Lean" - }, - "leanWithId": { - "type": "boolean", - "description": "If lean and leanWithId are true adds id field with string representation of _id to every document.", - "title": "Lean With Id" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "Use offset or page to set skip position.", - "title": "Offset" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The page number.", - "title": "Page" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The limit per page.", - "title": "Limit" - }, - "customLabels": { - "type": "object", - "properties": {}, - "description": "Developers can provide custom labels for manipulating the response data.", - "title": "Custom Labels" - }, - "pagination": { - "type": "boolean", - "description": "If pagination is set to false it will return all docs without adding limit condition.", - "title": "Pagination" - }, - "useEstimatedCount": { - "type": "boolean", - "description": "Enable estimatedDocumentCount for larger datasets. Does not count based on given query so the count will match entire collection size.", - "title": "Use Estimated Count" - }, - "useCustomCountFn": { - "type": "boolean", - "description": "Enable custom function for count datasets.", - "title": "Use Custom Count Function" - }, - "forceCountFn": { - "type": "boolean", - "description": "Set this to true if you need to support $geo queries.", - "title": "Force Count Function" - }, - "allowDiskUse": { - "type": "boolean", - "description": "Set this to true which allows the MongoDB server to use more than 100 MB for query. This option can let you work around QueryExceededMemoryLimitNoDiskUseAllowed errors from the MongoDB server.", - "title": "Allow Disk Use" - }, - "options": { - "type": "object", - "properties": { - "pref": { - "type": "string", - "description": "A of the listed preference options or aliases.", - "title": "Preference" - }, - "tags": { - "type": "string", - "description": "Optional tags for this query (must be used with pref).", - "title": "Tags" - } - }, - "description": "Determines the MongoDB nodes from which to read.", - "title": "Options" - } - }, - "description": "Requested options", - "title": "Options" - } - } - } - } + "/api/v1/metadata/raw": { + "get": { + "summary": "Get raw metadata", + "description": "Returns raw EDMX metadata XML as text.", + "operationId": "Metadata_GetRawMetadata", + "x-ms-summary": "Get raw metadata", + "produces": [ + "application/xml", + "application/json" ], - "summary": "Query Starlink sats", - "description": "Detailed info about queried Starlink satellites and orbits.", - "operationId": "QueryStarlinkSats", "responses": { "200": { - "description": "default", + "description": "Raw metadata", "schema": { - "type": "object", - "properties": { - "docs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "spaceTrack": { - "type": "object", - "properties": { - "CCSDS_OMM_VERS": { - "type": "string", - "description": "The Consultative Committee for Space Data Systems Orbit Mean-Elements Message version.", - "title": "CCSDS OMM Version" - }, - "COMMENT": { - "type": "string", - "description": "The comment.", - "title": "Comment" - }, - "CREATION_DATE": { - "type": "string", - "description": "The creation date.", - "title": "Creation Date" - }, - "ORIGINATOR": { - "type": "string", - "description": "The originator.", - "title": "Originator" - }, - "OBJECT_NAME": { - "type": "string", - "description": "The object name.", - "title": "Object Name" - }, - "OBJECT_ID": { - "type": "string", - "description": "The object ID.", - "title": "Object ID" - }, - "CENTER_NAME": { - "type": "string", - "description": "The center name.", - "title": "Center Name" - }, - "REF_FRAME": { - "type": "string", - "description": "The reference frame.", - "title": "Reference Frame" - }, - "TIME_SYSTEM": { - "type": "string", - "description": "The time system.", - "title": "Time System" - }, - "MEAN_ELEMENT_THEORY": { - "type": "string", - "description": "The mean element theory.", - "title": "Mean Element Theory" - }, - "EPOCH": { - "type": "string", - "description": "The epoch.", - "title": "Epoch" - }, - "MEAN_MOTION": { - "type": "number", - "format": "float", - "description": "The mean motion.", - "title": "Mean Motion" - }, - "ECCENTRICITY": { - "type": "number", - "format": "float", - "description": "The eccentricity.", - "title": "Eccentricity" - }, - "INCLINATION": { - "type": "number", - "format": "float", - "description": "The inclination.", - "title": "Inclination" - }, - "RA_OF_ASC_NODE": { - "type": "number", - "format": "float", - "description": "he RA of ASC node.", - "title": "RA of ASC Node" - }, - "ARG_OF_PERICENTER": { - "type": "number", - "format": "float", - "description": "The argument of pericenter.", - "title": "Argument of Pericenter" - }, - "MEAN_ANOMALY": { - "type": "number", - "format": "float", - "description": "The mean anomaly.", - "title": "Mean Anomaly" - }, - "EPHEMERIS_TYPE": { - "type": "integer", - "format": "int32", - "description": "The ephemeris type.", - "title": "Ephemeris Type" - }, - "CLASSIFICATION_TYPE": { - "type": "string", - "description": "The classification type.", - "title": "Classification Type" - }, - "NORAD_CAT_ID": { - "type": "integer", - "format": "int32", - "description": "The NORAD catalog ID.", - "title": "NORAD Catalog ID" - }, - "ELEMENT_SET_NO": { - "type": "integer", - "format": "int32", - "description": "The element set number.", - "title": "ELEMENT_SET_NO" - }, - "REV_AT_EPOCH": { - "type": "integer", - "format": "int32", - "description": "The rev at epoch.", - "title": "Rev at Epoch" - }, - "BSTAR": { - "type": "number", - "format": "float", - "description": "The BSTAR.", - "title": "BSTAR" - }, - "MEAN_MOTION_DOT": { - "type": "number", - "format": "float", - "description": "The mean motion at DOT.", - "title": "Mean Motion DOT" - }, - "MEAN_MOTION_DDOT": { - "type": "number", - "format": "float", - "description": "The mean motion at DDOT.", - "title": "Mean Motion DDOT" - }, - "SEMIMAJOR_AXIS": { - "type": "number", - "format": "float", - "description": "The semimajor axis.", - "title": "Semimajor Axis" - }, - "PERIOD": { - "type": "number", - "format": "float", - "description": "The period.", - "title": "Period" - }, - "APOAPSIS": { - "type": "number", - "format": "float", - "description": "The apoapsis.", - "title": "Apoapsis" - }, - "PERIAPSIS": { - "type": "number", - "format": "float", - "description": "The periapsis.", - "title": "Periapsis" - }, - "OBJECT_TYPE": { - "type": "string", - "description": "The object type.", - "title": "Object Type" - }, - "RCS_SIZE": { - "type": "string", - "description": "The RCS size.", - "title": "RCS Size" - }, - "COUNTRY_CODE": { - "type": "string", - "description": "The country code.", - "title": "Country Code" - }, - "LAUNCH_DATE": { - "type": "string", - "description": "The launch date.", - "title": "Launch Date" - }, - "SITE": { - "type": "string", - "description": "The SITE.", - "title": "SITE" - }, - "DECAY_DATE": { - "type": "string", - "description": "The decay date.", - "title": "Decay Date" - }, - "DECAYED": { - "type": "integer", - "format": "int32", - "description": "The decayed.", - "title": "Decayed" - }, - "FILE": { - "type": "integer", - "format": "int32", - "description": "The file.", - "title": "File" - }, - "GP_ID": { - "type": "integer", - "format": "int32", - "description": "The GP ID.", - "title": "GP ID" - }, - "TLE_LINE0": { - "type": "string", - "description": "The TLE line 0.", - "title": "TLE Line 0" - }, - "TLE_LINE1": { - "type": "string", - "description": "The TLE line 1.", - "title": "TLE Line 1" - }, - "TLE_LINE2": { - "type": "string", - "description": "The TLE line 2.", - "title": "TLE Line 2" - } - }, - "description": "The space track.", - "title": "Space Track" - }, - "launch": { - "type": "string", - "description": "The launch.", - "title": "Launch" - }, - "version": { - "type": "string", - "description": "The version.", - "title": "Version" - }, - "height_km": { - "type": "string", - "description": "The height in kilometers.", - "title": "Height KM" - }, - "latitude": { - "type": "number", - "description": "The latitude.", - "title": "Latitude" - }, - "longitude": { - "type": "number", - "description": "The longitude.", - "title": "Longitude" - }, - "velocity_kms": { - "type": "string", - "description": "The veloity in kilometers per second.", - "title": "Velocity KMS" - }, - "id": { - "type": "string", - "description": "The identifier.", - "title": "ID" - } - } - }, - "description": "The documentation.", - "title": "Docs" - }, - "totalDocs": { - "type": "integer", - "format": "int32", - "description": "The total number of documentations.", - "title": "Total Docs" - }, - "offset": { - "type": "integer", - "format": "int32", - "description": "The response offset.", - "title": "Offset" - }, - "limit": { - "type": "integer", - "format": "int32", - "description": "The response limit.", - "title": "Limit" - }, - "totalPages": { - "type": "integer", - "format": "int32", - "description": "The total number of pages.", - "title": "Total Pages" - }, - "page": { - "type": "integer", - "format": "int32", - "description": "The current page.", - "title": "Page" - }, - "pagingCounter": { - "type": "integer", - "format": "int32", - "description": "The paging counter.", - "title": "Paging Counter" - }, - "hasPrevPage": { - "type": "boolean", - "description": "Whether has previous page.", - "title": "Has Previous Page" - }, - "hasNextPage": { - "type": "boolean", - "description": "Whether has next page.", - "title": "Has Next Page" - }, - "prevPage": { - "type": "string", - "description": "The previous page.", - "title": "Previous Page" - }, - "nextPage": { - "type": "integer", - "format": "int32", - "description": "The next page.", - "title": "Next Page" - } - } + "type": "string" } } } } } }, - "definitions": {}, - "parameters": {}, - "responses": {}, - "securityDefinitions": {}, - "security": [], - "tags": [], - "x-ms-connector-metadata": [ - { - "propertyName": "Website", - "propertyValue": "https://github.com/r-spacex/SpaceX-API" - }, - { - "propertyName": "Privacy policy", - "propertyValue": "https://github.com/r-spacex/SpaceX-API" - }, - { - "propertyName": "Categories", - "propertyValue": "Data" + "definitions": { + "PlanDto": { + "type": "object", + "required": [ + "id", + "name", + "requestQuota", + "pricePerMonth" + ], + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "name": { + "type": "string" + }, + "requestQuota": { + "type": "integer", + "format": "int32" + }, + "maxApiKeys": { + "type": "integer", + "format": "int32" + }, + "pricePerMonth": { + "type": "number", + "format": "double" + } + } + }, + "JobPostingListResponse": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/JobRequisition" + } + }, + "top": { + "type": "integer", + "format": "int32" + }, + "skip": { + "type": "integer", + "format": "int32" + } + } + }, + "JobRequisition": { + "type": "object", + "properties": { + "jobReqId": { + "type": "string" + }, + "jobReqLocale": { + "type": "string" + }, + "title": { + "type": "string" + }, + "templateType": { + "type": "string" + }, + "status": { + "type": "string" + } + } + }, + "JobApplicationListResponse": { + "type": "object", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/JobApplication" + } + }, + "count": { + "type": "integer", + "format": "int32" + }, + "top": { + "type": "integer", + "format": "int32" + }, + "skip": { + "type": "integer", + "format": "int32" + } + } + }, + "JobApplication": { + "type": "object", + "properties": { + "applicationId": { + "type": "string" + }, + "jobReqId": { + "type": "string" + }, + "status": { + "type": "string" + }, + "candidateId": { + "type": "string" + }, + "candidateNameLF": { + "type": "string" + }, + "applicationDate": { + "type": "string" + }, + "lastModifiedDate": { + "type": "string" + } + }, + "additionalProperties": true + }, + "CreateJobInterviewRequest": { + "type": "object", + "required": [ + "applicationId" + ], + "properties": { + "applicationId": { + "type": "string" + }, + "startDate": { + "type": "string", + "format": "date-time" + }, + "endDate": { + "type": "string", + "format": "date-time" + }, + "isTimeSet": { + "type": "boolean" + }, + "templateType": { + "type": "string" + }, + "source": { + "type": "string" + }, + "notes": { + "type": "string" + }, + "interviewerUserId": { + "type": "string" + } + } + }, + "CreateJobInterviewResponse": { + "type": "object", + "properties": { + "applicationId": { + "type": "string" + }, + "startDate": { + "type": "string", + "format": "date-time" + }, + "endDate": { + "type": "string", + "format": "date-time" + }, + "isTimeSet": { + "type": "boolean" + }, + "templateType": { + "type": "string" + }, + "source": { + "type": "string" + }, + "notes": { + "type": "string" + }, + "interviewerUserId": { + "type": "string" + } + } + }, + "CandidateRequest": { + "type": "object", + "required": [ + "firstName", + "lastName", + "country", + "primaryEmail" + ], + "properties": { + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "country": { + "type": "string" + }, + "primaryEmail": { + "type": "string", + "format": "email" + }, + "address": { + "type": "string" + }, + "cellPhone": { + "type": "string" + }, + "gender": { + "type": "string" + }, + "minAnnualSal": { + "type": "string" + }, + "city": { + "type": "string" + } + }, + "additionalProperties": true + }, + "CandidateResponse": { + "type": "object", + "properties": { + "candidateId": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "primaryEmail": { + "type": "string", + "format": "email" + }, + "country": { + "type": "string" + }, + "cellPhone": { + "type": "string" + }, + "gender": { + "type": "string" + }, + "minAnnualSal": { + "type": "string" + } + }, + "additionalProperties": true + }, + "PicklistOption": { + "type": "object", + "properties": { + "picklistId": { + "type": "string" + }, + "optionId": { + "type": "string" + }, + "externalCode": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "additionalProperties": true + }, + "EntityFieldsResponse": { + "type": "object", + "properties": { + "entityName": { + "type": "string" + }, + "fields": { + "type": "array", + "items": { + "type": "string" + } + }, + "count": { + "type": "integer", + "format": "int32" + } + } } - ] -} + } +} \ No newline at end of file diff --git a/independent-publisher-connectors/Sap Successfactors/apiProperties.json b/independent-publisher-connectors/Sap Successfactors/apiProperties.json index d7c6328e13..81e168af83 100644 --- a/independent-publisher-connectors/Sap Successfactors/apiProperties.json +++ b/independent-publisher-connectors/Sap Successfactors/apiProperties.json @@ -1,9 +1,41 @@ { "properties": { - "connectionParameters": {}, - "iconBrandColor": "#da3b01", - "capabilities": [], "publisher": "Sascha Bajonczak", - "stackOwner": "Sascha Bajonczak" + "stackOwner": "Sascha Bajonczak", + "connectionParameters": { + "token": { + "type": "oauthSetting", + "oAuthSettings": { + "identityProvider": "oauth2", + "clientId": "c6917df8-0049-46b5-8136-11b10d8d7e59", + "clientSecret": "DUMMY VALUE - REPLACE IN PRODUCTION", + "scopes": [ + "premiumconnector.read", + "premiumconnector.write" + ], + "redirectMode": "Global", + "redirectUrl": "https://global.consent.azure-apim.net/redirect", + "properties": { + "IsFirstParty": "False" + }, + "customParameters": { + "authorizationUrl": { + "value": "https://test-sf-premium-connector-api.realapps.org/oauth2/authorize" + }, + "tokenUrl": { + "value": "https://test-sf-premium-connector-api.realapps.org/oauth2/token" + }, + "refreshUrl": { + "value": "https://test-sf-premium-connector-api.realapps.org/oauth2/token" + } + } + } + } + }, + "iconBrandColor": "#0A66C2", + "capabilities": [ + "actions" + ], + "policyTemplateInstances": [] } } diff --git a/independent-publisher-connectors/Sap Successfactors/readme.md b/independent-publisher-connectors/Sap Successfactors/readme.md index 5cff8da6db..b8dedbbed8 100644 --- a/independent-publisher-connectors/Sap Successfactors/readme.md +++ b/independent-publisher-connectors/Sap Successfactors/readme.md @@ -1,97 +1,59 @@ -# r/SpaceX -r/SpaceX is an open source REST API for SpaceX launch, rocket, core, capsule, Starlink, launchpad, and landing pad data. r/SpaceX is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Space Exploration Technologies Corp (SpaceX), or any of its subsidiaries or its affiliates. The names SpaceX as well as related names, marks, emblems and images are registered trademarks of their respective owners. +# PremiumConnector SF +PremiumConnector SF is an connector for SAP SuccessFactors recruiting and metadata scenarios, exposed through the PremiumConnector API. It is designed for Microsoft Power Platform and can be imported as a custom connector. -## Publisher: Troy Taylor, Hitachi Solutions +PremiumConnector SF is not affiliated with, associated with, authorized by, endorsed by, or officially connected to SAP SE (including SAP SuccessFactors), Microsoft, or any of their affiliates. SAP, SuccessFactors, and related names are trademarks of their respective owners. + +## Publisher: Sascha Bajonczak ## Prerequisites -This API requires no authentication for all of the actions provided in this connector. All create, update, and delete endpoints are not included. The query actions support pagination, custom queries, and other output controls. See the [pagination + query guide](https://github.com/r-spacex/SpaceX-API/blob/master/docs/queries.md) for more details and examples. +There are no speciel requirements needed. Only the Authentication settings described below. + +## Authentication +- Connector authentication in Power Platform: OAuth 2.0 (authorization code flow). +- The client ID is provided +- I will share the secred on a secure channel with you. please tell me your prefered way to send this secret to you ## Supported Operations -### Get all capsules -Detailed info for all serialized Dragon capsules. -### Get a capsule -Detailed info for a serialized Dragon capsule. -### Query capsules -Detailed info for queried serialized Dragon capsules. -### Get company info -Detailed info about SpaceX as a company. -### Get all cores -Detailed info for all serialized first stage cores. -### Get a core -Detailed info for a serialized first stage core. -### Query cores -Detailed info for queried serialized first stage cores. -### Get all crew members -Detailed info on all Dragon crew members. -### Get a crew member -Detailed info on a Dragon crew member. -### Query crew members -Detailed info on queried Dragon crew members. -### Get all Dragons -Detailed info about all Dragon capsule versions. -### Get a Dragon -Detailed info about a Dragon capsule version. -### Query Dragons -Detailed info about queried Dragon capsule versions. -### Get all history events -Detailed info on all SpaceX historical events. -### Get a historic event -Detailed info on a SpaceX historical event. -### Query historic events -Detailed info on queried SpaceX historical events. -### Get all landpads -Detailed info about all landing pads and ships. -### Get a landpad -Detailed info about a landing pad or ship. -### Query landpads -Detailed info about queried landing pads and ships. -### Get all launches -Detailed info about all launches. -### Get a launch -Detailed info about a launch. -### Query launches -Detailed info about queried launches. -### Get past launches -Detailed info about past launches. -### Get upcoming launches -Detailed info about upcoming launches. -### Get latest launch -Detailed info about latest launch. -### Get next launch -Detailed info about next launches. -### Get all launchpads -Detailed info about all launchpads. -### Get a launchpad -Detailed info about a launchpad. -### Query launchpads -Detailed info about queried launchpads. -### Get all payloads -Detailed info about all launch payloads. -### Get a payload -Detailed info about a launch payload. -### Query payloads -Detailed info about queried launch payloads. -### Get Roadster Info -Detailed info about Elon's Tesla Roadster's current position. -### Get all rockets -Detailed info about all rockets. -### Get a rocket -Detailed info about a rocket. -### Query rockets -Detailed info about queried rockets. -### Get all ships -Detailed info about all ships in the SpaceX fleet. -### Get a ship -Detailed info about a ship in the SpaceX fleet. -### Query ships -Detailed info about queried ships in the SpaceX fleet. -### Get all Starlink sats -Detailed info about all Starlink satellites and orbits. -### Get a Starlink sat -Detailed info about a Starlink satellite and orbit. -### Query Starlink sats -Detailed info about queried Starlink satellites and orbits. - -#### Launch dates -Why does the date appear wrong? This is usually due to the way partial dates are stored and displayed in the API. For example, a launch scheduled for July 2020 would be represented as 2020-07-01T00:00:00.000Z. In this case, the field date_precision would be set as month, meaning the date is only valid to the month level, or 2020-07. +### List plans +Returns all active plans for pricing and onboarding. + +### List job postings +Returns job requisitions from SuccessFactors through PremiumConnector. + +### Get job posting by id +Returns a single job requisition by id. + +### List job applications +Returns paged job applications and supports filtering by jobReqId and status. + +### Get job application by id +Returns a single job application by its id. + +### Create interview +Creates a new interview for an existing job application. + +### List candidates +Returns a list of candidates. + +### Create candidate +Creates a candidate in SuccessFactors. + +### Get candidate by id +Returns a candidate by SuccessFactors candidate id. + +### Update candidate +Updates an existing candidate. + +### Get picklist values +Returns all values for the given picklist id. + +### Get entity fields +Returns available field names for a SuccessFactors entity. + +### Get raw metadata +Returns raw EDMX metadata XML as text. + +## Notes +- Operation availability depends on backend configuration and SuccessFactors role permissions. +- If an action fails with authorization or missing field errors, verify SuccessFactors API permissions, entity access, and environment-specific endpoint settings. \ No newline at end of file From 9802b7a19df71517c86d8959eaebb74fc18fdc75 Mon Sep 17 00:00:00 2001 From: Sascha Bajonczak Date: Thu, 11 Jun 2026 16:14:22 +0200 Subject: [PATCH 07/10] Added zip file --- .../Sap Successfactors/ConnectorPackage.zip | Bin 0 -> 32004 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 independent-publisher-connectors/Sap Successfactors/ConnectorPackage.zip diff --git a/independent-publisher-connectors/Sap Successfactors/ConnectorPackage.zip b/independent-publisher-connectors/Sap Successfactors/ConnectorPackage.zip new file mode 100644 index 0000000000000000000000000000000000000000..e2bda1e75ddd6a7675834fd64ce2178eacc6fdba GIT binary patch literal 32004 zcmV(?K-a%eO9KQH00;mG0M>rXTmS$7000000000001E&h0B~VrYhh<)E_!Kjb$AN^ z0R#X5000C400010R1E+JB)%$YFup2kB)%$Ygqc&UFi@|iw{6?DZQHhO+qP}nwr$(C zzwJH$Idd^{l1b)m(k8ulo0Zk17mtE8FbE33e`&yPS_k0&5)=RdfP%HTptG~7i!;5e z2Q&a6$ba?!JE^L`0)T(?QdyDoQCXFGQ&}new-3aB0!#aU`r!W$A7OhtJ5ys9dnaXk z8&?-gdpkNWONalL`H3Hu72$sd+<5+HfTyVfj&=L1L9jH$9iIh(AkZKyN3bx#hCy)n z;4U&jN4K{_IKs~EE^P;Q2>reLUrvtq{a0R9cUMV{#yG|P&5e!6 zSYOJE@~~6&FJRWIpv0tbrJ_vt%^=+9S;J+S?Lxf7rvrag-Ba}LMw1L!l!$145IhvK8QJ)y3nL`nzB4 z-L!H4%&(j!*pC_&kKvagT}VeA=S(pjDl5>nT9Ef=ZH&zhiXeQ`D3OuB8R>pgkCd+E zX_SZj(Wl1HPzr)G!&L0lcLNMf1Z%aGLhvZ%t1e>GN5k}997u_B%6^CB@o42$Tzg6Vwnb^nuGE#nIkEcExh|p z2pEE0$_hfm?zRKaF%ve&4MaR)q#XIi{SXDA&N7x!Y4l`21x-r&ccX1igvq<>O5B1Q zU)Osr2_$z`R%xP&`&Zo7Rf`N%uu}LQ*Y#Eyh!9o!C7qW1k~mTMUEDeIKk!6p`!u(S z;-^Z0iF|FM%__7k1J9Q$WPf{$Rf$>XZ=7G#r;fP}`Bw6R=|u0jX31+N$nquAE7YH5 zs%e5jGrz@c>6B{y*^+C?@;9g^$UcZg9Fa*Fw^|$86qM{$(jNDT1AdeYM&Z80U;u!N z0{{SwepHC&R;Tau_uu5VxRx4QbPfkUNWuI{@SLv&-c(Hyz8Pj}hGq?#6k3v(XQF)4 zc~aa%T7i6C$kHz*4pcN2V4$@)-FSHVI|Xlh!$k|xp*3`NP#0G(q8XTWUH*u>(fn|b zdcJxT&8v66Ll|iBDJ<5pm;E1Uhwbv1Qz zW|rPsMNAnu*=28bBQ04QVp2I?Y`>)xzrocgtGEcM8O5>IxN=?l`hjaXZ*ciTxq?;i zh=!G{{REf*5DAb~NA_|8W#6a%<9WnLbJpJcvBAvOQaTRJ)jUg$F4AdA^iAnu{vkPE zEG^-5MvJJJ8UtA&+{e~}w{f`AsljMlqYmdYx2E^YbJ=MO9(k;ViWq+7_879No%*FB zV}#YOxVk7}G2V765qI+?y8^QB*GXEEyWUSNw)Cpo`B*`v-<}%f2%vDJ`jRExQ%dX9 z$pkE;)gU!Wq8ujl*t50s)@cU7r9jD_nKcmSsSkI+{+-TUxG`4!6%X=$k_RzF`7Bc6 z-sn0v#wM93RFZS|mRqsfBdgUvt-Y$HFE<`5{c>3uY_##Xb$__ zgTe);++{1Hmn|?svT)tFGv*3qwv4oC&{~zkcurFb7w}NB-oJ%RHZ)MC4hjrGx!t@aWbn->#NEb*%OD0Z0t)`|V`BYYN08ZHn;RKhfU~kOf@%%?{VQk>*xdTw zuJ~)P=${CF4vBAk_uDh91lxud+v}Mutr&wpjlX0s8;aG777_VZITZiCx&*@^Xi~qG zQZ6G`G+e#HB~wopvj0TS@oTx5d)*@_CwVx937DiUkL)1H_rBD(WAW|f63iSG=PE

0~JJ5m3n+%Fe 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 G`}$u1L8sIJ literal 0 HcmV?d00001 From 368e2eb4467667eaa3247735d1a648f06a1a7941 Mon Sep 17 00:00:00 2001 From: Sascha Bajonczak Date: Fri, 12 Jun 2026 15:37:42 +0200 Subject: [PATCH 08/10] Addec missing contact properties --- .../Sap Successfactors/apiDefinition.swagger.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json b/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json index b6c6946dd4..2821c8a785 100644 --- a/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json +++ b/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json @@ -3,7 +3,11 @@ "info": { "title": "PremiumConnector SF", "description": "Connector for SAP SuccessFactors Modules.", - "version": "1.0.0" + "version": "1.0.0", + "contact": { + "name": "Sascha Bajonczak", + "email": "xbeejayx@hotmail.com" + } }, "host": "sap-api.bajonczak.com", "basePath": "/", From 0d90c4c0677e0f0028335795779164e9b0ba078a Mon Sep 17 00:00:00 2001 From: Sascha Bajonczak Date: Fri, 12 Jun 2026 15:38:58 +0200 Subject: [PATCH 09/10] added url for the pagfe --- .../Sap Successfactors/apiDefinition.swagger.json | 1 + 1 file changed, 1 insertion(+) diff --git a/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json b/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json index 2821c8a785..e171db29ce 100644 --- a/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json +++ b/independent-publisher-connectors/Sap Successfactors/apiDefinition.swagger.json @@ -6,6 +6,7 @@ "version": "1.0.0", "contact": { "name": "Sascha Bajonczak", + "url": "https://sap-connectors.bajonczak.com", "email": "xbeejayx@hotmail.com" } }, From 5691533f68b9a529cb309003c29ea5a76ca50146 Mon Sep 17 00:00:00 2001 From: Sascha Bajonczak Date: Tue, 16 Jun 2026 10:17:54 +0200 Subject: [PATCH 10/10] Added newpackage --- .../Sap Successfactors/ConnectorPackage.zip | Bin 32004 -> 96565 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/independent-publisher-connectors/Sap Successfactors/ConnectorPackage.zip b/independent-publisher-connectors/Sap Successfactors/ConnectorPackage.zip index e2bda1e75ddd6a7675834fd64ce2178eacc6fdba..e93ee11abb3355938ff9f6d66dec9088d32b9df8 100644 GIT binary patch delta 95149 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 Y1~HSLd@BRDZ~>Fed@%-qcmV(a0K1yBwEzGB delta 30085 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