API reference / Auth

Refresh an expired access token

POST/open/v1/auth/token/refreshScope: No data scope

Service Endpoint Seller token not required

EnvironmentBase URL + Path
Productionhttps://open.mallplus.ph/open/v1/auth/token/refresh
Sandboxhttps://sandbox.open.mallplus.ph/open/v1/auth/token/refresh
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

This operation does not define path or query parameters in OpenAPI.

Request Body required

FieldTypeRequiredRulesDescription
refresh_tokenstringYesMin length: 1Refresh token used to obtain a new access token.
client_idstringYesMin length: 1Partner application client ID.
seller_idstringYesMin length: 1Seller whose grant this applies to: the seller_id returned by POST /open/v1/auth/token (originally the seller_id query parameter on the consent redirect), or any seller_id from GET /open/v1/authorizations.

Response Parameters

Success status: HTTP 200

FieldTypeRulesDescription
successboolean-Whether the request completed successfully.
dataRefreshTokenDataNo additional propertiesResponse or event payload for this schema.
data.access_tokenstring-New seller-scoped access token.
data.refresh_tokenstring-New single-use refresh token.
data.expires_ininteger-Access-token TTL in seconds.
data.expires_atstring<date-time>Format: date-timeAbsolute access-token expiry timestamp in ISO-8601 UTC.
metaPaginationMeta-Response metadata, including pagination when the endpoint returns a list.
meta.pageinteger-1-based page number represented by this response page. Offset paging only — omitted during a cursor walk.
meta.limitinteger-Maximum number of records returned in this response page.
meta.totalinteger-Total number of records matching the request filters. Offset paging only — omitted during a cursor walk, where no total is computed.
meta.nextCursorstring-Opaque cursor for the next page of a keyset walk. Present only while walking by cursor and only while more rows may remain; its absence ends the walk. Pass it back unchanged as cursor.

Error Codes

HTTP StatusSchemaDescription
400PlatformError400ResponseValidation error, or a missing/malformed required signing header (BAD_REQUEST)
401PlatformError401ResponseUnauthorized — invalid credentials, invalid signature, or expired timestamp (TIMESTAMP_EXPIRED)
403PlatformError403ResponseForbidden — insufficient scope
413PlatformError413ResponseThe request body exceeds the endpoint payload limit
429PlatformError429ResponseThe partner or endpoint rate limit has been exceeded
503PlatformError503ResponseA required platform or upstream dependency is temporarily unavailable

This operation does not declare its own error.code list. Any operation can return the authentication, signing, scope, rate-limit and system codes listed in the Error code reference.

Request Example

# Sandbox: https://sandbox.open.mallplus.ph/open/v1/auth/token/refresh
curl -X POST "https://open.mallplus.ph/open/v1/auth/token/refresh" \
  -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>" \
  -H "Content-Type: application/json" \
  --data '{
  "refresh_token": "example_refresh_token",
  "client_id": "client_id_123",
  "seller_id": "seller_id_123"
}'

Response Example

{
  "success": true,
  "data": {
    "access_token": "example_access_token",
    "refresh_token": "example_refresh_token",
    "expires_in": 14400,
    "expires_at": "2026-07-16T10:30:00.000Z"
  },
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 150,
    "nextCursor": "eyJ0cyI6IjIwMjYtMDgtMTVUMDk6MzA6MDAuMDAwWiIsImlkIjoicGNhdF8xIn0"
  }
}