Vibes Platform Wallet Store Locations API

Manage the store locations attached to a wallet campaign. Locations drive geofenced lock-screen notifications that remind pass holders about a nearby store.

Operations 4

GET /companies/{company_key}/campaigns/wallet/{token}/locations Get store locations #
POST /companies/{company_key}/campaigns/wallet/{token}/locations/bulk Bulk create store locations #
DELETE /companies/{company_key}/campaigns/wallet/{token}/locations/{id} Delete a store location #
DELETE /companies/{company_key}/campaigns/wallet/{token}/locations/delete_all Delete all store locations #

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/vibes-platform-wallet-store-locations-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

vibes-platform-wallet-store-locations-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vibes Platform Wallet Store Locations API
  version: 1.0.0
  description: Manage the store locations attached to a wallet campaign. Locations drive geofenced lock-screen notifications that remind pass holders about a nearby store.
servers:
- url: https://public-api.vibescm.com
  description: North America
- url: https://public-api.eu.vibes.com/
  description: EMEA
security:
- basicAuth: []
tags:
- name: Wallet Store Locations API
  description: Manage the store locations attached to a wallet campaign. Locations drive geofenced lock-screen notifications that remind pass holders about a nearby store.
paths:
  /companies/{company_key}/campaigns/wallet/{token}/locations:
    get:
      tags:
      - Wallet Store Locations API
      summary: Get store locations
      description: List the store locations attached to a wallet campaign. Results are paginated; use the `page` and `page_size` parameters to page through them.
      parameters:
      - name: X-API-Version
        in: header
        schema:
          type: string
          default: 1
      - name: company_key
        in: path
        schema:
          type: string
        required: true
      - name: token
        in: path
        schema:
          type: string
          description: The `token` is the SmartLink token (`wallet_id`) for the campaign.
        required: true
      - name: page
        in: query
        description: 1-indexed page number to return.
        schema:
          type: integer
      - name: page_size
        in: query
        description: Number of locations per page.
        schema:
          type: integer
      - name: zip
        in: query
        description: Optional filter by zip/postal code (exact match).
        schema:
          type: string
      - name: latitude
        in: query
        description: Optional filter by latitude (exact match).
        schema:
          type: string
      - name: longitude
        in: query
        description: Optional filter by longitude (exact match).
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/walletLocationsResponse'
        '404':
          description: The specified campaign does not exist.
      operationId: getCompaniesByCompanyKeyCampaignsWalletByTokenLocations
      x-operation-id-source: derived
  /companies/{company_key}/campaigns/wallet/{token}/locations/bulk:
    post:
      tags:
      - Wallet Store Locations API
      summary: Bulk create store locations
      description: 'Add store locations to a wallet campaign in a single request (up to 1000 per call). The `Idempotency-Key` header is required: repeating a request with the same key returns the original result without inserting duplicates.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/walletLocationsBulkRequest'
      parameters:
      - name: X-API-Version
        in: header
        schema:
          type: string
          default: 1
      - name: Content-Type
        in: header
        schema:
          type: string
        example: application/json
        required: true
      - name: Idempotency-Key
        in: header
        required: true
        description: Unique key (up to 255 characters) that makes the request safe to retry without creating duplicate locations.
        schema:
          type: string
      - name: company_key
        in: path
        schema:
          type: string
        required: true
      - name: token
        in: path
        schema:
          type: string
        required: true
        description: The `token` is the SmartLink token (`wallet_id`) for the campaign.<br><div style="color:#dd1e2e; background:url(https://d2xs7zaan7w9gl.cloudfront.net/data/pages/64014/widgets/48027d01-e827-45e0-b96d-227c1099eedc/image/1680214872.png?icon-24x24-warning.png) no-repeat 10px center; background-color:#FCEAEC; padding:10px; font-size:13px;"><div style="padding-left:35px"><b>Important:</b> Using the <b>"Try It"</b> feature on the righthand console will send an actual API call to our system. This may result in store locations being created.</div></div>
      responses:
        '201':
          description: The store locations were created.
      operationId: postCompaniesByCompanyKeyCampaignsWalletByTokenLocationsBulk
      x-operation-id-source: derived
  /companies/{company_key}/campaigns/wallet/{token}/locations/{id}:
    delete:
      tags:
      - Wallet Store Locations API
      summary: Delete a store location
      description: Remove a single store location from a wallet campaign.
      parameters:
      - name: X-API-Version
        in: header
        schema:
          type: string
          default: 1
      - name: company_key
        in: path
        schema:
          type: string
        required: true
      - name: token
        in: path
        schema:
          type: string
        required: true
        description: The `token` is the SmartLink token (`wallet_id`) for the campaign.
      - name: id
        in: path
        required: true
        description: The unique identifier of the store location to delete.<br><div style="color:#dd1e2e; background:url(https://d2xs7zaan7w9gl.cloudfront.net/data/pages/64014/widgets/48027d01-e827-45e0-b96d-227c1099eedc/image/1680214872.png?icon-24x24-warning.png) no-repeat 10px center; background-color:#FCEAEC; padding:10px; font-size:13px;"><div style="padding-left:35px"><b>Important:</b> Using the <b>"Try It"</b> feature on the righthand console will send an actual API call to our system. This may result in a store location being deleted.</div></div>
        schema:
          type: integer
      responses:
        '204':
          description: The store location was deleted.
        '404':
          description: The campaign or store location cannot be found.
      operationId: deleteCompaniesByCompanyKeyCampaignsWalletByTokenLocationsById
      x-operation-id-source: derived
  /companies/{company_key}/campaigns/wallet/{token}/locations/delete_all:
    delete:
      tags:
      - Wallet Store Locations API
      summary: Delete all store locations
      description: Remove store locations from a wallet campaign in bulk. Optional filters limit which locations are deleted; omit them to delete every location on the campaign.
      parameters:
      - name: X-API-Version
        in: header
        schema:
          type: string
          default: 1
      - name: company_key
        in: path
        schema:
          type: string
        required: true
      - name: token
        in: path
        schema:
          type: string
        required: true
        description: The `token` is the SmartLink token (`wallet_id`) for the campaign.<br><div style="color:#dd1e2e; background:url(https://d2xs7zaan7w9gl.cloudfront.net/data/pages/64014/widgets/48027d01-e827-45e0-b96d-227c1099eedc/image/1680214872.png?icon-24x24-warning.png) no-repeat 10px center; background-color:#FCEAEC; padding:10px; font-size:13px;"><div style="padding-left:35px"><b>Important:</b> Using the <b>"Try It"</b> feature on the righthand console will send an actual API call to our system. This may result in store locations being deleted.</div></div>
      - name: zip
        in: query
        description: Optional filter limiting deletion to locations with this zip/postal code.
        schema:
          type: string
      responses:
        '200':
          description: The matching store locations were deleted.
        '404':
          description: The specified campaign does not exist.
      operationId: deleteCompaniesByCompanyKeyCampaignsWalletByTokenLocationsDeleteAll
      x-operation-id-source: derived
components:
  schemas:
    walletLocationsResponse:
      type: array
      items:
        $ref: '#/components/schemas/walletLocationResponse'
    walletLocationResponse:
      allOf:
      - type: object
        properties:
          id:
            type: integer
            description: Unique identifier of the store location.
      - $ref: '#/components/schemas/walletLocation'
    walletLocationsBulkRequest:
      example:
        locations:
        - location_id: store-001
          name: Downtown
          address: 123 Main St
          city: Chicago
          state: IL
          zip: '60601'
          latitude: '41.8781'
          longitude: '-87.6298'
          notification_message: Stop by the downtown store!
      type: object
      required:
      - locations
      properties:
        locations:
          type: array
          description: Store locations to add (up to 1000 per request).
          items:
            $ref: '#/components/schemas/walletLocation'
    walletLocation:
      type: object
      description: A store location attached to a wallet campaign.
      properties:
        location_id:
          type: string
          description: Your own identifier for the store (for example a store number).
        name:
          type: string
          description: Store or location name.
        address:
          type: string
          description: Street address.
        address_2:
          type: string
          description: Optional second address line (suite, unit, etc.).
        city:
          type: string
          description: City.
        state:
          type: string
          description: State or province.
        zip:
          type: string
          description: Zip or postal code.
        phone_number:
          type: string
          description: Store contact phone number.
        store_hours:
          type: string
          description: Store operating hours.
        latitude:
          type: string
          description: Latitude of the location.
        longitude:
          type: string
          description: Longitude of the location.
        notification_message:
          type: string
          description: Lock-screen message shown to pass holders when they are near this location.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic