ZfApi


Click here for a complete list of operations.

GetPopularPhotos

Retrieves photos in order of popularity (most viewed at the top). More...

Test

To test the operation using the HTTP POST protocol, click the 'Invoke' button.
Parameter Value
offset:
limit:

SOAP 1.1

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

POST /api/1.6/zfapi.asmx HTTP/1.1
Host: www.zenfolio.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.zenfolio.com/api/1.6/GetPopularPhotos"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetPopularPhotos xmlns="http://www.zenfolio.com/api/1.6">
      <offset>int</offset>
      <limit>int</limit>
    </GetPopularPhotos>
  </soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetPopularPhotosResponse xmlns="http://www.zenfolio.com/api/1.6">
      <GetPopularPhotosResult>
        <Photo>
          <Id>int</Id>
          <Width>unsignedInt</Width>
          <Height>unsignedInt</Height>
          <Sequence>string</Sequence>
          <AccessDescriptor>
            <RealmId>int</RealmId>
            <AccessType>Private or UserList or Password or Public</AccessType>
            <IsDerived>boolean</IsDerived>
            <AccessMask>ProtectAll or NoCollections or None or NoPrivateSearch or NoPublicSearch or NoRecentList or HideDateCreated or HideDateModified or HideDateTaken or ProtectExif or ProtectExtraLarge or ProtectLarge or ProtectMedium or HideMetaData or ProtectOriginals or HideUserStats or HideVisits or NoPublicGuestbookPosts or NoPrivateGuestbookPosts or NoAnonymousGuestbookPosts or NoPublicComments or NoPrivateComments or NoAnonymousComments or ProtectGuestbook or ProtectComments or PasswordProtectOriginals or ProtectXXLarge or UnprotectCover</AccessMask>
            <Viewers xsi:nil="true" />
            <PasswordHint>string</PasswordHint>
            <SrcPasswordHint>string</SrcPasswordHint>
          </AccessDescriptor>
          <Title>string</Title>
          <Caption>string</Caption>
          <FileName>string</FileName>
          <UploadedOn>dateTime</UploadedOn>
          <TakenOn>dateTime</TakenOn>
          <Owner>string</Owner>
          <Gallery>int</Gallery>
          <Views>int</Views>
          <Size>int</Size>
          <Rotation>None or Rotate90 or Rotate180 or Rotate270 or Flip or Rotate90Flip or Rotate180Flip or Rotate270Flip</Rotation>
          <Keywords>
            <Keyword>string</Keyword>
            <Keyword>string</Keyword>
          </Keywords>
          <Categories>
            <Category>int</Category>
            <Category>int</Category>
          </Categories>
          <Flags>None or HasTitle or HasCaption or HasKeywords or HasCategories or HasExif or HasComments</Flags>
          <TextCn>int</TextCn>
          <PricingKey>long</PricingKey>
          <MimeType>string</MimeType>
          <OriginalUrl>string</OriginalUrl>
          <UrlCore>string</UrlCore>
          <UrlHost>string</UrlHost>
          <UrlToken>string</UrlToken>
          <Copyright>string</Copyright>
          <FileHash>base64Binary</FileHash>
          <PageUrl>string</PageUrl>
          <ExifTags>
            <Id>int</Id>
            <Value>string</Value>
            <DisplayValue>string</DisplayValue>
          </ExifTags>
          <ExifTags>
            <Id>int</Id>
            <Value>string</Value>
            <DisplayValue>string</DisplayValue>
          </ExifTags>
          <ShortExif>string</ShortExif>
          <MailboxId>string</MailboxId>
          <IsVideo>boolean</IsVideo>
          <Duration>int</Duration>
        </Photo>
        <Photo>
          <Id>int</Id>
          <Width>unsignedInt</Width>
          <Height>unsignedInt</Height>
          <Sequence>string</Sequence>
          <AccessDescriptor>
            <RealmId>int</RealmId>
            <AccessType>Private or UserList or Password or Public</AccessType>
            <IsDerived>boolean</IsDerived>
            <AccessMask>ProtectAll or NoCollections or None or NoPrivateSearch or NoPublicSearch or NoRecentList or HideDateCreated or HideDateModified or HideDateTaken or ProtectExif or ProtectExtraLarge or ProtectLarge or ProtectMedium or HideMetaData or ProtectOriginals or HideUserStats or HideVisits or NoPublicGuestbookPosts or NoPrivateGuestbookPosts or NoAnonymousGuestbookPosts or NoPublicComments or NoPrivateComments or NoAnonymousComments or ProtectGuestbook or ProtectComments or PasswordProtectOriginals or ProtectXXLarge or UnprotectCover</AccessMask>
            <Viewers xsi:nil="true" />
            <PasswordHint>string</PasswordHint>
            <SrcPasswordHint>string</SrcPasswordHint>
          </AccessDescriptor>
          <Title>string</Title>
          <Caption>string</Caption>
          <FileName>string</FileName>
          <UploadedOn>dateTime</UploadedOn>
          <TakenOn>dateTime</TakenOn>
          <Owner>string</Owner>
          <Gallery>int</Gallery>
          <Views>int</Views>
          <Size>int</Size>
          <Rotation>None or Rotate90 or Rotate180 or Rotate270 or Flip or Rotate90Flip or Rotate180Flip or Rotate270Flip</Rotation>
          <Keywords>
            <Keyword>string</Keyword>
            <Keyword>string</Keyword>
          </Keywords>
          <Categories>
            <Category>int</Category>
            <Category>int</Category>
          </Categories>
          <Flags>None or HasTitle or HasCaption or HasKeywords or HasCategories or HasExif or HasComments</Flags>
          <TextCn>int</TextCn>
          <PricingKey>long</PricingKey>
          <MimeType>string</MimeType>
          <OriginalUrl>string</OriginalUrl>
          <UrlCore>string</UrlCore>
          <UrlHost>string</UrlHost>
          <UrlToken>string</UrlToken>
          <Copyright>string</Copyright>
          <FileHash>base64Binary</FileHash>
          <PageUrl>string</PageUrl>
          <ExifTags>
            <Id>int</Id>
            <Value>string</Value>
            <DisplayValue>string</DisplayValue>
          </ExifTags>
          <ExifTags>
            <Id>int</Id>
            <Value>string</Value>
            <DisplayValue>string</DisplayValue>
          </ExifTags>
          <ShortExif>string</ShortExif>
          <MailboxId>string</MailboxId>
          <IsVideo>boolean</IsVideo>
          <Duration>int</Duration>
        </Photo>
      </GetPopularPhotosResult>
    </GetPopularPhotosResponse>
  </soap:Body>
</soap:Envelope>

HTTP GET

The following is a sample HTTP GET request and response. The placeholders shown need to be replaced with actual values.

GET /api/1.6/zfapi.asmx/GetPopularPhotos?offset=string&limit=string HTTP/1.1
Host: www.zenfolio.com
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfPhoto1 xmlns="http://www.zenfolio.com/api/1.6">
  <Photo>
    <Id>int</Id>
    <Width>unsignedInt</Width>
    <Height>unsignedInt</Height>
    <Sequence>string</Sequence>
    <AccessDescriptor>
      <RealmId>int</RealmId>
      <AccessType>Private or UserList or Password or Public</AccessType>
      <IsDerived>boolean</IsDerived>
      <AccessMask>ProtectAll or NoCollections or None or NoPrivateSearch or NoPublicSearch or NoRecentList or HideDateCreated or HideDateModified or HideDateTaken or ProtectExif or ProtectExtraLarge or ProtectLarge or ProtectMedium or HideMetaData or ProtectOriginals or HideUserStats or HideVisits or NoPublicGuestbookPosts or NoPrivateGuestbookPosts or NoAnonymousGuestbookPosts or NoPublicComments or NoPrivateComments or NoAnonymousComments or ProtectGuestbook or ProtectComments or PasswordProtectOriginals or ProtectXXLarge or UnprotectCover</AccessMask>
      <Viewers>
        <Viewer>string</Viewer>
        <Viewer>string</Viewer>
      </Viewers>
      <PasswordHint>string</PasswordHint>
      <SrcPasswordHint>string</SrcPasswordHint>
    </AccessDescriptor>
    <Title>string</Title>
    <Caption>string</Caption>
    <FileName>string</FileName>
    <UploadedOn>dateTime</UploadedOn>
    <TakenOn>dateTime</TakenOn>
    <Owner>string</Owner>
    <Gallery>int</Gallery>
    <Views>int</Views>
    <Size>int</Size>
    <Rotation>None or Rotate90 or Rotate180 or Rotate270 or Flip or Rotate90Flip or Rotate180Flip or Rotate270Flip</Rotation>
    <Keywords>
      <Keyword>string</Keyword>
      <Keyword>string</Keyword>
    </Keywords>
    <Categories>
      <Category>int</Category>
      <Category>int</Category>
    </Categories>
    <Flags>None or HasTitle or HasCaption or HasKeywords or HasCategories or HasExif or HasComments</Flags>
    <TextCn>int</TextCn>
    <PricingKey>long</PricingKey>
    <MimeType>string</MimeType>
    <OriginalUrl>string</OriginalUrl>
    <UrlCore>string</UrlCore>
    <UrlHost>string</UrlHost>
    <UrlToken>string</UrlToken>
    <Copyright>string</Copyright>
    <FileHash>base64Binary</FileHash>
    <PageUrl>string</PageUrl>
    <ExifTags>
      <Id>int</Id>
      <Value>string</Value>
      <DisplayValue>string</DisplayValue>
    </ExifTags>
    <ExifTags>
      <Id>int</Id>
      <Value>string</Value>
      <DisplayValue>string</DisplayValue>
    </ExifTags>
    <ShortExif>string</ShortExif>
    <MailboxId>string</MailboxId>
    <IsVideo>boolean</IsVideo>
    <Duration>int</Duration>
  </Photo>
  <Photo>
    <Id>int</Id>
    <Width>unsignedInt</Width>
    <Height>unsignedInt</Height>
    <Sequence>string</Sequence>
    <AccessDescriptor>
      <RealmId>int</RealmId>
      <AccessType>Private or UserList or Password or Public</AccessType>
      <IsDerived>boolean</IsDerived>
      <AccessMask>ProtectAll or NoCollections or None or NoPrivateSearch or NoPublicSearch or NoRecentList or HideDateCreated or HideDateModified or HideDateTaken or ProtectExif or ProtectExtraLarge or ProtectLarge or ProtectMedium or HideMetaData or ProtectOriginals or HideUserStats or HideVisits or NoPublicGuestbookPosts or NoPrivateGuestbookPosts or NoAnonymousGuestbookPosts or NoPublicComments or NoPrivateComments or NoAnonymousComments or ProtectGuestbook or ProtectComments or PasswordProtectOriginals or ProtectXXLarge or UnprotectCover</AccessMask>
      <Viewers>
        <Viewer>string</Viewer>
        <Viewer>string</Viewer>
      </Viewers>
      <PasswordHint>string</PasswordHint>
      <SrcPasswordHint>string</SrcPasswordHint>
    </AccessDescriptor>
    <Title>string</Title>
    <Caption>string</Caption>
    <FileName>string</FileName>
    <UploadedOn>dateTime</UploadedOn>
    <TakenOn>dateTime</TakenOn>
    <Owner>string</Owner>
    <Gallery>int</Gallery>
    <Views>int</Views>
    <Size>int</Size>
    <Rotation>None or Rotate90 or Rotate180 or Rotate270 or Flip or Rotate90Flip or Rotate180Flip or Rotate270Flip</Rotation>
    <Keywords>
      <Keyword>string</Keyword>
      <Keyword>string</Keyword>
    </Keywords>
    <Categories>
      <Category>int</Category>
      <Category>int</Category>
    </Categories>
    <Flags>None or HasTitle or HasCaption or HasKeywords or HasCategories or HasExif or HasComments</Flags>
    <TextCn>int</TextCn>
    <PricingKey>long</PricingKey>
    <MimeType>string</MimeType>
    <OriginalUrl>string</OriginalUrl>
    <UrlCore>string</UrlCore>
    <UrlHost>string</UrlHost>
    <UrlToken>string</UrlToken>
    <Copyright>string</Copyright>
    <FileHash>base64Binary</FileHash>
    <PageUrl>string</PageUrl>
    <ExifTags>
      <Id>int</Id>
      <Value>string</Value>
      <DisplayValue>string</DisplayValue>
    </ExifTags>
    <ExifTags>
      <Id>int</Id>
      <Value>string</Value>
      <DisplayValue>string</DisplayValue>
    </ExifTags>
    <ShortExif>string</ShortExif>
    <MailboxId>string</MailboxId>
    <IsVideo>boolean</IsVideo>
    <Duration>int</Duration>
  </Photo>
</ArrayOfPhoto1>

HTTP POST

The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.

POST /api/1.6/zfapi.asmx/GetPopularPhotos HTTP/1.1
Host: www.zenfolio.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

offset=string&limit=string
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfPhoto1 xmlns="http://www.zenfolio.com/api/1.6">
  <Photo>
    <Id>int</Id>
    <Width>unsignedInt</Width>
    <Height>unsignedInt</Height>
    <Sequence>string</Sequence>
    <AccessDescriptor>
      <RealmId>int</RealmId>
      <AccessType>Private or UserList or Password or Public</AccessType>
      <IsDerived>boolean</IsDerived>
      <AccessMask>ProtectAll or NoCollections or None or NoPrivateSearch or NoPublicSearch or NoRecentList or HideDateCreated or HideDateModified or HideDateTaken or ProtectExif or ProtectExtraLarge or ProtectLarge or ProtectMedium or HideMetaData or ProtectOriginals or HideUserStats or HideVisits or NoPublicGuestbookPosts or NoPrivateGuestbookPosts or NoAnonymousGuestbookPosts or NoPublicComments or NoPrivateComments or NoAnonymousComments or ProtectGuestbook or ProtectComments or PasswordProtectOriginals or ProtectXXLarge or UnprotectCover</AccessMask>
      <Viewers>
        <Viewer>string</Viewer>
        <Viewer>string</Viewer>
      </Viewers>
      <PasswordHint>string</PasswordHint>
      <SrcPasswordHint>string</SrcPasswordHint>
    </AccessDescriptor>
    <Title>string</Title>
    <Caption>string</Caption>
    <FileName>string</FileName>
    <UploadedOn>dateTime</UploadedOn>
    <TakenOn>dateTime</TakenOn>
    <Owner>string</Owner>
    <Gallery>int</Gallery>
    <Views>int</Views>
    <Size>int</Size>
    <Rotation>None or Rotate90 or Rotate180 or Rotate270 or Flip or Rotate90Flip or Rotate180Flip or Rotate270Flip</Rotation>
    <Keywords>
      <Keyword>string</Keyword>
      <Keyword>string</Keyword>
    </Keywords>
    <Categories>
      <Category>int</Category>
      <Category>int</Category>
    </Categories>
    <Flags>None or HasTitle or HasCaption or HasKeywords or HasCategories or HasExif or HasComments</Flags>
    <TextCn>int</TextCn>
    <PricingKey>long</PricingKey>
    <MimeType>string</MimeType>
    <OriginalUrl>string</OriginalUrl>
    <UrlCore>string</UrlCore>
    <UrlHost>string</UrlHost>
    <UrlToken>string</UrlToken>
    <Copyright>string</Copyright>
    <FileHash>base64Binary</FileHash>
    <PageUrl>string</PageUrl>
    <ExifTags>
      <Id>int</Id>
      <Value>string</Value>
      <DisplayValue>string</DisplayValue>
    </ExifTags>
    <ExifTags>
      <Id>int</Id>
      <Value>string</Value>
      <DisplayValue>string</DisplayValue>
    </ExifTags>
    <ShortExif>string</ShortExif>
    <MailboxId>string</MailboxId>
    <IsVideo>boolean</IsVideo>
    <Duration>int</Duration>
  </Photo>
  <Photo>
    <Id>int</Id>
    <Width>unsignedInt</Width>
    <Height>unsignedInt</Height>
    <Sequence>string</Sequence>
    <AccessDescriptor>
      <RealmId>int</RealmId>
      <AccessType>Private or UserList or Password or Public</AccessType>
      <IsDerived>boolean</IsDerived>
      <AccessMask>ProtectAll or NoCollections or None or NoPrivateSearch or NoPublicSearch or NoRecentList or HideDateCreated or HideDateModified or HideDateTaken or ProtectExif or ProtectExtraLarge or ProtectLarge or ProtectMedium or HideMetaData or ProtectOriginals or HideUserStats or HideVisits or NoPublicGuestbookPosts or NoPrivateGuestbookPosts or NoAnonymousGuestbookPosts or NoPublicComments or NoPrivateComments or NoAnonymousComments or ProtectGuestbook or ProtectComments or PasswordProtectOriginals or ProtectXXLarge or UnprotectCover</AccessMask>
      <Viewers>
        <Viewer>string</Viewer>
        <Viewer>string</Viewer>
      </Viewers>
      <PasswordHint>string</PasswordHint>
      <SrcPasswordHint>string</SrcPasswordHint>
    </AccessDescriptor>
    <Title>string</Title>
    <Caption>string</Caption>
    <FileName>string</FileName>
    <UploadedOn>dateTime</UploadedOn>
    <TakenOn>dateTime</TakenOn>
    <Owner>string</Owner>
    <Gallery>int</Gallery>
    <Views>int</Views>
    <Size>int</Size>
    <Rotation>None or Rotate90 or Rotate180 or Rotate270 or Flip or Rotate90Flip or Rotate180Flip or Rotate270Flip</Rotation>
    <Keywords>
      <Keyword>string</Keyword>
      <Keyword>string</Keyword>
    </Keywords>
    <Categories>
      <Category>int</Category>
      <Category>int</Category>
    </Categories>
    <Flags>None or HasTitle or HasCaption or HasKeywords or HasCategories or HasExif or HasComments</Flags>
    <TextCn>int</TextCn>
    <PricingKey>long</PricingKey>
    <MimeType>string</MimeType>
    <OriginalUrl>string</OriginalUrl>
    <UrlCore>string</UrlCore>
    <UrlHost>string</UrlHost>
    <UrlToken>string</UrlToken>
    <Copyright>string</Copyright>
    <FileHash>base64Binary</FileHash>
    <PageUrl>string</PageUrl>
    <ExifTags>
      <Id>int</Id>
      <Value>string</Value>
      <DisplayValue>string</DisplayValue>
    </ExifTags>
    <ExifTags>
      <Id>int</Id>
      <Value>string</Value>
      <DisplayValue>string</DisplayValue>
    </ExifTags>
    <ShortExif>string</ShortExif>
    <MailboxId>string</MailboxId>
    <IsVideo>boolean</IsVideo>
    <Duration>int</Duration>
  </Photo>
</ArrayOfPhoto1>


JSON-RPC

The following is a sample JSON-RPC request and response. The placeholders shown need to be replaced with actual values.

POST /api/1.6/zfapi.asmx HTTP/1.1
Host: www.zenfolio.com
Content-Type: application/json
Content-Length: length

{
    "method": "GetPopularPhotos",
    "params": [offset, limit],
    "id": id
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: length

{
    "result": value,
    "error": null,
    "id": id
}
Request
Response