Mavrck Budgets API

The Budgets API from Mavrck — 5 operation(s) for budgets.

OpenAPI Specification

mavrck-budgets-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 Budgets API
servers:
- url: http://app.splashscore.com/v1
- url: https://app.splashscore.com/v1
security:
- apiKey: []
tags:
- name: Budgets
paths:
  /v1/budgets/action-groups:
    get:
      operationId: getActionGroupBudgets
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionGroupBudgetsResponse'
        '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: Action group budget not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Budgets
      parameters:
      - in: query
        name: actionGroupStatuses
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - DRAFT
            - READY
            - PENDING
            - LIVE
            - PAUSED
            - EXPIRED
            - ARCHIVED
      - in: query
        name: types
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - STRIPE
            - PAYPAL
            - MAVELY
            - TIPALTI
            - TANGO_CARDS
            - MANUAL_CASH_PAYMENT
            - MANUAL_GIFT_CARD
            - SHOPIFY_DISCOUNT
            - PRODUCT
            - PROMO_CODE
            - OTHER
  /v1/budgets/influencers:
    get:
      operationId: getInfluencersBudget
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InfluencerBudgetsResponse'
        '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: Action group budget not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Budgets
      parameters:
      - in: query
        name: actionGroupIds
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: number
            format: double
  /v1/budgets/community:
    get:
      operationId: getCommunityBudgets
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunityBudgetsResponse'
        '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: Action group budget not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Budgets
  /v1/budgets/bulk:
    post:
      operationId: bulkCreateBudgets
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkBudgetCreateResponse'
        '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: Action group budget not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Budgets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkBudgetCreateDTO'
        required: true
  /v1/budgets:
    post:
      operationId: createBudget
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BudgetEntity'
        '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: Action group budget not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Budgets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BudgetCreateDTO'
        required: true
components:
  schemas:
    BulkBudgetCreateDTO:
      properties:
        budgets:
          items:
            $ref: '#/components/schemas/BudgetCreateRequest'
          type: array
      required:
      - budgets
      type: object
      additionalProperties: false
    Omit_BudgetCreateRequest.communityId_:
      $ref: '#/components/schemas/Pick_BudgetCreateRequest.Exclude_keyofBudgetCreateRequest.communityId__'
      description: Construct a type with the properties of T except for those in type K.
    BulkBudgetCreateResponse:
      properties:
        created:
          items:
            $ref: '#/components/schemas/BudgetEntity'
          type: array
        conflicts:
          items:
            properties:
              message:
                type: string
              budgetReferenceId:
                type: string
            required:
            - message
            - budgetReferenceId
            type: object
          type: array
        errors:
          items:
            properties:
              error:
                type: string
              budgetReferenceId:
                type: string
            required:
            - error
            - budgetReferenceId
            type: object
          type: array
      required:
      - created
      - conflicts
      - errors
      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
    BudgetEntity:
      properties:
        id:
          type: number
          format: double
        budgetReferenceId:
          type: string
        type:
          $ref: '#/components/schemas/BudgetReferenceIdType'
        name:
          type:
          - string
          - 'null'
        communityId:
          type: string
        fundedAmount:
          type: number
          format: double
        spentAmount:
          type: number
          format: double
        amountsByCurrency:
          items:
            $ref: '#/components/schemas/BudgetCurrencyAmount'
          type: array
      required:
      - id
      - budgetReferenceId
      - type
      - communityId
      - fundedAmount
      - spentAmount
      type: object
      additionalProperties: false
    ActionGroupBudgetsResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ActionGroupBudget'
          type: array
        meta:
          properties:
            offset:
              type: number
              format: double
            limit:
              type: number
              format: double
            totalCount:
              type: number
              format: double
          required:
          - totalCount
          type: object
      required:
      - data
      - meta
      type: object
      additionalProperties: false
    InfluencerBudget:
      properties:
        campaignId:
          type: number
          format: double
        campaignName:
          type: string
        campaignStatus:
          $ref: '#/components/schemas/ActionGroupStatus'
        budget:
          type: number
          format: double
        budgetReferenceId:
          type:
          - string
          - 'null'
        budgetReferenceIdType:
          type: object
        influencerName:
          type:
          - string
          - 'null'
        rewardWinType:
          $ref: '#/components/schemas/DBRewardWinType'
        rewardWinCashPaymentAppProvider:
          type: object
        fulfillmentStatus:
          type: object
        cost:
          type: number
          format: double
      required:
      - campaignId
      - campaignName
      - campaignStatus
      - budget
      - rewardWinType
      - fulfillmentStatus
      - cost
      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
    ActionGroupStatus:
      type: string
      enum:
      - DRAFT
      - READY
      - PENDING
      - LIVE
      - PAUSED
      - EXPIRED
      - ARCHIVED
    ServerError:
      properties:
        message:
          type: string
          enum:
          - Server Error
        details:
          properties: {}
          additionalProperties:
            additionalProperties: true
          type: object
      required:
      - message
      - details
      type: object
      additionalProperties: false
    BudgetReferenceIdType:
      type: string
      enum:
      - IROF
      - OPPORTUNITY
    ActionGroupBudgetCurrencyRollup:
      description: Per-currency cost rollup for a single action group.
      properties:
        currencyCode:
          type: string
        pendingCost:
          type: number
          format: double
        readyCost:
          type: number
          format: double
        fulfilledCost:
          type: number
          format: double
      required:
      - currencyCode
      - pendingCost
      - readyCost
      - fulfilledCost
      type: object
      additionalProperties: false
    BudgetCreateDTO:
      $ref: '#/components/schemas/Omit_BudgetCreateRequest.communityId_'
    DBRewardWinType:
      enum:
      - OTHER
      - CASH
      - PRODUCT
      - PROMO_CODE
      - GIFT_CARD
      - SHOPIFY_DISCOUNT
      type: string
    BudgetCreateRequest:
      properties:
        budgetReferenceId:
          type: string
        budgetReferenceIdType:
          $ref: '#/components/schemas/BudgetReferenceIdType'
        name:
          type: string
        communityId:
          type: string
      required:
      - budgetReferenceId
      - budgetReferenceIdType
      - name
      - communityId
      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
    CommunityBudgetsResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/BudgetEntity'
          type: array
        meta:
          properties:
            totalCount:
              type: number
              format: double
          required:
          - totalCount
          type: object
      required:
      - data
      - meta
      type: object
      additionalProperties: false
    ActionGroupBudget:
      properties:
        id:
          type: number
          format: double
        budget:
          type:
          - number
          - 'null'
          format: double
        pendingCost:
          type: number
          format: double
        pendingCount:
          type: number
          format: double
        readyCost:
          type: number
          format: double
        readyCount:
          type: number
          format: double
        fulfilledCost:
          type: number
          format: double
        fulfilledCount:
          type: number
          format: double
        balance:
          type: object
        title:
          type: object
        budgetReferenceId:
          type:
          - string
          - 'null'
        budgetReferenceIdType:
          type: object
        contentDueDate:
          type:
          - string
          - 'null'
        status:
          $ref: '#/components/schemas/ActionGroupStatus'
        costsByCurrency:
          items:
            $ref: '#/components/schemas/ActionGroupBudgetCurrencyRollup'
          type: array
      required:
      - id
      - pendingCost
      - pendingCount
      - readyCost
      - readyCount
      - fulfilledCost
      - fulfilledCount
      - status
      type: object
      additionalProperties: false
    BudgetCurrencyAmount:
      properties:
        currencyCode:
          type: string
        fundedAmount:
          type: number
          format: double
        spentAmount:
          type: number
          format: double
      required:
      - currencyCode
      - fundedAmount
      - spentAmount
      type: object
      additionalProperties: false
    Pick_BudgetCreateRequest.Exclude_keyofBudgetCreateRequest.communityId__:
      properties:
        name:
          type: string
        budgetReferenceId:
          type: string
        budgetReferenceIdType:
          $ref: '#/components/schemas/BudgetReferenceIdType'
      required:
      - name
      - budgetReferenceId
      - budgetReferenceIdType
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    InfluencerBudgetsResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/InfluencerBudget'
          type: array
        meta:
          properties:
            offset:
              type: number
              format: double
            limit:
              type: number
              format: double
            totalCount:
              type: number
              format: double
          required:
          - totalCount
          type: object
      required:
      - data
      - meta
      type: object
      additionalProperties: false
  securitySchemes:
    apiKey:
      type: apiKey
      name: api-key
      in: header