openapi: 3.0.0 info: version: 0.2.1 title: TraceTest description: OpenAPI definition for TraceTest endpoint and resources servers: - url: /api paths: /definition.yaml: post: tags: - api summary: "Execute a definition" description: "Execute a definition" operationId: executeDefinition requestBody: content: text/json: schema: $ref: "./definition.yaml#/components/schemas/TextDefinition" responses: 201: description: Definition created content: application/json: schema: $ref: "./definition.yaml#/components/schemas/ExecuteDefinitionResponse" 200: description: Definition updated content: application/json: schema: $ref: "./definition.yaml#/components/schemas/ExecuteDefinitionResponse" put: tags: - api summary: "Upsert a definition" description: "Upsert a definition" operationId: upsertDefinition requestBody: content: text/json: schema: $ref: "./definition.yaml#/components/schemas/TextDefinition" responses: 201: description: Definition created content: application/json: schema: $ref: "./definition.yaml#/components/schemas/UpsertDefinitionResponse" 200: description: Definition updated content: application/json: schema: $ref: "./definition.yaml#/components/schemas/UpsertDefinitionResponse" # Transactions /transactions: get: tags: - api summary: "Get transactions" description: "get transactions" operationId: getTransactions parameters: - in: query name: take description: "indicates how many transactions can be returned by each page" schema: type: integer default: 20 - in: query name: skip description: "indicates how many transactions will be skipped when paginating" schema: type: integer default: 0 - in: query name: query description: "query to search transactions, based on transaction name and description" schema: type: string - in: query name: sortBy description: "indicates the sort field for the transactions" schema: type: string enum: [created, name, last_run] - in: query name: sortDirection description: "indicates the sort direction for the transactions" schema: type: string enum: [asc, desc] responses: 200: description: successful operation headers: X-Total-Count: schema: type: integer description: Total records count content: application/json: schema: type: array items: $ref: "./transactions.yaml#/components/schemas/Transaction" 500: description: "problem with getting transactions" post: tags: - api summary: "Create new transaction" description: "Create new transaction" operationId: createTransaction requestBody: content: application/json: schema: $ref: "./transactions.yaml#/components/schemas/Transaction" responses: 200: description: successful operation content: application/json: schema: $ref: "./transactions.yaml#/components/schemas/Transaction" 400: description: "trying to create a transaction with an already existing ID" /transactions/{transactionId}: get: tags: - api parameters: - in: path name: transactionId schema: type: string required: true summary: "get transaction" description: "get transaction" operationId: getTransaction responses: 200: description: successful operation content: application/json: schema: $ref: "./transactions.yaml#/components/schemas/Transaction" 500: description: "problem with getting a transaction" put: tags: - api parameters: - in: path name: transactionId schema: type: string required: true summary: "update transaction" description: "update transaction action" operationId: updateTransaction requestBody: content: application/json: schema: $ref: "./transactions.yaml#/components/schemas/Transaction" responses: 204: description: successful operation 500: description: "problem with updating transaction" delete: tags: - api parameters: - in: path name: transactionId schema: type: string required: true summary: "delete a transaction" description: "delete a transaction" operationId: deleteTransaction responses: "204": description: OK /transactions/{transactionId}/version/{version}: get: tags: - api parameters: - in: path name: transactionId schema: type: string required: true - in: path name: version schema: type: integer required: true summary: "get a transaction specific version" description: "get a transaction specific version" operationId: getTransactionVersion responses: 200: description: successful operation content: application/json: schema: $ref: "./transactions.yaml#/components/schemas/Transaction" 500: description: "problem with getting a test" /transactions/{transactionId}/version/{version}/definition.yaml: get: tags: - api parameters: - in: path name: transactionId schema: type: string required: true - in: path name: version schema: type: integer required: true summary: Get the transaction definition as an YAML file description: Get the transaction as an YAML file operationId: getTransactionVersionDefinitionFile responses: 200: description: OK content: application/yaml: schema: type: string /transactions/{transactionId}/run: post: tags: - api parameters: - in: path name: transactionId schema: type: string required: true summary: "run transaction" description: "run a particular transaction" operationId: runTransaction requestBody: content: application/json: schema: $ref: "./tests.yaml#/components/schemas/RunInformation" responses: 200: description: successful operation content: application/json: schema: $ref: "./transactions.yaml#/components/schemas/TransactionRun" get: tags: - api parameters: - in: path name: transactionId schema: type: string required: true - in: query name: take description: "indicates how many results can be returned by each page" schema: type: integer default: 20 - in: query name: skip description: "indicates how many results will be skipped when paginating" schema: type: integer default: 0 summary: "Get all runs from a particular transaction" description: "Get all runs from a particular transaction" operationId: getTransactionRuns responses: 200: description: OK content: application/json: schema: type: array items: $ref: "./transactions.yaml#/components/schemas/TransactionRun" /transactions/{transactionId}/run/{runId}: get: tags: - api parameters: - in: path name: transactionId schema: type: string required: true - in: path name: runId schema: type: integer required: true summary: "Get a specific run from a particular transaction" description: "Get a specific run from a particular transaction" operationId: getTransactionRun responses: 200: description: OK content: application/json: schema: $ref: "./transactions.yaml#/components/schemas/TransactionRun" 404: description: transaction run not found delete: tags: - api parameters: - in: path name: transactionId schema: type: string required: true - in: path name: runId schema: type: integer required: true summary: "Delete a specific run from a particular transaction" description: "Delete a specific run from a particular transaction" operationId: deleteTransactionRun responses: 204: description: OK 404: description: transaction run not found # Tests /tests: get: tags: - api summary: "Get tests" description: "get tests" operationId: getTests parameters: - in: query name: take description: "indicates how many tests can be returned by each page" schema: type: integer default: 20 - in: query name: skip description: "indicates how many tests will be skipped when paginating" schema: type: integer default: 0 - in: query name: query description: "query to search tests, based on test name and description" schema: type: string - in: query name: sortBy description: "indicates the sort field for the tests" schema: type: string enum: [created, name, last_run] - in: query name: sortDirection description: "indicates the sort direction for the tests" schema: type: string enum: [asc, desc] responses: 200: description: successful operation headers: X-Total-Count: schema: type: integer description: Total records count content: application/json: schema: type: array items: $ref: "./tests.yaml#/components/schemas/Test" 500: description: "problem with getting tests" post: tags: - api summary: "Create new test" description: "Create new test action" operationId: createTest requestBody: content: application/json: schema: $ref: "./tests.yaml#/components/schemas/Test" responses: 200: description: successful operation content: application/json: schema: $ref: "./tests.yaml#/components/schemas/Test" 400: description: "trying to create a test with an already existing ID" /tests/{testId}: get: tags: - api parameters: - in: path name: testId schema: type: string required: true summary: "get test" description: "get test" operationId: getTest responses: 200: description: successful operation content: application/json: schema: $ref: "./tests.yaml#/components/schemas/Test" 500: description: "problem with getting a test" put: tags: - api parameters: - in: path name: testId schema: type: string required: true summary: "update test" description: "update test action" operationId: updateTest requestBody: content: application/json: schema: $ref: "./tests.yaml#/components/schemas/Test" responses: 204: description: successful operation 500: description: "problem with updating test" delete: tags: - api parameters: - in: path name: testId schema: type: string required: true summary: "delete a test" description: "delete a test" operationId: deleteTest responses: "204": description: OK /tests/{testId}/run: post: tags: - api parameters: - in: path name: testId schema: type: string required: true summary: "run test" description: "run a particular test" operationId: runTest requestBody: content: application/json: schema: $ref: "./tests.yaml#/components/schemas/RunInformation" responses: 200: description: successful operation content: application/json: schema: $ref: "./tests.yaml#/components/schemas/TestRun" 422: description: some variables are missing content: application/json: schema: $ref: "./variables.yaml#/components/schemas/MissingVariablesError" get: tags: - api parameters: - in: path name: testId schema: type: string required: true - in: query name: take description: "indicates how many results can be returned by each page" schema: type: integer default: 20 - in: query name: skip description: "indicates how many results will be skipped when paginating" schema: type: integer default: 0 summary: "get the runs for a test" description: "get the runs from a particular test" operationId: getTestRuns responses: 200: description: successful operation headers: X-Total-Count: schema: type: integer description: Total records count content: application/json: schema: type: array items: $ref: "./tests.yaml#/components/schemas/TestRun" /tests/{testId}/run/{runId}/select: get: tags: - api parameters: - in: path name: testId schema: type: string required: true - in: path name: runId schema: type: string required: true - in: query name: query schema: type: string summary: "retrieve spans that will be selected by selector" description: "get the spans ids that would be selected by a specific selector query" operationId: getTestResultSelectedSpans responses: 200: description: successful operation content: application/json: schema: $ref: "./tests.yaml#/components/schemas/SelectedSpansResult" /tests/{testId}/run/{runId}/dry-run: put: tags: - api parameters: - in: path name: testId schema: type: string required: true - in: path name: runId schema: type: string required: true summary: "run given assertions against the traces from the given run without persisting anything" description: "use this method to test a definition against an actual trace without creating a new version or persisting anything" operationId: dryRunAssertion requestBody: content: application/json: schema: $ref: "./tests.yaml#/components/schemas/TestSpecs" responses: 200: description: successful operation content: application/json: schema: $ref: "./tests.yaml#/components/schemas/AssertionResults" /tests/{testId}/run/{runId}/rerun: post: tags: - api parameters: - in: path name: testId schema: type: string required: true - in: path name: runId schema: type: string required: true summary: "rerun a test run" description: "rerun a test run" operationId: rerunTestRun responses: 200: description: successful operation content: application/json: schema: $ref: "./tests.yaml#/components/schemas/TestRun" /tests/{testId}/run/{runId}/junit.xml: get: tags: - api parameters: - in: path name: testId schema: type: string required: true - in: path name: runId schema: type: string required: true summary: "get test run results in JUnit xml format" description: "get test run results in JUnit xml format" operationId: getRunResultJUnit responses: 200: description: JUnit formatted file content: application/xml: schema: type: string /tests/{testId}/run/{runId}/export: get: tags: - api parameters: - in: path name: testId schema: type: string required: true - in: path name: runId schema: type: string required: true summary: export test and test run information description: export test and test run information for debugging operationId: exportTestRun responses: 200: description: successfuly exported test and test run information content: application/json: schema: $ref: "tests.yaml#/components/schemas/ExportedTestInformation" /tests/import: post: tags: - api summary: import test and test run information description: import test and test run information for debugging operationId: importTestRun requestBody: content: application/json: schema: $ref: "./tests.yaml#/components/schemas/ExportedTestInformation" responses: 200: description: successfuly imported test and test run information content: application/json: schema: $ref: "tests.yaml#/components/schemas/ExportedTestInformation" /tests/{testId}/run/{runId}: get: tags: - api parameters: - in: path name: testId schema: type: string required: true - in: path name: runId schema: type: string required: true summary: "get test Run" description: "get a particular test Run" operationId: getTestRun responses: 200: description: successful operation content: application/json: schema: $ref: "./tests.yaml#/components/schemas/TestRun" delete: tags: - api parameters: - in: path name: testId schema: type: string required: true - in: path name: runId schema: type: string required: true summary: "delete a test run" description: "delete a test run" operationId: deleteTestRun responses: "204": description: OK /tests/{testId}/definition: get: tags: - api parameters: - in: path name: testId schema: type: string required: true operationId: getTestSpecs summary: "Get definition for a test" description: "Gets definition for a test" responses: 201: description: successful operation content: application/json: schema: type: array items: $ref: "./tests.yaml#/components/schemas/TestSpecs" /tests/{testId}/version/{version}: get: tags: - api parameters: - in: path name: testId schema: type: string required: true - in: path name: version schema: type: integer required: true summary: "get a test specific version" description: "get a test specific version" operationId: getTestVersion responses: 200: description: successful operation content: application/json: schema: $ref: "./tests.yaml#/components/schemas/Test" 500: description: "problem with getting a test" /tests/{testId}/version/{version}/definition.yaml: get: tags: - api parameters: - in: path name: testId schema: type: string required: true - in: path name: version schema: type: integer required: true summary: Get the test definition as an YAML file description: Get the test definition as an YAML file operationId: getTestVersionDefinitionFile responses: 200: description: OK content: application/yaml: schema: type: string # Environments /environments: get: tags: - api summary: "Get Environments" description: "Get Environments" operationId: getEnvironments parameters: - in: query name: take description: "indicates how many environments can be returned by each page" schema: type: integer default: 20 - in: query name: skip description: "indicates how many environments will be skipped when paginating" schema: type: integer default: 0 - in: query name: query description: "query to search environments, based on environments name and description" schema: type: string - in: query name: sortBy description: "indicates the sort field for the environments" schema: type: string enum: [created, name] - in: query name: sortDirection description: "indicates the sort direction for the environments" schema: type: string enum: [asc, desc] responses: 200: description: successful operation headers: X-Total-Count: schema: type: integer description: Total records count content: application/json: schema: type: array items: $ref: "./environments.yaml#/components/schemas/Environment" 500: description: "problem with getting environments" post: tags: - api summary: "Create new environment" description: "Create new environment action" operationId: createEnvironment requestBody: content: application/json: schema: $ref: "./environments.yaml#/components/schemas/Environment" responses: 200: description: successful operation content: application/json: schema: $ref: "./environments.yaml#/components/schemas/Environment" 400: description: "trying to create a environment with an already existing ID" /environments/{environmentId}: get: tags: - api parameters: - in: path name: environmentId schema: type: string required: true summary: "get environment" description: "get environment" operationId: getEnvironment responses: 200: description: successful operation content: application/json: schema: $ref: "./environments.yaml#/components/schemas/Environment" 500: description: "problem with getting a environment" put: tags: - api parameters: - in: path name: environmentId schema: type: string required: true summary: "update environment" description: "update environment action" operationId: updateEnvironment requestBody: content: application/json: schema: $ref: "./environments.yaml#/components/schemas/Environment" responses: 204: description: successful operation 500: description: "problem with updating environment" delete: tags: - api parameters: - in: path name: environmentId schema: type: string required: true summary: "delete a environment" description: "delete a environment" operationId: deleteEnvironment responses: "204": description: OK /environments/{environmentId}/definition.yaml: get: tags: - api parameters: - in: path name: environmentId schema: type: string required: true summary: Get the environment definition as an YAML file description: Get the environment as an YAML file operationId: getEnvironmentDefinitionFile responses: 200: description: OK content: application/yaml: schema: type: string # Expressions /expressions/resolve: post: tags: - api summary: resolves an expression and returns the result string description: resolves an expression and returns the result string operationId: ExpressionResolve requestBody: content: application/json: schema: $ref: "./expressions.yaml#/components/schemas/ResolveRequestInfo" responses: 200: description: successfully resolved the expression content: application/json: schema: $ref: "./expressions.yaml#/components/schemas/ResolveResponseInfo" # Resources (Tests, Transactions) /resources: get: tags: - api summary: "Get resources" description: "get resources" operationId: getResources parameters: - in: query name: take description: "indicates how many transactions can be returned by each page" schema: type: integer default: 20 - in: query name: skip description: "indicates how many transactions will be skipped when paginating" schema: type: integer default: 0 - in: query name: query description: "query to search transactions, based on transaction name and description" schema: type: string - in: query name: sortBy description: "indicates the sort field for the transactions" schema: type: string enum: [created, name, last_run] - in: query name: sortDirection description: "indicates the sort direction for the transactions" schema: type: string enum: [asc, desc] responses: 200: description: successful operation headers: X-Total-Count: schema: type: integer description: Total records count content: application/json: schema: type: array items: $ref: "./resources.yaml#/components/schemas/Resource" # Configuration /config/connection: post: tags: - api summary: "Tests the config data store/exporter connection" description: "Tests the config data store/exporter connection" operationId: testConnection requestBody: content: text/json: schema: $ref: "./dataStores.yaml#/components/schemas/DataStore" responses: 201: description: Test connection Result content: application/json: schema: $ref: "./config.yaml#/components/schemas/TestConnectionResponse" /config/{configId}: get: tags: - resource-api parameters: - in: path name: configId schema: type: string required: true description: "ID of the configuration resource used on Tracetest. It should be set as 'current'." summary: "Get Tracetest configuration" description: "Get Tracetest configuration" operationId: getConfiguration responses: 200: description: successful operation content: application/json: schema: $ref: "./config.yaml#/components/schemas/ConfigurationResource" text/yaml: schema: $ref: "./config.yaml#/components/schemas/ConfigurationResource" 500: description: "problem getting a configuration" put: tags: - resource-api parameters: - in: path name: configId schema: type: string required: true description: "ID of the configuration resource used on Tracetest. It should be set as 'current'." summary: "Update Tracetest configuration" description: "Update Tracetest configuration" operationId: updateConfiguration requestBody: content: application/json: schema: $ref: "./config.yaml#/components/schemas/ConfigurationResource" text/yaml: schema: $ref: "./config.yaml#/components/schemas/ConfigurationResource" responses: 200: description: successful operation content: application/json: schema: $ref: "./config.yaml#/components/schemas/ConfigurationResource" text/yaml: schema: $ref: "./config.yaml#/components/schemas/ConfigurationResource" 500: description: "problem updating configuration" # Polling Profile /pollingprofile: get: tags: - resource-api summary: "List Polling Profiles" description: "List polling profiles used on Tracetest to configure how to fetch traces in a test." operationId: listPollingProfiles parameters: - in: query name: take description: "Indicates the maximum number of polling profiles that can be returned on this call." schema: type: integer default: 20 - in: query name: skip description: "Indicates how many polling profiles will be skipped when paginating." schema: type: integer default: 0 - in: query name: sortBy description: "Indicates the sort field for on which all polling profiles will be sorted." schema: type: string enum: [id, name, strategy] - in: query name: sortDirection description: "Indicates the sort direction for the polling profiles (ascending or descending)." schema: type: string enum: [asc, desc] responses: 200: description: successful operation content: application/json: schema: type: object properties: count: type: integer items: type: array items: $ref: "./config.yaml#/components/schemas/PollingProfile" text/yaml: schema: type: array items: $ref: "./config.yaml#/components/schemas/PollingProfile" 400: description: "invalid query for polling profiles, some data was sent in incorrect format." 500: description: "problem listing polling profile" post: tags: - resource-api summary: "Create a Polling Profile" description: "Create a polling profile used on Tracetest to configure how to fetch traces in a test." operationId: createPollingProfile requestBody: content: application/json: schema: $ref: "./config.yaml#/components/schemas/PollingProfile" text/yaml: schema: $ref: "./config.yaml#/components/schemas/PollingProfile" responses: 201: description: successful operation content: application/json: schema: $ref: "./config.yaml#/components/schemas/PollingProfile" text/yaml: schema: $ref: "./config.yaml#/components/schemas/PollingProfile" 500: description: "problem creating a polling profile" /pollingprofile/{pollingProfileId}: get: tags: - resource-api parameters: - in: path name: pollingProfileId schema: type: string required: true description: "ID of a polling profile used on Tracetest to configure how to fetch traces in a test." summary: "Get Polling Profile" description: "Get a polling profile used on Tracetest to configure how to fetch traces in a test." operationId: getPollingProfile responses: 200: description: successful operation content: application/json: schema: $ref: "./config.yaml#/components/schemas/PollingProfile" text/yaml: schema: $ref: "./config.yaml#/components/schemas/PollingProfile" 404: description: "polling profile not found" 500: description: "problem getting a polling profile" put: tags: - resource-api parameters: - in: path name: pollingProfileId schema: type: string required: true description: "ID of a polling profile used on Tracetest to configure how to fetch traces in a test." summary: "Update a Polling Profile" description: "Update a polling profile used on Tracetest to configure how to fetch traces in a test." operationId: updatePollingProfile requestBody: content: application/json: schema: $ref: "./config.yaml#/components/schemas/PollingProfile" text/yaml: schema: $ref: "./config.yaml#/components/schemas/PollingProfile" responses: 200: description: successful operation content: application/json: schema: $ref: "./config.yaml#/components/schemas/PollingProfile" text/yaml: schema: $ref: "./config.yaml#/components/schemas/PollingProfile" 400: description: "invalid polling profile, some data was sent in incorrect format." 404: description: "polling profile not found" 500: description: "problem updating a polling profile" delete: tags: - resource-api parameters: - in: path name: pollingProfileId schema: type: string required: true description: "ID of a polling profile used on Tracetest to configure how to fetch traces in a test." summary: "Delete a Polling Profile" description: "Delete a polling profile used on Tracetest to configure how to fetch traces in a test." operationId: deletePollingProfile responses: 204: description: successful operation 400: description: "invalid polling profile, some data was sent in incorrect format." 404: description: "polling profile not found" 500: description: "problem deleting a polling profile" # Demo /demo: get: tags: - resource-api summary: "List Demonstrations" description: "List demonstrations used on Tracetest as quick start examples." operationId: listDemos parameters: - in: query name: take description: "Indicates the maximum number of demos that can be returned on this call." schema: type: integer default: 20 - in: query name: skip description: "Indicates how many demos will be skipped when paginating." schema: type: integer default: 0 - in: query name: sortBy description: "Indicates the sort field for on which all demos will be sorted." schema: type: string enum: [type, enabled] - in: query name: sortDirection description: "Indicates the sort direction for the demos (ascending or descending)." schema: type: string enum: [asc, desc] responses: 200: description: successful operation content: application/json: schema: type: array items: $ref: "./config.yaml#/components/schemas/Demo" text/yaml: schema: type: array items: $ref: "./config.yaml#/components/schemas/Demo" 400: description: "invalid query for demos, some data was sent in incorrect format." 500: description: "problem listing demos" post: tags: - resource-api summary: "Create a Demonstration setting" description: "Create a demonstration used on Tracetest as quick start examples." operationId: createDemo requestBody: content: application/json: schema: $ref: "./config.yaml#/components/schemas/Demo" text/yaml: schema: $ref: "./config.yaml#/components/schemas/Demo" responses: 201: description: successful operation content: application/json: schema: $ref: "./config.yaml#/components/schemas/Demo" text/yaml: schema: $ref: "./config.yaml#/components/schemas/Demo" 500: description: "problem creating a demo" /demo/{demoId}: get: tags: - resource-api parameters: - in: path name: demoId schema: type: string required: true description: "ID of a demonstration used on Tracetest as quick start examples." summary: "Get Demonstration setting" description: "Get a demonstration used on Tracetest as quick start examples." operationId: getDemo responses: 200: description: successful operation content: application/json: schema: $ref: "./config.yaml#/components/schemas/Demo" text/yaml: schema: $ref: "./config.yaml#/components/schemas/Demo" 404: description: "demo not found" 500: description: "problem getting a demo" put: tags: - resource-api parameters: - in: path name: demoId schema: type: string required: true description: "ID of a demonstration used on Tracetest as quick start examples." summary: "Update a Demonstration setting" description: "Update a demonstration used on Tracetest as quick start examples." operationId: updateDemo requestBody: content: application/json: schema: $ref: "./config.yaml#/components/schemas/Demo" text/yaml: schema: $ref: "./config.yaml#/components/schemas/Demo" responses: 200: description: successful operation content: application/json: schema: $ref: "./config.yaml#/components/schemas/Demo" text/yaml: schema: $ref: "./config.yaml#/components/schemas/Demo" 400: description: "invalid demo, some data was sent in incorrect format." 404: description: "demo not found" 500: description: "problem updating a demo" delete: tags: - resource-api parameters: - in: path name: demoId schema: type: string required: true description: "ID of a demonstration used on Tracetest as quick start examples." summary: "Delete a Demonstration setting" description: "Delete a demonstration used on Tracetest as quick start examples." operationId: deleteDemo responses: 204: description: successful operation 400: description: "invalid demo, some data was sent in incorrect format." 404: description: "demo not found" 500: description: "problem deleting a demo" # Data Stores /datastores: get: tags: - api summary: "Get all Data Stores" description: "Get all Data Stores" operationId: getDataStores parameters: - in: query name: take description: "indicates how many data stores can be returned by each page" schema: type: integer default: 20 - in: query name: skip description: "indicates how many data stores will be skipped when paginating" schema: type: integer default: 0 - in: query name: query description: "query to search data stores, based on data store name" schema: type: string - in: query name: sortBy description: "indicates the sort field for the data stores" schema: type: string enum: [created, name] - in: query name: sortDirection description: "indicates the sort direction for the data stores" schema: type: string enum: [asc, desc] responses: 200: description: successful operation headers: X-Total-Count: schema: type: integer description: Total records count content: application/json: schema: type: array items: $ref: "./dataStores.yaml#/components/schemas/DataStore" 500: description: "problem with getting data stores" post: tags: - api summary: "Create a new Data Store" description: "Create a new Data Store" operationId: createDataStore requestBody: content: application/json: schema: $ref: "./dataStores.yaml#/components/schemas/DataStore" responses: 200: description: successful operation content: application/json: schema: $ref: "./dataStores.yaml#/components/schemas/DataStore" 400: description: "trying to create a data store with an already existing ID" /datastores/{dataStoreId}: get: tags: - api parameters: - in: path name: dataStoreId schema: type: string required: true summary: "Get a Data Store" description: "Get a Data Store" operationId: getDataStore responses: 200: description: successful operation content: application/json: schema: $ref: "./dataStores.yaml#/components/schemas/DataStore" 500: description: "problem with getting a data store" put: tags: - api parameters: - in: path name: dataStoreId schema: type: string required: true summary: "Update a Data Store" description: "Update a Data Store" operationId: updateDataStore requestBody: content: application/json: schema: $ref: "./dataStores.yaml#/components/schemas/DataStore" responses: 204: description: successful operation 500: description: "problem with updating data store" delete: tags: - api parameters: - in: path name: dataStoreId schema: type: string required: true summary: "Delete a Data Store" description: "Delete a Data Store" operationId: deleteDataStore responses: "204": description: OK /datastores/{dataStoreId}/definition.yaml: get: tags: - api parameters: - in: path name: dataStoreId schema: type: string required: true summary: Get the data store definition as an YAML file description: Get the data store as an YAML file operationId: getDataStoreDefinitionFile responses: 200: description: OK content: application/yaml: schema: type: string