GetAccount
const url = 'https://example.com/wink.partner.v1.Accounts/GetAccount';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"accountId":"example","imageFormat":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/wink.partner.v1.Accounts/GetAccount \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "accountId": "example", "imageFormat": "example" }'Get one account by id
Retrieve the current record for a single account you already hold the identifier for — after a rename, say, or to refresh a copy you cached at start-up.
Requires an authenticated token with ACCOUNT:READ on the account you ask for. Returns
PERMISSION_DENIED when your token cannot reach it and NOT_FOUND when no such account exists, so
you can tell a revoked grant apart from a stale identifier.
Free: this call is not metered.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
Identifier of the account to retrieve. Required. Your token must hold ACCOUNT:READ on it.
IANA media type for image delivery URLs: image/jpeg (the default), image/png, image/webp, or image/* to let the CDN negotiate per client from its Accept header. Empty means image/jpeg.
An unrecognised value is rejected with INVALID_ARGUMENT rather than quietly falling back, so a typo
like “image/jpg” (not a media type) fails loudly instead of serving you JPEG while you believe you
asked for something else. Whatever is served is echoed back on MediaUrlVariant.format.
Examplegenerated
{ "accountId": "example", "imageFormat": "example"}Responses
Section titled “Responses”The RPC completed with gRPC status OK.
object
The account matching account_id.
object
Stable identifier for this account. Send it as the managing-entity-id metadata header on every
other call in this API.
Identifier of the user who owns this account.
Identifier of the application that provisioned this account — normally Wink itself.
Whether the account is held by a company or by an individual.
What kind of business this account is.
Display name.
Registered legal name, when it differs from the display name.
URL-friendly slug identifying the account in public profiles and links, e.g.
the-siam-residences-bangkok.
Short human-friendly identifier, used where a UUID would be unwieldy.
Where the account sits in its lifecycle. Only ACCOUNT_STATUS_ACTIVE accounts transact.
ISO 4217 currency the account accounts and settles in, e.g. “THB”.
Short description of the business.
Primary website or social URL.
Business address.
object
Street line 1.
Street line 2, when the property supplies one.
State, province or region.
Postal or ZIP code.
City name.
ISO 3166-1 alpha-2 country code, e.g. “TH”.
Country name in the requested language.
The full address pre-formatted for display, newline-free.
City the account is registered in.
object
Wink’s identifier for this city.
City name.
URL slug, e.g. bangkok-thailand. Accepted by Lookup’s Get with DESTINATION_TYPE_CITY.
ISO 3166-1 alpha-2 country code, e.g. “TH”.
The account’s logo, when it has published one.
object
Stable identifier for this asset. Use this as your cache key.
Identifier of the inventory item this asset belongs to (the property, a guest room, and so on).
Named entity_id rather than identifier to match the *_id convention the rest of this surface
uses, and because “identifier” said nothing about WHOSE identifier it is.
MEDIA_TYPE_IMAGE or MEDIA_TYPE_VIDEO.
Where the asset came from, e.g. the property’s own upload or a syndicated source.
Display order within its gallery, ascending.
Camera angle or shot description, when the property supplied one.
Intrinsic width in pixels.
Intrinsic height in pixels.
Localized captions.
A short piece of localized text.
The API returns descriptions already filtered to the language on your request, so you will normally see
exactly one entry per collection. language_code is still present so you can tell which language you got when
the requested one was unavailable and the property’s default was substituted.
object
Short label for this description.
The description body.
ISO 639-1 language code of name and description.
The lifestyle this asset is meant to illustrate, when tagged.
Ready-to-use delivery URLs, one per variant. Which variants are populated depends on whether the asset is an image, a Cloudinary video or an externally-hosted one — see MediaUrlSet.
object
MULTIMEDIA_KIND_IMAGE only: unscaled, best-quality delivery URL.
object
Ready-to-use delivery URL for this variant.
Maximum pixel width this variant is scaled to. Unset for variants with no resize (image “original”, video “stream”) — explicit presence so “not resized” is distinguishable from a literal 0px width.
The IANA media type this URL returns: one of image/jpeg, image/png, image/webp, image/* or video/mp4, video/webm. Feed it straight to a Content-Type header or use it to pick a decoder.
This ECHOES what was served, so it reflects the image_format and video_format you sent on the
request. Send neither and images are image/jpeg and video is video/mp4.
image/* is the one value that is not a concrete type: it means the CDN negotiates per client from the Accept header, so the same URL returns WebP, AVIF or JPEG to different callers. It is only ever returned if you asked for it. Everything else is deterministic — the same URL returns the same bytes to every client, which is what makes it safe to cache and re-serve.
MULTIMEDIA_KIND_IMAGE only: large variant, max width 1920px.
object
Ready-to-use delivery URL for this variant.
Maximum pixel width this variant is scaled to. Unset for variants with no resize (image “original”, video “stream”) — explicit presence so “not resized” is distinguishable from a literal 0px width.
The IANA media type this URL returns: one of image/jpeg, image/png, image/webp, image/* or video/mp4, video/webm. Feed it straight to a Content-Type header or use it to pick a decoder.
This ECHOES what was served, so it reflects the image_format and video_format you sent on the
request. Send neither and images are image/jpeg and video is video/mp4.
image/* is the one value that is not a concrete type: it means the CDN negotiates per client from the Accept header, so the same URL returns WebP, AVIF or JPEG to different callers. It is only ever returned if you asked for it. Everything else is deterministic — the same URL returns the same bytes to every client, which is what makes it safe to cache and re-serve.
MULTIMEDIA_KIND_IMAGE only: medium variant, max width 1024px.
object
Ready-to-use delivery URL for this variant.
Maximum pixel width this variant is scaled to. Unset for variants with no resize (image “original”, video “stream”) — explicit presence so “not resized” is distinguishable from a literal 0px width.
The IANA media type this URL returns: one of image/jpeg, image/png, image/webp, image/* or video/mp4, video/webm. Feed it straight to a Content-Type header or use it to pick a decoder.
This ECHOES what was served, so it reflects the image_format and video_format you sent on the
request. Send neither and images are image/jpeg and video is video/mp4.
image/* is the one value that is not a concrete type: it means the CDN negotiates per client from the Accept header, so the same URL returns WebP, AVIF or JPEG to different callers. It is only ever returned if you asked for it. Everything else is deterministic — the same URL returns the same bytes to every client, which is what makes it safe to cache and re-serve.
MULTIMEDIA_KIND_IMAGE or MULTIMEDIA_KIND_VIDEO (Cloudinary): thumbnail variant, max width 320px. For video
this is a still frame extracted from the video, so its format is an image type and follows
image_format, not video_format.
object
Ready-to-use delivery URL for this variant.
Maximum pixel width this variant is scaled to. Unset for variants with no resize (image “original”, video “stream”) — explicit presence so “not resized” is distinguishable from a literal 0px width.
The IANA media type this URL returns: one of image/jpeg, image/png, image/webp, image/* or video/mp4, video/webm. Feed it straight to a Content-Type header or use it to pick a decoder.
This ECHOES what was served, so it reflects the image_format and video_format you sent on the
request. Send neither and images are image/jpeg and video is video/mp4.
image/* is the one value that is not a concrete type: it means the CDN negotiates per client from the Accept header, so the same URL returns WebP, AVIF or JPEG to different callers. It is only ever returned if you asked for it. Everything else is deterministic — the same URL returns the same bytes to every client, which is what makes it safe to cache and re-serve.
MULTIMEDIA_KIND_VIDEO (Cloudinary) only: streaming delivery URL, unscaled. Delivered as video_format,
which defaults to video/mp4.
object
Ready-to-use delivery URL for this variant.
Maximum pixel width this variant is scaled to. Unset for variants with no resize (image “original”, video “stream”) — explicit presence so “not resized” is distinguishable from a literal 0px width.
The IANA media type this URL returns: one of image/jpeg, image/png, image/webp, image/* or video/mp4, video/webm. Feed it straight to a Content-Type header or use it to pick a decoder.
This ECHOES what was served, so it reflects the image_format and video_format you sent on the
request. Send neither and images are image/jpeg and video is video/mp4.
image/* is the one value that is not a concrete type: it means the CDN negotiates per client from the Accept header, so the same URL returns WebP, AVIF or JPEG to different callers. It is only ever returned if you asked for it. Everything else is deterministic — the same URL returns the same bytes to every client, which is what makes it safe to cache and re-serve.
MULTIMEDIA_KIND_VIDEO (Cloudinary) only: preview variant, max width 1280px. Delivered as video_format.
object
Ready-to-use delivery URL for this variant.
Maximum pixel width this variant is scaled to. Unset for variants with no resize (image “original”, video “stream”) — explicit presence so “not resized” is distinguishable from a literal 0px width.
The IANA media type this URL returns: one of image/jpeg, image/png, image/webp, image/* or video/mp4, video/webm. Feed it straight to a Content-Type header or use it to pick a decoder.
This ECHOES what was served, so it reflects the image_format and video_format you sent on the
request. Send neither and images are image/jpeg and video is video/mp4.
image/* is the one value that is not a concrete type: it means the CDN negotiates per client from the Accept header, so the same URL returns WebP, AVIF or JPEG to different callers. It is only ever returned if you asked for it. Everything else is deterministic — the same URL returns the same bytes to every client, which is what makes it safe to cache and re-serve.
MULTIMEDIA_KIND_VIDEO (Cloudinary) only: poster frame at medium width. A still EXTRACTED from the video,
so like thumbnail it is an image and follows image_format.
object
Ready-to-use delivery URL for this variant.
Maximum pixel width this variant is scaled to. Unset for variants with no resize (image “original”, video “stream”) — explicit presence so “not resized” is distinguishable from a literal 0px width.
The IANA media type this URL returns: one of image/jpeg, image/png, image/webp, image/* or video/mp4, video/webm. Feed it straight to a Content-Type header or use it to pick a decoder.
This ECHOES what was served, so it reflects the image_format and video_format you sent on the
request. Send neither and images are image/jpeg and video is video/mp4.
image/* is the one value that is not a concrete type: it means the CDN negotiates per client from the Accept header, so the same URL returns WebP, AVIF or JPEG to different callers. It is only ever returned if you asked for it. Everything else is deterministic — the same URL returns the same bytes to every client, which is what makes it safe to cache and re-serve.
MULTIMEDIA_KIND_VIDEO (YouTube) only: pass-through to the YouTube watch URL. Wink generates no variants for externally-hosted media, so no format applies and every MediaUrlVariant field above is unset.
OpenTravel PIC (Picture Category) code, e.g. “2” = Lobby view, “6” = Guest room. What the asset depicts,
which is what you want when laying out a gallery rather than dumping it in sort order. Empty when
the property never categorised the asset. Look codes up at https://wink.travel/developers/taxonomy.
Example
{ "account": { "ownerType": "ACCOUNT_OWNER_TYPE_UNSPECIFIED", "type": "ACCOUNT_TYPE_UNSPECIFIED", "status": "ACCOUNT_STATUS_UNSPECIFIED", "logo": { "kind": "MULTIMEDIA_KIND_UNSPECIFIED", "lifestyleType": "LIFESTYLE_TYPE_UNSPECIFIED" } }}