> ## Documentation Index
> Fetch the complete documentation index at: https://docs.doers.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Get the prioritised workspace context

> The entry point to call **first**. Returns, in one call: the workspace counters, the tasks scored highest by the prioritisation engine (with the reasons behind each score), the active projects and the areas.

The score combines the deadline, the scheduled date, the priority and whether the task belongs to a project. Calendar blocks are excluded.



## OpenAPI

````yaml https://api.doers.sh/openapi.json get /v2/context
openapi: 3.1.0
info:
  title: Doers API
  version: 2.0.0
  description: >-
    The open API of Doers: tasks, projects, areas, prioritised context and the
    day's plan.


    ## Authentication


    Every route requires a bearer token, generated from **Settings > API & MCP**
    in the app:


    ```

    Authorization: Bearer pc_…

    ```


    ## Two date fields, not to be confused


    - `when` — the **schedule**: `today`, `anytime` (Later), `someday` (Future)
    or a date.

    - `deadline` — the **commitment**, independent of the schedule.


    ## Time zone


    The server reasons in UTC and does not know yours. Send the `X-PC-Today:
    YYYY-MM-DD` header

    (or the `day` argument where it exists) so dated operations use your local
    day.


    ## MCP server


    The same token gives access to the [Model Context
    Protocol](https://modelcontextprotocol.io)

    server at `POST https://doers.sh/mcp`, which exposes the same operations as
    tools for Claude,

    Cursor and other compatible clients.
servers:
  - url: https://api.doers.sh
    description: Production.
security:
  - bearerAuth: []
tags:
  - name: Tasks
  - name: Projects
  - name: Areas
  - name: Headings
  - name: Comments
  - name: Realtime
  - name: Devices
  - name: Context
  - name: Plan
  - name: Sessions
  - name: Rounds
  - name: Journal
  - name: Habits
  - name: Stats
  - name: Users
  - name: Profiles
  - name: Workspaces
  - name: Access
  - name: Activity
  - name: Tokens
  - name: Referrals
  - name: Files
  - name: Connections
  - name: Collaborators
  - name: Links
  - name: Packages
  - name: Installs
  - name: Billing
  - name: Calendar
  - name: Coach
  - name: Marketplace
paths:
  /v2/context:
    get:
      tags:
        - Context
      summary: Get the prioritised workspace context
      description: >-
        The entry point to call **first**. Returns, in one call: the workspace
        counters, the tasks scored highest by the prioritisation engine (with
        the reasons behind each score), the active projects and the areas.


        The score combines the deadline, the scheduled date, the priority and
        whether the task belongs to a project. Calendar blocks are excluded.
      operationId: getContext
      parameters:
        - name: day
          in: query
          required: false
          description: Reference day in YOUR timezone. Defaults to the server's UTC day.
          schema:
            type: string
            format: date
            pattern: >-
              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 15
            minimum: 1
            maximum: 50
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
                properties:
                  day:
                    type: string
                  counts:
                    type: object
                    properties:
                      open:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      overdue:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      dueToday:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                      doneLast7Days:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                    required:
                      - open
                      - overdue
                      - dueToday
                      - doneLast7Days
                    additionalProperties: false
                  topPriorities:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        title:
                          type: string
                        score:
                          type: number
                        reasons:
                          type: array
                          items:
                            type: string
                        when:
                          oneOf:
                            - type: object
                              properties:
                                kind:
                                  type: string
                                  const: today
                              required:
                                - kind
                              additionalProperties: false
                            - type: object
                              properties:
                                kind:
                                  type: string
                                  const: anytime
                              required:
                                - kind
                              additionalProperties: false
                            - type: object
                              properties:
                                kind:
                                  type: string
                                  const: someday
                              required:
                                - kind
                              additionalProperties: false
                            - type: object
                              properties:
                                kind:
                                  type: string
                                  const: date
                                date:
                                  type: string
                                hasTime:
                                  type: boolean
                                time:
                                  anyOf:
                                    - type: string
                                    - type: 'null'
                              required:
                                - kind
                                - date
                                - hasTime
                              additionalProperties: false
                          description: >-
                            How the task is scheduled (distinct from its
                            `deadline`).
                        deadline:
                          anyOf:
                            - type: string
                            - type: 'null'
                        project:
                          anyOf:
                            - type: string
                            - type: 'null'
                      required:
                        - id
                        - title
                        - score
                        - reasons
                        - when
                        - deadline
                        - project
                      additionalProperties: false
                  projects:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        openTaskCount:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                      required:
                        - id
                        - name
                        - openTaskCount
                      additionalProperties: false
                  areas:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                      required:
                        - id
                        - name
                      additionalProperties: false
                required:
                  - day
                  - counts
                  - topPriorities
                  - projects
                  - areas
                additionalProperties: false
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  responses:
    BadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: >-
        Invalid request — unreadable body, out-of-range field or unknown
        parameter.
    Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Token missing, unknown or revoked.
    TooManyRequests:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Too many requests. `Retry-After` says how many seconds to wait.
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Stable machine-readable code.
            message:
              type: string
              description: Human-readable message.
            details:
              type: array
              description: Per-field detail, present on validation errors.
              items:
                type: object
                properties:
                  field:
                    type: string
                  message:
                    type: string
                required:
                  - field
                  - message
          required:
            - code
            - message
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: A `pc_…` token generated from Settings > API & MCP.

````