From c984f47341e07ee292afef68a2702b3ca56fe54c Mon Sep 17 00:00:00 2001 From: Matthew Slipper Date: Wed, 30 Oct 2019 14:39:41 -0700 Subject: [PATCH] Website release Wed Oct 30 14:39:41 PDT 2019 --- openapi/build.sh | 11 +- .../{uex-embedded.html => build/index.html} | 0 openapi/build/openapi.json | 1251 +++++++++++++++++ openapi/dex-demo-embedded.html | 24 + 4 files changed, 1278 insertions(+), 8 deletions(-) rename openapi/{uex-embedded.html => build/index.html} (100%) create mode 100644 openapi/build/openapi.json create mode 100644 openapi/dex-demo-embedded.html diff --git a/openapi/build.sh b/openapi/build.sh index 09303a3..02ffe69 100755 --- a/openapi/build.sh +++ b/openapi/build.sh @@ -1,18 +1,13 @@ #!/usr/bin/env bash set -e -git checkout master +rm -rf ./codegen-out +rm -rf ./build mkdir ./codegen-out mkdir ./build ./node_modules/.bin/sc generate -l openapi -i ./openapi.yml -o ./codegen-out -git checkout release -git merge master --no-edit cp ./codegen-out/openapi.json ./build -cp ./dex-demo-embedded.html ./build +cp ./dex-demo-embedded.html ./build/index.html git add -f ./build now=$(date) git commit -am "Website release $now" -git push origin release -rm -rf ./build -rm -rf ./codegen-out -git checkout master \ No newline at end of file diff --git a/openapi/uex-embedded.html b/openapi/build/index.html similarity index 100% rename from openapi/uex-embedded.html rename to openapi/build/index.html diff --git a/openapi/build/openapi.json b/openapi/build/openapi.json new file mode 100644 index 0000000..aad4ed1 --- /dev/null +++ b/openapi/build/openapi.json @@ -0,0 +1,1251 @@ +{ + "openapi" : "3.0.0", + "info" : { + "title" : "Dex Demo Embedded REST API", + "version" : "0.0.1" + }, + "servers" : [ { + "url" : "https://testnet.serverfuse.tools/api/v1/", + "description" : "Long-lived testnet." + }, { + "url" : "https://localnet.dex-demo/api/v1/", + "description" : "URL to the REST API as embedded within the DEX demo client." + } ], + "security" : [ { + "SessionCookie" : [ ] + }, { + "CSRFToken" : [ ] + } ], + "tags" : [ { + "name" : "auth", + "description" : "Authentication" + }, { + "name" : "exchange", + "description" : "Exchange" + }, { + "name" : "user", + "description" : "User" + }, { + "name" : "market", + "description" : "Market" + } ], + "paths" : { + "/auth/login" : { + "post" : { + "tags" : [ "auth" ], + "summary" : "Logs a user in.", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/body" + } + } + } + }, + "responses" : { + "204" : { + "description" : "User successfully logged in. The session ID is returned in a cookie.", + "headers" : { + "Set-Cookie" : { + "style" : "simple", + "explode" : false, + "schema" : { + "type" : "string", + "example" : "uex_session=12345abc;" + } + } + } + }, + "403" : { + "description" : "Authentication failed." + } + }, + "security" : [ { + "CSRFToken" : [ ] + } ] + } + }, + "/auth/logout" : { + "post" : { + "tags" : [ "auth" ], + "summary" : "Logs a user out.", + "responses" : { + "204" : { + "description" : "User successfully logged out." + } + } + } + }, + "/auth/change_password" : { + "post" : { + "tags" : [ "auth" ], + "summary" : "Changes a user's password.", + "description" : "All sessions using the previous password will be logged out.", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/body_1" + } + } + } + }, + "responses" : { + "204" : { + "description" : "Password successfully changed.", + "headers" : { + "Set-Cookie" : { + "style" : "simple", + "explode" : false, + "schema" : { + "type" : "string", + "example" : "uex_session=12345abc;" + } + } + } + }, + "403" : { + "description" : "Invalid password." + } + }, + "security" : [ { + "CSRFToken" : [ ] + }, { + "SessionCookie" : [ ] + }, { + "OTP" : [ ] + } ] + } + }, + "/exchange/orders" : { + "put" : { + "tags" : [ "exchange" ], + "summary" : "Modifies an existing order. Funds will immediately debited if the quantity increases, or credited if the quantity decreases.", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Order" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "Order successfully modified.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/OrderCreationResponse" + } + } + } + } + }, + "security" : [ { + "CSRFToken" : [ ] + }, { + "SessionCookie" : [ ] + }, { + "OTP" : [ ] + } ] + }, + "post" : { + "tags" : [ "exchange" ], + "summary" : "Posts an order. Funds will be immediately debited.", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/OrderCreationRequest" + } + } + }, + "required" : true + }, + "responses" : { + "204" : { + "description" : "Order successfully posted.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/OrderCreationResponse" + } + } + } + } + }, + "security" : [ { + "CSRFToken" : [ ] + }, { + "SessionCookie" : [ ] + }, { + "OTP" : [ ] + } ] + } + }, + "/exchange/orders/{order_id}" : { + "get" : { + "tags" : [ "exchange" ], + "summary" : "Gets an order by its ID.", + "parameters" : [ { + "name" : "order_id", + "in" : "path", + "description" : "Numeric ID of the order.", + "required" : true, + "style" : "simple", + "explode" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "Returns the looked-up order.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/OrderWithFills" + } + } + } + }, + "404" : { + "description" : "Order not found." + } + } + }, + "delete" : { + "tags" : [ "exchange" ], + "summary" : "Cancels an order by its ID.", + "parameters" : [ { + "name" : "order_id", + "in" : "path", + "description" : "Numeric ID of the order.", + "required" : true, + "style" : "simple", + "explode" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "Order successfully cancelled.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/BlockInclusionResponse" + } + } + } + }, + "403" : { + "description" : "Order is not owned by current user." + }, + "422" : { + "description" : "Order is already cancelled." + }, + "404" : { + "description" : "Order not found." + } + }, + "security" : [ { + "CSRFToken" : [ ] + }, { + "SessionCookie" : [ ] + }, { + "OTP" : [ ] + } ] + } + }, + "/exchange/orders/cancel" : { + "post" : { + "tags" : [ "exchange" ], + "summary" : "Cancels a group of orders.", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/body_2" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "Bulk cancel completed. Some response may have failed; see the response body itself to deal with individual errors.", + "content" : { + "application/json" : { + "schema" : { + "type" : "array", + "items" : { + "oneOf" : [ { + "$ref" : "#/components/schemas/BlockInclusionResponse" + }, { + "$ref" : "#/components/schemas/BlockInclusionFailure" + } ] + } + } + } + } + } + }, + "security" : [ { + "CSRFToken" : [ ] + }, { + "SessionCookie" : [ ] + }, { + "OTP" : [ ] + } ] + } + }, + "/user/balance" : { + "get" : { + "tags" : [ "user" ], + "summary" : "Returns the user's balance across all supported chains.", + "responses" : { + "200" : { + "description" : "The user's balances.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Balance" + } + } + } + } + } + } + }, + "/user/orders" : { + "get" : { + "tags" : [ "user" ], + "summary" : "Gets all orders created by this user.", + "parameters" : [ { + "name" : "start", + "in" : "query", + "description" : "The ID to begin counting at.", + "required" : false, + "style" : "form", + "explode" : true, + "schema" : { + "type" : "integer" + } + } ], + "responses" : { + "200" : { + "description" : "The user's orders.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/inline_response_200" + } + } + } + } + } + } + }, + "/user/fills" : { + "get" : { + "tags" : [ "user" ], + "summary" : "Gets all fills relevant to this user.", + "parameters" : [ { + "name" : "start_block", + "in" : "query", + "description" : "The block to start counting from.", + "required" : false, + "style" : "form", + "explode" : true, + "schema" : { + "type" : "integer" + } + }, { + "name" : "end_block", + "in" : "query", + "description" : "The block to end counting at.", + "required" : false, + "style" : "form", + "explode" : true, + "schema" : { + "type" : "integer" + } + } ], + "responses" : { + "200" : { + "description" : "The user's fills.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/inline_response_200_1" + } + } + } + } + } + } + }, + "/user/send" : { + "post" : { + "tags" : [ "user" ], + "summary" : "Transfers Funds", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/body_3" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "Status of the transfer.", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "allOf" : [ { + "$ref" : "#/components/schemas/BlockInclusionResponse" + } ] + } + } + } + } + } + } + }, + "/user/withdrawals" : { + "get" : { + "tags" : [ "user" ], + "summary" : "Gets the user's list of withdrawals.", + "responses" : { + "200" : { + "description" : "List of withdrawals.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/inline_response_200_2" + } + } + } + } + } + }, + "post" : { + "tags" : [ "user" ], + "summary" : "Initiates a withdrawal of a cleared asset.", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/body_4" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "Withdrawal successfully initiated.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Withdrawal" + } + } + } + } + } + } + }, + "/user/deposits" : { + "post" : { + "tags" : [ "user" ], + "summary" : "Registers a relay chain deposit on the DEX demo.", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/body_5" + } + } + }, + "required" : true + }, + "responses" : { + "200" : { + "description" : "Deposit successfully initiated.", + "content" : { + "application/json" : { + "schema" : { + "type" : "object", + "allOf" : [ { + "$ref" : "#/components/schemas/BlockInclusionResponse" + } ] + } + } + } + } + } + } + }, + "/markets/{market_id}/candles" : { + "get" : { + "tags" : [ "market" ], + "summary" : "Gets candlestick prices for the provided market.", + "parameters" : [ { + "name" : "market_id", + "in" : "path", + "description" : "The ID of the market to fetch candles for.", + "required" : true, + "style" : "simple", + "explode" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "start", + "in" : "query", + "description" : "ISO8601 date of when to start the candle query.", + "required" : false, + "style" : "form", + "explode" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "end", + "in" : "query", + "description" : "ISO8601 date of when to end the candle query.", + "required" : false, + "style" : "form", + "explode" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "granularity", + "in" : "query", + "description" : "Granularity of candle data to return.", + "required" : false, + "style" : "form", + "explode" : true, + "schema" : { + "type" : "string", + "enum" : [ "1m", "5m", "15m", "60m", "1d" ] + } + } ], + "responses" : { + "200" : { + "description" : "Candle data.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CandlestickResponse" + } + } + } + } + } + } + }, + "/markets/{market_id}/spread/{block_number}" : { + "get" : { + "tags" : [ "market" ], + "summary" : "Gets the batch auction state for the provided market ID and the block number.", + "parameters" : [ { + "name" : "market_id", + "in" : "path", + "required" : true, + "style" : "simple", + "explode" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "block_number", + "in" : "path", + "required" : true, + "style" : "simple", + "explode" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "The batch state.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Spread" + } + } + } + } + } + } + }, + "/markets/{market_id}/book" : { + "get" : { + "tags" : [ "market" ], + "summary" : "Gets all open order at latest block by market", + "parameters" : [ { + "name" : "market_id", + "in" : "path", + "required" : true, + "style" : "simple", + "explode" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "The batch state.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Spread" + } + } + } + } + } + } + }, + "/markets/{market_id}/batches/{block_number}" : { + "get" : { + "tags" : [ "market" ], + "summary" : "Gets all executed batches at a block (or latest)", + "parameters" : [ { + "name" : "market_id", + "in" : "path", + "required" : true, + "style" : "simple", + "explode" : false, + "schema" : { + "type" : "string" + } + }, { + "name" : "block_number", + "in" : "path", + "required" : true, + "style" : "simple", + "explode" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "The batch state.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/BatchesResponse" + } + } + } + } + } + } + }, + "/markets/{market_id}/daily" : { + "get" : { + "tags" : [ "market" ], + "summary" : "Daily Price Stats", + "parameters" : [ { + "name" : "market_id", + "in" : "path", + "required" : true, + "style" : "simple", + "explode" : false, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "The stats.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/inline_response_200_3" + } + } + } + } + } + } + }, + "/markets" : { + "get" : { + "tags" : [ "market" ], + "summary" : "Lists all markets.", + "responses" : { + "200" : { + "description" : "List of markets.", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Market" + } + } + } + } + } + } + } + }, + "components" : { + "schemas" : { + "BlockInclusionResponse" : { + "type" : "object", + "properties" : { + "block_inclusion" : { + "$ref" : "#/components/schemas/BlockInclusionResponse_block_inclusion" + } + } + }, + "BlockInclusionFailure" : { + "type" : "object", + "properties" : { + "error" : { + "$ref" : "#/components/schemas/BlockInclusionFailure_error" + } + } + }, + "BatchesResponse" : { + "allOf" : [ { + "$ref" : "#/components/schemas/BlockInclusionResponse" + }, { + "$ref" : "#/components/schemas/BatchInfo" + } ] + }, + "BatchInfo" : { + "type" : "object", + "properties" : { + "price" : { + "type" : "string" + }, + "amount" : { + "type" : "string" + } + } + }, + "OrderCreationRequest" : { + "type" : "object", + "properties" : { + "market_id" : { + "type" : "string" + }, + "direction" : { + "type" : "string", + "enum" : [ "BID", "ASK" ] + }, + "price" : { + "type" : "string" + }, + "quantity" : { + "type" : "string" + }, + "type" : { + "type" : "string", + "enum" : [ "MARKET", "LIMIT" ] + }, + "time_in_force" : { + "type" : "integer" + } + } + }, + "OrderCreationResponse" : { + "allOf" : [ { + "$ref" : "#/components/schemas/BlockInclusionResponse" + }, { + "$ref" : "#/components/schemas/Order" + } ] + }, + "Order" : { + "type" : "object", + "properties" : { + "id" : { + "type" : "string" + }, + "market_id" : { + "type" : "string" + }, + "direction" : { + "type" : "string", + "enum" : [ "BID", "ASK" ] + }, + "price" : { + "type" : "string" + }, + "quantity" : { + "type" : "string" + }, + "status" : { + "type" : "string", + "enum" : [ "FILLED", "CANCELLED", "OPEN" ] + }, + "type" : { + "type" : "string", + "enum" : [ "MARKET", "LIMIT" ] + }, + "time_in_force" : { + "type" : "integer" + } + } + }, + "OrderWithFills" : { + "properties" : { + "quantity_filled" : { + "type" : "string" + } + }, + "allOf" : [ { + "$ref" : "#/components/schemas/Order" + } ] + }, + "Balance" : { + "type" : "object", + "properties" : { + "balances" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/Balance_balances" + } + } + } + }, + "Fill" : { + "type" : "object", + "properties" : { + "quantity_filled" : { + "type" : "string" + }, + "quantity_unfilled" : { + "type" : "string" + }, + "direction" : { + "type" : "string", + "enum" : [ "BID", "ASK" ] + }, + "order_id" : { + "type" : "string" + }, + "pair" : { + "type" : "string" + }, + "price" : { + "type" : "string" + }, + "owner" : { + "type" : "string" + } + }, + "allOf" : [ { + "$ref" : "#/components/schemas/BlockInclusionResponse" + } ] + }, + "CandlestickResponse" : { + "type" : "object", + "properties" : { + "market_id" : { + "type" : "string" + }, + "candles" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/CandlestickResponse_candles" + } + } + } + }, + "Spread" : { + "type" : "object", + "properties" : { + "block_number" : { + "type" : "string" + }, + "market_id" : { + "type" : "string" + }, + "bids" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/PriceQuantity" + } + }, + "asks" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/PriceQuantity" + } + } + } + }, + "PriceQuantity" : { + "type" : "object", + "properties" : { + "price" : { + "type" : "string" + }, + "quantity" : { + "type" : "string" + } + } + }, + "Market" : { + "type" : "object", + "properties" : { + "id" : { + "type" : "string" + }, + "pair" : { + "type" : "string" + }, + "base_asset_id" : { + "type" : "string" + }, + "quote_asset_id" : { + "type" : "string" + } + } + }, + "Withdrawal" : { + "type" : "object", + "properties" : { + "beneficiary" : { + "type" : "string", + "description" : "The address of the recipient who will unlock funds on the remote chain. Hex-encoded." + }, + "merkle_proof" : { + "type" : "string", + "description" : "The Merkle proof required to unlock funds on the relay chain." + }, + "merkle_leaf" : { + "type" : "string", + "description" : "The Merkle leaf hash of the withdrawal." + }, + "asset_id" : { + "type" : "string", + "description" : "The ID of the cleared asset to be withdrawn." + }, + "burn_id" : { + "type" : "string", + "description" : "The ID of the underlying burn used to initiate this withdrawal." + }, + "quantity" : { + "type" : "string", + "description" : "The amount of the cleared asset to withdraw, as represented in the asset's base units." + }, + "initiated_block" : { + "type" : "number", + "description" : "The block number when this withdrawal was initiated." + }, + "owner" : { + "type" : "string", + "description" : "The address whose funds are being withdrawn." + } + } + }, + "body" : { + "type" : "object", + "properties" : { + "username" : { + "type" : "string" + }, + "password" : { + "type" : "string" + } + } + }, + "body_1" : { + "type" : "object", + "properties" : { + "old_password" : { + "type" : "string" + }, + "new_password" : { + "type" : "string" + } + } + }, + "body_2" : { + "type" : "object", + "properties" : { + "order_ids" : { + "type" : "array", + "items" : { + "type" : "string" + } + } + } + }, + "inline_response_200" : { + "type" : "object", + "properties" : { + "next_id" : { + "type" : "string" + }, + "orders" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/OrderWithFills" + } + } + } + }, + "inline_response_200_1" : { + "type" : "object", + "properties" : { + "fills" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/Fill" + } + } + } + }, + "body_3" : { + "type" : "object", + "properties" : { + "to" : { + "type" : "string" + }, + "amount" : { + "type" : "string" + }, + "asset_id" : { + "type" : "string" + } + } + }, + "inline_response_200_2" : { + "type" : "object", + "properties" : { + "owner" : { + "type" : "string" + }, + "withdrawals" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/Withdrawal" + } + } + } + }, + "body_4" : { + "type" : "object", + "properties" : { + "beneficiary" : { + "type" : "string", + "description" : "The address of the recipient who will unlock funds on the relay chain. Hex-encoded." + }, + "asset_id" : { + "type" : "string", + "description" : "The ID of the cleared asset to be withdrawn." + }, + "quantity" : { + "type" : "string", + "description" : "The amount of the cleared asset to withdraw, as represented in the asset's base units." + } + } + }, + "body_5" : { + "type" : "object", + "properties" : { + "asset_id" : { + "type" : "string", + "description" : "The asset ID deposited." + }, + "quantity" : { + "type" : "string", + "description" : "The amount of the asset deposited." + }, + "relay_chain_id" : { + "type" : "string", + "enum" : [ "ETH" ] + }, + "relay_chain_transaction_hash" : { + "type" : "string", + "description" : "The transaction hash of the deposit on the relay chain." + } + } + }, + "inline_response_200_3" : { + "type" : "object", + "properties" : { + "pair" : { + "type" : "string" + }, + "volume" : { + "type" : "string" + }, + "change" : { + "type" : "string" + }, + "last" : { + "type" : "string" + }, + "high" : { + "type" : "string" + }, + "low" : { + "type" : "string" + } + } + }, + "BlockInclusionResponse_block_inclusion" : { + "type" : "object", + "properties" : { + "block_number" : { + "type" : "string" + }, + "transaction_hash" : { + "type" : "string" + }, + "block_timestamp" : { + "type" : "number" + } + } + }, + "BlockInclusionFailure_error" : { + "type" : "object", + "properties" : { + "codespace" : { + "type" : "integer" + }, + "code" : { + "type" : "integer" + } + } + }, + "Balance_balances" : { + "type" : "object", + "properties" : { + "asset_id" : { + "type" : "string" + }, + "name" : { + "type" : "string" + }, + "symbol" : { + "type" : "string" + }, + "liquid" : { + "type" : "string", + "description" : "Amount of this asset available for trading." + }, + "at_risk" : { + "type" : "string", + "description" : "Amount of this asset current on the order book." + } + } + }, + "CandlestickResponse_candles" : { + "type" : "object", + "properties" : { + "date" : { + "type" : "string", + "description" : "ISO8601" + }, + "open" : { + "type" : "string" + }, + "close" : { + "type" : "string" + }, + "high" : { + "type" : "string" + }, + "low" : { + "type" : "string" + } + } + } + }, + "parameters" : { + "StartId" : { + "name" : "start_id", + "in" : "query", + "description" : "The smallest ID to include in this request.", + "required" : false, + "style" : "form", + "explode" : true, + "schema" : { + "type" : "string" + } + }, + "EndId" : { + "name" : "end_id", + "in" : "query", + "description" : "The largest ID to include in this request.", + "required" : false, + "style" : "form", + "explode" : true, + "schema" : { + "type" : "string" + } + }, + "StartBlock" : { + "name" : "start_block", + "in" : "query", + "description" : "The block to start counting from.", + "required" : false, + "style" : "form", + "explode" : true, + "schema" : { + "type" : "integer" + } + }, + "EndBlock" : { + "name" : "end_block", + "in" : "query", + "description" : "The block to end counting at.", + "required" : false, + "style" : "form", + "explode" : true, + "schema" : { + "type" : "integer" + } + }, + "Start" : { + "name" : "start", + "in" : "query", + "description" : "The ID to begin counting at.", + "required" : false, + "style" : "form", + "explode" : true, + "schema" : { + "type" : "integer" + } + } + }, + "securitySchemes" : { + "SessionCookie" : { + "type" : "apiKey", + "name" : "uex_session", + "in" : "cookie" + }, + "CSRFToken" : { + "type" : "apiKey", + "name" : "X-CSRF-Token", + "in" : "header" + }, + "OTP" : { + "type" : "apiKey", + "name" : "X-OTP-Token", + "in" : "header" + } + } + } +} \ No newline at end of file diff --git a/openapi/dex-demo-embedded.html b/openapi/dex-demo-embedded.html new file mode 100644 index 0000000..ad64605 --- /dev/null +++ b/openapi/dex-demo-embedded.html @@ -0,0 +1,24 @@ + + + + ReDoc + + + + + + + + + + + + + \ No newline at end of file