API reference / Usage & logs

List the authenticated app's access logs with endpoint, status code, and ISO timestamp-range filters

GET/open/v1/logsScope: No data scope

Service Endpoint Seller token not required

EnvironmentBase URL + Path
Productionhttps://open.mallplus.ph/open/v1/logs
Sandboxhttps://sandbox.open.mallplus.ph/open/v1/logs
Common Signing and Seller Headers
HeaderTypeRequiredRulesDescription
X-MallPlus-Partner-IdstringYesIssued client ID for the calling app.Identifies the partner app whose secret signs the request.
X-MallPlus-TimestampintegerYesUnix timestamp in seconds; default acceptance window is 90 seconds.Prevents replay outside the allowed signing window.
X-MallPlus-Signature-VersionstringYesUse 3 for HMAC v3.Selects the request signing algorithm.
X-MallPlus-NoncestringYes32-64 lowercase hexadecimal characters, unique per request.Replay-protection nonce included in the v3 signing base string.
X-MallPlus-SignaturestringYesHMAC-SHA256 over timestamp, client ID, method, path, canonical query, body hash, and nonce.Cryptographic proof that the request was signed with the app secret.
X-MallPlus-Access-TokenstringConditionalRequired when the operation says seller token required.Seller OAuth access token returned by the authorization flow.
X-MallPlus-Seller-IdstringConditionalRequired when X-MallPlus-Access-Token is required.Seller ID bound to the seller OAuth token.

Parameters

NameInTypeRequiredRulesDescription
pagequeryintegerNoMinimum: 11-based page number to return.
limitqueryintegerNoMinimum: 1; Maximum: 100Maximum number of records to return.
endpointquerystringNo-Endpoint path or route pattern to filter usage and access-log rows.
status_codequeryintegerNo-HTTP status code used to filter access-log rows.
fromquerystring<date-time>NoFormat: date-timeStart of the filter window as an ISO-8601 timestamp.
toquerystring<date-time>NoFormat: date-timeEnd of the filter window as an ISO-8601 timestamp.

Request Body

This operation has no JSON request body.

Response Parameters

FieldTypeRulesDescription
successenumAllowed: trueWhether the access-log read succeeded.
dataarray<AccessLog>-Access-log entries on this page, newest first.
data[]AccessLogNo additional propertiesOne recorded API call made with the calling app credentials.
data[].idstring-Access-log entry identifier.
data[].partnerAppIdstring-App the call was made with.
data[].endpointstring-Path that was called.
data[].methodstring-HTTP method of the call.
data[].statusCodeinteger-HTTP status the platform answered with.
data[].requestIdstring-Request identifier echoed on the response - quote it when contacting support.
data[].createdAtstring<date-time>Format: date-timeWhen the call was received. ISO-8601 timestamp.
metaPaginationMeta-Response metadata, including pagination when the endpoint returns a list.
meta.pageinteger-1-based page number represented by this response page.
meta.limitinteger-Maximum number of records returned in this response page.
meta.totalinteger-Total number of records matching the request filters.

Error Codes

HTTP StatusSchemaDescription
400ErrorResponseValidation error, or a missing/malformed required signing header (BAD_REQUEST)
401ErrorResponseUnauthorized — invalid credentials, invalid signature, or expired timestamp (TIMESTAMP_EXPIRED)
403ErrorResponseForbidden — insufficient scope
429ErrorResponseThe partner or endpoint rate limit has been exceeded
503ErrorResponseA required platform or upstream dependency is temporarily unavailable

Machine-readable codes are returned in error.code: ACCOUNT_LOCKED, APPROVE_FAILED, APP_LIMIT_REACHED, APP_NOT_FOUND, AUTHORIZATION_CODE_EXPIRED, AUTHORIZATION_REVOKED, AUTH_CODE_EXPIRED, AUTH_CODE_USED, BAD_REQUEST, CANCELLATION_ALREADY_PROCESSED, CANCELLATION_DEADLINE_EXCEEDED, CANCEL_FAILED, CANNOT_DELETE_ACCOUNT_WITH_APPS, CONCURRENT_MODIFICATION, CONFLICT, CREATE_FAILED, DISPUTE_FAILED, DUPLICATE, EMAIL_ALREADY_EXISTS, EMAIL_NOT_VERIFIED, FILE_TOO_LARGE, FORBIDDEN, HMAC_VERSION_DEPRECATED, IDEMPOTENCY_KEY_IN_PROGRESS, IDEMPOTENCY_KEY_REQUIRED, IDEMPOTENCY_KEY_REUSED, INTERNAL_ERROR, INVALID_AUTHORIZATION_CODE, INVALID_CREDENTIALS, INVALID_DEVELOPER_TYPE, INVALID_FILE_CONTENT, INVALID_FILE_TYPE, INVALID_JSON, INVALID_NONCE, INVALID_PATH, INVALID_PICKUP_DATE, INVALID_REFRESH_TOKEN, INVALID_REQUEST, INVALID_SIGNATURE, INVALID_STATE, INVALID_TRANSITION, INVALID_VERIFICATION_TOKEN, MAINTENANCE, MEMBER_PERMISSION_DENIED, MISSING_NONCE, NONCE_REUSED, NOT_FOUND, NOT_IMPLEMENTED, ORDER_NOT_CANCELLABLE, PAYLOAD_TOO_LARGE, PICKUP_DATES_UNAVAILABLE, PRODUCT_HAS_ACTIVE_ORDERS, PRODUCT_UNDER_REVIEW, PROFILE_ALREADY_SUBMITTED, PROFILE_TYPE_MISMATCH, PROXY_ERROR, RATE_LIMITED, REDIRECT_URL_MISMATCH, REFRESH_TOKEN_EXPIRED, REFRESH_TOKEN_REUSED, REJECT_FAILED, RETURN_ALREADY_PROCESSED, RETURN_DEADLINE_EXCEEDED, RE_AUTHORIZATION_REQUIRED, SANDBOX_LIMIT_REACHED, SELLER_TOKEN_REQUIRED, SERVICE_UNAVAILABLE, SESSION_EXPIRED, SHIPMENT_ALREADY_ARRANGED, SHIPMENT_NOT_ARRANGED, SHIPPING_LABEL_UNAVAILABLE, SHIP_FAILED, SIGNATURE_REPLAYED, SSRF_CHECK_FAILED, TEST_SHOP_LIMIT_REACHED, TIMESTAMP_EXPIRED, TOKEN_REVOKED, TOO_MANY_REQUESTS, UNAUTHORIZED, UPLOAD_ERROR, UPLOAD_NOT_CONFIGURED, UPSTREAM_ERROR, UPSTREAM_TIMEOUT, VALIDATION_ERROR, VERIFICATION_LINK_USED, VERIFICATION_TOKEN_EXPIRED, WEBHOOK_SUBSCRIPTION_EXISTS

Request Example

curl -X GET "https://open.mallplus.ph/open/v1/logs" \
  -H "X-MallPlus-Partner-Id: mp_partner_123" \
  -H "X-MallPlus-Timestamp: 1786924800" \
  -H "X-MallPlus-Signature-Version: 3" \
  -H "X-MallPlus-Nonce: 4f8b9a0c4d5e6f708192a3b4c5d6e7f8" \
  -H "X-MallPlus-Signature: <hex_hmac_sha256>"

Response Example

{
  "success": true,
  "data": [
    {
      "id": "log_01J8XYZ",
      "partnerAppId": "app-usage-logs-schema",
      "endpoint": "/open/v1/orders",
      "method": "GET",
      "statusCode": 200,
      "requestId": "01M0VZQDM5VZZ6157NCN8807Q1",
      "createdAt": "2026-08-26T03:15:00.000Z"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 1
  }
}