API Documentation for the Startup Portugal platform
Most endpoints require authentication using a JWT token. To authenticate:
/api/auth/signin endpoint to obtain a tokenAuthorization header for subsequent requests using the format: Bearer YOUR_TOKEN/api
Authenticate a user and get a JWT token.
{
"email": "user@example.com",
"password": "your_password"
}
{
"name": "User Name",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
Register a new user.
{
"name": "New User",
"email": "newuser@example.com",
"password": "secure_password",
"isAdmin": false
}
{
"msg": "Utilizador criado com sucesso"
}
Delete a user account.
{
"name": "User Name",
"email": "user@example.com",
"password": "your_password"
}
{
"msg": "Utilizador eliminado com sucesso"
}
Get all companies with optional pagination.
type: "all" or "verified"skip (optional): Number of records to skiptake (optional): Number of records to returnArray of company objects
Get a company by ID.
id: UUID of the companyCompany object
Search companies by query parameter.
search: Search termtype (optional): "all" or "verified"Array of company objects matching the search criteria
Create a new program for a company.
{
"companyId": "uuid",
"program": "Road2WebSummit", // one of the ProgramType enum values
"yearAttended": 2025 // optional
}
{
"message": "Company Program created successfully",
"data": { ... }
}
Create multiple company programs.
[
{
"NIPC": "123456789",
"program": "Road2WebSummit",
"yearAttended": 2025,
"brandName": "Optional Brand Name"
},
...
]
{
"message": "Company Programs created successfully",
"count": 5,
"attempted": 5
}
Get all startup requests.
Array of startup request objects
Get a startup request by ID.
id: ID of the startup requestStartup request object