Fluxiom API

Fluxiom loves your application!

The Fluxiom API allows you to hook into Fluxiom and connect it with other apps.
It can be used for retrieving and uploading assets, querying metadata, and more.
This enables Fluxiom to easily integrate with your workflow and the tools you already use.

Want to link your internal app to Fluxiom? Writing a plugin for your favorite CMS?
If your app needs advanced media management, the Fluxiom API can do it for you!

Making the URL

http[s]://SUBDOMAIN.fluxiom.com/api/REQUEST.FORMAT
subdomain The subdomain of your Fluxiom account.
request The data you want. The different request types are listed below.
format The data format (XML, JSON) you want to return.

Authentication

Authentication is performed via HTTP (only “Basic” is supported), and you’ll need to transmit your username and password along with your request. HTTPS must be used if interacting with an account with SSL support.

JSONP Callbacks

You can add a ?callback parameter to have the results wrapped in a JavaScript function:

curl ... https://SUBDOMAIN.fluxiom.com/api/assets.json?callback=foo

Try it out!

Try the API using curl on the command line:

curl -X GET -u USER:PASSWORD https://SUBDOMAIN.fluxiom.com/api/assets.xml

Account

Get account info

GET /api/account
Response xml json
<account>
  <subdomain>wollzelle</subdomain>
  <account_holder_id>1</account_holder_id>
  <company_name>Wollzelle GmbH</company_name>
  <address></address>
  <country></country>
  <location></location>
  <zip_code></zip_code>
  <plan ssl="true" stages="true" multiple_users="true" versions="true" branding="true" full_text_search="true">Promo</plan>
  <branding>active</branding>
  <branding_info>
    <title>wollzelle</title>
    <font_color>#ffffff</font_color>
    <top_color>#426fb3</top_color>
    <bottom_color>#5ebfff</bottom_color>
    <logo>/branding/logo.png</logo>
    <updated type="datetime">2010-02-01T00:00:00+01:00</updated>
  </branding_info>
  <trial>false</trial>
  <stats used_bandwidth="0" used_space="3635910222" available_space="39313762738" available_bandwidth="6442450944"/>
  <created_on type="datetime">2006-03-24T00:00:00+01:00</created_on>
  <updated_on type="datetime">2006-03-24T00:00:00+01:00</updated_on>
</account>
{
    "plan":"BasicPlus",
    "address":null,
    "location":null,
    "created_on":"2009-08-19T22:00:00Z",
    "stats":{
       "used_space":"8456140",
       "available_space":"30056314932",
       "used_bandwidth":"8014900",
       "available_bandwidth":"60121527244"
    },
    "trial":"false",
    "zip_code":null,
    "country":null,
    "company_name":"Wollzelle GmbH",
    "updated_on":"2009-08-19T22:00:00Z",
    "subdomain":"wollzelle",
    "branding_info":{
       "title":"wollzelle",
       "logo":"/branding/logo.png",
       "bottom_color":"#32302E",
       "top_color":"#000000",
       "font_color":"#ffffff",
       "updated":"2010-05-24T22:00:00Z"
    },
    "branding":"active",
    "account_holder_id":"1
"
}

Assets

Get assets

GET /api/assets
Parameters
query string search term
tags string tag names or IDs, comma separated
page integer current page number (defaults to 1)
per_page integer number of items per page (max. 100)
Response xml json
<documents type="array">
  <asset>
    <id type="integer">323569</id>
    <title>fluxiom logo</title>
    <version type="integer">0</version>
    <filename>logo.gif</filename>
    <description/>
    <content-type>image/gif</content-type>
    <thumb_url>/t/0dmqei828xe3f4cpg/323569/0/6xour6vq_64.jpg</thumb_url>
    <size type="integer">5060</size>
    <user-id>7915</user-id>
    <created-on type="date">2010-07-13T13:13:51+02:00</created-on>
    <updated-on type="date">2010-07-13T13:13:51+02:00</updated-on>
    <tags type="array">
      <tag>
        <id type="integer">101</id>
        <tag>fluxiom</tag>
      </tag>
      ...
    </tags>
    <metadata-type>Graphics Interchange Format (GIF)</metadata-type>
    <metadata-resolution-height>0</metadata-resolution-height>
    <metadata-pixel-height>70</metadata-pixel-height>
    <metadata-bits-per-sample>32</metadata-bits-per-sample>
    <metadata-color-space>RGB</metadata-color-space>
    <metadata-resolution-width>0</metadata-resolution-width>
    <metadata-orientation>0</metadata-orientation>
    <metadata-alpha-channel>false</metadata-alpha-channel>
    <metadata-pixel-width>208</metadata-pixel-width>
  </asset>
  ...
</documents>  
[
   {
      "title":"fluxiom logo",
      "thumb_url":"/t/01pzjkkxl051ol/18552/0/ebc62ck6w8p7c5nodq9_64.jpg",
      "id":18552,
      "filename":"logo.gif",
      "description":"The fluxiom logo"
   },
   ...
]

Get single asset

GET /api/assets/ID
Response xml json
<asset>
  <id type="integer">323569</id>
  <title>fluxiom logo</title>
  <version type="integer">0</version>
  <filename>logo.gif</filename>
  <description/>
  <content-type>image/gif</content-type>
  <thumb_url>/t/0dmqei828xe3f4cpg/323569/0/6xour6vq_64.jpg</thumb_url>
  <size type="integer">5060</size>
  <user-id>7915</user-id>
  <created-on type="date">2010-07-13T13:13:51+02:00</created-on>
  <updated-on type="date">2010-07-13T13:13:51+02:00</updated-on>
  <tags type="array">
    <tag>
      <id type="integer">101</id>
      <tag>fluxiom</tag>
    </tag>
    ...
  </tags>
  <metadata-type>Graphics Interchange Format (GIF)</metadata-type>
  <metadata-resolution-height>0</metadata-resolution-height>
  <metadata-pixel-height>70</metadata-pixel-height>
  <metadata-bits-per-sample>32</metadata-bits-per-sample>
  <metadata-color-space>RGB</metadata-color-space>
  <metadata-resolution-width>0</metadata-resolution-width>
  <metadata-orientation>0</metadata-orientation>
  <metadata-alpha-channel>false</metadata-alpha-channel>
  <metadata-pixel-width>208</metadata-pixel-width>
</asset>
{
   "metadata_alpha_channel":"true",
   "size":9462,
   "metadata_bits_per_sample":"40",
   "metadata_orientation":"0",
   "title":"fluxiom logo",
   "content_type":"image/gif",
   "created_on":"2010-07-21",
   "metadata_resolution_height":"0",
   "metadata_resolution_width":"0",
   "metadata_pixel_height":"70",
   "tags":[
      {
         "tag":"fluxiom",
         "id":101
      },
      ...
   ],
   "id":323569,
   "updated_on":"2010-07-21",
   "metadata_profile_name":"iMac",
   "version":0,
   "user_id":"7915",
   "metadata_pixel_width":"208",
   "filename":"logo.gif",
   "metadata_color_space":"RGB",
   "thumb_url":"/t/01pzjkkxl051ol/18552/0/ebc62ck6w8p7c5nodq9_64.jpg",
   "description":"the fluxiom logo",
   "metadata_type":"Graphics Interchange Format (GIF)"
}

Download asset

GET /api/assets/download/ID
Response
HTTP 200 OK (+ file data)

Create asset

POST /api/assets
Parameters
file postdata (required)
title string
description string
tags string tag names or IDs, comma separated
Response xml json
<asset>
  <id type="integer">18547</id>
  <title>fluxiom logo</title>
  <version type="integer">0</version>
  <filename>logo.gif</filename>
  <description>the fluxiom logo</description>
  <content-type>image/gif</content-type>
  <thumb_url>/images/assets/thumbs/generating-preview.gif</thumb_url>
  <size type="integer">9462</size>
  <user-id>35</user-id>
  <created-on type="date">2010-07-21T11:16:18+02:00</created-on>
  <updated-on type="date">2010-07-21T11:16:18+02:00</updated-on>
  <tags type="array">
    <tag>
      <id type="integer">101</id>
      <tag>fluxiom</tag>
    </tag>
    <tag>
      <id type="integer">102</id>
      <tag>logo</tag>
    </tag>
  </tags>
</asset>
{
   "size":9462,
   "title":"fluxiom logo",
   "content_type":"image/gif",
   "created_on":"2010-07-21",
   "tags":[
      {
         "tag":"design",
         "id":23
      },
      {
         "tag":"print",
         "id":84
      }
   ],
   "id":18555,
   "updated_on":"2010-07-21",
   "version":0,
   "user_id":"35",
   "filename":"logo.gif",
   "thumb_url":"/images/assets/thumbs/generating-preview.gif",
   "description":"the fluxiom logo"
}

Update asset

PUT /api/assets/ID
Parameters
title string
description string
tags string tag names or IDs, comma separated
Response xml json
<asset>
  <id type="integer">18547</id>
  <title>fluxiom logo updated</title>
  <version type="integer">0</version>
  <filename>logo.gif</filename>
  <description>the fluxiom logo updated</description>
  <content-type>image/gif</content-type>
  <thumb_url>/t/01pzjkkgckj0vj51ol/18551/0/ebb5o48zhi3si_64.jpg</thumb_url>
  <size type="integer">9462</size>
  <user-id>35</user-id>
  <created-on type="date">2010-07-21T11:21:52+02:00</created-on>
  <updated-on type="date">2010-07-21T11:36:13+02:00</updated-on>
  <tags type="array">
    <tag>
      <id type="integer">23</id>
      <tag>design</tag>
    </tag>
  </tags>
  <metadata-type>Graphics Interchange Format (GIF)</metadata-type>
  <metadata-profile-name>iMac</metadata-profile-name>
  <metadata-resolution-height>0</metadata-resolution-height>
  <metadata-pixel-height>70</metadata-pixel-height>
  <metadata-bits-per-sample>40</metadata-bits-per-sample>
  <metadata-color-space>RGB</metadata-color-space>
  <metadata-resolution-width>0</metadata-resolution-width>
  <metadata-orientation>0</metadata-orientation>
  <metadata-alpha-channel>true</metadata-alpha-channel>
  <metadata-pixel-width>208</metadata-pixel-width>
</asset>
{
   "metadata_alpha_channel":"true",
   "size":9462,
   "metadata_bits_per_sample":"40",
   "metadata_orientation":"0",
   "title":"fluxiom logo updated",
   "content_type":"image/gif",
   "created_on":"2010-07-21",
   "metadata_resolution_height":"0",
   "metadata_resolution_width":"0",
   "metadata_pixel_height":"70",
   "tags":[
      {
         "tag":"design",
         "id":23
      }
   ],
   "id":18555,
   "updated_on":"2010-07-21",
   "metadata_profile_name":"iMac",
   "version":0,
   "user_id":"35",
   "metadata_pixel_width":"208",
   "filename":"logo.gif",
   "metadata_color_space":"RGB",
   "thumb_url":"/t/01pzjkkxlark0zrggckj0vjxtqr051ol/18555/0/ebfj2u7as0x43sakq2r5e4ipcoivi2s02e_64.jpg",
   "description":"the fluxiom logo updated",
   "metadata_type":"Graphics Interchange Format (GIF)"
}

Delete asset

DELETE /api/assets/ID
Response
HTTP 200 OK

Get asset versions

GET /api/assets/ID/versions
Response xml json
<document-versions type="array">
  <version>
    <id type="integer">18630</id>
    <version type="integer">4</version>
    <filename>logo.gif</filename>
    <content-type>image/gif</content-type>
    <size type="integer">9462</size>
    <comment></comment>
    <user-id>35</user-id>
    <created-on type="date">2010-07-21T11:21:52+02:00</created-on>
    <updated-on type="date">2010-07-21T12:18:43+02:00</updated-on>
    <metadata>
      <type>Graphics Interchange Format (GIF)</type>
      <profile-name>iMac</profile-name>
      <resolution-height>0</resolution-height>
      <pixel-height>70</pixel-height>
      <bits-per-sample>40</bits-per-sample>
      <color-space>RGB</color-space>
      <resolution-width>0</resolution-width>
      <orientation>0</orientation>
      <alpha-channel>1</alpha-channel>
      <pixel-width>208</pixel-width>
    </metadata>
  </version>
  ...
</document-versions>
[
   {
      "comment":null,
      "size":9462,
      "content_type":"image/gif",
      "created_on":"2010-07-21",
      "metadata":{
         "alpha_channel":"1",
         "pixel_height":"70",
         "color_space":"RGB",
         "pixel_width":"208",
         "bits_per_sample":"40",
         "profile_name":"iMac",
         "type":"Graphics Interchange Format (GIF)",
         "orientation":"0",
         "resolution_height":"0",
         "resolution_width":"0"
      },
      "id":18630,
      "updated_on":"2010-07-21",
      "version":4,
      "user_id":"35",
      "filename":"logo.gif"
   },
   ...
]

Get single asset version

GET /api/assets/ID/versions/VID
Response xml json
<version>
  <id type="integer">18629</id>
  <version type="integer">3</version>
  <filename>logo.gif</filename>
  <content-type>image/gif</content-type>
  <size type="integer">9462</size>
  <comment>new version</comment>
  <user-id>35</user-id>
  <created-on type="date">2010-07-21T11:21:52+02:00</created-on>
  <updated-on type="date">2010-07-21T12:18:39+02:00</updated-on>
  <metadata>
    <type>Graphics Interchange Format (GIF)</type>
    <profile-name>iMac</profile-name>
    <resolution-height>0</resolution-height>
    <pixel-height>70</pixel-height>
    <bits-per-sample>40</bits-per-sample>
    <color-space>RGB</color-space>
    <resolution-width>0</resolution-width>
    <orientation>0</orientation>
    <alpha-channel>1</alpha-channel>
    <pixel-width>208</pixel-width>
  </metadata>
</version>
{
   "comment":"new version",
   "size":9462,
   "content_type":"image/gif",
   "created_on":"2010-07-21",
   "metadata":{
      "alpha_channel":"1",
      "pixel_height":"70",
      "color_space":"RGB",
      "pixel_width":"208",
      "bits_per_sample":"40",
      "profile_name":"iMac",
      "type":"Graphics Interchange Format (GIF)",
      "orientation":"0",
      "resolution_height":"0",
      "resolution_width":"0"
   },
   "id":18628,
   "updated_on":"2010-07-21",
   "version":2,
   "user_id":"35",
   "filename":"logo.gif"
}

Create asset version

POST /api/assets/ID/versions
Parameters
file postdata
comment string
Response xml json
<version>
  <id type="integer">18629</id>
  <version type="integer">3</version>
  <filename>logo.gif</filename>
  <content-type>image/gif</content-type>
  <size type="integer">9462</size>
  <comment>new version</comment>
  <user-id>35</user-id>
  <created-on type="date">2010-07-21T11:21:52+02:00</created-on>
  <updated-on type="date">2010-07-21T12:18:39+02:00</updated-on>
  <metadata>
    <type>Graphics Interchange Format (GIF)</type>
    <profile-name>iMac</profile-name>
    <resolution-height>0</resolution-height>
    <pixel-height>70</pixel-height>
    <bits-per-sample>40</bits-per-sample>
    <color-space>RGB</color-space>
    <resolution-width>0</resolution-width>
    <orientation>0</orientation>
    <alpha-channel>1</alpha-channel>
    <pixel-width>208</pixel-width>
  </metadata>
</version>
{
   "comment":"new version",
   "size":9462,
   "content_type":"image/gif",
   "created_on":"2010-07-21",
   "metadata":{
      "alpha_channel":"1",
      "pixel_height":"70",
      "color_space":"RGB",
      "pixel_width":"208",
      "bits_per_sample":"40",
      "profile_name":"iMac",
      "type":"Graphics Interchange Format (GIF)",
      "orientation":"0",
      "resolution_height":"0",
      "resolution_width":"0"
   },
   "id":18628,
   "updated_on":"2010-07-21",
   "version":2,
   "user_id":"35",
   "filename":"logo.gif"
}

Tags

Get tags

GET /api/tags
Response xml json
<tags type="array">
  <tag>
    <tag>wollzelle</tag>
    <id type="integer">9762</id>
    <documents-count type="integer">3</documents-count>
    <stages-count type="integer">0</stages-count>
  </tag>
  <tag>
    <tag>fluxiom</tag>
    <id type="integer">13409</id>
    <documents-count type="integer">20</documents-count>
    <stages-count type="integer">1</stages-count>
  </tag>
  ...
</tags>
[
   {
      "tag":"wollzelle",
      "id":9762,
      "documents_count":3,
      "stages_count":0
   },
   {
      "tag":"fluxiom",
      "id":13409,
      "documents_count":20,
      "stages_count":1
   },
   ...
]

Get single tag

GET /api/tags/ID
Response xml json
<tag>
  <tag>fluxiom</tag>
  <id type="integer">13409</id>
  <documents-count type="integer">20</documents-count>
  <stages-count type="integer">1</stages-count>  
</tag>
{
   "tag":"fluxiom",
   "id":13409,
   "documents_count":20,
   "stages_count":1   
}

Create tag

POST /api/tags
Parameters
tag string
Response xml json
<tag>
  <tag>new tag</tag>
  <id type="integer">14168</id>
</tag>
{
   "tag":"new tag",
   "id":14168
}

Update tag

PUT /api/tags/ID
Parameters
tag string
Response xml json
<tag>
  <tag>renamed tag</tag>
  <id type="integer">14168</id>
  <documents-count type="integer">0</documents-count>
  <stages-count type="integer">0</stages-count>
</tag>
{
   "tag":"renamed tag",
   "id":14168,
   "documents_count":0,
   "stages_count":0
}

Delete tag

DELETE /api/tags/ID
Response
HTTP 200 OK

Users

Get users

GET /api/users
Response xml json
<users type="array">
  <user>
    <id type="integer">5792</id>
    <first_name>Thomas</first_name>
    <last_name>Pamminger</last_name>
    <email>support@fluxiom.com</email>
    <created-on type="date">2009-03-24T09:05:02+01:00</created-on>
    <updated-on type="date">2010-07-15T16:52:18+02:00</updated-on>
    <rights type="array">
      <right>
        <id type="integer">3</id>
        <allow>assets.administrate</allow>
      </right>
      ...
    </rights>
    <groups type="array">
      <group>
        <id type="integer">1</id>
        <title>Standard users</title>
      </group>
      ...
    </groups>
  </user>
  ...
</users>
[   
   {
      "groups":[
         {
            "title":"Standard users",
            "id":1
         }
      ],
      "created_on":"2009-09-14",
      "rights":[
         {
            "allow":"asset.management",
            "id":4
         },
         {
            "allow":"assets.administrate",
            "id":3
         }
      ],
      "id":22,
      "updated_on":"2010-01-21",
      "last_name":"Pamminger",
      "email":"support@fluxiom.com",
      "first_name":"Thomas"
   },
   ...
]

Get single user

GET /api/users/ID
Response xml json
<user>
  <id type="integer">5792</id>
  <first_name>Thomas</first_name>
  <last_name>Pamminger</last_name>
  <email>support@fluxiom.com</email>
  <created-on type="date">2009-03-24T09:05:02+01:00</created-on>
  <updated-on type="date">2010-07-15T16:52:18+02:00</updated-on>
  <rights type="array">
    <right>
      <id type="integer">3</id>
      <allow>assets.administrate</allow>
    </right>
    ...
  </rights>
  <groups type="array">
    <group>
      <id type="integer">1</id>
      <title>Standard users</title>
    </group>
    ...
  </groups>
</user>
{
   "groups":[
      {
         "title":"Standard users",
         "id":1
      }
   ],
   "created_on":"2009-11-27",
   "rights":[
      {
         "allow":"asset.management",
         "id":4
      },
      {
         "allow":"assets.administrate",
         "id":3
      }
   ],
   "id":35,
   "updated_on":"2010-07-21",
   "last_name":"Pamminger",
   "email":"support@fluxiom.com",
   "first_name":"Thomas"
}

Get current user

GET /api/user
Response xml json
<user>
  <id type="integer">5792</id>
  <first_name>Thomas</first_name>
  <last_name>Pamminger</last_name>
  <email>support@fluxiom.com</email>
  <created-on type="date">2009-03-24T09:05:02+01:00</created-on>
  <updated-on type="date">2010-07-15T16:52:18+02:00</updated-on>
  <rights type="array">
    <right>
      <id type="integer">3</id>
      <allow>assets.administrate</allow>
    </right>
    ...
  </rights>
  <groups type="array">
    <group>
      <id type="integer">1</id>
      <title>Standard users</title>
    </group>
    ...
  </groups>
</user>
{
   "groups":[
      {
         "title":"Standard users",
         "id":1
      }
   ],
   "created_on":"2009-11-27",
   "rights":[
      {
         "allow":"asset.management",
         "id":4
      },
      {
         "allow":"assets.administrate",
         "id":3
      }
   ],
   "id":35,
   "updated_on":"2010-07-21",
   "last_name":"Pamminger",
   "email":"support@fluxiom.com",
   "first_name":"Thomas"
}