2024-07-05 14:08:01 +00:00
< ? php
namespace App\Http\Controllers\Api ;
use OpenApi\Attributes as OA ;
#[OA\Info(title: 'Coolify', version: '0.1')]
2025-04-22 08:44:37 +00:00
#[OA\Server(url: 'https://app.coolify.io/api/v1', description: 'Coolify Cloud API. Change the host to your own instance if you are self-hosting.', variables: [
new OA\ServerVariable ( 'token' , 'your-coolify-token-here' , 'Coolify token for authentication' ),
])]
2024-07-06 12:34:15 +00:00
#[OA\SecurityScheme(
type : 'http' ,
scheme : 'bearer' ,
securityScheme : 'bearerAuth' ,
description : 'Go to `Keys & Tokens` / `API tokens` and create a new token. Use the token as the bearer token.' )]
#[OA\Components(
responses : [
new OA\Response (
2024-07-09 08:45:10 +00:00
response : 400 ,
description : 'Invalid token.' ,
2024-07-06 12:34:15 +00:00
content : new OA\JsonContent (
type : 'object' ,
properties : [
2024-07-09 08:45:10 +00:00
new OA\Property ( property : 'message' , type : 'string' , example : 'Invalid token.' ),
2024-07-06 12:34:15 +00:00
]
)),
new OA\Response (
2024-07-09 08:45:10 +00:00
response : 401 ,
description : 'Unauthenticated.' ,
2024-07-06 12:34:15 +00:00
content : new OA\JsonContent (
type : 'object' ,
properties : [
2024-07-09 08:45:10 +00:00
new OA\Property ( property : 'message' , type : 'string' , example : 'Unauthenticated.' ),
2024-07-06 12:34:15 +00:00
]
)),
new OA\Response (
response : 404 ,
description : 'Resource not found.' ,
content : new OA\JsonContent (
type : 'object' ,
properties : [
2024-07-09 08:45:10 +00:00
new OA\Property ( property : 'message' , type : 'string' , example : 'Resource not found.' ),
2024-07-06 12:34:15 +00:00
]
)),
],
)]
2024-07-05 14:08:01 +00:00
class OpenApi
{
// This class is used to generate OpenAPI documentation
// for the Coolify API. It is not a controller and does
// not contain any routes. It is used to define the
// OpenAPI metadata and security scheme for the API.
}