Pylon Tasks API

Tasks, projects, and milestones.

OpenAPI Specification

pylon-tasks-api-openapi.yml Raw ↑
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.