Mavrck Campaigns API

The Campaigns API from Mavrck — 4 operation(s) for campaigns.

OpenAPI Specification

mavrck-campaigns-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 Campaigns API
servers:
- url: http://app.splashscore.com/v1
- url: https://app.splashscore.com/v1
security:
- apiKey: []
tags:
- name: Campaigns
paths:
  /v1/campaigns:
    get:
      operationId: getAllCampaigns
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllCampaignsResponse'
        '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: Campaign not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Campaigns
      parameters:
      - in: query
        name: name
        required: false
        schema:
          type: string
      - in: query
        name: limit
        required: false
        schema:
          type: number
          format: double
      - in: query
        name: offset
        required: false
        schema:
          type: number
          format: double
      - in: query
        name: orderBy
        required: false
        schema:
          type: string
    post:
      operationId: createCampaign
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignURI'
        '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: Campaign not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Campaigns
      requestBody:
        content:
          application/json:
            schema:
              type: object
        required: true
  /v1/campaigns/{id}:
    get:
      operationId: getCampaignById
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Campaign'
        '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: Campaign not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Campaigns
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: number
          format: double
    put:
      operationId: updateCampaign
      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: Campaign not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Campaigns
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: number
          format: double
      requestBody:
        content:
          application/json:
            schema:
              type: object
        required: true
    delete:
      operationId: Delete
      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: Campaign not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Campaigns
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: number
          format: double
  /v1/campaigns/reporting-group/ids:
    get:
      operationId: getActionGroupIdsForReportingGroup
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportingGroupIdsRespnse'
        '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: Campaign not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Campaigns
      parameters:
      - in: query
        name: reportingGroupIds
        required: true
        style: form
        explode: true
        schema:
          type: array
          items:
            type: number
            format: double
  /v2/public/campaigns/{id}:
    get:
      operationId: getPublicCampaignById
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Readonly_any_'
        '404':
          description: Resource Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '422':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableContent'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Campaigns
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: number
          format: double
components:
  schemas:
    Question:
      properties:
        className:
          type: string
        dataPointDefinition:
          $ref: '#/components/schemas/DataPointDefinition'
        dataPointDefinitionId:
          type: number
          format: double
        hasResponses:
          type: boolean
        hideFromInfluencers:
          type: boolean
        id:
          type: number
          format: double
        key:
          type: string
        maxResponses:
          type: number
          format: double
        order:
          type: number
          format: double
        questionResponses:
          items:
            additionalProperties: false
            type: object
          type: array
        questionText:
          type: string
        markUpQuestionText:
          type: string
        properties:
          properties:
            type:
              type: string
            required:
              type: boolean
            placeholder:
              type: string
            options:
              items:
                properties:
                  value:
                    type: string
                  name:
                    type: string
                type: object
              type: array
            minlength:
              type: number
              format: double
            min:
              type: number
              format: double
            maxlength:
              type: number
              format: double
            maxUploads:
              type: number
              format: double
            max:
              type: number
              format: double
            label:
              type: string
            accept:
              type: string
          type: object
        required:
          type: boolean
        templateOptions:
          additionalProperties: false
          type: object
        type:
          type: string
      type: object
      additionalProperties: false
    Administrator:
      properties:
        id:
          type: number
          format: double
        email:
          type: string
        first_name:
          type: string
        last_name:
          type:
          - string
          - 'null'
        image:
          type:
          - string
          - 'null'
        approves:
          type: boolean
        createdAt:
          type: string
      type: object
      additionalProperties: false
    CampaignURI:
      properties:
        name:
          type: string
        id:
          type: number
          format: double
      required:
      - name
      - id
      type: object
    BonusTier:
      description: 'Swagger 2 representation of a tiered bonus entry.


        `upperBound` is required for `BOUNDED` tiers and must be omitted for

        `OPEN_ENDED` tiers. The bonus-tier validator enforces that conditional rule.


        Validation rules:

        - `bonusTiers` may contain at most 5 tiers.

        - Tiers must be sorted by `lowerBound`.

        - Adjacent tiers must be contiguous.

        - The final tier must be `OPEN_ENDED`.

        - `bonusTierCurrencyCode` is required when `bonusTiers` is non-empty.'
      properties:
        type:
          type: string
          enum:
          - BOUNDED
          - OPEN_ENDED
        lowerBound:
          type: number
          format: double
          description: Inclusive lower conversion/order bound for this payout tier. Must be non-negative.
        upperBound:
          type: number
          format: double
          description: Exclusive upper conversion/order bound for a `BOUNDED` tier.
        bonusAmount:
          type: number
          format: double
          description: Bonus payout amount in `bonusTierCurrencyCode`. Must be positive.
      required:
      - type
      - lowerBound
      - bonusAmount
      type: object
      additionalProperties: false
    YotpoAppProduct:
      properties:
        reviewProductId:
          type: number
          format: double
        youtpoProductId:
          type: string
      type: object
      additionalProperties: false
    PowerReviewsApp:
      properties:
        apiKey:
          type: string
        communityId:
          type: string
        environment:
          type: string
        id:
          type: number
          format: double
        locale:
          type: string
        merchantId:
          type: string
        name:
          type: string
      required:
      - apiKey
      - communityId
      - id
      - locale
      - merchantId
      - name
      type: object
      additionalProperties: false
    ReviewForm:
      properties:
        id:
          type: number
          format: double
        reviewProductId:
          type: number
          format: double
        action:
          $ref: '#/components/schemas/Action'
        product:
          $ref: '#/components/schemas/Product'
        questions:
          items:
            $ref: '#/components/schemas/Question'
          type: array
        incentivized:
          type: boolean
        responses:
          items:
            properties:
              questionResponses:
                items:
                  additionalProperties: false
                  type: object
                type: array
              membership:
                $ref: '#/components/schemas/Membership'
            type: object
          type: array
      type: object
      additionalProperties: false
    ReportingGroupIdsRespnse:
      properties:
        ids:
          items:
            type: number
            format: double
          type: array
      required:
      - ids
      type: object
    RoutingOptions:
      properties:
        cta:
          type: string
        mode:
          type: string
        redirect_url:
          type: string
      type: object
      additionalProperties: false
    TrackingLink:
      properties:
        action:
          $ref: '#/components/schemas/Action'
        communityId:
          type: string
        conversionId:
          type: string
        conversions:
          type: number
          format: double
        conversionsValue:
          type: number
          format: double
        destinationUrl:
          type: string
        domain:
          type: string
        domainId:
          type: string
        id:
          type: number
          format: double
        parentId:
          type: number
          format: double
        isAffiliate:
          type: boolean
        isDeleted:
          type: string
        lastUpdated:
          type: string
        membershipId:
          type: string
        metaInformation:
          $ref: '#/components/schemas/MetaInformation'
        name:
          type: string
        numClicks:
          type: number
          format: double
        providerCode:
          type: string
        providerName:
          type: string
        shortLink:
          type: string
        title:
          type: string
        trackingPixelCode:
          type: string
        type:
          type: string
        url:
          type: string
        isArchived:
          type: boolean
        archivedAt:
          type: string
          format: date-time
      required:
      - isArchived
      - archivedAt
      type: object
      additionalProperties: false
    NetworkSlug:
      type: string
      enum:
      - blog
      - facebook
      - facebook_group
      - facebook_live
      - facebook_reel
      - image
      - instagram
      - instagram_reel
      - instagram_story
      - linkedin
      - pinterest
      - snapchat_story
      - tiktok
      - twitch_stream
      - twitter
      - video
      - youtube_video
      - youtube_shorts
    Links:
      properties:
        deep:
          type: string
        normal:
          type: string
      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
    GetAllCampaignsResponse:
      properties:
        meta:
          $ref: '#/components/schemas/Metadata'
        data:
          items:
            $ref: '#/components/schemas/Campaign'
          type: array
      required:
      - meta
      - data
      type: object
    Network:
      properties:
        clicks:
          type: boolean
        comments:
          type: boolean
        impressions:
          type: boolean
        key:
          type: string
        likes:
          type: boolean
        reach:
          type: boolean
        shares:
          type: boolean
      type: object
      additionalProperties: false
    DataPointDefinitionSetElement:
      items:
        properties:
          key:
            type: string
          id:
            type: number
            format: double
          markUpDisplayLabel:
            type: string
          displayLabel:
            type: string
        required:
        - key
        - id
        - displayLabel
        type: object
      type: array
    UnprocessableContent:
      properties:
        details:
          properties: {}
          additionalProperties:
            additionalProperties: true
          type: object
        message:
          type: string
          enum:
          - Unprocessable Content
      required:
      - message
      type: object
      additionalProperties: false
    DataPointDefinitionActionGroup:
      properties:
        id:
          type: number
          format: double
        title:
          type: string
      type: object
      additionalProperties: false
    Action:
      properties:
        ActionGroup:
          $ref: '#/components/schemas/ActionGroup'
        actionGroupId:
          type: number
          format: double
        actionGroupTitle:
          type: string
        actionGroupType:
          type: string
        activations:
          items:
            properties:
              id:
                type: number
                format: double
            type: object
          type: array
        article:
          properties:
            html:
              type: string
          type: object
        brand:
          $ref: '#/components/schemas/Brand'
        communityId:
          type: string
        conversion:
          $ref: '#/components/schemas/ConversionTag'
        conversionAssignedAt:
          type: string
        description:
          type: string
        id:
          type: string
        image:
          type: string
        instructions:
          type: string
        label:
          type: string
        link:
          $ref: '#/components/schemas/TrackingLink'
        linkReference:
          type: string
        membershipId:
          type: number
          format: double
        multipleActivations:
          type: boolean
        needsModeration:
          type: boolean
        networkOperation:
          $ref: '#/components/schemas/NetworkOperation'
        pendingActivation:
          items:
            properties:
              id:
                type: number
                format: double
            type: object
          type: array
        points:
          type: number
          format: double
        previewContentType:
          type: string
        product:
          $ref: '#/components/schemas/Product'
        productId:
          type: number
          format: double
        required:
          type: boolean
        reviewFormId:
          type: number
          format: double
        routing:
          $ref: '#/components/schemas/Routing'
        submit:
          type: string
        survey:
          $ref: '#/components/schemas/ReviewForm'
        title:
          type: string
        type:
          type: string
        url:
          type: string
        video:
          properties:
            url:
              type: string
          type: object
      required:
      - type
      type: object
      additionalProperties: false
    NetworkName:
      type: string
      enum:
      - Blog
      - Facebook
      - Facebook Group
      - Facebook Live
      - Facebook Reel
      - Image
      - Instagram
      - Instagram Reel
      - Instagram Story
      - LinkedIn
      - Pinterest
      - Snapchat Story
      - TikTok
      - Twitch Stream
      - Twitter
      - Video
      - YouTube Video
      - YouTube Shorts
    ActionGroup:
      properties:
        actions:
          items:
            $ref: '#/components/schemas/Action'
          type: array
        activatedUsersMetrics:
          type: number
          format: double
        activityBudget:
          type: number
          format: double
        application:
          properties:
            requestBrandedContentPermission:
              type: boolean
          type: object
        audience:
          $ref: '#/components/schemas/Audience'
        autoAcceptApplicant:
          type: boolean
        brief:
          type: string
        campaign:
          $ref: '#/components/schemas/Campaign'
        clicksMetrics:
          type: number
          format: double
        community:
          properties:
            instagramHandle:
              type: string
          type: object
        communityId:
          type: string
        contentDueDate:
          type: string
        contentType:
          type: string
        conversionsCountMetrics:
          type: number
          format: double
        conversionsValueMetrics:
          type: number
          format: double
        cost:
          type: number
          format: double
        cpa:
          type: number
          format: double
        cpe:
          type: number
          format: double
        cpeGoal:
          type: number
          format: double
        cpm:
          type: number
          format: double
        cpmGoal:
          type: number
          format: double
        cpp:
          type: number
          format: double
        committedAmount:
          type:
          - number
          - 'null'
          format: double
        paidAmount:
          type:
          - number
          - 'null'
          format: double
        readyAmount:
          type:
          - number
          - 'null'
          format: double
        roiValue:
          type:
          - number
          - 'null'
          format: double
        createdAt:
          type: string
        description:
          type: string
        draftDueDate:
          type: string
        conceptDueDate:
          type: string
        endDate:
          type: string
        engagementRateGoal:
          type: number
          format: double
        engagements:
          type: number
          format: double
        engagementsGoal:
          type: number
          format: double
        engagementsMetrics:
          type: number
          format: double
        ftcHashtag:
          type: string
        fulfilled:
          type: number
          format: double
        globalUserListDefinitionId:
          type: number
          format: double
        hasPointsEnabled:
          type: boolean
        hasScheduledNotifications:
          type: boolean
        hideOnIcm:
          type: boolean
        id:
          type: number
          format: double
        image:
          type: string
        impressions:
          type: number
          format: double
        impressionsGoal:
          type: number
          format: double
        impressionsMetrics:
          type: number
          format: double
        incentive:
          $ref: '#/components/schemas/Incentive'
        incentives:
          items:
            $ref: '#/components/schemas/Incentive'
          type: array
        influencerReviewDeliverable:
          properties:
            listId:
              type: number
              format: double
            count:
              type: number
              format: double
            id:
              type: number
              format: double
          type: object
        internalDescription:
          type: string
        isAutoCreated:
          type: boolean
        isLaterCreatorExperienceEnabled:
          type: boolean
        isPrimaryReferralActivity:
          type: boolean
        listId:
          type: number
          format: double
        listDeliverables:
          items:
            $ref: '#/components/schemas/ListDeliverable'
          type: array
        locale:
          type: string
        mainType:
          type: string
        multipleActivations:
          type: boolean
        name:
          type: string
        notInCommunity:
          type: boolean
        numberOfInfluencers:
          type: number
          format: double
        openGraphTags:
          type: string
        pending:
          type: number
          format: double
        points:
          properties:
            max:
              type: number
              format: double
            min:
              type: number
              format: double
          type: object
        posts:
          type: number
          format: double
        primaryNetwork:
          type: string
        programId:
          type: number
          format: double
        ready:
          type: number
          format: double
        requiredHashtag:
          type: string
        budgetReferenceId:
          type:
          - string
          - 'null'
        budgetReferenceIdType:
          type: object
        brandSuitabilityGuidelines:
          type: string
        shareableReportLink:
          type: string
        startDate:
          type: string
        status:
          type: string
        termsOfServiceLink:
          type: string
        title:
          type: string
        type:
          type: string
        url:
          type: string
        workflowStatuses:
          items:
            $ref: '#/components/schemas/ListCustomStatus'
          type: array
        workflowSummary:
          properties:
            completed:
              type: number
              format: double
            participants:
              type: number
              format: double
            applicants:
              type: number
              format: double
            candidates:
              type: number
              format: double
            rejected:
              type: number
              format: double
            accepted:
              type: number
              format: double
          type: object
      required:
      - communityId
      - id
      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
    InfluencerDataPointCriteria:
      properties:
        key:
          type: string
        value:
          type: object
        values:
          items:
            type: string
          type: array
        minValue:
          type: number
          format: double
        maxValue:
          type: number
          format: double
      required:
      - key
      type: object
      additionalProperties: false
    Campaign:
      properties:
        id:
          type: number
          format: double
        name:
          type: string
        description:
          type: string
        brand:
          $ref: '#/components/schemas/Brand'
        actionGroups:
          items:
            $ref: '#/components/schemas/ActionGroup'
          type: array
        hasActivations:
          type: boolean
        createdAt:
          type: string
      required:
      - name
      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
    Metadata:
      properties:
        offset:
          type: number
          format: double
        limit:
          type: number
          format: double
        totalCount:
          type: number
          format: double
      required:
      - offset
      - limit
      - totalCount
      type: object
    Brand:
      properties:
        accentColor:
          type: string
        buttonColor:
          type: string
        id:
          type: number
          format: double
        logo:
          type: string
        associatedWithCampaign:
          type: boolean
        name:
          type: string
      required:
      - id
      - name
      type: object
      additionalProperties: false
    Gender:
      enum:
      - describe
      - female
      - male
      - non_bin
      - other
      type: string
    TSOAEmptyObject:
      properties: {}
      type: object
      additionalProperties: false
    Membership:
      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
    Readonly_any_:
      properties: {}
      type: object
      description: Make all properties in T readonly
    IncentiveUnlockEvent:
      type: string
      enum:
      - acceptance
      - completion
      - pending_shipment
      - pending_payment
    PowerReviewsPage:
      properties:
        PowerReviewsApp:
          items:
            $ref: '#/components/schemas/PowerReviewsApp'
          type: array
        externalPageId:
          type: string
        id:
          type: number
          format: double
        powerReviewsAppId:
          type: string
        reviewProductId:
          type: number
          format: double
      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
   

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mavrck/refs/heads/main/openapi/mavrck-campaigns-api-openapi.yml