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.
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
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)