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 AuthenticationAdmin APICompanies

Companies

Admin API endpoints for creating and managing companies

Companies

The Companies endpoints let you create and manage companies (B2B accounts) within your organization through the Admin API.

Endpoints

MethodEndpointDescription
GET/companiesList companies with filtering
POST/companiesCreate a company
GET/companies/{companyId}Get a single company
PATCH/companies/{companyId}Update a company
POST/companies/{companyId}/store-creditIssue store credit to a company

Authentication

All requests require a valid Admin API key:

Authorization: Bearer your_api_key_here

Test the API

Enter your Admin API key and the required values for an operation, then select Send.

The POST and PATCH testers send live production requests that change organization data. Use a unique Idempotency-Key when issuing credit. Your API key is stored only in this browser's local storage, so use the tester on a trusted device.

GET
/companies

Authorization

BearerAuth
AuthorizationBearer <token>

API key from the Tiquo dashboard (Settings > Developer > Admin API)

In: header

Query Parameters

limit?integer
Default50
Range1 <= value <= 100
status?string
Value in"active" | "inactive" | "archived"
search?string
type?string
Value in"client" | "prospect" | "vendor" | "partner" | "other"
industry?string
companySize?string
tag?string
emailDomain?string
customFieldKey?string
customFieldValue?string

Response Body

application/json

application/json

application/json

curl -X GET "https://api.tiquo.app/api/v1/companies"
{
  "success": true,
  "data": [
    {
      "id": "string",
      "companyNumber": "string",
      "name": "string",
      "displayName": "string",
      "email": "string",
      "phone": "string",
      "website": "string",
      "websites": [
        "string"
      ],
      "emailDomains": [
        "string"
      ],
      "status": "active",
      "tags": [
        "string"
      ],
      "totalCustomers": 0,
      "totalOrders": 0,
      "totalRevenue": 0,
      "lastOrderDate": 0,
      "lastActivityDate": 0,
      "createdAt": 0,
      "updatedAt": 0
    }
  ],
  "pagination": {
    "hasMore": true,
    "nextCursor": "string",
    "pageSize": 0
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
POST
/companies

Authorization

BearerAuth
AuthorizationBearer <token>

API key from the Tiquo dashboard (Settings > Developer > Admin API)

In: header

Request Body

application/json

name*string
displayName?string
email?string
Formatemail
phone?string
website?string
Formaturi
websites?array<>
emailDomains?array<>
description?string
industry?string
companySize?string
status?string
Value in"active" | "inactive" | "archived"
type?string
Value in"client" | "prospect" | "vendor" | "partner" | "other"
customFields?
tags?array<>
notes?string
address?
logo?string
logoBase64?string
logoMimeType?string

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.tiquo.app/api/v1/companies" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{
  "success": true,
  "data": {
    "id": "string",
    "companyNumber": "string",
    "name": "string",
    "displayName": "string",
    "email": "string",
    "phone": "string",
    "website": "string",
    "websites": [
      "string"
    ],
    "emailDomains": [
      "string"
    ],
    "status": "active",
    "tags": [
      "string"
    ],
    "totalCustomers": 0,
    "totalOrders": 0,
    "totalRevenue": 0,
    "lastOrderDate": 0,
    "lastActivityDate": 0,
    "createdAt": 0,
    "updatedAt": 0,
    "description": "string",
    "logo": "string",
    "address": {
      "line1": "string",
      "line2": "string",
      "city": "string",
      "state": "string",
      "postalCode": "string",
      "country": "string"
    },
    "industry": "string",
    "companySize": "1-10",
    "type": "client",
    "notes": "string"
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
GET
/companies/{companyId}

Authorization

BearerAuth
AuthorizationBearer <token>

API key from the Tiquo dashboard (Settings > Developer > Admin API)

In: header

Path Parameters

companyId*string

Company number, email, document ID, or name

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://api.tiquo.app/api/v1/companies/string"
{
  "success": true,
  "data": {
    "id": "string",
    "companyNumber": "string",
    "name": "string",
    "displayName": "string",
    "email": "string",
    "phone": "string",
    "website": "string",
    "websites": [
      "string"
    ],
    "emailDomains": [
      "string"
    ],
    "status": "active",
    "tags": [
      "string"
    ],
    "totalCustomers": 0,
    "totalOrders": 0,
    "totalRevenue": 0,
    "lastOrderDate": 0,
    "lastActivityDate": 0,
    "createdAt": 0,
    "updatedAt": 0,
    "description": "string",
    "logo": "string",
    "address": {
      "line1": "string",
      "line2": "string",
      "city": "string",
      "state": "string",
      "postalCode": "string",
      "country": "string"
    },
    "industry": "string",
    "companySize": "1-10",
    "type": "client",
    "notes": "string"
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
PATCH
/companies/{companyId}

Authorization

BearerAuth
AuthorizationBearer <token>

API key from the Tiquo dashboard (Settings > Developer > Admin API)

In: header

Path Parameters

companyId*string

Company number or document ID

Request Body

application/json

name?string
displayName?string
description?string
email?string
Formatemail
phone?string
website?string
Formaturi
websites?array<>
emailDomains?array<>
logo?string

URL, data-URI, or empty string to remove

logoBase64?string

Raw base64-encoded image (alternative to logo)

logoMimeType?string

MIME type when using logoBase64 (e.g. image/png)

address?
industry?string
companySize?string
Value in"1-10" | "11-50" | "51-200" | "201-500" | "501-1000" | "1000+"
status?string
Value in"active" | "inactive" | "archived"
type?string
Value in"client" | "prospect" | "vendor" | "partner" | "other"
tags?array<>
notes?string

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://api.tiquo.app/api/v1/companies/string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "success": true,
  "data": {
    "id": "string",
    "companyNumber": "string",
    "name": "string",
    "displayName": "string",
    "email": "string",
    "phone": "string",
    "website": "string",
    "websites": [
      "string"
    ],
    "emailDomains": [
      "string"
    ],
    "status": "active",
    "tags": [
      "string"
    ],
    "totalCustomers": 0,
    "totalOrders": 0,
    "totalRevenue": 0,
    "lastOrderDate": 0,
    "lastActivityDate": 0,
    "createdAt": 0,
    "updatedAt": 0,
    "description": "string",
    "logo": "string",
    "address": {
      "line1": "string",
      "line2": "string",
      "city": "string",
      "state": "string",
      "postalCode": "string",
      "country": "string"
    },
    "industry": "string",
    "companySize": "1-10",
    "type": "client",
    "notes": "string"
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
POST
/companies/{companyId}/store-credit

Authorization

BearerAuth
AuthorizationBearer <token>

API key from the Tiquo dashboard (Settings > Developer > Admin API)

In: header

Path Parameters

companyId*string

Company number or document ID

Header Parameters

Idempotency-Key*string

Unique key for this store-credit issuance attempt. Reusing the same key with the same request returns the original transaction; reusing it with different request details returns 409.

Match^[A-Za-z0-9._:-]+$
Length1 <= length <= 128

Request Body

application/json

amount*number

Positive amount to add to the balance.

Multiple Of0.01
Range0 < value <= 1000000
currency*string
Match^[A-Za-z]{3}$
Length3 <= length <= 3
note?string

Optional note for the ledger entry.

Lengthlength <= 500
[key: string]?never

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.tiquo.app/api/v1/companies/string/store-credit" \  -H "Idempotency-Key: string" \  -H "Content-Type: application/json" \  -d '{    "amount": 1000000,    "currency": "GBP"  }'
{
  "success": true,
  "data": {
    "id": "string",
    "entityType": "customer",
    "customerId": "string",
    "companyId": "string",
    "currency": "string",
    "type": "issued",
    "amount": 0,
    "balanceAfter": 0,
    "note": "string",
    "idempotencyKey": "string",
    "createdAt": 0,
    "idempotentReplay": true
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": true,
  "data": {
    "id": "string",
    "entityType": "customer",
    "customerId": "string",
    "companyId": "string",
    "currency": "string",
    "type": "issued",
    "amount": 0,
    "balanceAfter": 0,
    "note": "string",
    "idempotencyKey": "string",
    "createdAt": 0,
    "idempotentReplay": true
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": "string",
  "timestamp": "2019-08-24T14:15:22Z"
}

List Companies

GET /companies

Query Parameters

ParameterTypeRequiredDescription
limitintegerNoMax results (1 to 100, default 50)
statusstringNoFilter by status: active, inactive, or archived

Example Request

curl "https://api.tiquo.app/api/v1/companies?status=active&limit=25" \
  -H "Authorization: Bearer your_api_key_here"

Response

{
  "success": true,
  "data": [
    {
      "id": "k1234567890abcdef",
      "companyNumber": "COMP-000001",
      "name": "Acme Corp",
      "displayName": "Acme",
      "email": "billing@acme.com",
      "phone": "+15554567890",
      "website": "https://acme.com",
      "websites": ["https://acme.com"],
      "emailDomains": ["acme.com"],
      "status": "active",
      "tags": ["enterprise"],
      "totalCustomers": 12,
      "totalOrders": 84,
      "totalRevenue": 18450.00,
      "lastOrderDate": 1640995200000,
      "lastActivityDate": 1640995200000,
      "createdAt": 1640995200000,
      "updatedAt": 1640995200000
    }
  ],
  "pagination": {
    "hasMore": false,
    "nextCursor": null,
    "pageSize": 25
  },
  "timestamp": "2025-01-15T10:30:00.000Z"
}

Get Company

GET /companies/{companyId}

Path Parameters

ParameterTypeRequiredDescription
companyIdstringYesA company number (COMP-000001), email address, document ID, or company name

Lookup Order

The endpoint resolves the identifier in this order:

  1. Company number pattern (COMP-NNNNNN)
  2. Email address (contains @)
  3. Document ID (lowercase alphanumeric)
  4. Company name (exact match)

Example Request

curl "https://api.tiquo.app/api/v1/companies/COMP-000001" \
  -H "Authorization: Bearer your_api_key_here"

Response

{
  "success": true,
  "data": {
    "id": "k1234567890abcdef",
    "companyNumber": "COMP-000001",
    "name": "Acme Corp",
    "displayName": "Acme",
    "description": "Industrial supplier headquartered in London.",
    "email": "billing@acme.com",
    "phone": "+15554567890",
    "website": "https://acme.com",
    "websites": ["https://acme.com"],
    "emailDomains": ["acme.com"],
    "logo": "https://example.com/acme-logo.png",
    "address": {
      "line1": "123 Industrial Way",
      "line2": "Suite 400",
      "city": "London",
      "state": null,
      "postalCode": "EC1A 1BB",
      "country": "GB"
    },
    "industry": "Manufacturing",
    "companySize": "200-500",
    "status": "active",
    "type": "customer",
    "tags": ["enterprise"],
    "notes": "Negotiated bulk pricing.",
    "totalCustomers": 12,
    "totalOrders": 84,
    "totalRevenue": 18450.00,
    "lastOrderDate": 1640995200000,
    "lastActivityDate": 1640995200000,
    "createdAt": 1640995200000,
    "updatedAt": 1640995200000
  },
  "timestamp": "2025-01-15T10:30:00.000Z"
}

Update Company

PATCH /companies/{companyId}

The companyId path parameter must be a document ID or company number. Email and name lookups are not supported on PATCH.

Request Body

Send any subset of the following fields. Omitted fields are left unchanged.

FieldTypeDescription
namestringCompany legal name
displayNamestringDisplay name
descriptionstringFree-text description
emailstringPrimary email
phonestringPrimary phone
websitestringPrimary website URL
websitesarray of stringsAll websites
emailDomainsarray of stringsCorporate email domains used to auto-link customers
industrystringIndustry
companySizestringCompany size band
statusstringactive, inactive, or archived
typestringCompany type
tagsarray of stringsTags
notesstringInternal notes
addressobjectAddress fields: line1, line2, city, state, postalCode, country

Logo Upload

To set the company logo, send one of:

  • { "logo": "https://example.com/logo.png" } — URL to download
  • { "logo": "data:image/png;base64,iVBOR..." } — data URI
  • { "logoBase64": "<raw base64>", "logoMimeType": "image/png" } — raw base64 with MIME type
  • { "logo": "" } — remove the logo

Accepted image formats: JPEG, PNG, GIF, WebP. Maximum size 5 MB.

Example Request

curl -X PATCH "https://api.tiquo.app/api/v1/companies/COMP-000001" \
  -H "Authorization: Bearer your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "displayName": "Acme Industries",
    "tags": ["enterprise", "priority"],
    "address": {
      "city": "Manchester",
      "country": "GB"
    }
  }'

Response

Returns the updated company object in the same shape as Get Company.

Issue Company Store Credit

POST /companies/{companyId}/store-credit

Adds positive store credit to a company's current balance. The companyId path parameter must be a company number or document ID.

Every POST request must include an Idempotency-Key header. Retrying the same request with the same key returns the original transaction instead of issuing credit twice; reusing a key with different request details returns 409 Conflict.

Request Body

FieldTypeRequiredDescription
amountnumberYesPositive amount to add. Maximum 1000000; up to 2 decimal places.
currencystringYesThree-letter ISO currency code, for example GBP.
notestringNoOptional ledger note, up to 500 characters.

Example Request

curl -X POST "https://api.tiquo.app/api/v1/companies/COMP-000001/store-credit" \
  -H "Authorization: Bearer your_api_key_here" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: credit-COMP-000001-2026-06-19-001" \
  -d '{
    "amount": 100.00,
    "currency": "GBP",
    "note": "Account credit"
  }'

Response

New issuances return 201 Created. Idempotent retries return 200 OK with idempotentReplay: true.

{
  "success": true,
  "data": {
    "id": "k1234567890abcdef",
    "entityType": "company",
    "companyId": "k9876543210fedcba",
    "currency": "GBP",
    "type": "issued",
    "amount": 100,
    "balanceAfter": 250,
    "note": "Account credit",
    "idempotencyKey": "credit-COMP-000001-2026-06-19-001",
    "createdAt": 1767225600000,
    "idempotentReplay": false
  },
  "timestamp": "2026-06-19T10:30:00.000Z"
}

Error Responses

400 Bad Request

{
  "success": false,
  "error": "Invalid JSON body",
  "timestamp": "2025-01-15T10:30:00.000Z"
}

404 Not Found

{
  "success": false,
  "error": "Company not found with company number: COMP-999999",
  "timestamp": "2025-01-15T10:30:00.000Z"
}

401 Unauthorized

{
  "success": false,
  "error": "Missing or invalid API key",
  "timestamp": "2025-01-15T10:30:00.000Z"
}