Influence Media API

The Media API from Influence — 1 operation(s) for media.

GitHub OpenAPI

Operations 1

POST /api/v1/media/import Confirm a Binary Image Upload #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/influence-so:influence-so-media-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

influence-so-media-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: The existing tool-oriented HTTP API. Discover tools available to your credential before calling them. Tool inputs & outputs depend on the selected tool; read its discovered schema & supported workflow. Requests accept no query parameters. Documentation does not grant access or bypass product approval requirements.
  title: Influence HTTP Media API
  version: '1'
servers:
- url: https://influence.so
security:
- bearerAuth: []
tags:
- name: Media
  x-displayName: Media
paths:
  /api/v1/media/import:
    post:
      description: Confirm a prepared mediaImport upload descriptor with the original JPEG, PNG or WebP bytes (at most 3,145,728 bytes). The byte length & SHA-256 must match the descriptor. For file references or larger local files, use the documented media tools & SDK multipart workflow.
      operationId: confirmImageUpload
      parameters:
      - description: The exact confirmationCapability returned by prepare. Send it only in this header, with the same input, before expiresAt.
        in: header
        name: X-Publish-Confirmation
        required: true
        schema:
          $ref: '#/components/schemas/ConfirmationCapability'
      - description: Caller-generated retry identity. Preserve this key, capability & input after an uncertain response.
        in: header
        name: Idempotency-Key
        required: true
        schema:
          $ref: '#/components/schemas/IdempotencyKey'
      - description: encodeURIComponent(JSON.stringify(upload)) from the prepared mediaImport input. The decoded object follows BinaryUploadDescriptor; the encoded header is at most 4,096 characters.
        in: header
        name: X-Publish-Upload
        required: true
        schema:
          maxLength: 4096
          type: string
      requestBody:
        content:
          application/octet-stream:
            schema:
              format: binary
              type: string
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolResult'
          description: Media result; inspect ok & the asset status.
        '400':
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/TransportError'
                - $ref: '#/components/schemas/ToolError'
          description: Invalid request. Query parameters are not accepted. Tool validation failures may use a tool error envelope.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportError'
          description: Missing, invalid or expired bearer credential.
          headers:
            WWW-Authenticate:
              schema:
                const: Bearer realm="Influence"
                type: string
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportError'
          description: The credential lacks required permissions.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportError'
          description: The machine API or requested tool is unavailable.
        '413':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ToolError'
          description: The request exceeds the byte limit.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportError'
          description: Rate limit exceeded. The error is retryable.
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransportError'
          description: The API or its upstream execution is unavailable.
      summary: Confirm a Binary Image Upload
      tags:
      - Media
components:
  schemas:
    ToolResult:
      oneOf:
      - type: object
        properties:
          ok:
            type: boolean
            const: true
          output:
            $ref: '#/components/schemas/JsonValue'
          toolName:
            type: string
            enum:
            - adAuditQuote
            - adAuditStart
            - adAuditGet
            - adAuditList
            - search
            - fetch
            - profileGet
            - connectionStatusGet
            - accountList
            - campaignGet
            - campaignList
            - campaignDraftSave
            - mediaList
            - mediaImport
            - mediaUploadCreate
            - mediaUploadPart
            - mediaUploadComplete
            - mediaUploadGet
            - mediaUploadAbort
            - mediaGet
            - campaignReview
            - campaignReviewGet
            - campaignReviewExecute
            - campaignScheduleBatchReview
            - campaignScheduleBatchExecute
            - scheduleList
            - brandContextGet
            - insightsAccountList
            - insightsPostList
            - insightsRefresh
            - campaignPlanGet
            - campaignPlanGenerate
            - imageGenerationQuote
            - imageGenerationStart
            - imageGenerationList
            - integrationList
            - groupList
            - integrationSchema
            - devtoOrganizationList
            - devtoTagList
            - discordChannelList
            - discourseCategoryList
            - discourseTagList
            - discourseTopicSearch
            - dribbbleTeamList
            - ghostAuthorList
            - ghostNewsletterList
            - ghostTagList
            - ghostTierList
            - hashnodePublicationList
            - lemmyCommunitySearch
            - listmonkListsGet
            - listmonkTemplateList
            - mattermostChannelList
            - meweGroupList
            - pinterestBoardList
            - redditSubredditRequirementsGet
            - redditSubredditSearch
            - slackChannelList
            - teamsChannelList
            - tiktokCreatorInfoGet
            - vkDestinationList
            - whopCompanyList
            - whopExperienceList
            - wordpressCategoryList
            - wordpressPostTypeList
            - wordpressTagList
            - wrapcastChannelSearch
            - integrationSchedulePostTool
            - postsListTool
            - postSettingsTool
        required:
        - ok
        - output
        - toolName
        additionalProperties: false
      - $ref: '#/components/schemas/ToolError'
    ToolError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
              - AI_SCHEDULING_LIMIT_REACHED
              - AI_SCHEDULING_UNAVAILABLE
              - INVALID_INPUT
              - FORBIDDEN
              - NOT_FOUND
              - CONFLICT
              - FEATURE_DISABLED
              - CONFIRMATION_REQUIRED
              - CONFIRMATION_INVALID
              - UPSTREAM_FAILED
              - NEEDS_REVIEW
              - INTERNAL
            message:
              type: string
              minLength: 1
              maxLength: 2048
            retryable:
              type: boolean
          required:
          - code
          - message
          - retryable
          additionalProperties: false
        ok:
          type: boolean
          const: false
        toolName:
          type: string
          enum:
          - adAuditQuote
          - adAuditStart
          - adAuditGet
          - adAuditList
          - search
          - fetch
          - profileGet
          - connectionStatusGet
          - accountList
          - campaignGet
          - campaignList
          - campaignDraftSave
          - mediaList
          - mediaImport
          - mediaUploadCreate
          - mediaUploadPart
          - mediaUploadComplete
          - mediaUploadGet
          - mediaUploadAbort
          - mediaGet
          - campaignReview
          - campaignReviewGet
          - campaignReviewExecute
          - campaignScheduleBatchReview
          - campaignScheduleBatchExecute
          - scheduleList
          - brandContextGet
          - insightsAccountList
          - insightsPostList
          - insightsRefresh
          - campaignPlanGet
          - campaignPlanGenerate
          - imageGenerationQuote
          - imageGenerationStart
          - imageGenerationList
          - integrationList
          - groupList
          - integrationSchema
          - devtoOrganizationList
          - devtoTagList
          - discordChannelList
          - discourseCategoryList
          - discourseTagList
          - discourseTopicSearch
          - dribbbleTeamList
          - ghostAuthorList
          - ghostNewsletterList
          - ghostTagList
          - ghostTierList
          - hashnodePublicationList
          - lemmyCommunitySearch
          - listmonkListsGet
          - listmonkTemplateList
          - mattermostChannelList
          - meweGroupList
          - pinterestBoardList
          - redditSubredditRequirementsGet
          - redditSubredditSearch
          - slackChannelList
          - teamsChannelList
          - tiktokCreatorInfoGet
          - vkDestinationList
          - whopCompanyList
          - whopExperienceList
          - wordpressCategoryList
          - wordpressPostTypeList
          - wordpressTagList
          - wrapcastChannelSearch
          - integrationSchedulePostTool
          - postsListTool
          - postSettingsTool
      required:
      - error
      - ok
      - toolName
      additionalProperties: false
    ConfirmationCapability:
      type: string
      minLength: 32
      maxLength: 4096
      pattern: ^[A-Za-z0-9._~-]+$
    IdempotencyKey:
      type: string
      minLength: 16
      maxLength: 200
      pattern: ^[A-Za-z0-9._:-]+$
    JsonValue:
      anyOf:
      - type: string
        maxLength: 8192
      - type: number
      - type: boolean
      - type: 'null'
      - maxItems: 2000
        type: array
        items:
          $ref: '#/components/schemas/JsonValue'
      - type: object
        propertyNames:
          type: string
          minLength: 1
          maxLength: 128
        additionalProperties:
          $ref: '#/components/schemas/JsonValue'
    TransportError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            retryable:
              type: boolean
          required:
          - code
          - message
          - retryable
          additionalProperties: false
      required:
      - error
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      description: Influence scoped API key or supported OAuth access token. Keep credentials out of URLs & tool input.
      scheme: bearer
      type: http