UX Forum API

/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.",
    "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.",
    "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. Use base directory of the entry in path.",
    "banner_eb": "Banner with aspect ratio optimal for Eventbrite. 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": "Autio 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."
    }
]