Add Till

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

This API enables you to create a new Till for your store. You can also create or attach existing custom fields to a till. The till-level custom fields enable you to add additional information about the till, especially when you have multiple tills mapped to a store. For example, till code, till name, or a description about the till. The custom fields that you create for a till will be available for all tills under your organization.

Important

Till usernames must be unique across all organizations within the same cluster. You cannot create a till with a username that already exists in any organization in the cluster. Usernames from soft-deleted tills are also reserved and cannot be reused, even if they do not appear in active listings.

👍

Note

For detailed information about our APIs and for hands-on testing, refer documentation in API overview and step-by-step guide on making your first API call in Make your first API call .

API endpoint example

<https://eu.api.capillarytech.com/v2/orgEntity/till>

Prerequisites

  • Authentication - Basic or OAuth authentication details
  • Access group resource - Access to Organisation resource
  • Configuration - If you want to create more than five custom fields, create a ticket to the sustenance team and increase the limit in the configuration PRODUCT_CONF_ORG_AUDITABLE_CUSTOM_FIELDS_LIMIT. By default, the maximum value is set as five.

Resource information

URIv2/orgEntity/till
HTTP methodPOST
Rate limitDefault
Batch supportNA

Request body parameters

Note: Parameters marked with * are mandatory.

ParameterTypeDescription
name*string
  • Length: Between 3 and 50 characters.
  • Allowed Characters: Must match the regex ^[a-z][a-z0-9._-]+$
  • Must start with a lowercase letter.
  • Can contain lowercase letters (a-z), digits (0-9).
  • Can contain dots (.), underscores (_), and hyphens (-).
  • Special Rules: The name ROOT is strictly forbidden.
  • Uniqueness - Must be unique within your Organization.
  • Case Sensitivity- Must be provided in lowercase. The Till name specified will also be copied to Till code in the backend.
password*stringPassword for the till.
storeId*longStore ID of the parent Store in which the Till has to be created.
descriptionstringDescription for the till.
billablebooleanSpecify if the till is used for billing. By default, the value is set as true.
storeServerIdlongStore server ID of the parent Store if available.
customFieldsarray-objSpecify the custom fields to be added to the org and attached to the till. You can create new fields or add existing ones.
└─ name*stringName for the custom field. Required if you are creating custom fields.
└─ value*stringValue assigned to the custom field. Required if you are creating custom fields.
└─ typestringType of the custom field (e.g., text, number, date).
└─ dataTypestringData type of the value stored in the field (e.g., string, integer, boolean).
└─ rulestringClient-side validation rule for the field (Infix expression).
└─ serverRulestringServer-side validation rule for the field (Infix expression).
└─ regexstringRegular expression for validating the field value.
└─ errorstringError message to be displayed.
└─ optionsintComma-separated options for selection fields. Example: valueA, valueB, valueC.
└─ disableAtServerintFlag for disabling the field on the server-side (0: enabled, 1: disabled).
└─ enableAuditTrailintFlag for audit tracking (0: not tracked, 1: tracked). Up to 5 fields can be tracked.
└─ isPiiDataintFlag for PII data (0: no, 1: yes).
└─ isPsiDataintFlag for PSI data (0: no, 1: yes). Learn more
└─ helptextstringHelp text displayed to the user.
└─ attrsstringAdditional attributes associated with the custom field.
timeZoneIdIntegerTime zone ID for the till. Refer to the supported Timezone table for valid timeZoneId values. If you do not provide a time zone, the system derives it based on the store hierarchy in the following order: zone, store, and till.
curl --location 'https://eu.api.capillarytech.com/v2/orgEntity/till' \
--header 'Authorization: Basic cmFuZG9tE6MjAyY2I5NjJhYzU5MDc1Yjk2NGIwNzE1MmQyMzRiNzA=' \
--header 'Content-Type: application/json' \
--data '{
  "description": "Testing description",
  "storeId": 50154731,
  "password": "123",
  "billable": true,
  "name": "new_till2239"
}'
curl --location 'https://eu.api.capillarytech.com/v2/orgEntity/till' \
--header 'Authorization: Basic cmFuZG9tE6MjAyY2I5NjJhYzU5MDc1Yjk2NGIwNzE1MmQyMzRiNzA=' \
--header 'Content-Type: application/json' \
--data '{
"description": "Testing description",
"storeId": 50154731,
"password": "123",
"billable": true,
"name": "new_till2239",
"customFields": [
{
  "name": "cf_1",
  "type": "text",
  "dataType": "string",
  "label": "Custom Field Label",
  "defaultValue": "14",
  "phase": "",
  "position": 1,
  "rule": "",
  "serverRule": "",
  "regex": "",
  "error": "",
  "options": "",
  "isDisabled": 0,
  "isCompulsory": 0,
  "disableAtServer": 0,
  "isUpdatable": 1,
  "enableAuditTrail": 0,
  "isPiiData": 0,
  "isPsiData": 0,
  "helptext": "This is a custom field",
  "attrs": "",
  "value": "15"
}
]
}'
curl --location 'https://eu.api.capillarytech.com/v2/orgEntity/till' \
--header 'Authorization: Basic cmFuZG9tE6MjAyY2I5NjJhYzU5MDc1Yjk2NGIwNzE1MmQyMzRiNzA=' \
--header 'Content-Type: application/json' \
--data '{
"description": "Testing description",
"storeId": 50154731,
"password": "123",
"billable": true,
"name": "new_till_2",
"customFields": [
{
  "name": "cf_1",
  "value": "16"
}
]
}'

Response parameters

ParameterDescription
createdIdThe till ID created.
warningsWarnings if any.
{
    "createdId": 50157065,
    "warnings": []
}

API-specific error codes

Error codeDescription
1207Till name already exists. Use a unique name. This error occurs if the till username is already present in any organization within the same cluster, or if the username is reserved due to a soft-deleted till.
1214The parent store is not valid. Use a valid parent store ID
1023The number of custom fields that can be created is reached. In the org settings, increase the limit of PRODUCT_CONF_ORG_AUDITABLE_CUSTOM_FIELDS_LIMIT. Default value: 5.
1024The custom field parameter is null or empty. Enter a value for the parameter.
1025There are multiple custom fields with the same name. Use a unique custom field name.

Supported timezones

Use the timeZoneid field to assign a timezone to a till. Reference the table below for valid values.

IDTimezoneStandard Offset
1Europe/AndorraUTC+01:00
2Asia/DubaiUTC+04:00
3Asia/KabulUTC+04:30
4America/AntiguaUTC-04:00
5America/AnguillaUTC-04:00
6Europe/TiraneUTC+01:00
7Asia/YerevanUTC+04:00
9Africa/LuandaUTC+01:00
10Antarctica/McMurdoUTC+12:00
11Antarctica/South_PoleUTC+12:00
12Antarctica/RotheraUTC-03:00
13Antarctica/PalmerUTC-04:00
14Antarctica/MawsonUTC+06:00
15Antarctica/DavisUTC+07:00
16Antarctica/CaseyUTC+08:00
17Antarctica/VostokUTC+00:00
18Antarctica/DumontDUrvilleUTC+10:00
19Antarctica/SyowaUTC+03:00
20America/Argentina/Buenos_AiresUTC-03:00
21America/Argentina/CordobaUTC-03:00
22America/Argentina/SaltaUTC-03:00
23America/Argentina/JujuyUTC-03:00
24America/Argentina/TucumanUTC-03:00
25America/Argentina/CatamarcaUTC-03:00
26America/Argentina/La_RiojaUTC-03:00
27America/Argentina/San_JuanUTC-03:00
28America/Argentina/MendozaUTC-03:00
29America/Argentina/San_LuisUTC-04:00
30America/Argentina/Rio_GallegosUTC-03:00
31America/Argentina/UshuaiaUTC-03:00
32Pacific/Pago_PagoUTC-11:00
33Europe/ViennaUTC+01:00
34Australia/Lord_HoweUTC+10:30
35Australia/HobartUTC+10:00
36Australia/CurrieUTC+10:00
37Australia/MelbourneUTC+10:00
38Australia/SydneyUTC+10:00
39Australia/Broken_HillUTC+09:30
40Australia/BrisbaneUTC+10:00
41Australia/LindemanUTC+10:00
42Australia/AdelaideUTC+09:30
43Australia/DarwinUTC+09:30
44Australia/PerthUTC+08:00
45Australia/EuclaUTC+08:45
46America/ArubaUTC-04:00
47Europe/MariehamnUTC+02:00
48Asia/BakuUTC+04:00
49Europe/SarajevoUTC+01:00
50America/BarbadosUTC-04:00
51Asia/DhakaUTC+06:00
52Europe/BrusselsUTC+01:00
53Africa/OuagadougouUTC+00:00
54Europe/SofiaUTC+02:00
55Asia/BahrainUTC+03:00
56Africa/BujumburaUTC+02:00
57Africa/Porto-NovoUTC+01:00
58America/St_BarthelemyUTC-04:00
59Atlantic/BermudaUTC-04:00
60Asia/BruneiUTC+08:00
61America/La_PazUTC-04:00
62America/NoronhaUTC-02:00
63America/BelemUTC-03:00
64America/FortalezaUTC-03:00
65America/RecifeUTC-03:00
66America/AraguainaUTC-03:00
67America/MaceioUTC-03:00
68America/BahiaUTC-03:00
69America/Sao_PauloUTC-03:00
70America/Campo_GrandeUTC-04:00
71America/CuiabaUTC-04:00
72America/SantaremUTC-03:00
73America/Porto_VelhoUTC-04:00
74America/Boa_VistaUTC-04:00
75America/ManausUTC-04:00
76America/EirunepeUTC-04:00
77America/Rio_BrancoUTC-04:00
78America/NassauUTC-05:00
79Asia/ThimphuUTC+06:00
80Africa/GaboroneUTC+02:00
81Europe/MinskUTC+02:00
82America/BelizeUTC-06:00
83America/St_JohnsUTC-03:30
84America/HalifaxUTC-04:00
85America/Glace_BayUTC-04:00
86America/MonctonUTC-04:00
87America/Goose_BayUTC-04:00
88America/Blanc-SablonUTC-04:00
89America/MontrealUTC-05:00
90America/TorontoUTC-05:00
91America/NipigonUTC-05:00
92America/Thunder_BayUTC-05:00
93America/IqaluitUTC-05:00
94America/PangnirtungUTC-05:00
95America/ResoluteUTC-05:00
96America/AtikokanUTC-05:00
97America/Rankin_InletUTC-06:00
98America/WinnipegUTC-06:00
99America/Rainy_RiverUTC-06:00
100America/ReginaUTC-06:00
101America/Swift_CurrentUTC-06:00
102America/EdmontonUTC-07:00
103America/Cambridge_BayUTC-07:00
104America/YellowknifeUTC-07:00
105America/InuvikUTC-07:00
106America/Dawson_CreekUTC-07:00
107America/VancouverUTC-08:00
108America/WhitehorseUTC-08:00
109America/DawsonUTC-08:00
110Indian/CocosUTC+06:30
111Africa/KinshasaUTC+01:00
112Africa/LubumbashiUTC+02:00
113Africa/BanguiUTC+01:00
114Africa/BrazzavilleUTC+01:00
115Europe/ZurichUTC+01:00
116Africa/AbidjanUTC+00:00
117Pacific/RarotongaUTC-10:00
118America/SantiagoUTC-04:00
119Pacific/EasterUTC-06:00
120Africa/DoualaUTC+01:00
121Asia/ShanghaiUTC+08:00
122Asia/HarbinUTC+08:00
123Asia/ChongqingUTC+08:00
124Asia/UrumqiUTC+08:00
125Asia/KashgarUTC+08:00
126America/BogotaUTC-05:00
127America/Costa_RicaUTC-06:00
128America/HavanaUTC-05:00
129Atlantic/Cape_VerdeUTC-01:00
130Indian/ChristmasUTC+07:00
131Asia/NicosiaUTC+02:00
132Europe/PragueUTC+01:00
133Europe/BerlinUTC+01:00
134Africa/DjiboutiUTC+03:00
135Europe/CopenhagenUTC+01:00
136America/DominicaUTC-04:00
137America/Santo_DomingoUTC-04:00
138Africa/AlgiersUTC+01:00
139America/GuayaquilUTC-05:00
140Pacific/GalapagosUTC-06:00
141Europe/TallinnUTC+02:00
142Africa/CairoUTC+02:00
143Africa/El_AaiunUTC+00:00
144Africa/AsmaraUTC+03:00
145Europe/MadridUTC+01:00
146Africa/CeutaUTC+01:00
147Atlantic/CanaryUTC+00:00
148Africa/Addis_AbabaUTC+03:00
149Europe/HelsinkiUTC+02:00
150Pacific/FijiUTC+12:00
151Atlantic/StanleyUTC-04:00
152Pacific/TrukUTC+10:00
153Pacific/PonapeUTC+11:00
154Pacific/KosraeUTC+11:00
155Atlantic/FaroeUTC+00:00
156Europe/ParisUTC+01:00
157Africa/LibrevilleUTC+01:00
158Europe/LondonUTC+00:00
159America/GrenadaUTC-04:00
160Asia/TbilisiUTC+04:00
161America/CayenneUTC-03:00
162Europe/GuernseyUTC+00:00
163Africa/AccraUTC+00:00
164Europe/GibraltarUTC+01:00
165America/GodthabUTC-03:00
166America/DanmarkshavnUTC+00:00
167America/ScoresbysundUTC-01:00
168America/ThuleUTC-04:00
169Africa/BanjulUTC+00:00
170Africa/ConakryUTC+00:00
171America/GuadeloupeUTC-04:00
172Africa/MalaboUTC+01:00
173Europe/AthensUTC+02:00
174Atlantic/South_GeorgiaUTC-02:00
175America/GuatemalaUTC-06:00
176Pacific/GuamUTC+10:00
177Africa/BissauUTC+00:00
178America/GuyanaUTC-04:00
179Asia/Hong_KongUTC+08:00
180America/TegucigalpaUTC-06:00
181Europe/ZagrebUTC+01:00
182America/Port-au-PrinceUTC-05:00
183Europe/BudapestUTC+01:00
184Asia/JakartaUTC+07:00
185Asia/PontianakUTC+07:00
186Asia/MakassarUTC+08:00
187Asia/JayapuraUTC+09:00
188Europe/DublinUTC+00:00
189Asia/JerusalemUTC+02:00
190Europe/Isle_of_ManUTC+00:00
191Asia/KolkataUTC+05:30
192Indian/ChagosUTC+06:00
193Asia/BaghdadUTC+03:00
194Asia/TehranUTC+03:30
195Atlantic/ReykjavikUTC+00:00
196Europe/RomeUTC+01:00
197Europe/JerseyUTC+00:00
198America/JamaicaUTC-05:00
199Asia/AmmanUTC+02:00
200Asia/TokyoUTC+09:00
201Africa/NairobiUTC+03:00
202Asia/BishkekUTC+06:00
203Asia/Phnom_PenhUTC+07:00
204Pacific/TarawaUTC+12:00
205Pacific/EnderburyUTC+13:00
206Pacific/KiritimatiUTC+14:00
207Indian/ComoroUTC+03:00
208America/St_KittsUTC-04:00
209Asia/PyongyangUTC+09:00
210Asia/SeoulUTC+09:00
211Asia/KuwaitUTC+03:00
212America/CaymanUTC-05:00
213Asia/AlmatyUTC+06:00
214Asia/QyzylordaUTC+06:00
215Asia/AqtobeUTC+05:00
216Asia/AqtauUTC+05:00
217Asia/OralUTC+05:00
218Asia/VientianeUTC+07:00
219Asia/BeirutUTC+02:00
220America/St_LuciaUTC-04:00
221Europe/VaduzUTC+01:00
222Asia/ColomboUTC+05:30
223Africa/MonroviaUTC+00:00
224Africa/MaseruUTC+02:00
225Europe/VilniusUTC+02:00
226Europe/LuxembourgUTC+01:00
227Europe/RigaUTC+02:00
228Africa/TripoliUTC+02:00
229Africa/CasablancaUTC+00:00
230Europe/MonacoUTC+01:00
231Europe/ChisinauUTC+02:00
232Europe/PodgoricaUTC+01:00
233America/MarigotUTC-04:00
234Indian/AntananarivoUTC+03:00
235Pacific/MajuroUTC+12:00
236Pacific/KwajaleinUTC+12:00
237Europe/SkopjeUTC+01:00
238Africa/BamakoUTC+00:00
239Asia/RangoonUTC+06:30
240Asia/UlaanbaatarUTC+08:00
241Asia/HovdUTC+07:00
242Asia/ChoibalsanUTC+08:00
243Asia/MacauUTC+08:00
244Pacific/SaipanUTC+10:00
245America/MartiniqueUTC-04:00
246Africa/NouakchottUTC+00:00
247America/MontserratUTC-04:00
248Europe/MaltaUTC+01:00
249Indian/MauritiusUTC+04:00
250Indian/MaldivesUTC+05:00
251Africa/BlantyreUTC+02:00
252America/Mexico_CityUTC-06:00
253America/CancunUTC-06:00
254America/MeridaUTC-06:00
255America/MonterreyUTC-06:00
256America/MatamorosUTC-06:00
257America/MazatlanUTC-07:00
258America/ChihuahuaUTC-07:00
259America/OjinagaUTC-07:00
260America/HermosilloUTC-07:00
261America/TijuanaUTC-08:00
262America/Santa_IsabelUTC-08:00
263Asia/Kuala_LumpurUTC+08:00
264Asia/KuchingUTC+08:00
265Africa/MaputoUTC+02:00
266Africa/WindhoekUTC+01:00
267Pacific/NoumeaUTC+11:00
268Africa/NiameyUTC+01:00
269Pacific/NorfolkUTC+11:30
270Africa/LagosUTC+01:00
271America/ManaguaUTC-06:00
272Europe/AmsterdamUTC+01:00
273Europe/OsloUTC+01:00
274Asia/KathmanduUTC+05:45
275Pacific/NauruUTC+12:00
276Pacific/NiueUTC-11:00
277Pacific/AucklandUTC+12:00
278Pacific/ChathamUTC+12:45
279Asia/MuscatUTC+04:00
280America/PanamaUTC-05:00
281America/LimaUTC-05:00
282Pacific/TahitiUTC-10:00
283Pacific/MarquesasUTC-09:30
284Pacific/GambierUTC-09:00
285Pacific/Port_MoresbyUTC+10:00
286Asia/ManilaUTC+08:00
287Asia/KarachiUTC+06:00
288Europe/WarsawUTC+01:00
289America/MiquelonUTC-03:00
290Pacific/PitcairnUTC-08:00
291America/Puerto_RicoUTC-04:00
292Asia/GazaUTC+02:00
293Europe/LisbonUTC+00:00
294Atlantic/MadeiraUTC+00:00
295Atlantic/AzoresUTC-01:00
296Pacific/PalauUTC+09:00
297America/AsuncionUTC-04:00
298Asia/QatarUTC+03:00
299Indian/ReunionUTC+04:00
300Europe/BucharestUTC+02:00
301Europe/BelgradeUTC+01:00
302Europe/KaliningradUTC+03:00
303Europe/MoscowUTC+04:00
304Europe/VolgogradUTC+04:00
305Europe/SamaraUTC+04:00
306Asia/YekaterinburgUTC+06:00
307Asia/OmskUTC+07:00
308Asia/NovosibirskUTC+07:00
309Asia/NovokuznetskUTC+07:00
310Asia/KrasnoyarskUTC+08:00
311Asia/IrkutskUTC+08:00
312Asia/YakutskUTC+10:00
313Asia/VladivostokUTC+11:00
314Asia/SakhalinUTC+11:00
315Asia/MagadanUTC+12:00
316Asia/KamchatkaUTC+12:00
317Asia/AnadyrUTC+12:00
318Africa/KigaliUTC+02:00
319Asia/RiyadhUTC+03:00
320Pacific/GuadalcanalUTC+11:00
321Indian/MaheUTC+04:00
322Africa/KhartoumUTC+03:00
323Europe/StockholmUTC+01:00
324Asia/SingaporeUTC+08:00
325Atlantic/St_HelenaUTC+00:00
326Europe/LjubljanaUTC+01:00
327Arctic/LongyearbyenUTC+01:00
328Europe/BratislavaUTC+01:00
329Africa/FreetownUTC+00:00
330Europe/San_MarinoUTC+01:00
331Africa/DakarUTC+00:00
332Africa/MogadishuUTC+03:00
333America/ParamariboUTC-03:00
334Africa/Sao_TomeUTC+00:00
335America/El_SalvadorUTC-06:00
336Asia/DamascusUTC+02:00
337Africa/MbabaneUTC+02:00
338America/Grand_TurkUTC-05:00
339Africa/NdjamenaUTC+01:00
340Indian/KerguelenUTC+05:00
341Africa/LomeUTC+00:00
342Asia/BangkokUTC+07:00
343Asia/DushanbeUTC+05:00
344Pacific/FakaofoUTC-10:00
345Asia/DiliUTC+09:00
346Asia/AshgabatUTC+05:00
347Africa/TunisUTC+01:00
348Pacific/TongatapuUTC+13:00
349Europe/IstanbulUTC+02:00
350America/Port_of_SpainUTC-04:00
351Pacific/FunafutiUTC+12:00
352Asia/TaipeiUTC+08:00
353Africa/Dar_es_SalaamUTC+03:00
354Europe/KievUTC+02:00
355Europe/UzhgorodUTC+02:00
356Europe/ZaporozhyeUTC+02:00
357Europe/SimferopolUTC+02:00
358Africa/KampalaUTC+03:00
359Pacific/JohnstonUTC-10:00
360Pacific/MidwayUTC-11:00
361Pacific/WakeUTC+12:00
362America/New_YorkUTC-05:00
363America/DetroitUTC-05:00
364America/Kentucky/LouisvilleUTC-05:00
365America/Kentucky/MonticelloUTC-05:00
366America/Indiana/IndianapolisUTC-05:00
367America/Indiana/VincennesUTC-05:00
368America/Indiana/WinamacUTC-05:00
369America/Indiana/MarengoUTC-05:00
370America/Indiana/PetersburgUTC-05:00
371America/Indiana/VevayUTC-05:00
372America/ChicagoUTC-06:00
373America/Indiana/Tell_CityUTC-06:00
374America/Indiana/KnoxUTC-06:00
375America/MenomineeUTC-06:00
376America/North_Dakota/CenterUTC-06:00
377America/North_Dakota/New_SalemUTC-06:00
378America/DenverUTC-07:00
379America/BoiseUTC-07:00
380America/ShiprockUTC-07:00
381America/PhoenixUTC-07:00
382America/Los_AngelesUTC-08:00
383America/AnchorageUTC-09:00
384America/JuneauUTC-09:00
385America/YakutatUTC-09:00
386America/NomeUTC-09:00
387America/AdakUTC-10:00
388Pacific/HonoluluUTC-10:00
389America/MontevideoUTC-03:00
390Asia/SamarkandUTC+05:00
391Asia/TashkentUTC+05:00
392Europe/VaticanUTC+01:00
393America/St_VincentUTC-04:00
394America/CaracasUTC-04:30
395America/TortolaUTC-04:00
396America/St_ThomasUTC-04:00
397Asia/Ho_Chi_MinhUTC+07:00
398Pacific/EfateUTC+11:00
399Pacific/WallisUTC+12:00
400Pacific/ApiaUTC-11:00
401Asia/AdenUTC+03:00
402Indian/MayotteUTC+03:00
403Africa/JohannesburgUTC+02:00
404Africa/LusakaUTC+02:00
405Africa/HarareUTC+02:00

Body Params
json
Responses

Language
Credentials
Basic
base64
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json