Skip to content
TarekyDocs
Console

The offline map packages an app may download, with checksums

GET
/v1/offline/catalog
curl --request GET \
--url https://api.tareky.com/v1/offline/catalog \
--header 'Authorization: Bearer <token>'
x-access-key-id
string

Legacy key id (until its sunset)

Media typeapplication/json
object
enabled
required

Operator switch. False: no download or update is offered (what is installed keeps working)

boolean
formatVersion
required

Shape of this answer and of the packages; a client ignores a version it does not know

integer
>= -9007199254740991 <= 9007199254740991
version
required

Data version of every package below: packages of one version only work together

string
nullable
createdAt
required
string
nullable
countries
required
Array<object>
object
code
required
string
name
required
object
ar
required
string
>= 1 characters <= 80 characters
en
required
string
>= 1 characters <= 80 characters
packages
required
Array<object>
object
id
required

Package id: core (required: the country-wide map and routing backbone) or a governorate such as gov-baghdad

string
required
required

Installed with every other package: nothing works offline without it

boolean
name
required
object
ar
required
string
>= 1 characters <= 80 characters
en
required
string
>= 1 characters <= 80 characters
bbox
required

[west, south, east, north]

Array<number>
>= 4 items <= 4 items
bytes
required

Download size of all the package’s files

integer
>= -9007199254740991 <= 9007199254740991
files
required
Array<object>
object
name
required
string
url
required

Absolute address of the file (public CDN; an unguessable path)

string
bytes
required
integer
>= -9007199254740991 <= 9007199254740991
sha256
required

Lowercase hex SHA-256: a client installs nothing that does not match

string
Examplegenerated
{
"enabled": true,
"formatVersion": 1,
"version": "example",
"createdAt": "example",
"countries": [
{
"code": "example",
"name": {
"ar": "example",
"en": "example"
},
"packages": [
{
"id": "example",
"required": true,
"name": {
"ar": "example",
"en": "example"
},
"bbox": [
1
],
"bytes": 1,
"files": [
{
"name": "example",
"url": "example",
"bytes": 1,
"sha256": "example"
}
]
}
]
}
]
}

Rate limit or monthly quota exceeded; see Retry-After

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable code, e.g. quota_exceeded, no_route

string
message
required
string
status
required
integer
>= -9007199254740991 <= 9007199254740991
details

For invalid_request: the validation issues

docsUrl
required
string
requestId
string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"status": 1,
"details": "example",
"docsUrl": "example"
},
"requestId": "example"
}

Any other error, in the /v1 error envelope

Media typeapplication/json
object
error
required
object
code
required

Stable machine-readable code, e.g. quota_exceeded, no_route

string
message
required
string
status
required
integer
>= -9007199254740991 <= 9007199254740991
details

For invalid_request: the validation issues

docsUrl
required
string
requestId
string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"status": 1,
"details": "example",
"docsUrl": "example"
},
"requestId": "example"
}