UX Forum API

WARNING: We are working on a new version of API which will feature major changes and will not be backwards compatible. Let us know via our Facebook page if you use or plan to use our API and we will communicate the changes with you ahead of time.

/api

Prints HTML documentation of the API.

All JSON outputs can be beautified appending parameter ?json at the end of the URL.

/api/entries

Returns JSON with all entries.

/api/entries/next

Returns array containing JSON representations of the next upcoming or ongoing entries, if there are any. Otherwise, returns status code 204.

/api/entries/newest

Returns JSON of the newest entry. It can be upcoming, ongoing or already finished one.

/api/entries/{id}

Returns JSON of a specific entry based on an provided ID. If the ID is invalid then returns status code 404.

/api/partners

Returns JSON with all partners.

/api/partners/{index}

Returns JSON of a specific partner based on an provided index. Index starts at 0. If the index is out of bounds then returns status code 404.

/api/team

Returns JSON with all team members.

/api/team/{index}

Returns JSON of a specific team member based on an provided index. Index starts at 0. If the index is out of bounds then returns status code 404.


Resources

/resources

/resources/logo

Logo of UX Forum in SVG format.

/resources/preview

Social media preview thumbnail of UX Forum page.

/resources/favicons

/resources/favicons/{size}

Favicons of various sizes with ratio 1:1. Possible sizes:

  • 16
  • 32
  • 48

/resources/icons

/resources/icons/{size}

Icons of various sizes with ratio 1:1. Possible sizes:

  • 72
  • 76
  • 96
  • 120
  • 128
  • 144
  • 152
  • 180
  • 192
  • 384
  • 512

Redirects

/{social}

Redirects to social platforms used by UX Forum.

Possible values:

/{service}

Redirects to sites used by the latest entry.

Possible values:

/entries

/entries/newest|{id}

/entries/newest|{id}/{service}

Redirects to sites used by the specific entry.

Possible values:

  • register
  • livestream
  • photos
  • feedback
  • facebook
  • slido
  • uxforum


Entry JSON

Disclaimer: All of the values can be undefined or null. Please make sure to properly test for these possibilities.

{
    "id": "ID of the entry.",
    "dir": "Base directory of the entry. Concate it before files belonging to the entry alongside domain name. Example: uxforum.sk\/{dir}{file}",
    "status": "Status of the entry related to its timestamp. Can have values: 'draft', 'upcoming', 'ongoing', 'finished'.",
    "type": "Type of the entry.",
    "language": "Main language of the entry and its description. Individual talks can have different languages.",
    "difficulty": "Value from 1 to 3 describing the difficulty of topic. 1 means it is viable for public while 3 means it is tailored toward senior experts.",
    "draft": "Entry is still an unpublished draft. If set as true then overrides publish timestamp. Unpublished entries are not available in the API.",
    "title": "Main headline of the event. It usually represents the name of the topic.",
    "subtitle": "Subtitle is used as an additional information used in conjuction with the title headline.",
    "description": "Description of an entry summarizing the content.",
    "freeform": "Custom field using HTML tags to enable more advanced control over description of the topic. Can be used as addition to the original description.",
    "mc": "Name of the master of ceremony for this event.",
    "publish": "Time when entry is published. Timestamp value encoded as a string. Unpublished entries are not available in the API.",
    "start": "Start of the entry. Timestamp value encoded as a string.",
    "end": "End of the entry. Timestamp value encoded as a string.",
    "location": "Building or specific name of a venue where event takes place.",
    "address": "Address of the venue where event takes place.",
    "country": "Code of a country in which the event will take place.",
    "map": "Picture of a map used to find the venue. Use base directory of the entry in path.",
    "banner_fb": "Banner with aspect ratio optimal for Facebook (1800x942). Use base directory of the entry in path.",
    "banner_eb": "Banner with aspect ratio optimal for Eventbrite (2160x1080). Use base directory of the entry in path.",
    "color": "Abstract name of the color used in conjuction with branding for the entry.",
    "color_rgb": "RGB code of the color used in conjuction with branding for the entry.",
    "gradient": "Boolean describing whether gradient is used in branding of the entry.",
    "gradient_rgb": "RGB code of the right-most color used in gradient in branding of the entry. Left-most color is the original color.",
    "urls": {
        "register": "URL to ticket selling site for the entry.",
        "livestream": "URL to site with livestream of the entry.",
        "photos": "URL to album with photos from the entry.",
        "feedback": "URL to feedback form for the entry.",
        "facebook": "URL to Facebook event for the entry.",
        "slido": "URL to Slido event for the entry used for polls and questions during event.",
        "uxforum": "URL to specific entry on uxforum page."
    },
    "talks": [
        {
            "title": "Title of the talk.",
            "speakers": [
                {
                    "name": "Name of the speaker.",
                    "image": "Profile picture of the speaker. Use base directory of the entry in path.",
                    "role": "Role of the speaker in a company or organisation she represents.",
                    "company": "Copmany or organization the speaker represents or works at.",
                    "bio": "Biography of the speaker.",
                    "description": "Description of the talk.",
                    "freeform": "Custom field using HTML tags to enable more advanced control over description of the talk. Can be used as addition to the original description."
                }
            ],
            "sources": {
                "slides": "Slides for the talk. Use base directory of the entry in path.",
                "video": "Video recording of the talk.",
                "audio": "Audio recording of the talk.",
                "article": "Article which is related to or mentioned during the talk."
            },
            "language": "Language of the talk and its content."
        }
    ],
    "disable_search": "Boolean stating whether entry is searchable. Be careful with the logic: True means the entry has disabled search, false means the search is allowed.",
    "tags": [
        "Tags used for searching."
    ]
}

Partner JSON

[
    {
        "name": "Name of the partner.",
        "image": "Partner's logo in SVG format using only one color. It is recommended that you use logo provided by the partner.",
        "url": "URL to partner's website."
    }
]

Team member JSON

Disclaimer: Value of URL can be undefined or null. Please make sure to properly test for this possibility.

[
    {
        "name": "Name of the team member",
        "image": "Path to the photo of the team member. Append it to the server path of uxforum webpage.",
        "role": "Role of the team member at the company where they work.",
        "url": "URL to social media profile of the team member."
    }
]