API Documentation
Here you will find documentation for our REST API for managing users, companies and partners.
1. Introduction
The IT-Aware API provides programmatic access to manage users, companies, and partners. The API uses API keys for authentication and requires HTTPS for all requests.
2. Authentication
There are three types of API keys:
Can manage users in a company
Can manage users and companies under a partner
Can manage partners (for system administrators only)
Send the key in request headers:
X-API-Key: sk_...
X-Customer-UUID: {customer_uuid}
Note: System Admin keys only require X-API-Key
3. Base URL
https://itaware.io/en/api/
4. User management
List users
GET /users/
Retrieves a list of all active users for the company or partner.
Access: Company, Partner API Key
Response (200):
[
{
"uuid": "a1b2c3d4-e5f6-4789-a012-b3c4d5e6f7a8",
"email": "john(a)company.dk",
"first_name": "John",
"last_name": "Doe",
"position": "Developer",
"department": "IT",
"is_admin": false,
"created_at": "2025-12-30T12:34:56Z",
"is_active": true
}
]
Create user
POST /users/
Content-Type: application/json
{
"email": "user(a)company.dk",
"first_name": "John",
"last_name": "Doe",
"position": "Developer",
"department": "IT",
"is_admin": false,
"password": "SecurePassword123!"
}
Creates a new user. For companies, email, first_name, and last_name are required. For partners, only email is required.
Required fields: email, first_name (virksomhed), last_name (virksomhed)
Optional fields: position, department, is_admin, password
Access: Company, Partner API Key
Response (201):
{
"uuid": "a1b2c3d4-e5f6-4789-a012-b3c4d5e6f7a8",
"email": "user(a)company.dk",
"first_name": "John",
"last_name": "Doe",
"position": "Developer",
"department": "IT",
"is_admin": false,
"created_at": "2025-12-30T14:22:15Z",
"is_active": true,
"message": "User created successfully"
}
Delete user
DELETE /users/{user_uuid}/delete/
Deactivates a user (soft delete for audit trail).
URL Parameters:
user_uuid- UUID på brugeren der skal slettes
Example:
DELETE /users/a1b2c3d4-e5f6-4789-a012-b3c4d5e6f7a8/delete/
Access: Company, Partner API Key
Response (200):
{
"message": "User deactivated successfully",
"uuid": "a1b2c3d4-e5f6-4789-a012-b3c4d5e6f7a8"
}
5. Corporate governance
Only available for Partner API Keys
List companies
GET /companies/
Retrieves a list of all active companies under the partner.
Access: Partner API Key
Response (200):
[
{
"uuid": "f099fe93-4586-4bc8-9de6-1ba5926d3234",
"name": "Aware Test Company",
"vat_number": "12345678",
"address": "Street 1",
"zipcode": "1234",
"city": "Copenhagen",
"country": "DK",
"contact_name": "John Doe",
"contact_email": "contact(a)company.dk",
"contact_phone": "+45 12 34 56 78",
"created_at": "2025-12-30T10:00:00Z",
"is_active": true
}
]
Create a company
POST /companies/
Content-Type: application/json
{
"name": "Company Name",
"vat_number": "12345678",
"address": "Street 1",
"zipcode": "1234",
"city": "Copenhagen",
"country": "DK",
"contact_name": "John Doe",
"contact_email": "contact(a)company.dk",
"contact_phone": "+45 12 34 56 78"
}
Creates a new company under the partner. Only 'name' is required.
Required fields: name
Optional fields: vat_number, address, zipcode, city, country, contact_name, contact_email, contact_phone
Access: Partner API Key
Response (201):
{
"uuid": "f099fe93-4586-4bc8-9de6-1ba5926d3234",
"name": "Company Name",
"vat_number": "12345678",
"address": "Street 1",
"zipcode": "1234",
"city": "Copenhagen",
"country": "DK",
"contact_name": "John Doe",
"contact_email": "contact(a)company.dk",
"contact_phone": "+45 12 34 56 78",
"created_at": "2025-12-30T14:30:00Z",
"is_active": true,
"message": "Company created successfully"
}
Delete company
DELETE /companies/{company_uuid}/delete/
Deactivates a company.
URL Parameters:
company_uuid- UUID på virksomheden der skal slettes
Example:
DELETE /companies/f099fe93-4586-4bc8-9de6-1ba5926d3234/delete/
Access: Partner API Key
Response (200):
{
"message": "Company deactivated successfully",
"uuid": "f099fe93-4586-4bc8-9de6-1ba5926d3234"
}
6. Partner management
Only available for System Admin API Keys
List PArtners
GET /partners/
Retrieves list of all active partners.
Access: System Admin API Key
Response (200):
[
{
"uuid": "b2c3d4e5-f6a7-4890-b123-c4d5e6f7a8b9",
"name": "Aware Test Partner",
"vat_number": "87654321",
"address": "Street 2",
"zipcode": "5678",
"city": "Aarhus",
"country": "DK",
"contact_name": "Jane Smith",
"contact_email": "contact(a)partner.dk",
"contact_phone": "+45 87 65 43 21",
"created_at": "2025-12-30T09:00:00Z",
"is_active": true
}
]
Create Partner
POST /partners/
Content-Type: application/json
{
"name": "Partner Name",
"vat_number": "87654321",
"address": "Street 2",
"zipcode": "5678",
"city": "Aarhus",
"country": "DK",
"contact_name": "Jane Smith",
"contact_email": "contact(a)partner.dk",
"contact_phone": "+45 87 65 43 21"
}
Creating a new partner. Only 'name' is required.
Required fields: name
Optional fields: vat_number, address, zipcode, city, country, contact_name, contact_email, contact_phone
Access: System Admin API Key
Response (201):
{
"uuid": "b2c3d4e5-f6a7-4890-b123-c4d5e6f7a8b9",
"name": "Partner Name",
"vat_number": "87654321",
"address": "Street 2",
"zipcode": "5678",
"city": "Aarhus",
"country": "DK",
"contact_name": "Jane Smith",
"contact_email": "contact(a)partner.dk",
"contact_phone": "+45 87 65 43 21",
"created_at": "2025-12-30T14:35:00Z",
"is_active": true,
"message": "Partner created successfully"
}
Delete Partner
DELETE /partners/{partner_uuid}/delete/
Deactivates a partner.
URL Parameters:
partner_uuid- UUID på partneren der skal slettes
Example:
DELETE /partners/b2c3d4e5-f6a7-4890-b123-c4d5e6f7a8b9/delete/
Access: System Admin API Key
Response (200):
{
"message": "Partner deactivated successfully",
"uuid": "b2c3d4e5-f6a7-4890-b123-c4d5e6f7a8b9"
}
7. Customer information
Retrieve customer information
GET /customer/info/
Returns information about the authenticated customer (Company or Partner).
Access: All API Key types
Response (200):
{
"uuid": "f099fe93-4586-4bc8-9de6-1ba5926d3234",
"name": "Aware Test Company",
"type": "company",
"email": "firma(a)aware.dk",
"country": "DK",
"created_at": "2025-12-30T10:00:00Z"
}
Ping
GET /ping/
Checks if the API is available and the API key is valid.
Access: All API Key types
Response (200):
{
"message": "pong",
"timestamp": "2025-12-30T14:45:30Z"
}
8. cURL Exampels
Create user with cURL
curl -X POST https://itaware.io/en/api/users/ \
-H "X-API-Key: sk_your_api_key_here" \
-H "X-Customer-UUID: your-company-uuid" \
-H "Content-Type: application/json" \
-d '{
"email": "newuser(a)company.dk",
"first_name": "John",
"last_name": "Doe",
"position": "Developer",
"department": "IT",
"is_admin": false,
"password": "SecurePass123!"
}'
List companies with cURL
curl https://itaware.io/en/api/companies/ \
-H "X-API-Key: sk_your_partner_api_key" \
-H "X-Customer-UUID: your-partner-uuid" \
-H "Content-Type: application/json"
Delete user with cURL
curl -X DELETE https://itaware.io/en/api/users/a1b2c3d4-e5f6-4789-a012-b3c4d5e6f7a8/delete/ \
-H "X-API-Key: sk_your_api_key_here" \
-H "X-Customer-UUID: your-company-uuid"
Create partner with cURL (System Admin)
curl -X POST https://itaware.io/en/api/partners/ \
-H "X-API-Key: sk_your_system_admin_key" \
-H "Content-Type: application/json" \
-d '{
"name": "New Partner Name",
"vat_number": "12345678",
"address": "Street 1",
"zipcode": "1234",
"city": "Copenhagen",
"country": "DK",
"contact_name": "Contact Name",
"contact_email": "contact(a)partner.dk",
"contact_phone": "+45 12 34 56 78"
}'
9. Error Handling
The API returns standard HTTP status codes:
Successful request
Resource created
Bad request (validation failed)
Unauthorized (missing or invalid API key)
Forbidden (access denied)
Page not found
Server error
10. Rate Limiting
There are no official rate limits, but we reserve the right to implement restrictions to protect the server.
11. Contact & Support
If you have any questions about the API, please feel free to contact us via the contact form on the website.