Skip to content

Users

Authenticated creator profile, payout data, device tokens, and creator-level default compliance flags.


GET /api/user

Return the authenticated user's current profile.

  • Auth required: Yes
  • Roles: Authenticated creator

Success response example

json
{
  "success": true,
  "errors_message": null,
  "data": {
    "id": 7,
    "type": "business",
    "email": "creator@example.com",
    "first_name": "Alyssa",
    "last_name": "Creator",
    "birth_date": "1998-05-12",
    "stripe_url": null,
    "fee": {
      "percentage": 4
    },
    "bank_data": {
      "iban": "LU150103994632856918",
      "bic_swift": "UNCRIT2B912"
    },
    "address": "1 Main Street",
    "is_verified": true,
    "veriff_first_name": "Alyssa",
    "veriff_last_name": "Creator",
    "veriff_is_matched": true,
    "is_adult_content": true,
    "is_verif_age": false,
    "is_epoch_enabled": true,
    "currency_id": 1
  }
}

Returned fields

FieldTypeNotes
idintegerUser id.
typestringLegacy/internal account type. Do not build feature logic on this field alone.
emailstringCreator email.
first_namestringCreator first name.
last_namestringCreator last name.
birth_datestringYYYY-MM-DD.
stripe_urlstring or nullLegacy / conditional onboarding link.
feeobjectCurrent creator fee resource.
ibanstring or omittedConvenience exposure when IBAN exists in bank data.
bic_swiftstring or omittedConvenience exposure when BIC/SWIFT exists in bank data.
bank_dataobject or nullCurrent payout fields.
addressstring or nullOptional creator address.
is_verifiedbooleanCreator identity verification result.
veriff_first_namestring or nullVerified first name snapshot.
veriff_last_namestring or nullVerified last name snapshot.
veriff_is_matchedboolean or nullName-match status from verification flow.
is_adult_contentbooleanDefault AVS flag for new uploads.
is_verif_agebooleanDefault buyer age-check requirement for new uploads.
is_epoch_enabledbooleanCurrent payment-provider enablement state.
currency_idintegerCreator currency id.

PATCH /api/user/

Update user profile fields and payout fields.

  • Auth required: Yes
  • Roles: Authenticated creator
  • Content type: application/json

Request body

FieldTypeRequiredNotes
first_namestringYesMax 255 chars.
last_namestringYesMax 255 chars.
ibanstringNoLegacy convenience field.
bic_swiftstringNoLegacy convenience field.
bank_dataobjectNoFlexible payout fields by currency.

Success response example

json
{
  "success": true,
  "errors_message": null,
  "data": {
    "user": {
      "id": 7,
      "first_name": "Alyssa",
      "last_name": "Creator",
      "bank_data": {
        "iban": "LU150103994632856918",
        "bic_swift": "UNCRIT2B912"
      }
    }
  }
}

Important notes

  • The route is parameterized as /api/user/{user}.
  • Current controller does not add an explicit ownership/policy check here, so clients should only use it for the current authenticated creator.
  • This endpoint does not update creator default AVS flags. Use /api/user/profile/has-adult for that.

PATCH /api/user/profile/has-adult

Update creator-level default compliance toggles for new uploads and optionally cascade them to existing products.

  • Auth required: Yes
  • Roles: Authenticated creator
  • Content type: application/json

Request body

FieldTypeRequiredNotes
is_adult_contentbooleanYesDefault AVS flag.
is_verif_agebooleanYesDefault age-check flag.
is_update_productsbooleanNoIf true, backend also updates existing products for enabled flags.

Success response example

json
{
  "success": true,
  "errors_message": null,
  "data": {
    "id": 7,
    "is_adult_content": true,
    "is_verif_age": true
  }
}

Side effects

  • updates user defaults immediately
  • if is_update_products=true and a flag is true, backend updates existing products for that flag as well

POST /api/user/fcm

Store an FCM token for push notifications.

  • Auth required: Yes
  • Roles: Authenticated creator

Request body

FieldTypeRequired
tokenstringYes

Success response example

json
{
  "success": true,
  "errors_message": null,
  "data": "Token stored"
}

DELETE /api/user/fcm

Delete an FCM token.

  • Auth required: Yes
  • Roles: Authenticated creator

Request body

FieldTypeRequired
tokenstringYes

Success response example

json
{
  "success": true,
  "errors_message": null,
  "data": "Token removed"
}

DELETE /api/user

Delete the authenticated creator account.

  • Auth required: Yes
  • Roles: Authenticated creator

Success response example

json
{
  "success": true,
  "errors_message": null,
  "data": "Deleted"
}

Side effects

  • deletes all current auth tokens
  • soft-deletes the user
  • dispatches UserDeleteJob

Payout fields by currency

Fangate stores payout fields in bank_data. Use the creator currency to know which keys matter.

Currency patternExpected fields
EURiban, bic_swift
USDaccount_number, routing_number
GBPaccount_number, sort_code

Do not assume every response contains every bank field. Use only the keys relevant to the current account.


Fangate backend developer documentation