Skip to content

Varmply Backend API (0.1.0)

Varmply API – MVP backend for campaigns, wallets, authentication, and influencer participation.

Error Messages

Common error codes: - NOT_FOUND - Resource not found (404) - VALIDATION_ERROR - Input validation failed (400) - PERMISSION_DENIED - User lacks permission (403) - CONFLICT - Resource conflict (409) - UNAUTHORIZED - Authentication required (401) - INTERNAL_SERVER_ERROR - Unexpected server error (500)

Download OpenAPI description
Languages
Servers
Mock server
https://docs-staging.varmply.com/_mock/openapi/
Local development server
http://localhost:3000/
Staging environment
https://api-staging.varmply.com/
Production environment
https://api.varmply.com/
Operations

Authentication

User registration, authentication, and email verification

Operations

Onboarding

User onboarding flow for all user types, including role assignment, profile setup (creator and sponsor), and settings configuration

Operations

Request

Returns a canonical snapshot of the authenticated user including identity, roles, profile, onboarding status, and platform connections. This is a read-only endpoint that does not mutate any data.

Security
bearerAuth
curl -i -X GET \
  https://docs-staging.varmply.com/_mock/openapi/me \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

User snapshot retrieved successfully

Bodyapplication/json
userIdstringrequired

Unique identifier for the user

Example: "user_123"
emailAddressstring(email)required

User email address

Example: "user@example.com"
emailVerificationStatusstringrequired

Email verification status

Enum"UNVERIFIED""VERIFIED"
Example: "UNVERIFIED"
emailVerifiedbooleanrequired

Whether the email has been verified (true if emailVerifiedAtTimestamp is not null)

Example: false
rolesArray of stringsrequired

User roles (ARTIST, BRAND, INFLUENCER, or ADMIN)

Items Enum"ARTIST""BRAND""INFLUENCER""ADMIN"
Example: ["ARTIST"]
onboardingobject(OnboardingDTO)required
onboarding.​statusstringrequired

Overall onboarding status

Enum"COMPLETE""INCOMPLETE"
Example: "INCOMPLETE"
onboarding.​missingArray of stringsrequired

Array of missing requirements that prevent onboarding completion

Items Enum"ROLE_NOT_ASSIGNED""EMAIL_NOT_VERIFIED""DISPLAY_NAME_MISSING""PROFILE_PHOTO_MISSING""SPONSOR_PROFILE_MISSING""NO_ELIGIBLE_CREATOR_INTEGRATION""WALLET_MISSING"
Example: ["ROLE_NOT_ASSIGNED","EMAIL_NOT_VERIFIED"]
onboarding.​roleFlagsobjectrequired
onboarding.​roleFlags.​isCreatorbooleanrequired

Whether user has creator role (INFLUENCER only)

Example: false
onboarding.​roleFlags.​isSponsorbooleanrequired

Whether user has sponsor role (BRAND or ARTIST)

Example: false
onboarding.​roleFlags.​rolesArray of stringsrequired

User roles

Items Enum"ARTIST""BRAND""INFLUENCER""ADMIN"
Example: ["ARTIST"]
onboarding.​readinessobjectrequired
onboarding.​readiness.​account_readinessstringrequired

Whether basic account setup is complete

Enum"READY""NOT_READY"
Example: "NOT_READY"
onboarding.​readiness.​creator_marketplace_readinessstringrequired

Whether user is ready to participate in campaigns as creator

Enum"READY""NOT_READY"
Example: "NOT_READY"
onboarding.​readiness.​sponsor_marketplace_readinessstringrequired

Whether user is ready to create campaigns as sponsor

Enum"READY""NOT_READY"
Example: "NOT_READY"
onboarding.​roleReadinessobject

Per-role onboarding readiness state

onboarding.​nextStepstringrequired

Next step in onboarding flow

Enum"select_role""verify_email""complete_profile""connect_platform""complete_sponsor_profile""done"
Example: "select_role"
profileobjectrequired
profile.​displayNamestringrequired

User display name (empty string if not set)

Example: "John Doe"
profile.​profilePhotoUrlstring or nullrequired

Profile photo URL (must start with https://)

Example: "https://example.com/photo.jpg"
connectedPlatformsArray of objects(PlatformIntegration)required

Array of platform integration capabilities

connectedPlatforms[].​platformstringrequired

Social platform identifier

Enum"INSTAGRAM""TIKTOK"
Example: "INSTAGRAM"
connectedPlatforms[].​statusstringrequired

Current capability state of the integration

Enum"NOT_CONNECTED""VALID""LIMITED""ERROR"
Example: "NOT_CONNECTED"
connectedPlatforms[].​capabilitiesobjectrequired

Platform-specific capability flags

Example: {"canReadProfile":false,"canReadMedia":false,"canReadInsights":false}
connectedPlatforms[].​capabilities.​property name*booleanadditional property
connectedPlatforms[].​reason_codestring or nullrequired

Machine-readable reason code for the current status

Example: "NOT_CONNECTED"
connectedPlatforms[].​reason_messagestring or nullrequired

Human-readable message explaining the current status

Example: "Account not connected"
connectedPlatforms[].​last_verified_atstring or null(date-time)required

ISO timestamp of last verification (null if not connected)

Example: null
createdAtTimestampstring(date-time)required

ISO timestamp of user creation

Example: "2025-01-01T00:00:00.000Z"
lastUpdatedAtTimestampstring(date-time)required

ISO timestamp of last update

Example: "2025-01-01T00:00:00.000Z"
Response
application/json
{ "userId": "user_123", "emailAddress": "user@example.com", "emailVerificationStatus": "UNVERIFIED", "emailVerified": false, "roles": [ "ARTIST" ], "onboarding": { "status": "INCOMPLETE", "missing": [ … ], "roleFlags": { … }, "readiness": { … }, "nextStep": "select_role" }, "profile": { "displayName": "", "profilePhotoUrl": null }, "connectedPlatforms": [ { … }, { … } ], "createdAtTimestamp": "2025-01-01T00:00:00.000Z", "lastUpdatedAtTimestamp": "2025-01-01T00:00:00.000Z" }

Request

Updates creator profile fields (displayName, profilePhotoUrl). This endpoint is for creators (INFLUENCER role) to manage their personal profile information. Both fields are optional, but required for creator marketplace readiness.

Validation rules:

  • displayName: 2-40 characters, trimmed, cannot be only whitespace
  • profilePhotoUrl: Must be a valid HTTPS URL, or null to clear

For creators (INFLUENCER role), both displayName and profilePhotoUrl are required for marketplace readiness. Updating these fields will update the onboarding status.

Security
bearerAuth
Bodyapplication/jsonrequired
displayNamestring or null[ 2 .. 40 ] characters

User display name (2-40 characters, trimmed)

Example: "John Doe"
profilePhotoUrlstring or null(uri)

Profile photo URL (must start with https://, or null to clear)

Example: "https://example.com/photo.jpg"
curl -i -X PATCH \
  https://docs-staging.varmply.com/_mock/openapi/me/profile \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "displayName": "John Doe",
    "profilePhotoUrl": "https://example.com/photo.jpg"
  }'

Responses

Profile updated successfully. Returns updated /me response with onboarding status.

Bodyapplication/json
userIdstringrequired

Unique identifier for the user

Example: "user_123"
emailAddressstring(email)required

User email address

Example: "user@example.com"
emailVerificationStatusstringrequired

Email verification status

Enum"UNVERIFIED""VERIFIED"
Example: "UNVERIFIED"
emailVerifiedbooleanrequired

Whether the email has been verified (true if emailVerifiedAtTimestamp is not null)

Example: false
rolesArray of stringsrequired

User roles (ARTIST, BRAND, INFLUENCER, or ADMIN)

Items Enum"ARTIST""BRAND""INFLUENCER""ADMIN"
Example: ["ARTIST"]
onboardingobject(OnboardingDTO)required
onboarding.​statusstringrequired

Overall onboarding status

Enum"COMPLETE""INCOMPLETE"
Example: "INCOMPLETE"
onboarding.​missingArray of stringsrequired

Array of missing requirements that prevent onboarding completion

Items Enum"ROLE_NOT_ASSIGNED""EMAIL_NOT_VERIFIED""DISPLAY_NAME_MISSING""PROFILE_PHOTO_MISSING""SPONSOR_PROFILE_MISSING""NO_ELIGIBLE_CREATOR_INTEGRATION""WALLET_MISSING"
Example: ["ROLE_NOT_ASSIGNED","EMAIL_NOT_VERIFIED"]
onboarding.​roleFlagsobjectrequired
onboarding.​roleFlags.​isCreatorbooleanrequired

Whether user has creator role (INFLUENCER only)

Example: false
onboarding.​roleFlags.​isSponsorbooleanrequired

Whether user has sponsor role (BRAND or ARTIST)

Example: false
onboarding.​roleFlags.​rolesArray of stringsrequired

User roles

Items Enum"ARTIST""BRAND""INFLUENCER""ADMIN"
Example: ["ARTIST"]
onboarding.​readinessobjectrequired
onboarding.​readiness.​account_readinessstringrequired

Whether basic account setup is complete

Enum"READY""NOT_READY"
Example: "NOT_READY"
onboarding.​readiness.​creator_marketplace_readinessstringrequired

Whether user is ready to participate in campaigns as creator

Enum"READY""NOT_READY"
Example: "NOT_READY"
onboarding.​readiness.​sponsor_marketplace_readinessstringrequired

Whether user is ready to create campaigns as sponsor

Enum"READY""NOT_READY"
Example: "NOT_READY"
onboarding.​roleReadinessobject

Per-role onboarding readiness state

onboarding.​nextStepstringrequired

Next step in onboarding flow

Enum"select_role""verify_email""complete_profile""connect_platform""complete_sponsor_profile""done"
Example: "select_role"
profileobjectrequired
profile.​displayNamestringrequired

User display name (empty string if not set)

Example: "John Doe"
profile.​profilePhotoUrlstring or nullrequired

Profile photo URL (must start with https://)

Example: "https://example.com/photo.jpg"
connectedPlatformsArray of objects(PlatformIntegration)required

Array of platform integration capabilities

connectedPlatforms[].​platformstringrequired

Social platform identifier

Enum"INSTAGRAM""TIKTOK"
Example: "INSTAGRAM"
connectedPlatforms[].​statusstringrequired

Current capability state of the integration

Enum"NOT_CONNECTED""VALID""LIMITED""ERROR"
Example: "NOT_CONNECTED"
connectedPlatforms[].​capabilitiesobjectrequired

Platform-specific capability flags

Example: {"canReadProfile":false,"canReadMedia":false,"canReadInsights":false}
connectedPlatforms[].​capabilities.​property name*booleanadditional property
connectedPlatforms[].​reason_codestring or nullrequired

Machine-readable reason code for the current status

Example: "NOT_CONNECTED"
connectedPlatforms[].​reason_messagestring or nullrequired

Human-readable message explaining the current status

Example: "Account not connected"
connectedPlatforms[].​last_verified_atstring or null(date-time)required

ISO timestamp of last verification (null if not connected)

Example: null
createdAtTimestampstring(date-time)required

ISO timestamp of user creation

Example: "2025-01-01T00:00:00.000Z"
lastUpdatedAtTimestampstring(date-time)required

ISO timestamp of last update

Example: "2025-01-01T00:00:00.000Z"
Response
application/json
{ "userId": "user_123", "emailAddress": "user@example.com", "emailVerificationStatus": "VERIFIED", "emailVerified": true, "roles": [ "INFLUENCER" ], "onboarding": { "status": "COMPLETE", "missing": [], "roleFlags": { … }, "readiness": { … }, "roleReadiness": { … }, "nextStep": "done" }, "profile": { "displayName": "John Doe", "profilePhotoUrl": "https://example.com/photo.jpg" }, "connectedPlatforms": [], "createdAtTimestamp": "2025-01-01T00:00:00.000Z", "lastUpdatedAtTimestamp": "2025-01-01T00:00:00.000Z" }

Request

Updates user settings (timezone, notifications) for all user types (creators and sponsors). Returns the updated /me response.

Security
bearerAuth
Bodyapplication/jsonrequired
timezonestring or null

User timezone

Example: "America/New_York"
notificationsobject or null

Notification preferences (placeholder for future)

Example: {}
curl -i -X PATCH \
  https://docs-staging.varmply.com/_mock/openapi/me/settings \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "timezone": "America/New_York",
    "notifications": {}
  }'

Responses

Settings updated successfully

Bodyapplication/json
userIdstringrequired

Unique identifier for the user

Example: "user_123"
emailAddressstring(email)required

User email address

Example: "user@example.com"
emailVerificationStatusstringrequired

Email verification status

Enum"UNVERIFIED""VERIFIED"
Example: "UNVERIFIED"
emailVerifiedbooleanrequired

Whether the email has been verified (true if emailVerifiedAtTimestamp is not null)

Example: false
rolesArray of stringsrequired

User roles (ARTIST, BRAND, INFLUENCER, or ADMIN)

Items Enum"ARTIST""BRAND""INFLUENCER""ADMIN"
Example: ["ARTIST"]
onboardingobject(OnboardingDTO)required
onboarding.​statusstringrequired

Overall onboarding status

Enum"COMPLETE""INCOMPLETE"
Example: "INCOMPLETE"
onboarding.​missingArray of stringsrequired

Array of missing requirements that prevent onboarding completion

Items Enum"ROLE_NOT_ASSIGNED""EMAIL_NOT_VERIFIED""DISPLAY_NAME_MISSING""PROFILE_PHOTO_MISSING""SPONSOR_PROFILE_MISSING""NO_ELIGIBLE_CREATOR_INTEGRATION""WALLET_MISSING"
Example: ["ROLE_NOT_ASSIGNED","EMAIL_NOT_VERIFIED"]
onboarding.​roleFlagsobjectrequired
onboarding.​roleFlags.​isCreatorbooleanrequired

Whether user has creator role (INFLUENCER only)

Example: false
onboarding.​roleFlags.​isSponsorbooleanrequired

Whether user has sponsor role (BRAND or ARTIST)

Example: false
onboarding.​roleFlags.​rolesArray of stringsrequired

User roles

Items Enum"ARTIST""BRAND""INFLUENCER""ADMIN"
Example: ["ARTIST"]
onboarding.​readinessobjectrequired
onboarding.​readiness.​account_readinessstringrequired

Whether basic account setup is complete

Enum"READY""NOT_READY"
Example: "NOT_READY"
onboarding.​readiness.​creator_marketplace_readinessstringrequired

Whether user is ready to participate in campaigns as creator

Enum"READY""NOT_READY"
Example: "NOT_READY"
onboarding.​readiness.​sponsor_marketplace_readinessstringrequired

Whether user is ready to create campaigns as sponsor

Enum"READY""NOT_READY"
Example: "NOT_READY"
onboarding.​roleReadinessobject

Per-role onboarding readiness state

onboarding.​nextStepstringrequired

Next step in onboarding flow

Enum"select_role""verify_email""complete_profile""connect_platform""complete_sponsor_profile""done"
Example: "select_role"
profileobjectrequired
profile.​displayNamestringrequired

User display name (empty string if not set)

Example: "John Doe"
profile.​profilePhotoUrlstring or nullrequired

Profile photo URL (must start with https://)

Example: "https://example.com/photo.jpg"
connectedPlatformsArray of objects(PlatformIntegration)required

Array of platform integration capabilities

connectedPlatforms[].​platformstringrequired

Social platform identifier

Enum"INSTAGRAM""TIKTOK"
Example: "INSTAGRAM"
connectedPlatforms[].​statusstringrequired

Current capability state of the integration

Enum"NOT_CONNECTED""VALID""LIMITED""ERROR"
Example: "NOT_CONNECTED"
connectedPlatforms[].​capabilitiesobjectrequired

Platform-specific capability flags

Example: {"canReadProfile":false,"canReadMedia":false,"canReadInsights":false}
connectedPlatforms[].​capabilities.​property name*booleanadditional property
connectedPlatforms[].​reason_codestring or nullrequired

Machine-readable reason code for the current status

Example: "NOT_CONNECTED"
connectedPlatforms[].​reason_messagestring or nullrequired

Human-readable message explaining the current status

Example: "Account not connected"
connectedPlatforms[].​last_verified_atstring or null(date-time)required

ISO timestamp of last verification (null if not connected)

Example: null
createdAtTimestampstring(date-time)required

ISO timestamp of user creation

Example: "2025-01-01T00:00:00.000Z"
lastUpdatedAtTimestampstring(date-time)required

ISO timestamp of last update

Example: "2025-01-01T00:00:00.000Z"
Response
application/json
{ "userId": "user_123", "emailAddress": "user@example.com", "emailVerificationStatus": "UNVERIFIED", "emailVerified": false, "roles": [ "ARTIST" ], "onboarding": { "status": "INCOMPLETE", "missing": [ … ], "roleFlags": { … }, "readiness": { … }, "roleReadiness": { … }, "nextStep": "select_role" }, "profile": { "displayName": "John Doe", "profilePhotoUrl": "https://example.com/photo.jpg" }, "connectedPlatforms": [ { … } ], "createdAtTimestamp": "2025-01-01T00:00:00.000Z", "lastUpdatedAtTimestamp": "2025-01-01T00:00:00.000Z" }

Request

Returns a canonical snapshot of user settings including profile fields, roles, capabilities, onboarding status, notification defaults, and integration capabilities. This is the single source of truth for frontend gating decisions.

Security
bearerAuth
curl -i -X GET \
  https://docs-staging.varmply.com/_mock/openapi/me/settings \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

User settings retrieved successfully

Bodyapplication/json
profileobjectrequired
profile.​display_namestring or nullrequired

User display name

Example: "John Doe"
profile.​profile_photo_urlstring or nullrequired

Profile photo URL (must start with https://)

Example: "https://example.com/photo.jpg"
profile.​email_verified_atstring or null(date-time)required

ISO timestamp when email was verified, or null if not verified

Example: "2025-01-01T00:00:00.000Z"
rolesArray of stringsrequired

User roles (ARTIST, BRAND, INFLUENCER, or ADMIN)

Items Enum"ARTIST""BRAND""INFLUENCER""ADMIN"
Example: ["INFLUENCER"]
capabilitiesobjectrequired
capabilities.​can_join_campaignsbooleanrequired

Whether user can join campaigns (true for INFLUENCER or ADMIN)

Example: true
capabilities.​can_create_campaignsbooleanrequired

Whether user can create campaigns (true for BRAND, ARTIST, or ADMIN)

Example: false
onboarding_statusobjectrequired
onboarding_status.​is_completebooleanrequired

Whether core onboarding is complete (all 4 universal requirements met)

Example: true
onboarding_status.​missingArray of stringsrequired

List of missing onboarding requirements

Items Enum"display_name""profile_photo""email_verified""role_assigned"
Example: []
notification_defaultsobject or nullrequired

User notification preferences (key-value pairs)

Example: {"email":true,"push":false}
notification_defaults.​property name*anyadditional property
integration_capabilitiesArray of objects(PlatformIntegration)required

Read-only summaries of platform integration capabilities

Example: []
integration_capabilities[].​platformstringrequired

Social platform identifier

Enum"INSTAGRAM""TIKTOK"
Example: "INSTAGRAM"
integration_capabilities[].​statusstringrequired

Current capability state of the integration

Enum"NOT_CONNECTED""VALID""LIMITED""ERROR"
Example: "NOT_CONNECTED"
integration_capabilities[].​capabilitiesobjectrequired

Platform-specific capability flags

Example: {"canReadProfile":false,"canReadMedia":false,"canReadInsights":false}
integration_capabilities[].​capabilities.​property name*booleanadditional property
integration_capabilities[].​reason_codestring or nullrequired

Machine-readable reason code for the current status

Example: "NOT_CONNECTED"
integration_capabilities[].​reason_messagestring or nullrequired

Human-readable message explaining the current status

Example: "Account not connected"
integration_capabilities[].​last_verified_atstring or null(date-time)required

ISO timestamp of last verification (null if not connected)

Example: null
Response
application/json
{ "profile": { "display_name": "John Doe", "profile_photo_url": "https://example.com/photo.jpg", "email_verified_at": "2025-01-01T00:00:00.000Z" }, "roles": [ "INFLUENCER" ], "capabilities": { "can_join_campaigns": true, "can_create_campaigns": false }, "onboarding_status": { "is_complete": true, "missing": [] }, "notification_defaults": { "email": true, "push": false }, "integration_capabilities": [ { … } ] }

Request

Assigns roles to the authenticated user. Only ARTIST, BRAND, and INFLUENCER are allowed. ADMIN cannot be assigned. This operation is idempotent - adding an already-present role is a no-op. Returns the updated /me response.

Security
bearerAuth
Bodyapplication/jsonrequired
rolesToAddArray of stringsnon-emptyrequired

Roles to assign (only ARTIST, BRAND, INFLUENCER allowed; ADMIN is not allowed)

Items Enum"ARTIST""BRAND""INFLUENCER"
Example: ["ARTIST","BRAND"]
curl -i -X POST \
  https://docs-staging.varmply.com/_mock/openapi/me/roles/assign \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "rolesToAdd": [
      "ARTIST",
      "BRAND"
    ]
  }'

Responses

Roles assigned successfully

Bodyapplication/json
userIdstringrequired

Unique identifier for the user

Example: "user_123"
emailAddressstring(email)required

User email address

Example: "user@example.com"
emailVerificationStatusstringrequired

Email verification status

Enum"UNVERIFIED""VERIFIED"
Example: "UNVERIFIED"
emailVerifiedbooleanrequired

Whether the email has been verified (true if emailVerifiedAtTimestamp is not null)

Example: false
rolesArray of stringsrequired

User roles (ARTIST, BRAND, INFLUENCER, or ADMIN)

Items Enum"ARTIST""BRAND""INFLUENCER""ADMIN"
Example: ["ARTIST"]
onboardingobject(OnboardingDTO)required
onboarding.​statusstringrequired

Overall onboarding status

Enum"COMPLETE""INCOMPLETE"
Example: "INCOMPLETE"
onboarding.​missingArray of stringsrequired

Array of missing requirements that prevent onboarding completion

Items Enum"ROLE_NOT_ASSIGNED""EMAIL_NOT_VERIFIED""DISPLAY_NAME_MISSING""PROFILE_PHOTO_MISSING""SPONSOR_PROFILE_MISSING""NO_ELIGIBLE_CREATOR_INTEGRATION""WALLET_MISSING"
Example: ["ROLE_NOT_ASSIGNED","EMAIL_NOT_VERIFIED"]
onboarding.​roleFlagsobjectrequired
onboarding.​roleFlags.​isCreatorbooleanrequired

Whether user has creator role (INFLUENCER only)

Example: false
onboarding.​roleFlags.​isSponsorbooleanrequired

Whether user has sponsor role (BRAND or ARTIST)

Example: false
onboarding.​roleFlags.​rolesArray of stringsrequired

User roles

Items Enum"ARTIST""BRAND""INFLUENCER""ADMIN"
Example: ["ARTIST"]
onboarding.​readinessobjectrequired
onboarding.​readiness.​account_readinessstringrequired

Whether basic account setup is complete

Enum"READY""NOT_READY"
Example: "NOT_READY"
onboarding.​readiness.​creator_marketplace_readinessstringrequired

Whether user is ready to participate in campaigns as creator

Enum"READY""NOT_READY"
Example: "NOT_READY"
onboarding.​readiness.​sponsor_marketplace_readinessstringrequired

Whether user is ready to create campaigns as sponsor

Enum"READY""NOT_READY"
Example: "NOT_READY"
onboarding.​roleReadinessobject

Per-role onboarding readiness state

onboarding.​nextStepstringrequired

Next step in onboarding flow

Enum"select_role""verify_email""complete_profile""connect_platform""complete_sponsor_profile""done"
Example: "select_role"
profileobjectrequired
profile.​displayNamestringrequired

User display name (empty string if not set)

Example: "John Doe"
profile.​profilePhotoUrlstring or nullrequired

Profile photo URL (must start with https://)

Example: "https://example.com/photo.jpg"
connectedPlatformsArray of objects(PlatformIntegration)required

Array of platform integration capabilities

connectedPlatforms[].​platformstringrequired

Social platform identifier

Enum"INSTAGRAM""TIKTOK"
Example: "INSTAGRAM"
connectedPlatforms[].​statusstringrequired

Current capability state of the integration

Enum"NOT_CONNECTED""VALID""LIMITED""ERROR"
Example: "NOT_CONNECTED"
connectedPlatforms[].​capabilitiesobjectrequired

Platform-specific capability flags

Example: {"canReadProfile":false,"canReadMedia":false,"canReadInsights":false}
connectedPlatforms[].​capabilities.​property name*booleanadditional property
connectedPlatforms[].​reason_codestring or nullrequired

Machine-readable reason code for the current status

Example: "NOT_CONNECTED"
connectedPlatforms[].​reason_messagestring or nullrequired

Human-readable message explaining the current status

Example: "Account not connected"
connectedPlatforms[].​last_verified_atstring or null(date-time)required

ISO timestamp of last verification (null if not connected)

Example: null
createdAtTimestampstring(date-time)required

ISO timestamp of user creation

Example: "2025-01-01T00:00:00.000Z"
lastUpdatedAtTimestampstring(date-time)required

ISO timestamp of last update

Example: "2025-01-01T00:00:00.000Z"
Response
application/json
{ "userId": "user_123", "emailAddress": "user@example.com", "emailVerificationStatus": "UNVERIFIED", "emailVerified": false, "roles": [ "ARTIST" ], "onboarding": { "status": "INCOMPLETE", "missing": [ … ], "roleFlags": { … }, "readiness": { … }, "roleReadiness": { … }, "nextStep": "select_role" }, "profile": { "displayName": "John Doe", "profilePhotoUrl": "https://example.com/photo.jpg" }, "connectedPlatforms": [ { … } ], "createdAtTimestamp": "2025-01-01T00:00:00.000Z", "lastUpdatedAtTimestamp": "2025-01-01T00:00:00.000Z" }

Request

Returns the platform integration capabilities for the authenticated user. Same data as the connectedPlatforms field in /me response.

Security
bearerAuth
curl -i -X GET \
  https://docs-staging.varmply.com/_mock/openapi/me/platform-connections \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Platform connections retrieved successfully

Bodyapplication/jsonArray [
platformstringrequired

Social platform identifier

Enum"INSTAGRAM""TIKTOK"
Example: "INSTAGRAM"
statusstringrequired

Current capability state of the integration

Enum"NOT_CONNECTED""VALID""LIMITED""ERROR"
Example: "NOT_CONNECTED"
capabilitiesobjectrequired

Platform-specific capability flags

Example: {"canReadProfile":false,"canReadMedia":false,"canReadInsights":false}
capabilities.​property name*booleanadditional property
reason_codestring or nullrequired

Machine-readable reason code for the current status

Example: "NOT_CONNECTED"
reason_messagestring or nullrequired

Human-readable message explaining the current status

Example: "Account not connected"
last_verified_atstring or null(date-time)required

ISO timestamp of last verification (null if not connected)

Example: null
]
Response
application/json
[ { "platform": "INSTAGRAM", "status": "NOT_CONNECTED", "capabilities": { … }, "reason_code": "NOT_CONNECTED", "reason_message": "Account not connected", "last_verified_at": null }, { "platform": "TIKTOK", "status": "NOT_CONNECTED", "capabilities": { … }, "reason_code": "NOT_CONNECTED", "reason_message": "Account not connected", "last_verified_at": null } ]

Connections

Social media platform connection status and management

Operations

OAuth

Social media OAuth connection flows

Operations

Wallet

Wallet balance and operations

Operations

Campaigns

Campaign creation, management, and funding

Operations

Marketplace

Public marketplace for discovering and joining campaigns

Operations

Participation

Campaign participation and content submission (creator-focused)

Operations

Analytics

Analytics and reporting endpoints for campaigns, participations, and submissions

Operations

Metrics

Metrics ingestion and refresh endpoints for participations and campaigns

Operations

Notifications

User notification management endpoints

Operations

Dev

Development-only endpoints for testing (not available in production)

Operations