Getting Started with Mindra Platform

5 min read

Get up and running with Mindra Platform in under 5 minutes.

Overview

This guide will walk you through:

  1. Creating your Mindra account
  2. Getting your API key
  3. Making your first orchestration request
  4. Understanding the response
  5. Checking execution status

Prerequisites

  • A Mindra account (sign up at app.mindra.co)
  • cURL, Postman, or any HTTP client
  • Basic understanding of REST APIs

Step 1: Create Your Account

  1. Visit app.mindra.co/signup
  2. Choose your account type:
    • Developer: Free tier with $100 credit
    • Enterprise: Custom pricing and SLAs
  3. Verify your email address
  4. Complete your profile

Step 2: Get Your API Key

Via Dashboard (Recommended)

  1. Log in to app.mindra.co
  2. Navigate to Settings > API Keys
  3. Click Create New API Key
  4. Give it a name (e.g., "Production Key")
  5. Copy and securely store your API key
mk_1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p

Important: API keys are only shown once. Store them securely!

Via API (Programmatic)

You can also create API keys programmatically after initial authentication:

curl -X POST https://api.mindra.co/v1/api-keys \
  -H "Authorization: Bearer YOUR_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production API Key",
    "permissions": ["orchestrate", "agents:read"]
  }'

Step 3: Top Up Your Wallet

Before making requests, ensure you have sufficient balance:

Check Wallet Balance

curl https://api.mindra.co/v1/wallet \
  -H "Authorization: Bearer mk_your_api_key"

Response:

{
  "wallets": [
    {
      "id": "wallet_123",
      "type": "FIAT",
      "balance": 100.00,
      "currency": "USD"
    }
  ]
}

Top Up with Credit Card

curl -X POST https://api.mindra.co/v1/wallet/topup \
  -H "Authorization: Bearer mk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 50.00,
    "paymentMethod": "card",
    "paymentMethodId": "pm_stripe_card_id"
  }'

Top Up with Crypto

Send XRP to your wallet address:

# Get your wallet address
curl https://api.mindra.co/v1/wallet/crypto/address \
  -H "Authorization: Bearer mk_your_api_key"

# Response includes your deposit address
{
  "network": "xrpl",
  "address": "0x1234...5678",
  "token": "XRP"
}

See Wallet & Billing for detailed payment documentation.

Step 4: Make Your First Request

Example 1: Marketing Automation

curl -X POST https://api.mindra.co/v1/orchestrate \
  -H "Authorization: Bearer mk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "Create an email campaign for our new product launch targeting developers",
    "context": {
      "productName": "Mindra Platform",
      "targetAudience": "developers",
      "campaignGoal": "signups"
    },
    "selectionCriteria": {
      "verticals": ["marketing"],
      "maxAgents": 3
    }
  }'

Example 2: Cross-Border Payment

curl -X POST https://api.mindra.co/v1/orchestrate \
  -H "Authorization: Bearer mk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "Process payment of $5000 USD to EUR and send to vendor in Germany",
    "context": {
      "amount": 5000,
      "fromCurrency": "USD",
      "toCurrency": "EUR",
      "recipient": {
        "name": "ACME GmbH",
        "iban": "DE89370400440532013000"
      }
    },
    "selectionCriteria": {
      "verticals": ["cross-border"],
      "requiredCapabilities": ["multi_currency_conversion", "compliance_check"]
    }
  }'

Example 3: Supply Chain Optimization

curl -X POST https://api.mindra.co/v1/orchestrate \
  -H "Authorization: Bearer mk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "Optimize inventory levels and track shipments for Q4",
    "context": {
      "warehouse": "US-WEST-1",
      "targetQuarter": "Q4-2025",
      "criticalSkus": ["SKU-001", "SKU-042", "SKU-137"]
    }
  }'

Step 5: Understanding the Response

Successful Response (202 Accepted)

{
  "executionId": "exec_1a2b3c4d5e6f7g8h9i0j",
  "status": "PENDING",
  "estimatedCost": 0.75,
  "estimatedDuration": 8000,
  "selectedAgents": [
    {
      "id": "agent_email_campaign",
      "name": "email-campaign-agent",
      "estimatedCost": 0.50
    },
    {
      "id": "agent_social_media",
      "name": "social-media-agent",
      "estimatedCost": 0.25
    }
  ],
  "message": "Execution started. Check status at /v1/executions/exec_1a2b3c4d5e6f7g8h9i0j"
}

Error Response (400 Bad Request)

{
  "error": "INSUFFICIENT_BALANCE",
  "message": "Insufficient wallet balance. Required: 0.75, Available: 0.50",
  "requiredBalance": 0.75,
  "currentBalance": 0.50,
  "topUpUrl": "https://app.mindra.co/wallet/topup"
}

Step 6: Check Execution Status

Poll for Status

curl https://api.mindra.co/v1/executions/exec_1a2b3c4d5e6f7g8h9i0j \
  -H "Authorization: Bearer mk_your_api_key"

Response (Running):

{
  "id": "exec_1a2b3c4d5e6f7g8h9i0j",
  "status": "RUNNING",
  "query": "Create an email campaign...",
  "progress": {
    "completed": 1,
    "total": 2,
    "currentAgent": "social-media-agent"
  },
  "startedAt": "2025-11-10T10:30:00Z",
  "estimatedCompletionAt": "2025-11-10T10:30:08Z"
}

Response (Completed):

{
  "id": "exec_1a2b3c4d5e6f7g8h9i0j",
  "status": "COMPLETED",
  "query": "Create an email campaign...",
  "result": {
    "summary": "Successfully created email campaign with 3 variations",
    "details": {
      "emailsGenerated": 3,
      "socialPostsGenerated": 4,
      "estimatedReach": 15000
    }
  },
  "metadata": {
    "actualCost": 0.73,
    "actualDuration": 7845,
    "agentsUsed": 2
  },
  "startedAt": "2025-11-10T10:30:00Z",
  "completedAt": "2025-11-10T10:30:07Z"
}

Using Webhooks (Recommended)

Instead of polling, set up a webhook to receive status updates:

curl -X POST https://api.mindra.co/v1/orchestrate \
  -H "Authorization: Bearer mk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "Create an email campaign...",
    "context": {...},
    "webhook": {
      "url": "https://your-app.com/webhooks/mindra",
      "events": ["execution.completed", "execution.failed"]
    }
  }'

Your webhook will receive:

{
  "event": "execution.completed",
  "executionId": "exec_1a2b3c4d5e6f7g8h9i0j",
  "timestamp": "2025-11-10T10:30:07Z",
  "data": {
    "status": "COMPLETED",
    "result": {...},
    "metadata": {...}
  }
}

Next Steps

Now that you've made your first request, explore:

Common Issues

401 Unauthorized

Problem: Invalid or missing API key

Solution: Check that your API key is correct and included in the Authorization header:

Authorization: Bearer mk_your_api_key

402 Payment Required

Problem: Insufficient wallet balance

Solution: Top up your wallet via the dashboard or API

429 Too Many Requests

Problem: Rate limit exceeded

Solution:

  • Developer tier: 100 requests/minute
  • Enterprise tier: Custom limits
  • Implement exponential backoff

503 Service Unavailable

Problem: All agents are busy

Solution:

  • Retry with exponential backoff
  • Consider upgrading to Enterprise for dedicated capacity
  • Check status.mindra.co for system status

Support


Ready for more? Head to Authentication