Ninety.io To-Dos API
The To-Dos API from Ninety.io — 3 operation(s) for to-dos.
The To-Dos API from Ninety.io — 3 operation(s) for to-dos.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/ninetyio-to-dos-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Ninety Public Issues To Dos API
description: 'Public API endpoints for Ninety users
[https://api.public.ninety.io/v1/swagger.json](/v1/swagger-json)'
version: '1.0'
contact: {}
servers: []
security:
- JWT: []
tags:
- name: To-Dos
paths:
/v1/todos:
post:
description: Creates a new To-Do. Omit `teamId` (or pass an empty string) to create a personal To-Do.
operationId: PublicTodoController_create
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTodoDTO'
responses:
'201':
description: To-Do created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TodoResponseDTO'
summary: Create a To-Do
tags:
- To-Dos
/v1/todos/query:
post:
description: Returns a list of To-Dos matching the provided filters.
operationId: PublicTodoController_queryTodos
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GetTodosQueryDTO'
responses:
'200':
description: To-Dos queried successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TodoResponseDTO'
summary: Query To-Dos
tags:
- To-Dos
/v1/todos/{id}:
get:
description: Returns a single To-Do by its Id.
operationId: PublicTodoController_findOne
parameters:
- name: id
required: true
in: path
description: The To-Do Id
schema:
example: 507f1f77bcf86cd799439011
type: string
responses:
'200':
description: To-Do retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TodoResponseDTO'
summary: Get a To-Do by Id
tags:
- To-Dos
patch:
description: Partially updates a To-Do. Only fields included in the request body are changed.
operationId: PublicTodoController_update
parameters:
- name: id
required: true
in: path
description: The To-Do Id
schema:
example: 507f1f77bcf86cd799439011
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTodoDTO'
responses:
'200':
description: To-Do updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TodoResponseDTO'
summary: Update a To-Do
tags:
- To-Dos
delete:
description: Permanently deletes a To-Do.
operationId: PublicTodoController_delete
parameters:
- name: id
required: true
in: path
description: The To-Do Id
schema:
example: 507f1f77bcf86cd799439011
type: string
responses:
'204':
description: To-Do deleted successfully
summary: Delete a To-Do
tags:
- To-Dos
components:
schemas:
TodoResponseDTO:
type: object
properties:
id:
type: string
description: The To-Do Id
example: 507f1f77bcf86cd799439011
title:
type: string
description: The title of the To-Do
example: Follow up with client
description:
type: string
description: The description of the To-Do
example: Send the Q2 proposal
dueDate:
type: string
description: Due date in ISO 8601 format
example: '2024-03-15T00:00:00.000Z'
isPersonal:
type: boolean
description: Whether this is a personal To-Do (not associated with a team)
example: false
completed:
type: boolean
description: Whether the To-Do has been completed
example: false
archived:
type: boolean
description: Whether the To-Do has been archived
example: false
teamId:
type: string
description: The Id of the team this To-Do belongs to
example: 507f1f77bcf86cd799439012
teamName:
type: string
description: The name of the team this To-Do belongs to
example: Leadership
userId:
type: string
description: The Id of the user who owns the To-Do
example: 507f1f77bcf86cd799439013
companyId:
type: string
description: The Id of the company
example: 507f1f77bcf86cd799439014
createdDate:
type: string
description: ISO 8601 timestamp when the To-Do was created
example: '2024-01-15T09:00:00.000Z'
updatedDate:
type: string
description: ISO 8601 timestamp when the To-Do was last updated
example: '2024-02-01T14:30:00.000Z'
required:
- id
- title
- isPersonal
- completed
- archived
- userId
- companyId
- createdDate
- updatedDate
GetTodosQueryDTO:
type: object
properties:
teamId:
type: string
description: Filter results to a specific team Id
example: 507f1f77bcf86cd799439011
sort:
type: string
description: The field to sort results by
example: dueDate
order:
type: string
description: Sort direction
enum:
- asc
- desc
example: asc
page:
type: number
description: Page number (1-based)
example: 1
pageSize:
type: number
description: Number of results per page (max 100)
example: 25
isPersonal:
type: boolean
description: Filter to personal To-Dos only (not associated with a team)
example: false
completed:
type: boolean
description: Filter by completed status
example: false
archived:
type: boolean
description: Filter by archived status
example: false
searchText:
type: string
description: Search text to match against To-Do title and description
example: follow up
title:
type: string
description: Filter by exact title match
example: Follow up with client
CreateTodoDTO:
type: object
properties:
title:
type: string
description: The title of the To-Do
example: Follow up with client
description:
type: string
description: The description of the To-Do
example: Send the Q2 proposal
dueDate:
type: string
description: Due date in YYYY-MM-DD format
example: '2024-03-15'
teamId:
type: string
description: The Id of the team to assign this To-Do to. Omit or pass an empty string for a personal To-Do.
example: 507f1f77bcf86cd799439011
repeat:
type: string
description: Recurrence pattern for the To-Do (e.g., `weekly`, `monthly`)
example: weekly
userId:
type: string
description: Id of the user to assign the To-Do to. Defaults to the authenticated user.
example: 507f1f77bcf86cd799439013
required:
- title
UpdateTodoDTO:
type: object
properties:
completed:
type: boolean
description: Whether the todo is completed
archived:
type: boolean
description: Whether the todo is archived
dueDate:
type: string
description: Due date in ISO format
teamId:
type: string
description: The team Id
title:
type: string
description: The title of the todo
description:
type: string
description: The description of the todo
repeat:
type: string
description: Repeat pattern
userId:
type: string
description: User Id to assign the To-Do to
securitySchemes:
JWT:
scheme: bearer
bearerFormat: JWT
type: http
description: Personal Access Token — generate one at https://app.ninety.io/settings/user/developer-settings