Gameflip Steam Bulk API

Create listings/escrow for multiple Steam items with one trade offer.

OpenAPI Specification

gameflip-steam-bulk-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Gameflip API (GFAPI) Account Steam Bulk API
  version: v1
  description: JSON REST API for the Gameflip marketplace, transcribed faithfully from the published GFAPI documentation (https://gameflip.github.io/gfapi/) and the official Node.js client (https://github.com/gameflip/gfapi). Covers listing management and search, exchanges, account profile and wallet history, and Steam item escrow / bulk trade-offer listings. This spec captures the documented endpoints, methods, auth scheme, query parameters, and the common response envelope; request/response object bodies are represented as the generic GfResponse envelope because Gameflip does not publish per-object JSON Schemas.
  x-apievangelist-note: Generated by the API Evangelist enrichment pipeline by transcribing the provider's published REST documentation. Not an official Gameflip OpenAPI.
  contact:
    name: Gameflip Support
    url: https://support.gameflip.com/hc/en-us
servers:
- url: https://production-gameflip.fingershock.com/api/v1
  description: Production
- url: https://test-gameflip.fingershock.com/api/v1
  description: Test / sandbox
security:
- gfapiAuth: []
tags:
- name: Steam Bulk
  description: Create listings/escrow for multiple Steam items with one trade offer.
paths:
  /steam/bulk/mine:
    get:
      operationId: getMySteamBulk
      tags:
      - Steam Bulk
      summary: Get my Steam bulk trade-offer listings
      responses:
        '200':
          description: Bulk listings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GfListResponse'
        4XX:
          $ref: '#/components/responses/Error'
  /steam/bulk:
    post:
      operationId: createSteamBulk
      tags:
      - Steam Bulk
      summary: Create a Steam bulk trade-offer listing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Created bulk listing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GfResponse'
        4XX:
          $ref: '#/components/responses/Error'
  /steam/bulk/{id}:
    get:
      operationId: getSteamBulk
      tags:
      - Steam Bulk
      summary: Get a Steam bulk listing by id
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Bulk listing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GfResponse'
        4XX:
          $ref: '#/components/responses/Error'
    put:
      operationId: updateSteamBulk
      tags:
      - Steam Bulk
      summary: Update a Steam bulk listing
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Updated bulk listing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GfResponse'
        4XX:
          $ref: '#/components/responses/Error'
components:
  responses:
    Error:
      description: Failure response using the common GFAPI envelope
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GfError'
  schemas:
    GfListResponse:
      type: object
      description: Common GFAPI success envelope carrying a list plus a cursor.
      required:
      - status
      properties:
        status:
          type: string
          enum:
          - SUCCESS
          - FAILURE
        data:
          type: array
          items:
            type: object
        next_page:
          type: string
          nullable: true
          description: Cursor URL for the next page, or null when exhausted.
    GfResponse:
      type: object
      description: Common GFAPI success envelope carrying a single object.
      required:
      - status
      properties:
        status:
          type: string
          enum:
          - SUCCESS
          - FAILURE
        data:
          type: object
          nullable: true
    GfError:
      type: object
      description: Common GFAPI failure envelope.
      required:
      - status
      properties:
        status:
          type: string
          enum:
          - FAILURE
        data:
          nullable: true
        error:
          type: object
          properties:
            message:
              type: string
            code:
              type: integer
  securitySchemes:
    gfapiAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'Gameflip API key plus a rotating TOTP one-time password, sent as `Authorization: GFAPI <apikey>:<totp>`. The TOTP is generated from the account''s TOTP secret (SHA1, 6 digits, 30s period). API keys and TOTP secrets are issued through Gameflip account settings / support during Beta.'