Mavrck Membership API

The Membership API from Mavrck — 7 operation(s) for membership.

OpenAPI Specification

mavrck-membership-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  description: Identify your most influential customers and activate them to drive more conversions on social.
  title: MAVRCK.IO Membership API
servers:
- url: http://app.splashscore.com/v1
- url: https://app.splashscore.com/v1
security:
- apiKey: []
tags:
- name: Membership
paths:
  /v1/membership/contact-info:
    get:
      operationId: getMembershipContactInfo
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_MembershipContactInfo'
        '400':
          description: Invalid Parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Membership
    put:
      operationId: updateMembershipContactInfo
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TSOAEmptyObject'
        '400':
          description: Invalid Parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Membership
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MembershipContactInfoDeprecated'
        required: true
  /v1/influencers/{id}/contact-info:
    put:
      operationId: updateInfluencerContactInfo
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TSOAEmptyObject'
        '400':
          description: Invalid Parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      description: Update a My Members creator contact info.
      tags:
      - Membership
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: number
          format: double
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateInfluencerContactInfoBody'
        required: true
  /v1/membership/signature:
    put:
      operationId: updateSignature
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TSOAEmptyObject'
        '400':
          description: Invalid Parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Membership
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateSignatureBody'
        required: true
  /v1/membership/summary:
    get:
      operationId: getMembershipSummary
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMembershipSummaryResponse'
        '400':
          description: Missing Parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Membership
  /v1/membership-profile-info:
    put:
      operationId: updateMembershipProfileInfo
      responses:
        '200':
          description: OK
        '400':
          description: Missing Parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Access forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Membership
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMembershipProfileInfo'
        required: true
  /v1/membership/{id}:
    get:
      operationId: getMembership
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMembershipResponse'
        '400':
          description: Invalid Parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Membership
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: number
          format: double
    put:
      operationId: updateMembership
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TSOAEmptyObject'
        '400':
          description: Invalid Parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Membership
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: number
          format: double
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateMembershipBody'
        required: true
  /v1/remove-membership:
    post:
      operationId: removeMembership
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TSOAEmptyObject'
        '400':
          description: Invalid Parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Membership
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/removeMembershipBody'
        required: true
components:
  schemas:
    GetMembershipSummaryResponse:
      properties:
        totalPoints:
          type: number
          format: double
        totalActivations:
          type: number
          format: double
      required:
      - totalPoints
      - totalActivations
      type: object
      additionalProperties: false
    UpdateMembershipProfileInfo:
      properties:
        data:
          $ref: '#/components/schemas/MembershipProfileInfo'
      required:
      - data
      type: object
      additionalProperties: false
    NotFoundError:
      properties:
        message:
          type: string
          enum:
          - Resource Not Found
        details:
          properties: {}
          additionalProperties:
            additionalProperties: true
          type: object
      required:
      - message
      - details
      type: object
      additionalProperties: false
    Pick_UpdateMemberContactInfoData.gender-or-genderDescription_:
      properties:
        gender:
          $ref: '#/components/schemas/Gender'
        genderDescription:
          type: string
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    removeMembershipBody:
      properties:
        activityId:
          type: number
          format: double
        globalUserIds:
          items:
            type: number
            format: double
          type: array
      type: object
      additionalProperties: false
    UpdateInfluencerContactInfoBody:
      properties:
        age:
          type: number
          format: double
        apt:
          type: string
        birthday:
          type: object
        city:
          type: string
        country:
          type: string
        email:
          type: string
        emailIsVerified:
          type: boolean
        firstName:
          type: string
        fullName:
          type: string
        gender:
          $ref: '#/components/schemas/Gender'
        genderDescription:
          type: string
        lastName:
          type: string
        phone:
          type: string
        state:
          type: string
        street:
          type: string
        zip:
          type: string
        talentManagerEmail:
          type: string
        socialPresences:
          items:
            $ref: '#/components/schemas/SocialPresenceInput'
          type: array
      type: object
      additionalProperties: false
    _MembershipContactInfo:
      properties:
        age:
          type: number
          format: double
        apt:
          type: string
        birthday:
          type: object
        city:
          type: string
        country:
          type: string
        email:
          type: string
        emailIsVerified:
          type: boolean
        firstName:
          type: string
        fullName:
          type: string
        gender:
          $ref: '#/components/schemas/Gender'
        genderDescription:
          type: string
        lastName:
          type: string
        phone:
          type: string
        state:
          type: string
        street:
          type: string
        zip:
          type: string
        talentManagerEmail:
          type: string
      type: object
      additionalProperties: false
    ForbiddenError:
      properties:
        message:
          type: string
          enum:
          - Access Forbidden
        details:
          properties: {}
          additionalProperties:
            additionalProperties: true
          type: object
      required:
      - message
      - details
      type: object
      additionalProperties: false
    ServerError:
      properties:
        message:
          type: string
          enum:
          - Server Error
        details:
          properties: {}
          additionalProperties:
            additionalProperties: true
          type: object
      required:
      - message
      - details
      type: object
      additionalProperties: false
    MembershipEthnicity:
      properties:
        ethnicGroup:
          $ref: '#/components/schemas/EthnicGroup'
        ethnicGroupDescription:
          type: string
      required:
      - ethnicGroup
      - ethnicGroupDescription
      type: object
      additionalProperties: false
    Gender:
      enum:
      - describe
      - female
      - male
      - non_bin
      - other
      type: string
    EthnicGroup:
      enum:
      - American Indian or Alaska Native
      - Asian
      - Black or African American
      - Hispanic, Latinx, or Spanish origin
      - Other
      - Pacific Islander
      - Prefer not to say
      - White
      type: string
    SocialPresenceInput:
      properties:
        platform:
          type: string
        username:
          type: string
      required:
      - platform
      - username
      type: object
      additionalProperties: false
    TSOAEmptyObject:
      properties: {}
      type: object
      additionalProperties: false
    MembershipContactInfoDeprecated:
      properties:
        age:
          type: number
          format: double
        apt:
          type: string
        birthday:
          type: object
        city:
          type: string
        country:
          type: string
        email:
          type: string
        emailIsVerified:
          type: boolean
        firstName:
          type: string
        fullName:
          type: string
        gender:
          $ref: '#/components/schemas/Gender'
        genderDescription:
          type: string
        lastName:
          type: string
        phone:
          type: string
        state:
          type: string
        street:
          type: string
        zip:
          type: string
        talentManagerEmail:
          type: string
      type: object
      additionalProperties: false
    ValidateErrorJSON:
      properties:
        message:
          type: string
          enum:
          - Validation failed
        details:
          properties: {}
          additionalProperties:
            additionalProperties: true
          type: object
      required:
      - message
      - details
      type: object
      additionalProperties: false
    updateSignatureBody:
      properties:
        signedTermsAndConditions:
          type: boolean
      type: object
      additionalProperties: false
    MembershipProfileInfo:
      properties:
        membershipContactInfo:
          $ref: '#/components/schemas/Pick_UpdateMemberContactInfoData.gender-or-genderDescription_'
        memberSelectedEthnicities:
          items:
            $ref: '#/components/schemas/MembershipEthnicity'
          type: array
      type: object
      additionalProperties: false
    updateMembershipBody:
      properties:
        blacklisted:
          type: boolean
        status:
          type: string
          enum:
          - USER
          - REJECTED
        membershipType:
          type: string
          enum:
          - EMPLOYEE
          - CUSTOMER
          - NORMAL
      type: object
      additionalProperties: false
    GetMembershipResponse:
      properties:
        blacklisted:
          type: boolean
        contactInfo:
          $ref: '#/components/schemas/MembershipContactInfoDeprecated'
        createdAt:
          type: string
        id:
          type: number
          format: double
        imageUrl:
          type: string
        lifetimeClicks:
          type: number
          format: double
        lifetimeConversions:
          type: number
          format: double
        lifetimeConversionsValue:
          type: number
          format: double
        membershipId:
          type: number
          format: double
        membershipType:
          type: string
        mostRecentActivationDate:
          type: string
        pointsCurrentBalance:
          properties:
            amount:
              type: number
              format: double
          type: object
        status:
          type: string
        totalImpressions:
          type: number
          format: double
        totalPoints:
          type: number
          format: double
        updatedAt:
          type: string
        utmCampaign:
          type: string
        utmContent:
          type: string
        fullName:
          type: string
      type: object
      additionalProperties: false
  securitySchemes:
    apiKey:
      type: apiKey
      name: api-key
      in: header