Aha.io Me API

The Me API from Aha.io — 3 operation(s) for me.

Operations 3

GET /me Get the current user profile #
GET /me/assigned Handle invalid record type filter #
GET /me/tasks List pending tasks assigned to the current user #

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/aha:aha-me-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

aha-me-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Aha! Me API
  version: 1.0.0
  description: Complete API documentation for Aha! generated from actual test responses
  contact:
    name: Aha! Support
    url: https://www.aha.io/support
servers:
- url: https://{account-domain}.aha.io/api/v1
  description: Aha! API Server
  variables:
    account-domain:
      description: Your Aha! account domain
      default: company
security:
- OAuth2: []
- ApiKeyAuth: []
- CookieAuth: []
tags:
- name: Me
paths:
  /me:
    get:
      summary: Get the current user profile
      description: Retrieves current user information including account memberships and basic profile data
      tags:
      - Me
      parameters:
      - name: include
        in: query
        required: false
        schema:
          type: string
        example: '#<RSpec::Matchers::BuiltIn::Include:0x00000003595344c0>'
      responses:
        '200':
          description: Successful operation
          headers:
            Content-Type:
              description: application/json; charset=utf-8
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/MeGetResponse'
              example:
                user:
                  id: '1020675218'
                  name: Mary Humpty
                  email: no-reply@aha.io
                  created_at: '2019-01-01T00:00:00.000Z'
                  updated_at: '2019-01-01T00:00:00.000Z'
                  product_roles:
                  - role: 20
                    role_description: Owner
                    product_id: '517761884'
                    product_name: Project 2
                  - role: 20
                    role_description: Owner
                    product_id: '610602692'
                    product_name: Product Line 1
                  - role: 20
                    role_description: Owner
                    product_id: '131414752'
                    product_name: Project 1
                  preferences:
                    current_product_id: 12123897
                  accounts:
                  - account:
                      name: Account 1
                      domain: company
                      logo: null
                      alt_logo: null
                      enabled: true
      security:
      - OAuth2: []
      - ApiKeyAuth: []
      - CookieAuth: []
      operationId: getMe
      x-operation-id-source: derived
  /me/assigned:
    get:
      summary: Handle invalid record type filter
      description: Returns appropriate response when invalid record type filter is provided
      tags:
      - Me
      parameters:
      - name: record_type
        in: query
        required: false
        schema:
          type: string
        example: InvalidType
      - name: page
        in: query
        required: false
        schema:
          type: string
        example: '1'
      - name: per_page
        in: query
        required: false
        schema:
          type: string
        example: '30'
      responses:
        '200':
          description: Successful operation
          headers:
            Content-Type:
              description: application/json; charset=utf-8
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/MeGetResponse'
              example:
                assigned:
                - record_type: Ideas::Idea
                  id: 58056975
                  name: Idea 1
                  reference_num: PRJ1-I-1
                  workflow_status:
                    id: '3259216'
                    name: New
                    position: 1
                    complete: false
                    color: '#dce7c6'
                    workflow_status_category: null
                - record_type: Release
                  id: 278327321
                  name: Release 1
                  reference_num: PRJ1-R-1
                  workflow_status:
                    id: '738862546'
                    name: New
                    position: 1
                    complete: false
                    color: '#dce7c6'
                    workflow_status_category: null
                - record_type: Requirement
                  id: 483368544
                  name: Body of requirement 1
                  reference_num: PRJ1-1-1
                  workflow_status:
                    id: '934242751'
                    name: New
                    position: 1
                    complete: false
                    color: '#dce7c6'
                    workflow_status_category: null
                - record_type: Task
                  id: 748715293
                  name: Task name
                  status: partially_complete
                  due_date: '2019-01-01'
                  current_task_user:
                    id: '6776881149489654138'
                    status: pending
                - record_type: Epic
                  id: 999605892
                  name: Epic 1
                  reference_num: PRJ1-E-1
                  workflow_status:
                    id: '934242751'
                    name: New
                    position: 1
                    complete: false
                    color: '#dce7c6'
                    workflow_status_category: null
                - record_type: Feature
                  id: 1007868956
                  name: Feature 1
                  reference_num: PRJ1-1
                  workflow_status:
                    id: '934242751'
                    name: New
                    position: 1
                    complete: false
                    color: '#dce7c6'
                    workflow_status_category: null
        '401':
          description: Unauthorized
          headers:
            Content-Type:
              description: text/html
              schema:
                type: string
      security:
      - OAuth2: []
      - ApiKeyAuth: []
      - CookieAuth: []
      operationId: getMeAssigned
      x-operation-id-source: derived
  /me/tasks:
    get:
      summary: List pending tasks assigned to the current user
      description: 'The Me API provides access to current user information, assigned records, and pending tasks.

        This endpoint serves as the primary interface for user-specific data and personal workspace functionality.


        **Core Functionality**:

        - **User Profile** - Current user information including accounts and permissions

        - **Assigned Records** - All records assigned to the current user across different types

        - **Task Management** - Pending tasks assigned to the current user


        **User Context**:

        - All endpoints return data scoped to the authenticated user

        - Account context is automatically determined from user session

        - Permissions are enforced based on user roles and project access


        **Response Structure**:

        - User profile includes account memberships and role information

        - Assigned records include features, epics, requirements, ideas, releases, and tasks

        - Task lists include status information and completion tracking


        **Authentication**: Standard API authentication (OAuth, session cookies, HTTP Basic until 2025).

        All operations require valid authentication and return user-specific data.'
      tags:
      - Me
      parameters:
      - name: page
        in: query
        required: false
        schema:
          type: string
        example: '1'
      - name: per_page
        in: query
        required: false
        schema:
          type: string
        example: '30'
      responses:
        '200':
          description: Successful operation
          headers:
            Content-Type:
              description: application/json; charset=utf-8
              schema:
                type: string
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/MeGetResponse'
              example:
                tasks:
                - id: '6776881149494751081'
                  name: Review first widget
                  due_date: null
                  status: pending
                  created_at: '2019-01-01T00:00:00.000Z'
                pagination:
                  total_records: 1
                  total_pages: 1
                  current_page: 1
      security:
      - OAuth2: []
      - ApiKeyAuth: []
      - CookieAuth: []
      operationId: getMeTasks
      x-operation-id-source: derived
components:
  schemas:
    MeGetResponse:
      type: object
      properties:
        tasks:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                example: '6776881149494751081'
              name:
                type: string
                example: Review first widget
              due_date:
                type: 'null'
              status:
                type: string
                example: pending
              created_at:
                type: string
                example: '2019-01-01T00:00:00.000Z'
            example:
              id: '6776881149494751081'
              name: Review first widget
              due_date: null
              status: pending
              created_at: '2019-01-01T00:00:00.000Z'
          example:
          - id: '6776881149494751081'
            name: Review first widget
            due_date: null
            status: pending
            created_at: '2019-01-01T00:00:00.000Z'
        pagination:
          type: object
          properties:
            total_records:
              type: integer
              example: 1
            total_pages:
              type: integer
              example: 1
            current_page:
              type: integer
              example: 1
          example:
            total_records: 1
            total_pages: 1
            current_page: 1
      example:
        tasks:
        - id: '6776881149494751081'
          name: Review first widget
          due_date: null
          status: pending
          created_at: '2019-01-01T00:00:00.000Z'
        pagination:
          total_records: 1
          total_pages: 1
          current_page: 1
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth2 authentication with bearer tokens
      flows:
        authorizationCode:
          authorizationUrl: https://{account-domain}.aha.io/oauth/authorize
          tokenUrl: https://{account-domain}.aha.io/oauth/token
          scopes: {}
    ApiKeyAuth:
      type: http
      scheme: bearer
      description: API key authentication using Bearer token in Authorization header. Generate API keys at https://secure.aha.io/settings/api_keys
    CookieAuth:
      type: apiKey
      in: cookie
      name: session
      description: Cookie-based authentication for web browser integration
x-provenance:
  method: harvested
  publisher: Aha.io
  source: https://www.aha.io/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)