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

Get Profile

Retrieve the authenticated customer's profile

Get Profile

Returns the authenticated user's account information and linked customer profile. If the account does not have an active linked customer profile, the request still succeeds and data.customer is null.

Endpoint

GET /profile

Authentication

Requires a valid JWT access token.

Authorization: Bearer eyJhbGciOiJSUzI1NiJ9...

Example Request

curl -X GET "https://edge.tiquo.app/api/client/v1/profile" \
  -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9..."

Response

{
  "success": true,
  "data": {
    "user": {
      "id": "user_abc123",
      "email": "customer@example.com"
    },
    "customer": {
      "id": "cust_456",
      "firstName": "John",
      "lastName": "Doe",
      "displayName": "John Doe",
      "customerNumber": "CUST-000001",
      "email": "customer@example.com",
      "phone": "+1234567890",
      "profilePhoto": "https://example.com/photo.jpg",
      "status": "active",
      "totalOrders": 5,
      "totalSpent": 150.00,
      "lifetimeValue": 200.00,
      "createdAt": 1704067200000,
      "firstActiveAt": 1706745600000
    }
  }
}

User Object

FieldTypeDescription
idstringThe user's unique ID
emailstringThe user's email address

Customer Object

The customer field is included when the user has a linked customer profile in the organization. If no customer record exists, this field will be null.

FieldTypeDescription
idstringCustomer document ID
firstNamestring or omittedFirst name
lastNamestring or omittedLast name
displayNamestring or omittedFull display name
customerNumberstringHuman-readable customer number (e.g. CUST-000001)
emailstring or omittedPrimary email address
phonestring or omittedPhone number
profilePhotostring or omittedURL to profile photo
statusstringOne of: active, inactive, banned
totalOrdersinteger or omittedTotal number of orders
totalSpentnumber or omittedTotal amount spent
lifetimeValuenumber or omittedCustomer lifetime value
createdAtinteger or omittedRead-only Unix timestamp in milliseconds for when the customer profile was created
firstActiveAtinteger or omittedRead-only Unix timestamp in milliseconds for the customer's first qualifying activity

Created and First Active

createdAt is the time the profile itself was created. It is never rewritten or backdated from customer activity.

firstActiveAt is the time the customer first became active through qualifying customer activity. It is not the database insertion time. Activities performed by staff, systems, integrations, or imports do not set it. The field can be omitted for a legacy or never-active profile until qualifying activity is recorded.

The two values are equal when the customer creates their own account and is immediately active in the same flow. Imported or staff-created profiles can have a later First Active value.

Both fields are system-managed and cannot be changed through PATCH /profile or customer parameter updates.

Errors

StatusDescription
401Invalid or expired access token
500Internal server error

Code Examples

JavaScript

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

const { success, data, error } = await response.json();

if (success) {
  console.log(data.user.email);
  console.log(data.customer?.displayName);
  console.log(data.customer?.createdAt);
  console.log(data.customer?.firstActiveAt);
}

Swift

var request = URLRequest(url: URL(string: "https://edge.tiquo.app/api/client/v1/profile")!)
request.setValue("Bearer \(accessToken)", forHTTPHeaderField: "Authorization")

let (data, _) = try await URLSession.shared.data(for: request)
let result = try JSONDecoder().decode(ProfileResponse.self, from: data)

Kotlin

val client = OkHttpClient()
val request = Request.Builder()
    .url("https://edge.tiquo.app/api/client/v1/profile")
    .addHeader("Authorization", "Bearer $accessToken")
    .build()

val response = client.newCall(request).execute()

Sur cette page