Mavrck Shared Cipher API

The SharedCipher API from Mavrck — 3 operation(s) for sharedcipher.

OpenAPI Specification

mavrck-sharedcipher-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 Shared Cipher API
servers:
- url: http://app.splashscore.com/v1
- url: https://app.splashscore.com/v1
security:
- apiKey: []
tags:
- name: SharedCipher
paths:
  /v1/shared-ciphers:
    post:
      operationId: encodeCipher
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedCipherPostResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - SharedCipher
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SharedCipherPostBody'
        required: true
    get:
      operationId: queryCiphers
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedCiphersGetResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - SharedCipher
      parameters:
      - in: query
        name: actionGroupId
        required: false
        schema:
          type: number
          format: double
  /v1/shared-ciphers/{cipher}:
    get:
      operationId: decodeCipher
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedCipherGetResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '410':
          description: Shared link expired
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedLinkExpiredError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - SharedCipher
      parameters:
      - in: path
        name: cipher
        required: true
        schema:
          type: string
  /v1/shared-ciphers/{id}/options:
    put:
      operationId: updateOptions
      responses:
        '200':
          description: OK
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - SharedCipher
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: number
          format: double
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SharedCipherPutBody'
        required: true
components:
  schemas:
    SharedCipherGetResponse:
      $ref: '#/components/schemas/SharedCipher'
    SharedCiphersGetResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SharedCipherWithOptionsAndCipher'
          type: array
      required:
      - data
      type: object
      additionalProperties: false
    SharedCipher:
      type: object
    SharedLinkExpiredError:
      properties:
        message:
          type: string
          enum:
          - This shared link has expired.
        details:
          properties: {}
          additionalProperties:
            additionalProperties: true
          type: object
      required:
      - message
      - details
      type: object
      additionalProperties: false
    SharedCipherWithOptionsAndCipher:
      type: object
      properties: {}
    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
    SharedCipherPostBody:
      properties:
        actionGroupId:
          type:
          - number
          - 'null'
          format: double
        options:
          additionalProperties: false
          type: object
        expiresAt:
          type:
          - string
          - 'null'
          description: ISO 8601 timestamp. Null or omitted means the link never expires.
      type: object
      additionalProperties: false
    SharedCipherPostResponse:
      properties:
        cipher:
          type: string
        version:
          type: string
      required:
      - cipher
      - version
      type: object
      additionalProperties: false
    SharedCipherPutBody:
      properties:
        id:
          type: number
          format: double
        options:
          additionalProperties: false
          type: object
        expiresAt:
          type:
          - string
          - 'null'
          description: ISO 8601 timestamp. Null means the link never expires.
      required:
      - options
      type: object
      additionalProperties: false
  securitySchemes:
    apiKey:
      type: apiKey
      name: api-key
      in: header