Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/chamals3n4/OpenATS/llms.txt

Use this file to discover all available pages before exploring further.

Get Company Profile

GET /company
Retrieve the global company details including name, logo, and website.

Response

data
object
Company profile object

Example Request

curl -X GET http://localhost:8080/api/company

Example Response

{
  "data": {
    "id": 1,
    "name": "Acme Corp",
    "website": "https://acme.com",
    "logoUrl": "https://r2.openats.com/logos/acme.png"
  }
}

Error Codes

500
error
Failed to fetch company

Update Company Profile

PUT /company
Update or create the company information (upsert operation).

Request Body

name
string
required
Company name (1-255 characters)
email
string
required
Valid company email address
website
string
Valid URL for company website (max 500 characters)
phone
string
Company phone number (max 50 characters)
address
string
Company physical address
description
string
Company description
logoUrl
string
Valid URL to company logo (max 1000 characters)

Response

data
object
Updated company profile object

Example Request

curl -X PUT http://localhost:8080/api/company \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Corp",
    "email": "contact@acme.com",
    "website": "https://acme.com",
    "logoUrl": "https://r2.openats.com/logos/acme.png"
  }'

Error Codes

400
error
Validation failed - Invalid input data
500
error
Failed to upsert company

List All Departments

GET /company/departments
Returns a list of all company departments (e.g. Engineering, Sales).

Response

data
array
Array of department objects

Example Request

curl -X GET http://localhost:8080/api/company/departments

Error Codes

500
error
Failed to fetch departments

Create Department

POST /company/departments
Create a new department within the company.

Request Body

name
string
required
Department name (1-255 characters)

Response

data
object
Created department object

Example Request

curl -X POST http://localhost:8080/api/company/departments \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Engineering"
  }'

Error Codes

400
error
Validation failed OR Company must be set up before creating departments
409
error
Department name already exists
500
error
Failed to create department

Update Department

PUT /company/departments/{id}
Update an existing department’s information.

Path Parameters

id
integer
required
Department ID

Request Body

name
string
required
Updated department name (1-255 characters)

Response

data
object
Updated department object

Example Request

curl -X PUT http://localhost:8080/api/company/departments/1 \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Software Engineering"
  }'

Error Codes

400
error
Invalid department ID OR Validation failed
404
error
Department not found
409
error
Department name already exists
500
error
Failed to update department

Delete Department

DELETE /company/departments/{id}
Permanently delete a department from the system.

Path Parameters

id
integer
required
Department ID to delete

Response

data
object
Deleted department object

Example Request

curl -X DELETE http://localhost:8080/api/company/departments/1

Error Codes

400
error
Invalid department ID
404
error
Department not found
409
error
Cannot delete department that has jobs assigned to it
500
error
Failed to delete department

Build docs developers (and LLMs) love