Skip to content

Complete API Reference

This is a comprehensive reference for all API endpoints in the Swit framework, organized for easy lookup and usage.

Services Overview

ServiceDescriptionEndpointsVersion
SWIT Server APIThis is the SWIT server API documentation.51.0
SWIT Auth APIThis is the SWIT authentication service API documentation.51.0

SWIT Server API

This is the SWIT server API documentation.

  • Base URL: http://localhost:8080/
  • Version: 1.0
  • Endpoints: 5

internal

POST /internal/validate-user

Validate user credentials (Internal API)

Internal API for validating user credentials, used by authentication service

MethodPath
POST/internal/validate-user

Parameters

参数名类型Required/OptionalDescription
credentialsobjectRequiredUser credentials

Responses

Status CodeDescription
200Validation successful
400Bad request
401Invalid credentials
500Internal server error

Examples

:::tabs

== cURL

bash
curl -X POST \
  "http://localhost:8080/internal/validate-user" \
  -d '{"key": "value"}'

== JavaScript

javascript
const response = await fetch('http://localhost:8080/internal/validate-user', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
  },
  body: JSON.stringify({ key: 'value' }),
});
const data = await response.json();
console.log(data);

== Python

python
import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
}

response = requests.post(
    'http://localhost:8080/internal/validate-user',
    json={'key': 'value'},
    headers=headers
)
data = response.json()
print(data)

:::

users

POST /users/create

Create a new user

Create a new user with username, email and password

MethodPath
POST/users/create

Parameters

参数名类型Required/OptionalDescription
userobjectRequiredUser information

Responses

Status CodeDescription
201User created successfully
400Bad request
500Internal server error

Examples

:::tabs

== cURL

bash
curl -X POST \
  "http://localhost:8080/users/create" \
  -d '{"key": "value"}'

== JavaScript

javascript
const response = await fetch('http://localhost:8080/users/create', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
  },
  body: JSON.stringify({ key: 'value' }),
});
const data = await response.json();
console.log(data);

== Python

python
import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
}

response = requests.post(
    'http://localhost:8080/users/create',
    json={'key': 'value'},
    headers=headers
)
data = response.json()
print(data)

:::

GET /users/email/

Get user by email

Get user details by email address

MethodPath
GET/users/email/{email}

Parameters

参数名类型Required/OptionalDescription
emailstringRequiredEmail address

Responses

Status CodeDescription
200User details
404User not found
500Internal server error

Examples

:::tabs

== cURL

bash
curl -X GET \
  "http://localhost:8080/users/email/{email}

== JavaScript

javascript
const response = await fetch('http://localhost:8080/users/email/{email}', {
  headers: {
    'Authorization': 'Bearer <your_token>',
  },
});
const data = await response.json();
console.log(data);

== Python

python
import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
}

response = requests.get(
    'http://localhost:8080/users/email/{email}',
    headers=headers
)
data = response.json()
print(data)

:::

GET /users/username/

Get user by username

Get user details by username

MethodPath
GET/users/username/{username}

Parameters

参数名类型Required/OptionalDescription
usernamestringRequiredUsername

Responses

Status CodeDescription
200User details
404User not found
500Internal server error

Examples

:::tabs

== cURL

bash
curl -X GET \
  "http://localhost:8080/users/username/{username}

== JavaScript

javascript
const response = await fetch('http://localhost:8080/users/username/{username}', {
  headers: {
    'Authorization': 'Bearer <your_token>',
  },
});
const data = await response.json();
console.log(data);

== Python

python
import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
}

response = requests.get(
    'http://localhost:8080/users/username/{username}',
    headers=headers
)
data = response.json()
print(data)

:::

DELETE /users/

Delete a user

Delete a user by ID

MethodPath
DELETE/users/{id}

Parameters

参数名类型Required/OptionalDescription
idstringRequiredUser ID

Responses

Status CodeDescription
200User deleted successfully
400Invalid user ID
500Internal server error

Examples

:::tabs

== cURL

bash
curl -X DELETE \
  "http://localhost:8080/users/{id}

== JavaScript

javascript
const response = await fetch('http://localhost:8080/users/{id}', {
  method: 'DELETE',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
  },
});
const data = await response.json();
console.log(data);

== Python

python
import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
}

response = requests.delete(
    'http://localhost:8080/users/{id}',
    headers=headers
)
data = response.json()
print(data)

:::

SWIT Auth API

This is the SWIT authentication service API documentation.

  • Base URL: http://localhost:8090/
  • Version: 1.0
  • Endpoints: 5

authentication

POST /auth/login

User login

Authenticate a user with username and password, returns access and refresh tokens

MethodPath
POST/auth/login

Parameters

参数名类型Required/OptionalDescription
loginobjectRequiredUser login credentials

Responses

Status CodeDescription
200Login successful
400Bad request
401Invalid credentials

Examples

:::tabs

== cURL

bash
curl -X POST \
  "http://localhost:8080/auth/login" \
  -d '{"key": "value"}'

== JavaScript

javascript
const response = await fetch('http://localhost:8080/auth/login', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
  },
  body: JSON.stringify({ key: 'value' }),
});
const data = await response.json();
console.log(data);

== Python

python
import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
}

response = requests.post(
    'http://localhost:8080/auth/login',
    json={'key': 'value'},
    headers=headers
)
data = response.json()
print(data)

:::

POST /auth/logout

User logout

Invalidate the user's access token and log them out

MethodPath
POST/auth/logout

Responses

Status CodeDescription
200Logout successful
400Authorization header is missing
500Internal server error

Examples

:::tabs

== cURL

bash
curl -X POST \
  "http://localhost:8080/auth/logout

== JavaScript

javascript
const response = await fetch('http://localhost:8080/auth/logout', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
  },
});
const data = await response.json();
console.log(data);

== Python

python
import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
}

response = requests.post(
    'http://localhost:8080/auth/logout',
    headers=headers
)
data = response.json()
print(data)

:::

POST /auth/refresh

Refresh access token

Generate new access and refresh tokens using a valid refresh token

MethodPath
POST/auth/refresh

Parameters

参数名类型Required/OptionalDescription
refreshobjectRequiredRefresh token

Responses

Status CodeDescription
200Token refresh successful
400Bad request
401Invalid or expired refresh token

Examples

:::tabs

== cURL

bash
curl -X POST \
  "http://localhost:8080/auth/refresh" \
  -d '{"key": "value"}'

== JavaScript

javascript
const response = await fetch('http://localhost:8080/auth/refresh', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
  },
  body: JSON.stringify({ key: 'value' }),
});
const data = await response.json();
console.log(data);

== Python

python
import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
}

response = requests.post(
    'http://localhost:8080/auth/refresh',
    json={'key': 'value'},
    headers=headers
)
data = response.json()
print(data)

:::

GET /auth/validate

Validate access token

Validate an access token and return token information including user ID

MethodPath
GET/auth/validate

Responses

Status CodeDescription
200Token is valid
401Invalid or expired token

Examples

:::tabs

== cURL

bash
curl -X GET \
  "http://localhost:8080/auth/validate

== JavaScript

javascript
const response = await fetch('http://localhost:8080/auth/validate', {
  headers: {
    'Authorization': 'Bearer <your_token>',
  },
});
const data = await response.json();
console.log(data);

== Python

python
import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
}

response = requests.get(
    'http://localhost:8080/auth/validate',
    headers=headers
)
data = response.json()
print(data)

:::

health

GET /health

Health check

Check if the authentication service is healthy

MethodPath
GET/health

Responses

Status CodeDescription
200Service is healthy

Examples

:::tabs

== cURL

bash
curl -X GET \
  "http://localhost:8080/health

== JavaScript

javascript
const response = await fetch('http://localhost:8080/health', {
  headers: {
    'Authorization': 'Bearer <your_token>',
  },
});
const data = await response.json();
console.log(data);

== Python

python
import requests

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <your_token>',
}

response = requests.get(
    'http://localhost:8080/health',
    headers=headers
)
data = response.json()
print(data)

:::

Released under the MIT License.