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
| Method | Endpoint | Description |
|---|---|---|
GET | /companies | List companies with filtering |
POST | /companies | Create a company |
GET | /companies/{companyId} | Get a single company |
PATCH | /companies/{companyId} | Update a company |
POST | /companies/{companyId}/store-credit | Issue store credit to a company |
Authentication
All requests require a valid Admin API key:
Authorization: Bearer your_api_key_hereTest 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.
Authorization
BearerAuth API key from the Tiquo dashboard (Settings > Developer > Admin API)
In: header
Query Parameters
501 <= value <= 100"active" | "inactive" | "archived""client" | "prospect" | "vendor" | "partner" | "other"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"
}Authorization
BearerAuth API key from the Tiquo dashboard (Settings > Developer > Admin API)
In: header
Request Body
application/json
emailuri"active" | "inactive" | "archived""client" | "prospect" | "vendor" | "partner" | "other"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"
}Authorization
BearerAuth API key from the Tiquo dashboard (Settings > Developer > Admin API)
In: header
Path Parameters
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"
}Authorization
BearerAuth API key from the Tiquo dashboard (Settings > Developer > Admin API)
In: header
Path Parameters
Company number or document ID
Request Body
application/json
emailuriURL, data-URI, or empty string to remove
Raw base64-encoded image (alternative to logo)
MIME type when using logoBase64 (e.g. image/png)
"1-10" | "11-50" | "51-200" | "201-500" | "501-1000" | "1000+""active" | "inactive" | "archived""client" | "prospect" | "vendor" | "partner" | "other"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"
}Authorization
BearerAuth API key from the Tiquo dashboard (Settings > Developer > Admin API)
In: header
Path Parameters
Company number or document ID
Header Parameters
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.
^[A-Za-z0-9._:-]+$1 <= length <= 128Request Body
application/json
Positive amount to add to the balance.
0.010 < value <= 1000000^[A-Za-z]{3}$3 <= length <= 3Optional note for the ledger entry.
length <= 500Response 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 /companiesQuery Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | No | Max results (1 to 100, default 50) |
status | string | No | Filter 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
| Parameter | Type | Required | Description |
|---|---|---|---|
companyId | string | Yes | A company number (COMP-000001), email address, document ID, or company name |
Lookup Order
The endpoint resolves the identifier in this order:
- Company number pattern (
COMP-NNNNNN) - Email address (contains
@) - Document ID (lowercase alphanumeric)
- 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.
| Field | Type | Description |
|---|---|---|
name | string | Company legal name |
displayName | string | Display name |
description | string | Free-text description |
email | string | Primary email |
phone | string | Primary phone |
website | string | Primary website URL |
websites | array of strings | All websites |
emailDomains | array of strings | Corporate email domains used to auto-link customers |
industry | string | Industry |
companySize | string | Company size band |
status | string | active, inactive, or archived |
type | string | Company type |
tags | array of strings | Tags |
notes | string | Internal notes |
address | object | Address 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-creditAdds 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
| Field | Type | Required | Description |
|---|---|---|---|
amount | number | Yes | Positive amount to add. Maximum 1000000; up to 2 decimal places. |
currency | string | Yes | Three-letter ISO currency code, for example GBP. |
note | string | No | Optional 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"
}