Done Bear Docs

GraphQL Reference

Query the curated Done Bear GraphQL surface for tasks, projects, teams, labels, users, and workspaces.

Use the Done Bear GraphQL endpoint for curated reads such as viewer, tasks, projects, labels, teams, and workspaces. Do not treat the full raw schema as a stable platform contract yet.

Endpoint

Send POST requests to:

curl https://api.donebear.com/graphql \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  --data '{"query":"query { viewer { id email } }"}'

These docs cover the queries first-party clients rely on. The server does not publish a versioned GraphQL contract artifact today.

Common queries

viewer

Returns the currently authenticated user.

curl https://api.donebear.com/graphql \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  --data '{
    "query": "query { viewer { id email name username } }"
  }'

tasks

Lists tasks with Relay-style pagination and filtering.

curl https://api.donebear.com/graphql \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  --data '{
    "query": "query Tasks($workspaceId: ID!) { tasks(first: 20, filter: { workspaceId: { eq: $workspaceId } }) { nodes { id title description start startBucket deadlineAt completedAt archivedAt projectId teamId } pageInfo { hasNextPage endCursor } } }",
    "variables": {
      "workspaceId": "6fd41760-f5ee-4f60-80a6-8d15aeb11043"
    }
  }'

projects

Lists projects in one workspace.

curl https://api.donebear.com/graphql \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  --data '{
    "query": "query Projects($workspaceId: ID!) { projects(first: 20, filter: { workspaceId: { eq: $workspaceId } }) { nodes { id key name status targetDate archivedAt } pageInfo { hasNextPage endCursor } } }",
    "variables": {
      "workspaceId": "6fd41760-f5ee-4f60-80a6-8d15aeb11043"
    }
  }'

Top-level queries

The server currently exposes:

  • viewer
  • task, tasks
  • project, projects
  • label, labels
  • team, teamByKey, teams
  • workspace, workspaceByUrlKey, workspaces
  • user, users
  • taskChecklistItem, taskChecklistItems
  • workspaceMembership, workspaceMemberships
  • workspaceMembershipByUserAndWorkspace
  • myWorkspaceMemberships
  • workspaceInvitation, workspaceInvitations
  • workspaceInvitationByCode

Mutations

The server also exposes:

  • userCreate
  • userUpdate
  • userArchive

These mutations exist in the schema, but they are not the main supported integration path. For most integrations, use REST for administrative actions and GraphQL for reads.

Response shape

The endpoint returns standard GraphQL responses:

{
  "data": {
    "viewer": {
      "id": "6fd41760-f5ee-4f60-80a6-8d15aeb11043",
      "email": "user@example.com"
    }
  },
  "errors": []
}

Invalid queries return GraphQL-style errors:

{
  "data": null,
  "errors": [
    {
      "message": "Unknown query",
      "extensions": {
        "code": "INTERNAL_ERROR"
      }
    }
  ]
}

Guidance

  • Always send a bearer token even when a query appears to work without one.
  • Scope your reads by workspace whenever the field supports it.
  • Prefer fields already used by the CLI and other first-party clients.
  • Treat undocumented schema details as unstable.

Next steps

On this page