feat(api): add comprehensive API collection for NowChess microservices
Build & Test (NowChessSystems) TeamCity build finished

This commit is contained in:
2026-04-30 18:56:48 +02:00
parent 77e498a326
commit 3844456f0c
74 changed files with 1395 additions and 1 deletions
@@ -0,0 +1,15 @@
meta {
name: List Instances
type: http
seq: 1
}
http {
method: GET
url: {{baseUrl}}/coordinator/instances
auth: none
}
headers {
Accept: application/json
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Get Metrics
type: http
seq: 2
}
http {
method: GET
url: {{baseUrl}}/coordinator/metrics
auth: none
}
headers {
Accept: application/json
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Rebalance
type: http
seq: 3
}
http {
method: POST
url: {{baseUrl}}/coordinator/rebalance
auth: none
}
headers {
Accept: application/json
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Failover
type: http
seq: 4
}
http {
method: POST
url: {{baseUrl}}/coordinator/failover/{{instanceId}}
auth: none
}
headers {
Accept: application/json
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Scale Up
type: http
seq: 5
}
http {
method: POST
url: {{baseUrl}}/coordinator/scale-up
auth: none
}
headers {
Accept: application/json
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Scale Down
type: http
seq: 6
}
http {
method: POST
url: {{baseUrl}}/coordinator/scale-down
auth: none
}
headers {
Accept: application/json
}
+4
View File
@@ -0,0 +1,4 @@
meta {
name: coordinator
seq: 4
}
+26
View File
@@ -0,0 +1,26 @@
meta {
name: Create Game
type: http
seq: 1
}
http {
method: POST
url: {{baseUrl}}/board/game
body: json
auth: none
}
headers {
Content-Type: application/json
Authorization: Bearer {{internalToken}}
}
body:json {
{
"white": {"id": "p1", "displayName": "Player 1"},
"black": {"id": "p2", "displayName": "Player 2"},
"timeControl": {"limitSeconds": 600, "incrementSeconds": 5},
"mode": "Open"
}
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Get Game
type: http
seq: 2
}
http {
method: GET
url: {{baseUrl}}/board/game/{{gameId}}
auth: none
}
headers {
Accept: application/json
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Make Move
type: http
seq: 3
}
http {
method: POST
url: {{baseUrl}}/board/game/{{gameId}}/move/{{uci}}
auth: none
}
headers {
Authorization: Bearer {{token}}
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Get Legal Moves
type: http
seq: 4
}
http {
method: GET
url: {{baseUrl}}/board/game/{{gameId}}/moves?square={{square}}
auth: none
}
headers {
Accept: application/json
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Undo Move
type: http
seq: 5
}
http {
method: POST
url: {{baseUrl}}/board/game/{{gameId}}/undo
auth: none
}
headers {
Authorization: Bearer {{token}}
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Redo Move
type: http
seq: 6
}
http {
method: POST
url: {{baseUrl}}/board/game/{{gameId}}/redo
auth: none
}
headers {
Authorization: Bearer {{token}}
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Resign Game
type: http
seq: 7
}
http {
method: POST
url: {{baseUrl}}/board/game/{{gameId}}/resign
auth: none
}
headers {
Authorization: Bearer {{token}}
}
+24
View File
@@ -0,0 +1,24 @@
meta {
name: Import FEN
type: http
seq: 8
}
http {
method: POST
url: {{baseUrl}}/board/game/import/fen
body: json
auth: none
}
headers {
Content-Type: application/json
}
body:json {
{
"fen": "rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1",
"white": {"id": "p1", "displayName": "Player 1"},
"black": {"id": "p2", "displayName": "Player 2"}
}
}
+22
View File
@@ -0,0 +1,22 @@
meta {
name: Import PGN
type: http
seq: 9
}
http {
method: POST
url: {{baseUrl}}/board/game/import/pgn
body: json
auth: none
}
headers {
Content-Type: application/json
}
body:json {
{
"pgn": "[Event \"Test Game\"]\n[Site \"NowChess\"]\n1. e4 e5 2. Nf3 Nc6"
}
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Export FEN
type: http
seq: 10
}
http {
method: GET
url: {{baseUrl}}/board/game/{{gameId}}/export/fen
auth: none
}
headers {
Accept: text/plain
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Export PGN
type: http
seq: 11
}
http {
method: GET
url: {{baseUrl}}/board/game/{{gameId}}/export/pgn
auth: none
}
headers {
Accept: application/x-chess-pgn
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Offer Draw
type: http
seq: 12
}
http {
method: POST
url: {{baseUrl}}/board/game/{{gameId}}/draw/offer
auth: none
}
headers {
Authorization: Bearer {{token}}
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Accept Draw
type: http
seq: 13
}
http {
method: POST
url: {{baseUrl}}/board/game/{{gameId}}/draw/accept
auth: none
}
headers {
Authorization: Bearer {{token}}
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Decline Draw
type: http
seq: 14
}
http {
method: POST
url: {{baseUrl}}/board/game/{{gameId}}/draw/decline
auth: none
}
headers {
Authorization: Bearer {{token}}
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Claim Draw
type: http
seq: 15
}
http {
method: POST
url: {{baseUrl}}/board/game/{{gameId}}/draw/claim
auth: none
}
headers {
Authorization: Bearer {{token}}
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Request Takeback
type: http
seq: 16
}
http {
method: POST
url: {{baseUrl}}/board/game/{{gameId}}/takeback/request
auth: none
}
headers {
Authorization: Bearer {{token}}
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Accept Takeback
type: http
seq: 17
}
http {
method: POST
url: {{baseUrl}}/board/game/{{gameId}}/takeback/accept
auth: none
}
headers {
Authorization: Bearer {{token}}
}
+15
View File
@@ -0,0 +1,15 @@
meta {
name: Decline Takeback
type: http
seq: 18
}
http {
method: POST
url: {{baseUrl}}/board/game/{{gameId}}/takeback/decline
auth: none
}
headers {
Authorization: Bearer {{token}}
}
+4
View File
@@ -0,0 +1,4 @@
meta {
name: game
seq: 1
}
+23
View File
@@ -0,0 +1,23 @@
meta {
name: Import FEN
type: http
seq: 1
}
http {
method: POST
url: {{ioBaseUrl}}/io/import/fen
body: json
auth: none
}
headers {
Content-Type: application/json
Authorization: Bearer {{internalToken}}
}
body:json {
{
"fen": "rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1"
}
}
+23
View File
@@ -0,0 +1,23 @@
meta {
name: Import PGN
type: http
seq: 2
}
http {
method: POST
url: {{ioBaseUrl}}/io/import/pgn
body: json
auth: none
}
headers {
Content-Type: application/json
Authorization: Bearer {{internalToken}}
}
body:json {
{
"pgn": "[Event \"Test\"]\n1. e4 e5"
}
}
+21
View File
@@ -0,0 +1,21 @@
meta {
name: Export FEN
type: http
seq: 3
}
http {
method: POST
url: {{ioBaseUrl}}/io/export/fen
body: json
auth: none
}
headers {
Content-Type: application/json
Authorization: Bearer {{internalToken}}
}
body:json {
{}
}
+21
View File
@@ -0,0 +1,21 @@
meta {
name: Export PGN
type: http
seq: 4
}
http {
method: POST
url: {{ioBaseUrl}}/io/export/pgn
body: json
auth: none
}
headers {
Content-Type: application/json
Authorization: Bearer {{internalToken}}
}
body:json {
{}
}
+4
View File
@@ -0,0 +1,4 @@
meta {
name: io
seq: 3
}
+24
View File
@@ -0,0 +1,24 @@
meta {
name: Candidate Moves
type: http
seq: 1
}
post {
url: {{baseUrl}}/rules/candidate-moves
body: json
auth: none
}
headers {
Content-Type: application/json
Authorization: Bearer {{internalToken}}
}
body:json {
{
"context": {},
"square": "e2"
}
}
+24
View File
@@ -0,0 +1,24 @@
meta {
name: Legal Moves
type: http
seq: 2
}
http {
method: POST
url: {{baseUrl}}/rules/legal-moves
body: json
auth: none
}
headers {
Content-Type: application/json
Authorization: Bearer {{internalToken}}
}
body:json {
{
"context": {},
"square": "e2"
}
}
+21
View File
@@ -0,0 +1,21 @@
meta {
name: All Legal Moves
type: http
seq: 3
}
http {
method: POST
url: {{baseUrl}}/rules/all-legal-moves
body: json
auth: none
}
headers {
Content-Type: application/json
Authorization: Bearer {{internalToken}}
}
body:json {
{}
}
+21
View File
@@ -0,0 +1,21 @@
meta {
name: Is Check
type: http
seq: 4
}
http {
method: POST
url: {{baseUrl}}/rules/is-check
body: json
auth: none
}
headers {
Content-Type: application/json
Authorization: Bearer {{internalToken}}
}
body:json {
{}
}
+21
View File
@@ -0,0 +1,21 @@
meta {
name: Is Checkmate
type: http
seq: 5
}
http {
method: POST
url: {{baseUrl}}/rules/is-checkmate
body: json
auth: none
}
headers {
Content-Type: application/json
Authorization: Bearer {{internalToken}}
}
body:json {
{}
}
+4
View File
@@ -0,0 +1,4 @@
meta {
name: rules
seq: 2
}