Quickstart

Create an API key and publish your first content item in under 5 minutes

Prerequisites

  • A Maeve Social account with at least one workspace
  • A connected social account in that workspace
  • Workspace manager access, or organization owner/admin access, to create API keys

Step 1: Create a Maeve API key

Go to Settings > API Keys in the Maeve Social dashboard and click Create Key.

Give the key a name, choose an optional expiration date, and grant it access to one or more workspaces. The raw key is shown once. Copy it immediately and store it securely.

Important: The full API key is only displayed at creation time. After that, the dashboard only shows identifying metadata such as the visible prefix and workspace grants.

Step 2: Discover your workspace

Use your API key to list the workspaces it can access:

curl https://api.maevesocial.com/v1/workspaces \
  -H "Authorization: Bearer $MAEVE_API_KEY"
{
  "data": [
    {
      "id": "workspace-uuid",
      "name": "Main Workspace",
      "slug": "main-workspace",
      "organizationId": "organization-uuid",
      "role": "manager"
    }
  ],
  "meta": null
}

Save the workspace id. Workspace resources use it in the URL path.

Step 3: Find an integration

List connected social accounts in the workspace:

curl https://api.maevesocial.com/v1/workspaces/WORKSPACE_ID/integrations \
  -H "Authorization: Bearer $MAEVE_API_KEY"
{
  "data": [
    {
      "id": "integration-uuid",
      "platform": "instagram",
      "username": "your_handle",
      "name": "Your Account Name",
      "status": "connected"
    }
  ],
  "meta": null
}

Save the integration id for the account you want to publish to.

Step 4: Create scheduled content

Schedule content for the future:

curl -X POST https://api.maevesocial.com/v1/workspaces/WORKSPACE_ID/content \
  -H "Authorization: Bearer $MAEVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "integrationId": "INTEGRATION_ID",
    "intent": "schedule",
    "scheduledAt": "2027-01-01T12:00:00Z",
    "captions": {
      "canonical": "Hello from the Maeve Social API!",
      "overrides": {}
    }
  }'
{
  "data": {
    "id": "content-uuid",
    "status": "scheduled"
  },
  "meta": null
}

To create a draft, omit intent or set it to draft. To publish immediately, set intent to publish_now.

curl -X POST https://api.maevesocial.com/v1/workspaces/WORKSPACE_ID/content \
  -H "Authorization: Bearer $MAEVE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "integrationId": "INTEGRATION_ID",
    "intent": "publish_now",
    "captions": {
      "canonical": "Published right now via the API!",
      "overrides": {}
    }
  }'

Step 5: Verify

Check that the content item was created:

curl https://api.maevesocial.com/v1/workspaces/WORKSPACE_ID/content \
  -H "Authorization: Bearer $MAEVE_API_KEY"

Next steps