Trail Tasks API

The Tasks API from Trail — 1 operation(s) for tasks.

Operations 2

GET /evo_api/tasks Retrieves tasks #
POST /evo_api/tasks Creates a task #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/trail-tasks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

trail-tasks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Evo Tasks API
  version: v1
  description: 'You can use this API to query and manage sites, task templates, and tasks.


    OAuth2 authentication is required to authorise requests. The token can be obtained from the Identity Provider.'
servers:
- url: https://web.trailapp.com/api
- url: https://us.trailapp.com/api
  description: US
security:
- oauth2:
  - openid
  - profile
  - email
  - access.trail.api
tags:
- name: Tasks
paths:
  /evo_api/tasks:
    get:
      tags:
      - Tasks
      summary: Retrieves tasks
      operationId: getTasks
      security:
      - oauth2:
        - openid
        - profile
        - email
        - access.trail.api
      parameters:
      - name: location_id
        in: query
        required: true
        description: Location ID
        schema:
          type: integer
      - name: task_template_id
        in: query
        required: true
        description: Task template ID
        schema:
          type: integer
      - name: date
        in: query
        required: true
        description: Date (YYYY-MM-DD)
        schema:
          type: string
          format: date
      responses:
        '200':
          description: tasks retrieved
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Task'
        '401':
          description: unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
    post:
      tags:
      - Tasks
      summary: Creates a task
      operationId: createTask
      security:
      - oauth2:
        - openid
        - profile
        - email
        - access.trail.api
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: One-off Cleaning
                  description: Task name
                description:
                  type: string
                  example: Clean the main areas
                  description: Task description
                checklist_items:
                  type: array
                  items:
                    type: string
                  example:
                  - Clean floors
                  - Dust surfaces
                  description: Array of checklist items
                start_datetime:
                  type: string
                  format: date-time
                  example: '2024-01-01T09:00:00Z'
                  description: Task start time
                end_datetime:
                  type: string
                  format: date-time
                  example: '2024-01-01T10:00:00Z'
                  description: Task end time
                location_id:
                  type: integer
                  example: 1
                  description: Location ID
              required:
              - name
              - start_datetime
              - end_datetime
              - location_id
      responses:
        '201':
          description: task created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '401':
          description: unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
components:
  schemas:
    Error401:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              title:
                type: string
                example: Unauthorized
              detail:
                type: string
                example: API key is missing or invalid
              status:
                type: integer
                example: 401
            required:
            - title
            - detail
            - status
      required:
      - errors
    Subtask:
      type: object
      properties:
        id:
          type: integer
          example: 1
          description: Subtask ID
        name:
          type: string
          example: Clean floors
          description: Subtask name
        completion_value:
          type: string
          example: unchecked
          description: Subtask completion value
        position:
          type:
          - integer
          - 'null'
          example: 0
          description: Subtask position
      required:
      - id
      - name
      - completion_value
    Task:
      type: object
      properties:
        id:
          type: integer
          example: 1
          description: Task ID
        name:
          type: string
          example: Daily Cleaning
          description: Task name
        notes:
          type: string
          example: Clean the main areas
          description: Task description/notes
        due_from_datetime:
          type: string
          format: date-time
          example: '2024-01-01T09:00:00Z'
          description: Task start time
        due_by_datetime:
          type: string
          format: date-time
          example: '2024-01-01T10:00:00Z'
          description: Task end time
        completed_at:
          type:
          - string
          - 'null'
          format: date-time
          example: '2024-01-01T09:30:00Z'
          description: Task completion time
        completed_by:
          type:
          - string
          - 'null'
          example: John Doe
          description: Name of user who completed the task
        status:
          type: string
          example: completed
          description: Task status
        subtasks:
          type: array
          items:
            $ref: '#/components/schemas/Subtask'
          description: Array of subtasks
      required:
      - id
      - name
      - status
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://preprodidentity.accessacloud.com/connect/authorize
          tokenUrl: /api/evo_api/oauth/token
          scopes:
            openid: OpenID
            profile: Profile
            email: Email
            access.trail.api: Trail API
externalDocs:
  description: How to obtain an API key
  url: https://answers.trailapp.com/en/articles/9166997-trail-s-task-api