- Home
- Developers
- Quickstart
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
- Authentication, Learn about API key scoping, expiry, and revocation
- Working with media, Upload images and videos to attach to content
- Interactive API reference, Try endpoints directly in the browser