For the complete documentation index, see llms.txt. This page is also available as Markdown.

Account

Fetch authenticated user profile

post

Returns the full profile for the currently authenticated user including roles, wallet address, and masked phone number.

Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Responses
200

Full user profile.

application/json
idintegerOptional
usernamestringOptional
emailstringOptional
avatarstring · nullableOptional
biostring · nullableOptional
slippagestringOptional
priority_feestringOptional
phone_verifiedbooleanOptional
phone_number_last_2string · nullableOptional

Last two digits of the phone number.

twitterstring · nullableOptional
telegramstring · nullableOptional
discordstring · nullableOptional
linkedinstring · nullableOptional
personalstring · nullableOptional
wallet_addressstring · nullableOptional
created_atstring · date-timeOptional
rolesstring[]Optional
post/api/user_info.php?action=fetch
POST /api/user_info.php?action=fetch?action=fetch HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "id": 1,
  "username": "text",
  "email": "text",
  "avatar": "text",
  "bio": "text",
  "slippage": "text",
  "priority_fee": "text",
  "phone_verified": true,
  "phone_number_last_2": "text",
  "twitter": "text",
  "telegram": "text",
  "discord": "text",
  "linkedin": "text",
  "personal": "text",
  "wallet_address": "text",
  "created_at": "2026-01-01T00:00:00.000Z",
  "roles": [
    "text"
  ]
}

Update user profile fields

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Body
usernamestring · min: 3 · max: 30Optional

Alphanumeric + underscores only.

biostringOptional

Free-text bio. Send empty string to clear.

slippagestringOptional

Slippage tolerance as a decimal string.

priority_feestringOptional

Priority fee in SOL (0 to 0.002).

Responses
200

Update succeeded.

application/json
successbooleanRequiredExample: true
post/api/user_info.php?action=update
POST /api/user_info.php?action=update?action=update HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 72

{
  "username": "text",
  "bio": "text",
  "slippage": "text",
  "priority_fee": "text"
}
{
  "success": true,
  "updates": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}

Check username availability

post
Query parameters
actionstring · enumRequiredPossible values:
Body
namestringRequiredExample: alice123
Responses
200

Username status.

application/json
statusstring · enumRequiredPossible values:
post/api/user_info.php?action=check_name
POST /api/user_info.php?action=check_name?action=check_name HTTP/1.1
Host: api.indexify.finance
Content-Type: application/json
Accept: */*
Content-Length: 19

{
  "name": "alice123"
}
200

Username status.

{
  "status": "OK"
}

Search users by username or bio

post
Query parameters
actionstring · enumRequiredPossible values:
querystringRequired

Search term matched against username and bio.

limitinteger · max: 100OptionalDefault: 20
offsetintegerOptionalDefault: 0
include_statsstring · enumOptional

When "true", each user object includes a stats sub-object.

Default: falsePossible values:
Responses
200

Matching users with pagination metadata.

application/json
post/api/user_info.php?action=search
POST /api/user_info.php?action=search?action=search&query=text HTTP/1.1
Host: api.indexify.finance
Accept: */*
200

Matching users with pagination metadata.

{
  "users": [
    {
      "username": "text",
      "avatar": "text",
      "display_name": "text",
      "verified": true,
      "stats": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  ],
  "pagination": {
    "total_count": 1,
    "has_next": true,
    "offset": 1,
    "limit": 1
  }
}

Delete the authenticated user's account

post

Permanently deletes the user account after 2FA verification. All stacks are archived, follow relationships removed, and the wallet private key is returned one final time.

Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Body
verification_codestringRequired

2FA verification code.

Responses
200

Account deleted successfully.

application/json
successbooleanOptional
messagestringOptional
private_keystringOptional

Wallet private key returned for final export.

retry_countintegerOptional
post/api/user_info.php?action=delete_account
POST /api/user_info.php?action=delete_account?action=delete_account HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 28

{
  "verification_code": "text"
}
{
  "success": true,
  "message": "text",
  "private_key": "text",
  "retry_count": 1,
  "deletion_summary": {
    "user_id": 1,
    "archived_stacks": 1,
    "follow_relationships_removed": 1
  }
}

Update Twitter handle

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Body
urlstringRequired

Twitter/X username (1-15 chars, alphanumeric + underscores). Send empty string or null to remove.

Example: alice_web3
Responses
200

Handle updated or removed.

application/json
statusstring · enumOptionalPossible values:
messagestringOptionalExample: Twitter handle updated successfully
post/api/profile.php?action=twitter
POST /api/profile.php?action=twitter?action=twitter HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 20

{
  "url": "alice_web3"
}
{
  "status": "success",
  "message": "Twitter handle updated successfully"
}

Update Telegram handle

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Body
urlstringRequired

Telegram username (1-100 chars, alphanumeric + underscores). Send empty string or null to remove.

Responses
200

Handle updated or removed.

application/json
statusstring · enumOptionalPossible values:
messagestringOptionalExample: Telegram handle updated successfully
post/api/profile.php?action=telegram
POST /api/profile.php?action=telegram?action=telegram HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 14

{
  "url": "text"
}
{
  "status": "success",
  "message": "Telegram handle updated successfully"
}

Update Discord username

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Body
urlstringRequired

Discord username (2-32 chars, lowercase alphanumeric + underscore + period, no consecutive periods) or legacy format (User#1234). Send empty string or null to remove.

Responses
200

Username updated or removed.

application/json
statusstring · enumOptionalPossible values:
messagestringOptionalExample: Discord updated successfully
post/api/profile.php?action=discord
POST /api/profile.php?action=discord?action=discord HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 14

{
  "url": "text"
}
{
  "status": "success",
  "message": "Discord updated successfully"
}

Update LinkedIn profile URL

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Body
urlstringRequired

Full LinkedIn profile URL starting with https://www.linkedin.com/in/ or https://linkedin.com/in/. Send empty string or null to remove.

Example: https://www.linkedin.com/in/alice
Responses
200

Profile URL updated or removed.

application/json
statusstring · enumOptionalPossible values:
messagestringOptionalExample: LinkedIn profile updated successfully
post/api/profile.php?action=linkedin
POST /api/profile.php?action=linkedin?action=linkedin HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 43

{
  "url": "https://www.linkedin.com/in/alice"
}
{
  "status": "success",
  "message": "LinkedIn profile updated successfully"
}

Update personal website URL

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Body
urlstringRequired

Any valid URL. Send empty string or null to remove.

Example: https://alice.dev
Responses
200

Website URL updated or removed.

application/json
statusstring · enumOptionalPossible values:
messagestringOptionalExample: Personal website updated successfully
post/api/profile.php?action=personal
POST /api/profile.php?action=personal?action=personal HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 27

{
  "url": "https://alice.dev"
}
{
  "status": "success",
  "message": "Personal website updated successfully"
}

Get paginated notifications

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Body
pageinteger · min: 1OptionalDefault: 1
limitinteger · min: 1 · max: 100OptionalDefault: 20
auto_cleanupbooleanOptional

When true, old notifications are automatically purged.

Default: false
Responses
200

Paginated notifications list.

application/json
post/api/notifications.php?action=get_notifications
POST /api/notifications.php?action=get_notifications?action=get_notifications HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 42

{
  "page": 1,
  "limit": 20,
  "auto_cleanup": false
}
{
  "notifications": [
    {
      "id": 1,
      "origin": "stack_follow",
      "type": "transaction",
      "content": "text",
      "read": true,
      "created_at": "2026-01-01T00:00:00.000Z",
      "updated_at": "2026-01-01T00:00:00.000Z",
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 1,
    "total_count": 1,
    "total_pages": 1
  }
}

Get unread notification count

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Responses
200

Unread count.

application/json
unread_countintegerRequiredExample: 7
post/api/notifications.php?action=get_unread_count
POST /api/notifications.php?action=get_unread_count?action=get_unread_count HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "unread_count": 7
}

Mark a single notification as read

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Body
notification_idintegerRequired
Responses
200

Notification marked as read.

application/json
successbooleanRequiredExample: true
messagestringRequiredExample: Operation completed successfully
post/api/notifications.php?action=mark_read
POST /api/notifications.php?action=mark_read?action=mark_read HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 21

{
  "notification_id": 1
}
{
  "success": true,
  "message": "Operation completed successfully"
}

Dismiss all notifications

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Responses
200

All notifications dismissed.

application/json
successbooleanRequiredExample: true
messagestringRequiredExample: Operation completed successfully
post/api/notifications.php?action=dismiss_all
POST /api/notifications.php?action=dismiss_all?action=dismiss_all HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "success": true,
  "message": "Operation completed successfully"
}

Delete a single notification

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Body
notification_idintegerRequired
Responses
200

Notification deleted.

application/json
successbooleanRequiredExample: true
messagestringRequiredExample: Operation completed successfully
post/api/notifications.php?action=delete
POST /api/notifications.php?action=delete?action=delete HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 21

{
  "notification_id": 1
}
{
  "success": true,
  "message": "Operation completed successfully"
}

Delete all notifications

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Responses
200

All notifications deleted.

application/json
successbooleanRequiredExample: true
messagestringRequiredExample: Operation completed successfully
post/api/notifications.php?action=delete_all
POST /api/notifications.php?action=delete_all?action=delete_all HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "success": true,
  "message": "Operation completed successfully"
}

Get notification preferences

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Responses
200

List of notification type preferences.

application/json
post/api/notification_preferences.php?action=get
POST /api/notification_preferences.php?action=get?action=get HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Accept: */*
{
  "preferences": [
    {
      "notification_type": "stack_follow",
      "enabled": true
    }
  ]
}

Update a single notification preference

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Body
notification_typestring · enumRequiredPossible values:
enabledbooleanRequired
Responses
200

Preference updated.

application/json
successbooleanRequiredExample: true
messagestringRequiredExample: Operation completed successfully
post/api/notification_preferences.php?action=update
POST /api/notification_preferences.php?action=update?action=update HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 51

{
  "notification_type": "stack_follow",
  "enabled": true
}
{
  "success": true,
  "message": "Operation completed successfully"
}

Update multiple notification preferences at once

post
Authorizations
X-API-KEYstringRequired

API key with the ix_ prefix. You can generate an API Key by navigating to Settings -> API Key in the web app. Pass it in the X-API-KEY header on every request.

Query parameters
actionstring · enumRequiredPossible values:
Body
Responses
200

All preferences updated.

application/json
successbooleanRequiredExample: true
messagestringRequiredExample: Operation completed successfully
post/api/notification_preferences.php?action=update_bulk
POST /api/notification_preferences.php?action=update_bulk?action=update_bulk HTTP/1.1
Host: api.indexify.finance
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 69

{
  "preferences": [
    {
      "notification_type": "stack_follow",
      "enabled": true
    }
  ]
}
{
  "success": true,
  "message": "Operation completed successfully"
}

Last updated