|
2 | 2 | "openapi": "3.1.0", |
3 | 3 | "info": { |
4 | 4 | "title": "Evolve API", |
5 | | - "description": "This API provides access to Signer, Store, P2P, and Health services.\n\n## Services\n\n* **Signer Service** - Sign messages and retrieve public keys\n* **Store Service** - Access blocks, state, and metadata\n* **P2P Service** - Network and peer information\n* **Health Service** - Node health checks and simple HTTP endpoints\n\n## Protocols\n\n### gRPC-Web Protocol\n\nMost endpoints use gRPC-Web protocol over HTTP/1.1 with JSON encoding. Requests are made via POST with `Content-Type: application/json`.\n\n### Simple HTTP Endpoints\n\nSome endpoints (like `/health/live`) are simple HTTP GET requests that return plain text responses for basic monitoring and health checks.", |
| 5 | + "description": "This API provides access to Signer, Store, P2P, Config, and Health services.\n\n## Services\n\n* **Signer Service** - Sign messages and retrieve public keys\n* **Store Service** - Access blocks, state, and metadata\n* **P2P Service** - Network and peer information\n* **Config Service** - Network configuration and namespace information\n* **Health Service** - Node health checks and simple HTTP endpoints\n\n## Protocols\n\n### gRPC-Web Protocol\n\nMost endpoints use gRPC-Web protocol over HTTP/1.1 with JSON encoding. Requests are made via POST with `Content-Type: application/json`.\n\n### Simple HTTP Endpoints\n\nSome endpoints (like `/health/live`) are simple HTTP GET requests that return plain text responses for basic monitoring and health checks.", |
6 | 6 | "version": "1.0.0", |
7 | 7 | "contact": { |
8 | 8 | "name": "Evolve Team", |
|
28 | 28 | "name": "P2P Service", |
29 | 29 | "description": "Network and peer information" |
30 | 30 | }, |
| 31 | + { |
| 32 | + "name": "Config Service", |
| 33 | + "description": "Network configuration and namespace information" |
| 34 | + }, |
31 | 35 | { |
32 | 36 | "name": "Health Service", |
33 | 37 | "description": "Node health and liveness checks" |
|
355 | 359 | } |
356 | 360 | } |
357 | 361 | }, |
| 362 | + "/evnode.v1.ConfigService/GetNamespace": { |
| 363 | + "post": { |
| 364 | + "tags": [ |
| 365 | + "Config Service" |
| 366 | + ], |
| 367 | + "summary": "Get namespace configuration", |
| 368 | + "description": "Retrieve the header and data namespace configuration for this network.", |
| 369 | + "operationId": "getNamespace", |
| 370 | + "requestBody": { |
| 371 | + "description": "Get namespace request (empty)", |
| 372 | + "required": true, |
| 373 | + "content": { |
| 374 | + "application/json": { |
| 375 | + "schema": { |
| 376 | + "$ref": "#/components/schemas/GetNamespaceRequest" |
| 377 | + }, |
| 378 | + "examples": { |
| 379 | + "default": { |
| 380 | + "summary": "Get namespace configuration", |
| 381 | + "value": {} |
| 382 | + } |
| 383 | + } |
| 384 | + } |
| 385 | + } |
| 386 | + }, |
| 387 | + "responses": { |
| 388 | + "200": { |
| 389 | + "description": "Namespace configuration retrieved successfully", |
| 390 | + "content": { |
| 391 | + "application/json": { |
| 392 | + "schema": { |
| 393 | + "$ref": "#/components/schemas/GetNamespaceResponse" |
| 394 | + } |
| 395 | + } |
| 396 | + } |
| 397 | + }, |
| 398 | + "500": { |
| 399 | + "$ref": "#/components/responses/InternalError" |
| 400 | + } |
| 401 | + } |
| 402 | + } |
| 403 | + }, |
358 | 404 | "/evnode.v1.HealthService/Livez": { |
359 | 405 | "post": { |
360 | 406 | "tags": [ |
|
627 | 673 | } |
628 | 674 | } |
629 | 675 | }, |
| 676 | + "GetNamespaceRequest": { |
| 677 | + "type": "object", |
| 678 | + "description": "Request to get namespace configuration (empty)", |
| 679 | + "properties": {} |
| 680 | + }, |
| 681 | + "GetNamespaceResponse": { |
| 682 | + "type": "object", |
| 683 | + "description": "Response containing namespace configuration", |
| 684 | + "required": [ |
| 685 | + "header_namespace", |
| 686 | + "data_namespace" |
| 687 | + ], |
| 688 | + "properties": { |
| 689 | + "header_namespace": { |
| 690 | + "type": "string", |
| 691 | + "description": "The namespace identifier for block headers", |
| 692 | + "example": "0x01234567890abcdef" |
| 693 | + }, |
| 694 | + "data_namespace": { |
| 695 | + "type": "string", |
| 696 | + "description": "The namespace identifier for block data", |
| 697 | + "example": "0xfedcba9876543210" |
| 698 | + } |
| 699 | + } |
| 700 | + }, |
630 | 701 | "LivezRequest": { |
631 | 702 | "type": "object", |
632 | 703 | "description": "Request to check node health (empty)", |
|
0 commit comments