Tiquo
Integrations OverviewAirtableAsanaSlackGoogle AnalyticsMetabaseMixpanelPendoSegmentTableau (PAT)ActiveCampaignBrevoEmarsys Core API (WSSE)EventbriteFacebookGoogle AdsHighLevelInstagramKlaviyoMailchimpMailgunMicrosoft AdsSendGridTwitter (v2)HubSpotNotionAcuity SchedulingAirtable (Personal Access Token)BasecampCal.com (v2)CalendlyClickUpCodaConfluence Data CenterExpensifyGoogle CalendarGoogle SheetHarvestLinearMicrosoft Power BIMicrosoft TeamsMindbodyMondayOpenAIPerplexityPingboardPivotal TrackerProductboardQuickbaseServiceM8ServiceNowTeamworkTickTickTimelyTodoistTrafftTrelloWrikefal.aixAIZendeskIntercomAircall (OAuth)DixaFreshDeskFreshserviceFrontPlainRingCentralZoho DeskBrazeDialpadGoogleMicrosoftOutlookPodiumSednaSharePoint OnlineTwilioWhatsApp BusinessZoho MailBambooHRADPDeelEmployment HeroGustoHibob Service UserNamelyOracle Fusion Cloud (HCM)PaychexPayfitPaylocityPersonioRipplingSAP SuccessFactorsSage HRTSheetsUKG ProUKG ReadyWorkdayZoho PeopleQuickBooksBuildiumExact OnlineFreshBooksIntuitNetSuitePennylaneSageSage IntacctTwinfieldUnanetWave AccountingXeroZoho BooksSalesforceAffinityAttioCopperFreshsalesGainsight CCInsightlyKustomerMedalliaPipedriveTwenty CRMZoomInfoApaleoMewsMicrosoft Business CentralOdooSAP ConcurZuoraAcceloCoupa CompassZoho InvoiceAnrokAvalaraDocuSignDropbox SignPandadocSignNowLinkedInSplitwiseTikTok AdsJotformQualtricsRefinerTypeformShopifyCin7 CoreGoogle MapsRingoverListrakRydooTalentLMSApple Business ManagerCrunchbaseRocketReachOcean.ioFreepikEnergy Performance Certificates (Gov.UK)JustworksGristSAP S/4HANA Cloud3CX8x8Adobe CommerceBirdCloudbedsConstant ContactBufferCustomer.ioCrispFreeAgentGreenhouseMeta Marketing APIMollienocrm.ioOomnitzaDigitsPylonSage 200ShopwareAnvilShippoEasyPostAltrataMicrosoft PeopleMicrosoft IntuneCloudTalkGoogle FormsMaximizerMicrosoft PlannerSalesmsgSellercloudTallyTimifyUpsalesCleverReachHeymarketMailjetPleoProvenExpertTelegramToggl TrackTenzoASSA ABLOY Vingcard VisionlineASSA ABLOY Vingcard VostioASSA ABLOY TESA HotelASSA ABLOY SMARTairSalto KSSalto Space OnlineDormakabaOmnitecHotekTT LockWebLockISEOKleverKeyAperioISONASHIDSouthcoThird MillenniumSTidAxis CommunicationsBooking.comExpediaHotels.comAirbnbGoogle HotelsTripadvisorAgodaHotelbedsTravelgateXHyperguestRoibosReconlineTraviaOpenGDS.comMG BedbankDidatravelHotelREZHRSHotelnetworkGetaroomWinkBookeasyVRBOInntopiaHookusbookusHipcampSpot2niteCamping VisionMinistry of VillasTrip.comTravelokaTiketMakeMyTripHoteripKlookeDreamsSzallasEmerging Travel GroupCheck24Bed-and-Breakfast.itWorld2Meet (W2M)Ctoutvert / SecureholidayDespegarPriceTravelRoombeastMitchell CorpHRS AustraliaResonlineHostelworldHostelhopTablet MichelinMr & Mrs SmithHopperHotel TonightPitchupMoveriiLocalOTAAlaricBooknpayCultbookingGuestTractionLevartWeSpeakMake.comZapierPricelabsPricepointRategenieElastic HotelRoom Price GenieTurbosuiteUber EatsDeliverooDoorDashBolt FoodGlovo
API and AuthenticationCustomer API

List Orders

Retrieve the authenticated customer's order history

List Orders

Returns a paginated list of orders for the authenticated customer.

Endpoint

GET /orders

Authentication

Requires a valid JWT access token.

Authorization: Bearer eyJhbGciOiJSUzI1NiJ9...

Query Parameters

ParameterTypeDefaultDescription
limitinteger50Number of orders to return (1 to 100)
cursorstring-Order ID to paginate from (use nextCursor from previous response)
statusstring-Filter by order status

Status Values

StatusDescription
draftOrder has been created but not completed
processingOrder is being fulfilled
completedOrder is complete
cancelledOrder was cancelled
refundedOrder was refunded
open_tabOrder is an active open tab

Lost-cart and pending checkout state is not returned as customer purchase history.

Example Request

curl -X GET "https://edge.tiquo.app/api/client/v1/orders?limit=10&status=completed" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9..."

Response

{
  "success": true,
  "data": {
    "orders": [
      {
        "id": "order_123",
        "orderNumber": "ORD-001234",
        "status": "completed",
        "paymentStatus": "paid",
        "currency": "GBP",
        "total": 99.99,
        "subtotal": 89.99,
        "taxTotal": 10.00,
        "discountTotal": 0,
        "items": [],
        "createdAt": 1706576400000,
        "completedAt": 1706580000000,
        "customerRole": "primary"
      }
    ],
    "hasMore": true,
    "nextCursor": "order_122"
  }
}

Order Object

FieldTypeDescription
idstringOrder document ID
orderNumberstringHuman-readable order number (e.g. ORD-001234)
statusstringOrder status (see values above)
paymentStatusstringOne of: pending, paid, partial, refunded, partially_refunded, failed, cancelled
currencystringISO currency code for monetary amounts on this order
totalnumberTotal order amount
subtotalnumberSubtotal before tax
taxTotalnumberTax amount
discountTotalnumberDiscount applied
itemsarrayOrder line items using { id, name, quantity, unitPrice, total, type }
createdAtintegerUnix timestamp in milliseconds when the order was created
completedAtinteger or nullUnix timestamp in milliseconds when the order was completed
customerRolestringThe customer's role in this order (e.g. primary)

Pagination

When hasMore is true, use the nextCursor value as the cursor parameter in your next request to fetch the following page.

curl -X GET "https://edge.tiquo.app/api/client/v1/orders?limit=10&cursor=order_122" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9..."

Errors

StatusDescription
401Invalid or expired access token
500Internal server error

Code Examples

JavaScript

async function getOrders(accessToken, options = {}) {
  const params = new URLSearchParams();
  if (options.limit) params.set('limit', options.limit);
  if (options.cursor) params.set('cursor', options.cursor);
  if (options.status) params.set('status', options.status);

  const response = await fetch(
    `https://edge.tiquo.app/api/client/v1/orders?${params}`,
    {
      headers: { 'Authorization': `Bearer ${accessToken}` },
    }
  );

  return response.json();
}

// Fetch first page
const result = await getOrders(token, { limit: 10 });

// Fetch next page
if (result.data.hasMore) {
  const nextPage = await getOrders(token, {
    limit: 10,
    cursor: result.data.nextCursor,
  });
}

On this page