What are algorithm interfaces?

Algorithm interfaces define the expected inputs and outputs for a submission to a challenge phase. As a challenge organizer, you specify which interfaces an algorithm must implement in order to be accepted as a valid submission. Learn more in the Define Inputs and Outputs documentation.

Interfaces are composed of individual sockets, each representing a single input or output.

An socket describes:

  • The type of data your algorithm should expect (e.g. image, JSON, PDF)
  • Where the input is read from
  • Where the output should be written to

Each algorithm must define at least one interface, but can support multiple interfaces if needed — allowing it to be submitted to different phases or challenges that require different input/output combinations. Read more about this in Choosing Input and Output Interfaces.

⚠️ To submit an algorithm to a specific phase, it must implement all interfaces defined for that phase.