openapi: 3.0.1 info: title: Pylon Accounts Tasks API description: REST API for Pylon (usepylon.com), the B2B customer support and customer operations platform. Programmatically manage issues (tickets), accounts, contacts, users, teams, tags, custom fields, the knowledge base, and tasks/projects. Authentication uses a Bearer API token; only Admin users can create API tokens in Pylon settings. termsOfService: https://usepylon.com/terms contact: name: Pylon Support url: https://docs.usepylon.com/pylon-docs/developer/api version: '1.0' servers: - url: https://api.usepylon.com description: Pylon production API security: - bearerAuth: [] tags: - name: Tasks description: Tasks, projects, and milestones. paths: /tasks: get: operationId: listTasks tags: - Tasks summary: List tasks responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Task' post: operationId: createTask tags: - Tasks summary: Create a task requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Task' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Task' /tasks/{id}: parameters: - name: id in: path required: true schema: type: string get: operationId: getTask tags: - Tasks summary: Get a task responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Task' patch: operationId: updateTask tags: - Tasks summary: Update a task requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Task' responses: '200': description: OK delete: operationId: deleteTask tags: - Tasks summary: Delete a task responses: '200': description: OK /tasks/search: post: operationId: searchTasks tags: - Tasks summary: Search tasks requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SearchRequest' responses: '200': description: OK /projects: post: operationId: createProject tags: - Tasks summary: Create a project requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Project' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Project' /projects/{id}: parameters: - name: id in: path required: true schema: type: string get: operationId: getProject tags: - Tasks summary: Get a project responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Project' patch: operationId: updateProject tags: - Tasks summary: Update a project requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Project' responses: '200': description: OK delete: operationId: deleteProject tags: - Tasks summary: Delete a project responses: '200': description: OK /projects/search: post: operationId: searchProjects tags: - Tasks summary: Search projects requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SearchRequest' responses: '200': description: OK /milestones: post: operationId: createMilestone tags: - Tasks summary: Create a milestone requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Milestone' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Milestone' /milestones/{id}: parameters: - name: id in: path required: true schema: type: string get: operationId: getMilestone tags: - Tasks summary: Get a milestone responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Milestone' patch: operationId: updateMilestone tags: - Tasks summary: Update a milestone requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Milestone' responses: '200': description: OK delete: operationId: deleteMilestone tags: - Tasks summary: Delete a milestone responses: '200': description: OK components: schemas: Project: type: object properties: id: type: string title: type: string description: type: string account_id: type: string status: type: string SearchRequest: type: object properties: filter: type: object additionalProperties: true description: Structured filter expression with field, operator, and values. cursor: type: string limit: type: integer Task: type: object properties: id: type: string title: type: string description: type: string status: type: string account_id: type: string project_id: type: string assignee_id: type: string due_date: type: string format: date-time Milestone: type: object properties: id: type: string title: type: string project_id: type: string due_date: type: string format: date-time securitySchemes: bearerAuth: type: http scheme: bearer description: Pylon API token passed as a Bearer token in the Authorization header. Only Admin users can create API tokens in Pylon settings.