
🏠 Ụlọ
Wuo Olileanya
Nyere aka ka ezinụlọ ọ bụla nwee ebe ọ ga-akpọ ụlọ — site na OseloHelp.com, ụlọ ọrụ enyemaka anyị anaghị akwụ ụtụ.
Global Music Distribution Coming Soon!
Njikọ mbụ gị ga-adaba n'otu ihuenyo.
Mepee adreesị a na browser gị. Ị ga-ahụ mmemme ihe atụ ozugbo.
https://timtim.live/api/partner-network/demo?city=WashingtonBanye, gwa anyị onye ị bụ, ma pịa Mepụta Igodo Nnwale. Ọ na-amalite na tt_test_ ma na-ahụ naanị mmemme ihe atụ.
Rịọ maka mmemme n'otu obodo.
curl "https://api.timtim.live/v1/events?city=Washington&category=music" \
-H "Authorization: Bearer tt_test_YOUR_KEY"Mmemme ọ bụla nwere aha, ụbọchị, ebe, foto, ọnụahịa na akara ndị dị njikere maka kaadị gị.
Jiri buy_url anyị nyere gị. Ọ bụ naanị ya. TimTim.Live na-agbaso ire maka gị n'ime njikọ ahụ.
Hụ ndị mmadụ i zigara, tiketi e rere na ego ị nwetara na dashboard gị, ma ọ bụ rịọ maka ha.
GET https://api.timtim.live/v1/earningshttps://api.timtim.live/v1Ziga igodo gị n'isiokwu Authorization. Igodo nnwale (tt_test_) na-ahụ naanị mmemme ihe atụ. Igodo weebụsaịtị (tt_pk_live_) nwere ike ịnọ na ibe weebụ ma na-agụ naanị mmemme. Igodo server (tt_sk_live_) na-anọ na server gị ma nwekwara ike ịgụ ego ị nwetara. Anyị na-egosi igodo naanị otu ugboro — chekwaa ya nke ọma.
curl "https://api.timtim.live/v1/events?city=Washington&category=music" \
-H "Authorization: Bearer tt_test_YOUR_KEY"const res = await fetch("https://api.timtim.live/v1/events?city=Washington&category=music", {
headers: { Authorization: "Bearer tt_test_YOUR_KEY" },
});
const { events, next } = await res.json();
for (const event of events) {
console.log(event.name, event.display.date_label, event.tickets.buy_url);
}// Node 18+ — keep server keys (tt_sk_live_) on the server
const res = await fetch("https://api.timtim.live/v1/events?city=Washington", {
headers: { Authorization: `Bearer ${process.env.TIMTIM_KEY}` },
});
if (!res.ok) {
const problem = await res.json();
throw new Error(`${problem.title} (${problem.request_id})`);
}
const { events } = await res.json();import os, requests
res = requests.get(
"https://api.timtim.live/v1/events",
params={"city": "Washington", "category": "music"},
headers={"Authorization": f"Bearer {os.environ['TIMTIM_KEY']}"},
)
res.raise_for_status()
for event in res.json()["events"]:
print(event["name"], event["tickets"]["buy_url"])<?php
$ch = curl_init("https://api.timtim.live/v1/events?city=Washington&category=music");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer " . getenv("TIMTIM_KEY")]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = json_decode(curl_exec($ch), true);
foreach ($data["events"] as $event) {
echo $event["name"] . " " . $event["tickets"]["buy_url"] . PHP_EOL;
}citycountrycategoryfromtochanged_sincecommissionedminimum_earningsnearlimitChekwaa oge mmekọrịta ikpeazụ gị ma ziga ya dịka changed_since. Ị ga-enweta naanị mmemme gbanwere — gụnyere ndị a kagburu na ihe ngosi tiketi ha gwụrụ. Ọ dịghị mkpa webhook. Mmemme ị ga-akwụsị igosi na-abịa n'ime ndepụta withdrawn.
GET https://api.timtim.live/v1/events?changed_since=2026-10-06T10:00:00ZỌ bụrụ na azịza ahụ nwere next, zighachi ya dịka cursor= iji nweta ibe na-esote. Mgbe next tọgbọrọ chakoo, i nwetala ihe niile.
GET https://api.timtim.live/v1/events?city=Paris&cursor=eyJtIjoiZCIs…Mmemme ọ bụla nwere earn. Ọ bụrụ na earn.eligible bụ false, mmemme ahụ enweghị ụgwọ ọrụ — ọ ka bara uru igosi ya. Ọ bụrụ na ọ bụ true, earn.description na-ekwu ihe ị ga-enweta, dịka ọmụmaatụ "$5 maka tiketi ọ bụla ruru eru". Ọ bụrụ na akwụghachiri ego ịzụ ahụ, a ga-ewepụ ụgwọ ọrụ ahụ.
Chekwaa Feed Niile Ọnụ na dashboard gị, wee budata mmemme niile ọ kpuchiri n'otu faịlụ e kpakọrọ: GET /v1/bulk/FEED_ID.ndjson.gz ma ọ bụ .csv.gz, site na igodo server gị. Tinye ?changed_since= iji nweta naanị ihe gbanwere, gụnyere mmemme e wepụrụ. Igodo nnwale nwere ike ịnwale ya ugbu a; ojiji n'ezie chọrọ nlele sitere na TimTim.Live.
GET https://api.timtim.live/v1/bulk/bfs_YOURFEED.ndjson.gz?changed_since=2026-10-06T00:00:00ZNdị mmekọ buru ibu nwere ike idowe ndị na-azụ ihe n'ime ngwa ha. Jụọ GET /v1/events/EVENT_ID/tickets ka ịhụ ihe a na-ere, wee zipu POST /v1/orders na nhọrọ onye na-azụ ihe. Ị ga-enweta njikọ ịkwụ ụgwọ TimTim.Live ị ga-emepere onye na-azụ ihe; a na-agụnye ire ahụ n'aha ụlọ ọrụ gị ozugbo. Igodo nnwale nwere ike ịnwale ya ugbu a. Iji ya n'ezie chọrọ nyocha TimTim.Live na ịgbanye ịkwụ ụgwọ kaadị.
POST https://api.timtim.live/v1/orders (Idempotency-Key: …) {"event_id": "evt_test_washington_konpa", "ticket_type_id": "tt_test_washington_konpa", "quantity": 2, "buyer_email": "…", "buyer_name": "…"}GET /v1/offers na-enye mmemme ọ bụla na-akwụ ụgwọ ọrụ dịka onyinye: onye nhazi, ụbọchị ị nwere ike ịzụta, ọnụahịa, ebe na ụgwọ ọrụ. Onye ahịa gị na-agbanye ya site na njikọ gị a na-agbaso, a na-akwụkwa ụgwọ ọrụ ahụ ụlọ ọrụ gị site na /v1/earnings. Igodo nnwale na-ahụ onyinye ihe atụ. Onyinye n'ezie chọrọ nyocha site n'aka TimTim.Live. Ijikọ ịkwụ ụgwọ kaadị ozugbo chọrọ nkwekọrịta na netwọk kaadị ma ọ bụ ụlọ akụ, ma ejikọbeghị ya.
GET https://api.timtim.live/v1/offers?country=USstatus bụ scheduled, postponed, rescheduled, cancelled, sold_out ma ọ bụ completed. tickets.availability bụ available, limited, sold_out, not_on_sale ma ọ bụ ended. Mgbe mmemme ghọrọ cancelled, wepụ ya.
GET https://api.timtim.live/v1/events/evt_test_washington_konpaIgodo nnwale: arịrịọ 60 kwa nkeji. Igodo ezigbo: 120 kwa nkeji. Ịga ọsọ karịa nke ahụ ga-eweta azịza 429 ya na Retry-After, ọnụọgụ sekọnd ị ga-echere.
Mmemme ndị nhazi TimTim.Live mepụtara ma họrọ ịkekọrịta. Anaghị agụnye mmemme anyị si na saịtị tiketi ndị ọzọ wete, n'ihi na anyị enweghị ikike ịkekọrịta ha.
Aha ndị na-azụ ahịa, adreesị email, adreesị ụlọ, nọmba ekwentị na nkọwa kaadị. Partner API na-ekekọrịta ozi mmemme, ọ bụghị ndị otu anyị.
Otu ahịrị HTML na-egosi mmemme na weebụsaịtị ọ bụla. Jiri igodo weebụsaịtị (tt_pk_live_), ma tinye weebụsaịtị gị na ndepụta weebụsaịtị igodo ahụ kwadoro. Ọ bụrụ na enweghị igodo, ọ na-egosi mmemme ihe atụ.
<script src="https://timtim.live/widget/events.js"
data-key="tt_pk_live_YOUR_WEBSITE_KEY"
data-city="Washington" data-category="music" async></script>Nhọrọ: data-city, data-country, data-category, data-limit (1–24), data-earn="true", data-lang na data-color.
Ọ bụghị iwu. Mepụta client OAuth na dashboard gị, wee nye client ID na secret ya iji nweta access token nke otu awa, ma ziga token ahụ kama igodo. Secret anaghị eso oku API gị aga, ị nwekwara ike ịrịọ ikike (scopes) dị ole na ole karịa nke client ahụ nwere.
# 1. Trade the client ID and secret for a one-hour token
curl -u "$CLIENT_ID:$CLIENT_SECRET" \
-d grant_type=client_credentials -d "scope=events:read events:details" \
https://api.timtim.live/v1/oauth/token
# → {"access_token":"tt_at_…","token_type":"Bearer","expires_in":3600,"scope":"events:read events:details"}
# 2. Use the token exactly like a key
curl -H "Authorization: Bearer $ACCESS_TOKEN" "https://api.timtim.live/v1/events?city=Washington"Iji kwụsị token tupu oge ya, ziga ya site na POST gaa /v1/oauth/revoke jiri otu client ID na secret ahụ. Ọ bụrụ na i gbanyụọ client ahụ na dashboard gị, token ya niile na-akwụsị otu mgbe.
Ọ bụ nhọrọ. Na dashboard gị, mepee "Kpọchie na server m" n'okpuru igodo server, igodo nnwale ma ọ bụ client OAuth, ma dee adreesị ọha nke server gị. Oku — na arịrịọ token — si ebe ọ bụla ọzọ ka a na-ajụ na ip_not_allowed, ọ bụrụgodị na igodo ahụ ziri ezi.
Asambodo client (mTLS): jikọta asambodo client TLS gị na igodo, wee jiri ya kpọọ https://api.timtim.live. Oku ọ bụla ga-egosi asambodo ahụ; aka mmekọ TLS na-egosi na ị nwere igodo nzuzo ya.
# Your certificate's SHA-256 — paste this (or the PEM) under "Lock to my servers"
openssl x509 -in client.crt -noout -fingerprint -sha256
# Every call then presents the certificate
curl --cert client.crt --key client.key \
-H "Authorization: Bearer $KEY" "https://api.timtim.live/v1/events?city=Washington"Ị na-eji WordPress? Wụnye TimTim.Live Events: otu block na otu shortcode na-egosi mmemme na njikọ tiketi TimTim.Live nke gị. Ọ bụ TimTim.Live mere ya, ọ na-ekwurịta naanị na timtim.live, ma na-emelite naanị site na timtim.live.
Bulite faịlụ ahụ na Plugins → Add New → Upload Plugin. Mado igodo weebụsaịtị gị na Settings → TimTim.Live Events, ma pịa Test Connection. Mgbe ahụ tinye block TimTim.Live Events na peeji ọ bụla.
Budata Plugin WordPress[timtim_events city="Washington" category="music" limit="6"]Otu mmemme ahụ dị ka JSON Feed, RSS, XML, CSV ma ọ bụ kalenda (.ics) nke Google Calendar, Apple Calendar na Outlook nwere ike idenye aha na ya. Ndị na-agụ feed enweghị ike iziga headers, ya mere tinye igodo weebụsaịtị ma ọ bụ igodo nnwale na ?key=. Etinyela igodo server n'njikọ ọ bụla.
https://timtim.live/v1/feeds/events.json?key=tt_pk_live_YOUR_KEY&city=Paris
https://timtim.live/v1/feeds/events.rss?key=tt_pk_live_YOUR_KEY&city=Paris
https://timtim.live/v1/feeds/events.xml?key=tt_pk_live_YOUR_KEY&city=Paris
https://timtim.live/v1/feeds/events.csv?key=tt_pk_live_YOUR_KEY&city=Paris
https://timtim.live/v1/feeds/events.ics?key=tt_pk_live_YOUR_KEY&city=ParisTinye adreesị na Dashboard gị, anyị ga-ezigakwa ya ozi mgbe ihe gbanwere: event.changed ma ọ bụ earnings.changed. Webhooks abụghị iwu — changed_since na-enye gị otu ozi ahụ.
{
"id": "whd_8Fk2mQxR7tLp",
"type": "event.changed",
"created_at": "2026-10-06T15:04:05.000Z",
"mode": "live",
"data": {
"event": {
"id": "ev_…",
"name": "…",
"status": "cancelled",
"tickets": {
"availability": "ended",
"buy_url": "https://timtim.live/b/…"
},
"…": "the same event object as GET /v1/events"
}
}
}Lelee ozi ọ bụla: e ji ihe nzuzo gị bịanye aka na ya. Jụ ihe ọ bụla karịrị nkeji ise, ma leghara TimTim-Delivery-Id ọ bụla ị lebarala anya.
// Node — Express with the RAW body (do not JSON.parse before checking)
import crypto from "node:crypto";
app.post("/timtim", express.raw({ type: "application/json" }), (req, res) => {
const header = req.get("TimTim-Signature") ?? ""; // t=1700000000,v1=<hex>
const parts = Object.fromEntries(header.split(",").map((p) => p.split("=")));
const body = req.body.toString("utf8");
const expected = crypto.createHmac("sha256", process.env.TIMTIM_WEBHOOK_SECRET)
.update(`${parts.t}.${body}`).digest("hex");
const fresh = Math.abs(Date.now() / 1000 - Number(parts.t)) <= 300;
const same = expected.length === (parts.v1 ?? "").length &&
crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1));
if (!fresh || !same) return res.sendStatus(400);
const message = JSON.parse(body); // { id, type, mode, data }
if (alreadyHandled(req.get("TimTim-Delivery-Id"))) return res.sendStatus(200);
// message.type === "event.changed" → message.data.event
// message.type === "earnings.changed" → message.data.earning
res.sendStatus(200);
});Zaa na 2xx ọ bụla n'ime sekọnd 10. Ọ bụrụ na ịzaghị, anyị ga-anwa ọzọ mgbe nkeji 1, nkeji 5, nkeji 30 gachara, mgbe ahụ awa 2, 6, 12 na 24, wee kwụsị. Anyị anaghị eso ntụgharị gaa adreesị ọzọ.
Igodo nnwale na-enweta mmemme ihe atụ nwere akara MMEMME NNWALE — ENWEGHỊ EZIGBO EGO. Mepee buy_url, pịa Zụta Tiketi Nnwale, wee rịọ maka ego ị nwetara. Nwalee nkwụghachi ego ma hụ ka e wepụrụ ya.
Njehie na-akọwa onwe ha n'okwu dị mfe, ya na aha na ihe ị ga-eme ọzọ. Azịza ọ bụla nwere TimTim-Request-Id. Ziga ya anyị, anyị ga-achọta arịrịọ gị.
missing_keyPlease add your TimTim.Live key. Send it as: Authorization: Bearer tt_test_… — get a test key at /partners/dashboard.invalid_keyWe do not recognise that key. Check you copied the whole key, or make a new one at /partners/dashboard.revoked_keyThat key was switched off. Make a new key at /partners/dashboard.partner_inactiveThis partner account cannot use live keys right now. Your test key still works. Contact TimTim.Live partnerships to review the account.missing_scopeThis key is not allowed to do that. Earnings need a secret key (tt_sk_live_…) or a test key, used from your server.domain_not_allowedThis website is not allowed to use this key. Add the website to the key's allowed domains at /partners/dashboard.unknown_parameterWe do not know one of those parameters. See /partners/docs for the list.invalid_countryWe could not read that country. Use a two-letter code, for example country=US or country=FR.invalid_dateWe could not read that date. Dates look like 2026-10-20.invalid_changed_sinceWe could not read changed_since. Use a full time, for example changed_since=2026-10-06T10:00:00Z.invalid_booleanThat value must be true or false. For example commissioned=true.invalid_numberThat value must be a number. For example minimum_earnings=5.invalid_nearWe could not find that place. Try near=Paris,FR or city=Paris&country=FR.invalid_locationWe could not read that location. Send lat, lng and optionally radius in kilometres.invalid_limitlimit must be between 1 and 100. Leave it out to get 20.invalid_cursorThat cursor is not one we gave you. Use the `next` value from the previous page exactly as it came.event_not_foundWe could not find that event. It may have been removed, or it is not shared with partners.capability_requiredCard-linked offers are not switched on for your account. Offers are an enterprise feature. Your test key shows sample offers now; ask TimTim.Live partnerships to review your account for live offers.server_key_requiredThis is for your server only. Use a secret key (tt_sk_live_…) or a test key from your server, never a website key in a web page.commerce_not_enabledSelling tickets in your own app is not switched on for your account. This is an enterprise feature (EMBEDDED_CHECKOUT). Your test key can try it now; ask TimTim.Live partnerships to review your account. Until then, use each event's buy_url.checkout_not_openCard payments are not open on TimTim.Live yet. Send the buyer to the event's buy_url instead. Your test key can still rehearse orders.ticket_not_availableThat ticket cannot be bought right now. It may be sold out, not on sale yet, or no longer on sale. Ask /v1/events/{id}/tickets for what is on sale now.order_invalidWe could not read that order. See /partners/docs for the fields an order needs.idempotency_key_requiredPlease send an Idempotency-Key header. 8 to 80 letters, digits, - or _. Send the same key again to retry safely — you will get the same order, never a second one.order_not_foundWe could not find that order. Only orders your company began with this kind of key (test or live) can be read here.bulk_not_enabledBulk feeds are not switched on for your account. This is an enterprise feature (BULK_FEEDS). Your test key can try it now; ask TimTim.Live partnerships to review your account. Until then, page through /v1/events or the feeds.bulk_not_foundWe could not find that bulk feed. Use the address shown on /partners/dashboard: /v1/bulk/<subscription id>.ndjson.gz or .csv.gz.bulk_too_soonA full file was made for this feed a few minutes ago. Full files can be made every 15 minutes. For what changed since, add changed_since=<time> — that is not limited.event_withdrawnThis event is no longer shared with partners. Stop showing it and remove its buy_url. Nothing else is needed — your old link still takes people to the event page.invalid_trackWe could not read that tracking signal. Send {"type":"impression"}, {"type":"event_view","event_id":"…"} or {"type":"event_click","event_id":"…"}. Sales are recorded by TimTim.Live, never sent from a page.not_foundThere is nothing at this address. The Partner API lives at /v1/events, /v1/events/{id}, /v1/offers and /v1/earnings.method_not_allowedThis address does not answer that method. The Allow header lists the methods it answers.key_in_urlSend your key in the Authorization header. Only /v1/feeds reads a key from the URL (?key=). Everywhere else use Authorization: Bearer <key> — keys in URLs end up in logs.ip_not_allowedThis key only works from your listed servers. Call from an address on the key's allowlist, or change the list at /partners/dashboard.certificate_requiredThis key needs your client certificate. Connect to https://api.timtim.live with the TLS client certificate pinned to this key.certificate_mismatchThat is not the certificate pinned to this key. Use the certificate whose SHA-256 is on your dashboard, or pin the new one there.rate_limitedToo many requests — please slow down. Wait the number of seconds in Retry-After, then try again.server_errorSomething went wrong on our side. Please try again. If it keeps happening, send us your TimTim Request ID.Nkọwa zuru ezu nke mpaghara ọ bụla, n'ụdị OpenAPI ngwaọrụ gị nwere ike ịgụ.
Budata openapi.yamlIgodo nnwale gị na-arụ ọrụ ozugbo. Maka igodo live, otu onye na TimTim.Live na-ele aha ụlọ ọrụ gị, weebụsaịtị gị na otu ị ga-esi gosi mmemme. Ị ga-ahụ azịza ya na dashboard gị.
Ụdị 1 na-eto naanị. Anyị na-agbakwunye ihe ọhụrụ. Anyị anaghị ewepụ ma ọ bụ agbanwe aha ihe dị ugbu a.
Ebumnuche Anyị
Anyị na-akpọ onye ọ bụla ka o nyere aka hapụ ihe nketa maka mmadụ niile.
Sonye n’Ozi Atọ Ga-adị Ndụ Karịa Anyị Niile

Wuo Olileanya
Nyere aka ka ezinụlọ ọ bụla nwee ebe ọ ga-akpọ ụlọ — site na OseloHelp.com, ụlọ ọrụ enyemaka anyị anaghị akwụ ụtụ.

Chekwaa Mmadụ Site n’Egwu
Chekwaa egwu na akụkọ mmadụ maka afọ 1,000+ na-abịa.

Kpalie Ọgbọ Ndị Nchọpụta Na-abịa
Mee ka ohere inyocha mbara igwe dịrị onye ọ bụla.

Atụmatụ ụgbọ elu mbara igwe nke na-ebili site n'okporo ụzọ kama iji rọketi bulie ya. Ọ bụ echiche, ọ bụghị ụgbọ emechara emecha.
Lee ka ọ si arụ ọrụOtú ihe niile si jikọọ
Ọ dịghị ihe ebe a bụ azụmahịa dị iche — usoro ọ bụla na-eme ka nke na-esote sie ike.
Otu ebumnuche. Ọtụtụ azụmahịa na-akwado ibe ha.
Ma ị gee egwu, kekọrịta akụkọ, yiri ngwaahịa, gaa egwu, sụgharịa okwu egwu, kwado obodo, ma ọ bụ gwa enyi gị naanị — ị na-aghọ akụkụ nke ihe e mere ka ọ dịgide ruo ọtụtụ ọgbọ.
Onye ọ bụla nwere ike isonye. Enweghị onyinye dị obere.
TimTim.Live — Nyochaa Ụwa Site n’Egwu.
TimTim.Live adịlarị na maapụ ebe 233,839 n’obodo 195 niile, na-eru obodo ndị nwere naanị mmadụ 1,000, gụnyere:
steeti 257 • mpaghara 1,690 • kaụntị 4,808 • ngalaba 41,130 • obodo mepere emepe 13,471 • obodo 117,896 • obodo nta 40,988
© 2026 TimTim.Live. Ikike Niile Echekwara.