OpenAPI Specification
openapi: 3.1.0
info:
title: COR Attachments Teams API
description: The COR API lets you integrate with projectcor.com applications using simple HTTP methods, in either XML or JSON formats, making this an ideal API for developing integrations with other softwares, external clients or mobile applications
version: 1.0.0
servers:
- url: https://api.projectcor.com/v1
description: Production server
security:
- bearerAuth: []
tags:
- name: Teams
paths:
/teams:
get:
tags:
- Teams
summary: Get Teams
description: Retrieves a paginated list of teams. By default, responses are paginated with 20 items per page.
parameters:
- name: page
in: query
schema:
type:
- integer
- boolean
default: 1
description: 'Page number (default: 1). Set to `false` to disable pagination.'
- name: perPage
in: query
schema:
type: integer
default: 20
description: 'Number of items per page (default: 20).'
responses:
'200':
description: Paginated list of teams
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedTeamsResponse'
post:
tags:
- Teams
summary: Create a team
description: Creates a new team entity.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TeamInput'
responses:
'200':
description: Team created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
/teams/{team_id}:
get:
tags:
- Teams
summary: Get team by ID
parameters:
- name: team_id
in: path
required: true
schema:
type: integer
responses:
'200':
description: Team details
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
put:
tags:
- Teams
summary: Update a team
description: Updates a team entity.
parameters:
- name: team_id
in: path
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TeamInput'
responses:
'200':
description: Team updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Team'
delete:
tags:
- Teams
summary: Delete a team
description: Deletes a team from the system.
parameters:
- name: team_id
in: path
required: true
schema:
type: integer
responses:
'200':
description: Team deleted successfully
content:
application/json:
schema:
type: boolean
example: true
/teams/{team_id}/users:
post:
tags:
- Teams
summary: Add users to a team
description: Adds users to a team by providing an array of user IDs.
parameters:
- name: team_id
in: path
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TeamUsersInput'
example:
users_ids:
- 8546
responses:
'200':
description: Users added to team successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TeamUserRelation'
example:
- team_id: 4246
user_id: 48429
created_at: '2026-01-20 19:59:53'
updated_at: '2026-01-20 19:59:53'
id: 178149
__meta__:
company_id: 2336
user:
id: 48429
first_name: Gonzalo
last_name: Test
email: test@projectcor.com
company_id: 2336
delete:
tags:
- Teams
summary: Remove users from a team
description: Removes users from a team by providing an array of user IDs.
parameters:
- name: team_id
in: path
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TeamUsersInput'
example:
users_ids:
- 8546
responses:
'200':
description: Users removed from team successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TeamUserRelation'
example:
- id: 178149
team_id: 4246
user_id: 48429
created_at: '2026-01-20 19:59:53'
updated_at: '2026-01-20 19:59:53'
deleted_at: '2026-01-20T20:00:23.632Z'
__meta__:
company_id: 2336
user:
id: 48429
first_name: Gonzalo
last_name: Test
email: test@projectcor.com
company_id: 2336
components:
schemas:
TeamInput:
type: object
required:
- name
properties:
name:
type: string
description: Team Name
description:
type: string
description: Team description
workspace_id:
type: integer
description: Workspace ID
TeamUserRelation:
type: object
properties:
id:
type: integer
description: Team-User relation ID
team_id:
type: integer
description: Team ID
user_id:
type: integer
description: User ID
created_at:
type: string
description: Creation timestamp in format YYYY-MM-DD HH:MM:SS
example: '2026-01-21 14:09:52'
updated_at:
type: string
description: Last update timestamp in format YYYY-MM-DD HH:MM:SS
example: '2026-01-21 14:09:52'
deleted_at:
type: string
format: date-time
nullable: true
description: Deletion timestamp (only present when removing users)
__meta__:
type: object
properties:
company_id:
type: integer
description: Company ID
user:
type: object
properties:
id:
type: integer
first_name:
type: string
last_name:
type: string
email:
type: string
format: email
company_id:
type: integer
PaginatedTeamsResponse:
type: object
description: Paginated response for teams list
properties:
total:
type:
- string
- integer
description: Total number of teams
perPage:
type: integer
description: Number of items per page
page:
type: integer
description: Current page number
lastPage:
type: integer
description: Last available page number
data:
type: array
description: Array of teams for the current page
items:
$ref: '#/components/schemas/Team'
Team:
type: object
properties:
id:
type: integer
name:
type: string
description:
type: string
workspace_id:
type: integer
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
TeamUsersInput:
type: object
required:
- users_ids
properties:
users_ids:
type: array
items:
type: integer
description: Array of user IDs to add or remove from the team
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
basicAuth:
type: http
scheme: basic