MassPay payout profile
API reference

MassPay payout profile

The MassPay payout profile behind the payout wallet, read live from MassPay, with the required fields it still lacks in `missingFields`.

View as MarkdownUpdated Oct 30, 2026
GET/api/external/payouts/masspay/profileNew

The MassPay payout profile behind the payout wallet, read live from MassPay, with the required fields it still lacks in missingFields.

Before the payee exists (provisioned: false) the profile is a prefill from the account (name, e-mail, country) for your form. A payee created automatically at the ID check often has no address yet: missingFields then lists what POST /payouts/masspay/profile has to send. Personal data — the key's own account only.

Dropfans-operated integrations only, for now

At launch this endpoint answers 403 first_party_only to every other app. The read endpoints of this group are open to every key.

Authentication

Send the creator's API key as a bearer token: Authorization: Bearer dpfn_…. See Authentication & API keys.

Responses

200The profile.
NameTypeDescription
provisionedbooleanTrue once the payee exists at MassPay.
statusstring | nullMassPay’s status for the payee (e.g. ACTIVE). Null before it exists.
missingFieldsstring[]Required fields blank at MassPay. Empty when complete (and before the payee exists).
profileMasspayProfileThe values. Blank fields are empty strings.
Show child attributes
accountTypestringBUSINESS when MassPay holds a legal business name for the payee.
One of: INDIVIDUAL, BUSINESS
businessNamestringLegal business name. Empty string when not set. Business accounts only.
firstNamestringFirst name. Empty string when not set. Required for a payout.
middleNamestringMiddle name. Empty string when not set. Optional.
lastNamestringLast name. Empty string when not set. Required for a payout.
emailstringEmail. Empty string when not set. Required for a payout.
mobileNumberstringMobile number. Empty string when not set. Optional.
languagestringLanguage. Empty string when not set. Optional.
dateOfBirthstringDate of birth. Empty string when not set. Optional.
countrystringCountry. Empty string when not set. Required for a payout.
address1stringAddress line 1. Empty string when not set. Required for a payout.
address2stringAddress line 2. Empty string when not set. Optional.
citystringCity. Empty string when not set. Required for a payout.
stateProvincestringState / province. Empty string when not set. Required for a payout.
postalCodestringPostal code. Empty string when not set. Required for a payout.
Example response
{
  "provisioned": true,
  "status": "ACTIVE",
  "missingFields": [
    "address1",
    "city",
    "stateProvince",
    "postalCode"
  ],
  "profile": {
    "accountType": "INDIVIDUAL",
    "businessName": "",
    "firstName": "Jane",
    "middleName": "",
    "lastName": "Doe",
    "email": "[email protected]",
    "mobileNumber": "46701234567",
    "language": "en",
    "dateOfBirth": "1994-05-17",
    "country": "SWE",
    "address1": "",
    "address2": "",
    "city": "",
    "stateProvince": "",
    "postalCode": ""
  }
}

Errors

StatusBodyWhen
401{"error":"Unauthorized","code":"unauthorized"}Missing or invalid API key.
403{"error":"Payout methods need the account’s own key — a key an agency minted for a managed account cannot read or change where payouts go.","code":"agency_key_not_allowed"}The key was minted by an agency for an account it manages.
403{"error":"This endpoint is only available to Dropfans-operated integrations.","code":"first_party_only"}During launch, payout-method endpoints are open to Dropfans-operated integrations only.
502{"error":"Could not read your MassPay profile. Try again in a moment.","code":"masspay_unavailable"}MassPay did not answer. Retry.
503{"error":"MassPay is not available right now.","code":"not_configured"}MassPay payouts are switched off on this environment.
400{"error":"This endpoint only acts as the key’s own account — send it without X-Dropfans-Account.","code":"account_header_not_allowed"}`X-Dropfans-Account` names another account. An agency can never change where a creator it manages is paid.

Rate limiting

Every response carries the X-RateLimit-Tier header and, on limited tiers, the per-minute and per-day trios — read X-RateLimit-Remaining and X-RateLimit-Reset instead of hardcoding limits. Details in Rate limits.

Code samples

curl "https://www.dropfans.io/api/external/payouts/masspay/profile" \
  -H "Authorization: Bearer $DROPFANS_API_KEY"

Questions? [email protected]