diff --git a/docs/pre.sh b/docs/pre.sh index 37193d265..170f18110 100755 --- a/docs/pre.sh +++ b/docs/pre.sh @@ -1,3 +1,3 @@ #!/bin/bash -cp -a ../rpc/openapi/ .vuepress/public/rpc/ +cp -a ../rpc/openapi/* .vuepress/public/rpc/ diff --git a/rpc/openapi/openapi.yaml b/rpc/openapi/openapi.yaml index bcdd50473..b7023eca0 100644 --- a/rpc/openapi/openapi.yaml +++ b/rpc/openapi/openapi.yaml @@ -880,6 +880,41 @@ paths: application/json: schema: $ref: "#/components/schemas/ErrorResponse" + /genesis_chunked: + get: + summary: Get Genesis in multiple chunks + operationId: genesis_chunked + tags: + - Info + description: | + Get genesis document in multiple chunks to make it easier to iterate + through larger genesis structures. Each chunk is produced by converting + the genesis document to JSON and then splitting the resulting payload + into 16MB blocks, and then Base64-encoding each block. + + Upon success, the `Cache-Control` header will be set with the default + maximum age. + parameters: + - in: query + name: chunk + description: Sequence number of the chunk to download. + schema: + type: integer + default: 0 + example: 1 + responses: + "200": + description: Genesis chunk response. + content: + application/json: + schema: + $ref: "#/components/schemas/GenesisChunkedResponse" + "500": + description: Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" /dump_consensus_state: get: summary: Get consensus state @@ -1935,6 +1970,35 @@ components: properties: {} type: object + GenesisChunkedResponse: + type: object + required: + - "jsonrpc" + - "id" + - "result" + properties: + jsonrpc: + type: string + example: "2.0" + id: + type: integer + example: 0 + result: + required: + - "chunk" + - "total" + - "data" + properties: + chunk: + type: integer + example: 0 + total: + type: integer + example: 1 + data: + type: string + example: "Z2VuZXNpcwo=" + DumpConsensusResponse: type: object required: