Metrilo API

The API API from Metrilo — 10 operation(s) for api.

Operations 10

POST /category #
POST /category/batch #
POST /customer #
POST /customer/tag #
POST /customer/untag #
POST /customer/batch #
POST /order #
POST /order/batch #
POST /product #
POST /product/batch #

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/metrilo-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

metrilo-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.1.1
  title: Metrilo tracking API
  description: Metrilo analytics tracking API
  contact:
    name: Metrilo
    email: support@metrilo.com
    url: https://www.metrilo.com
servers:
- url: https://trk.mtrl.me
tags:
- name: API
paths:
  /category:
    post:
      tags:
      - API
      description: Adds a new category or updates an existing one in Metrilo.
      operationId: categoryOperation
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/categoryOperationObject'
      responses:
        '200':
          $ref: '#/components/responses/success'
        '400':
          $ref: '#/components/responses/errorBadRequest'
        '401':
          $ref: '#/components/responses/errorUnauthorized'
        '402':
          $ref: '#/components/responses/errorPaymentRequired'
        '403':
          $ref: '#/components/responses/errorForbidden'
        '500':
          $ref: '#/components/responses/internalServerError'
        '502':
          $ref: '#/components/responses/badGateway'
  /category/batch:
    post:
      tags:
      - API
      description: Adds multiple categories or updates existing ones in Metrilo.
      operationId: categoryBatchOperation
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/categoryBatchOperationObject'
      responses:
        '200':
          $ref: '#/components/responses/success'
        '400':
          $ref: '#/components/responses/errorBadRequest'
        '401':
          $ref: '#/components/responses/errorUnauthorized'
        '402':
          $ref: '#/components/responses/errorPaymentRequired'
        '403':
          $ref: '#/components/responses/errorForbidden'
        '500':
          $ref: '#/components/responses/internalServerError'
        '502':
          $ref: '#/components/responses/badGateway'
  /customer:
    post:
      tags:
      - API
      description: Adds a new customer or updates an existing one in Metrilo.
      operationId: customerOperation
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/customerOperationObject'
      responses:
        '200':
          $ref: '#/components/responses/success'
        '400':
          $ref: '#/components/responses/errorBadRequest'
        '401':
          $ref: '#/components/responses/errorUnauthorized'
        '402':
          $ref: '#/components/responses/errorPaymentRequired'
        '403':
          $ref: '#/components/responses/errorForbidden'
        '500':
          $ref: '#/components/responses/internalServerError'
        '502':
          $ref: '#/components/responses/badGateway'
  /customer/tag:
    post:
      tags:
      - API
      description: Adds tags to an existing customer in Metrilo.
      operationId: customerTagOperation
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/customerTagOperationObject'
      responses:
        '200':
          $ref: '#/components/responses/success'
        '400':
          $ref: '#/components/responses/errorBadRequest'
        '401':
          $ref: '#/components/responses/errorUnauthorized'
        '402':
          $ref: '#/components/responses/errorPaymentRequired'
        '403':
          $ref: '#/components/responses/errorForbidden'
        '500':
          $ref: '#/components/responses/internalServerError'
        '502':
          $ref: '#/components/responses/badGateway'
  /customer/untag:
    post:
      tags:
      - API
      description: Removes tags from an existing customer in Metrilo.
      operationId: customerUntagOperation
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/customerUntagOperationObject'
      responses:
        '200':
          $ref: '#/components/responses/success'
        '400':
          $ref: '#/components/responses/errorBadRequest'
        '401':
          $ref: '#/components/responses/errorUnauthorized'
        '402':
          $ref: '#/components/responses/errorPaymentRequired'
        '403':
          $ref: '#/components/responses/errorForbidden'
        '500':
          $ref: '#/components/responses/internalServerError'
        '502':
          $ref: '#/components/responses/badGateway'
  /customer/batch:
    post:
      tags:
      - API
      description: Adds multiple customers or updates existing ones in Metrilo.
      operationId: customerBatchOperation
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/customerBatchOperationObject'
      responses:
        '200':
          $ref: '#/components/responses/success'
        '400':
          $ref: '#/components/responses/errorBadRequest'
        '401':
          $ref: '#/components/responses/errorUnauthorized'
        '402':
          $ref: '#/components/responses/errorPaymentRequired'
        '403':
          $ref: '#/components/responses/errorForbidden'
        '500':
          $ref: '#/components/responses/internalServerError'
        '502':
          $ref: '#/components/responses/badGateway'
  /order:
    post:
      tags:
      - API
      description: Adds a new order or updates an existing one in Metrilo.
      operationId: orderOperation
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/orderOperationObject'
      responses:
        '200':
          $ref: '#/components/responses/success'
        '400':
          $ref: '#/components/responses/errorBadRequest'
        '401':
          $ref: '#/components/responses/errorUnauthorized'
        '402':
          $ref: '#/components/responses/errorPaymentRequired'
        '403':
          $ref: '#/components/responses/errorForbidden'
        '500':
          $ref: '#/components/responses/internalServerError'
        '502':
          $ref: '#/components/responses/badGateway'
  /order/batch:
    post:
      tags:
      - API
      description: Adds multiple orders or updates existing ones in Metrilo.
      operationId: orderBatchOperation
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/orderBatchOperationObject'
      responses:
        '200':
          $ref: '#/components/responses/success'
        '400':
          $ref: '#/components/responses/errorBadRequest'
        '401':
          $ref: '#/components/responses/errorUnauthorized'
        '402':
          $ref: '#/components/responses/errorPaymentRequired'
        '403':
          $ref: '#/components/responses/errorForbidden'
        '500':
          $ref: '#/components/responses/internalServerError'
        '502':
          $ref: '#/components/responses/badGateway'
  /product:
    post:
      tags:
      - API
      description: Adds a new product or updates an existing one in Metrilo.
      operationId: productOperation
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/productOperationObject'
      responses:
        '200':
          $ref: '#/components/responses/success'
        '400':
          $ref: '#/components/responses/errorBadRequest'
        '401':
          $ref: '#/components/responses/errorUnauthorized'
        '402':
          $ref: '#/components/responses/errorPaymentRequired'
        '403':
          $ref: '#/components/responses/errorForbidden'
        '500':
          $ref: '#/components/responses/internalServerError'
        '502':
          $ref: '#/components/responses/badGateway'
  /product/batch:
    post:
      tags:
      - API
      description: Adds multiple products or updates existing ones in Metrilo.
      operationId: productBatchOperation
      requestBody:
        required: true
        content:
          text/plain:
            schema:
              $ref: '#/components/schemas/productBatchOperationObject'
      responses:
        '200':
          $ref: '#/components/responses/success'
        '400':
          $ref: '#/components/responses/errorBadRequest'
        '401':
          $ref: '#/components/responses/errorUnauthorized'
        '402':
          $ref: '#/components/responses/errorPaymentRequired'
        '403':
          $ref: '#/components/responses/errorForbidden'
        '500':
          $ref: '#/components/responses/internalServerError'
        '502':
          $ref: '#/components/responses/badGateway'
components:
  responses:
    success:
      description: Success response.
    errorBadRequest:
      description: Bad request from client.
    errorPaymentRequired:
      description: Project requires payment.
    internalServerError:
      description: Error from server while processing request.
    errorForbidden:
      description: The IP that the request came from is ignored.
    errorUnauthorized:
      description: Project token is invalid.
    badGateway:
      description: Error from server accepting request.
  schemas:
    customerUntagObject:
      allOf:
      - $ref: '#/components/schemas/visitorIdentityObject'
      - type: object
        required:
        - createdAt
        - email
        - tags
        properties:
          email:
            type: string
            description: The email of the customer.
            example: johnybravo@metrilo.com
          tags:
            type: array
            items:
              type: string
              description: Tag labels that are removed from the customer in Metrilo. (missing tags are omitted)
              example:
              - early_subscriber
              - big_spender
    categoryOperationObject:
      allOf:
      - $ref: '#/components/schemas/basicBackendObject'
      - required:
        - params
        properties:
          params:
            allOf:
            - $ref: '#/components/schemas/categoryObject'
    customerTagOperationObject:
      allOf:
      - $ref: '#/components/schemas/basicBackendObject'
      - type: object
        required:
        - params
        properties:
          params:
            allOf:
            - $ref: '#/components/schemas/customerTagObject'
    visitorIdentityObject:
      type: object
      required:
      - email
      properties:
        email:
          type: string
          description: Visitor's email address.
          example: johnybravo@metrilo.com
    categoryObject:
      allOf:
      - $ref: '#/components/schemas/categoryIdObject'
      - required:
        - name
        properties:
          name:
            type: string
            description: Category display name in the shop.
            example: Clothing
          url:
            type: string
            description: Landing page for the shop category.
            example: http://shop-tavan.customerboard.co/cagetory/clothing
    orderObject:
      type: object
      required:
      - id
      - createdAt
      - amount
      - products
      - status
      properties:
        id:
          type: string
          description: Unique ID of the order in the shop's database.
          example: 14
        createdAt:
          type: integer
          description: Integer representation of the time the order was created (milliseconds from 1970).
          example: 1518004715732
        email:
          type: string
          description: Customer's email address. Used to link to an existing customer.
          example: johnybravo@metrilo.com
        amount:
          type: number
          description: Total amount of the order, including all shipping expenses, tax and the price of items.
          example: 308.42
        coupons:
          type: array
          items:
            type: string
          description: Coupons applied to the order. Stored case insensitive.
          example:
          - EASTER15OFF
        status:
          type: string
          description: State of the order.
          example: completed
        products:
          type: array
          items:
            type: object
            required:
            - productId
            - quantity
            properties:
              productId:
                type: string
                description: The ID of the product in the shop's database.
                example: 91
              quantity:
                type: number
                description: How many pieces of the product the visitor has added to the cart.
                example: 2
        billing:
          type: object
          description: Order's billing information.
          properties:
            address:
              type: string
              description: Full billing address.
              example: 15 Somewhere Road, Brynmenyn
            city:
              type: string
              description: The exact city of the address.
              example: Bridgend
            countryCode:
              type: string
              description: Billing country 2-letter ISO code.
              example: CA
            phone:
              type: string
              description: Phone number to contact for further details about the order.
              example: 01559 032133
            postcode:
              type: string
              description: Postcode for delivery and billing.
              example: NW1 4DF
            paymentMethod:
              type: string
              description: How the visitor will pay for the item(s), e.g. paypal, check, etc.
              example: PayPal
        ipAddress:
          type: string
          description: The IP address of the customer when they placed the order.
          example: 111.222.333.444
    orderOperationObject:
      allOf:
      - $ref: '#/components/schemas/basicBackendObject'
      - required:
        - params
        properties:
          params:
            allOf:
            - $ref: '#/components/schemas/orderObject'
    customerOperationObject:
      allOf:
      - $ref: '#/components/schemas/basicBackendObject'
      - type: object
        required:
        - params
        properties:
          params:
            allOf:
            - $ref: '#/components/schemas/customerObject'
    customerObject:
      allOf:
      - $ref: '#/components/schemas/visitorIdentityObject'
      - type: object
        required:
        - createdAt
        properties:
          createdAt:
            type: integer
            description: Integer representation of the time the customer was created (milliseconds from 1970).
            example: 1518004715732
          firstName:
            type: string
            description: Customer's first name.
            example: Johny
          lastName:
            type: string
            description: Customer's last name.
            example: Bravo
          subscribed:
            type: boolean
            description: If the user has opted in for receiving emails.
            example: true
          tags:
            type: array
            items:
              type: string
              description: Tag labels that are assigned to the customer in Metrilo. (tags are merged, not overwritten)
              example:
              - early_subscriber
              - big_spender
    customerUntagOperationObject:
      allOf:
      - $ref: '#/components/schemas/basicBackendObject'
      - type: object
        required:
        - params
        properties:
          params:
            allOf:
            - $ref: '#/components/schemas/customerUntagObject'
    categoryIdObject:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          description: Unique ID of category in the shop database.
          example: 12
    basicBackendObject:
      type: object
      required:
      - time
      - token
      properties:
        time:
          type: integer
          description: Integer representation of the event time (milliseconds from 1970).
          example: 1518004715732
        token:
          type: string
          description: Shop API token.
          example: ccc111ddddaaaaac
        platform:
          type: string
          description: Shop platform versioning.
          example: Wordpress 4.2.7 / Woocommerce 3.5
        pluginVersion:
          type: string
          description: Metrilo plugin version.
          example: 1.1.0
    productOperationObject:
      allOf:
      - $ref: '#/components/schemas/basicBackendObject'
      - required:
        - params
        properties:
          params:
            allOf:
            - $ref: '#/components/schemas/productObject'
    customerTagObject:
      allOf:
      - $ref: '#/components/schemas/visitorIdentityObject'
      - type: object
        required:
        - createdAt
        - email
        - tags
        properties:
          email:
            type: string
            description: The email of the customer.
            example: johnybravo@metrilo.com
          tags:
            type: array
            items:
              type: string
              description: Tag labels that are assigned to the customer in Metrilo. (tags are merged, not overwritten)
              example:
              - early_subscriber
              - big_spender
    orderBatchOperationObject:
      allOf:
      - $ref: '#/components/schemas/basicBackendObject'
      - required:
        - params
        properties:
          batch:
            type: array
            items:
              $ref: '#/components/schemas/orderObject'
    productBatchOperationObject:
      allOf:
      - $ref: '#/components/schemas/basicBackendObject'
      - required:
        - params
        properties:
          batch:
            type: array
            items:
              $ref: '#/components/schemas/productObject'
    productObject:
      type: object
      required:
      - id
      - name
      properties:
        categories:
          type: array
          items:
            type: string
          description: Category ID-s of the product in the shop's database
          example:
          - '42'
          - '13'
        id:
          type: string
          description: The ID of the product in the shop's database.
          example: '91'
        sku:
          type: string
          description: Unique product identifier from the shop.
          example: CM01-R
        imageUrl:
          type: string
          description: Absolute URL to the cover image of the product.
          example: http://shop-tavan.customerboard.co/wp-content/uploads/2018/02/91.jpg
        name:
          type: string
          description: The name of the product, as displayed in the shop.
          example: Rare unique blue shirt
        price:
          type: number
          description: Price of the product. (Price is required, if there's no option defined.)
          example: 23.65
        url:
          type: string
          description: Landing page of the product within the shop.
          example: http://shop-tavan.customerboard.co/product/rare-unique-blue-shirt/
        options:
          type: array
          description: Product options/variations. (options are merged, not overwritten)
          items:
            type: object
            description: Product option (size, color, variant, etc.) is not mandatory.
            required:
            - id
            - name
            - price
            properties:
              id:
                type: string
                description: The ID of the product option in the shop's database.
                example: '52'
              sku:
                type: string
                description: Unique idenrifier from the shop.
                example: CM01-W
              name:
                type: string
                description: The name/title of the option as displayed in the shop.
                example: On Sale - size XS
              price:
                type: number
                description: Price of the option for this product.
                example: 15.99
              imageUrl:
                type: string
                description: Absolute URL to the cover image of the product.
                example: http://shop-tavan.customerboard.co/wp-content/uploads/2018/02/91.jpg
    categoryBatchOperationObject:
      allOf:
      - $ref: '#/components/schemas/basicBackendObject'
      - type: object
        required:
        - batch
        properties:
          batch:
            type: array
            items:
              $ref: '#/components/schemas/categoryObject'
    customerBatchOperationObject:
      allOf:
      - $ref: '#/components/schemas/basicBackendObject'
      - type: object
        required:
        - batch
        properties:
          batch:
            type: array
            items:
              $ref: '#/components/schemas/customerObject'