OpenChallenges REST API (1.0.0)

Download OpenAPI specification:Download

Challenge

Operations about challenges.

List challenges

List challenges

query Parameters
object (ChallengeSearchQuery)

The search query used to find challenges.

Responses

Response samples

Content type
application/json
{
  • "number": 99,
  • "size": 99,
  • "totalElements": 99,
  • "totalPages": 99,
  • "hasNext": true,
  • "hasPrevious": true,
  • "challenges": [
    ]
}

Get a challenge

Returns the challenge specified

path Parameters
challengeId
required
integer <int64> (ChallengeId)
Example: 1

The unique identifier of the challenge.

Responses

Response samples

Content type
{
  • "id": 1,
  • "slug": "awesome-challenge",
  • "name": "string",
  • "headline": "Example challenge headline",
  • "description": "This is an example description of the challenge.",
  • "status": "active",
  • "platform": {
    },
  • "websiteUrl": "https://openchallenges.io",
  • "incentives": [
    ],
  • "submissionTypes": [
    ],
  • "inputDataTypes": [],
  • "categories": [
    ],
  • "startDate": "2017-07-21",
  • "endDate": "2017-07-21",
  • "starredCount": 100,
  • "operation": {},
  • "createdAt": "2022-07-04T22:19:11Z",
  • "updatedAt": "2022-07-04T22:19:11Z"
}

ChallengeAnalytics

Operations about challenge analytics.

Get the number of challenges tracked per year

Returns the number of challenges tracked per year

Responses

Response samples

Content type
application/json
{
  • "years": [
    ],
  • "challengeCounts": [
    ],
  • "undatedChallengeCount": 0
}

ChallengePlatform

Operations about challenge platforms.

List challenge platforms

List challenge platforms

query Parameters
object (ChallengePlatformSearchQuery)

The search query used to find challenge platforms.

Responses

Response samples

Content type
application/json
{
  • "number": 99,
  • "size": 99,
  • "totalElements": 99,
  • "totalPages": 99,
  • "hasNext": true,
  • "hasPrevious": true,
  • "challengePlatforms": []
}

Get a challenge platform

Returns the challenge platform specified

path Parameters
challengePlatformName
required
string (ChallengePlatformName) [ 3 .. 30 ] characters

The unique identifier of the challenge platform.

Responses

Response samples

Content type
application/json
{}

EdamConcept

Operations about EDAM concepts.

List EDAM concepts

List EDAM concepts

query Parameters
object (EdamConceptSearchQuery)

The search query used to find EDAM concepts.

Responses

Response samples

Content type
application/json
{
  • "number": 99,
  • "size": 99,
  • "totalElements": 99,
  • "totalPages": 99,
  • "hasNext": true,
  • "hasPrevious": true,
  • "edamConcepts": []
}

Image

Operations about images

Get an image

Returns the image specified.

query Parameters
object (ImageQuery)

The query used to get an image.

Responses

Response samples

Content type
application/json

Organization

Operations about organizations

List organizations

List organizations

query Parameters
object (OrganizationSearchQuery)

The search query used to find organizations.

Responses

Response samples

Content type
application/json
{
  • "number": 99,
  • "size": 99,
  • "totalElements": 99,
  • "totalPages": 99,
  • "hasNext": true,
  • "hasPrevious": true,
  • "organizations": [
    ]
}

Get an organization

Returns the organization specified

path Parameters
org
required
string [ 1 .. 64 ] characters
Examples:
  • dream -
  • 1 -

The id or login of the organization.

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Example organization",
  • "login": "example-org",
  • "description": "A description of the organization.",
  • "avatarKey": "logo/dream.png",
  • "websiteUrl": "https://openchallenges.io",
  • "challengeCount": 10,
  • "createdAt": "2022-07-04T22:19:11Z",
  • "updatedAt": "2022-07-04T22:19:11Z",
  • "acronym": "OC"
}

User

Operations about users

Create a user

Create a user with the specified account name

Request Body schema: application/json
required
login
required
string
email
required
string <email> (Email)

An email address.

password
required
string <password>
name
string or null
avatarUrl
string or null <url>
bio
string or null

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "id": "507f1f77bcf86cd799439011"
}

Get all users

Returns the users

query Parameters
pageNumber
integer <int32> >= 0
Default: 0

The page number.

pageSize
integer <int32> >= 1
Default: 100

The number of items in a single page.

Responses

Response samples

Content type
application/json
{
  • "number": 99,
  • "size": 99,
  • "totalElements": 99,
  • "totalPages": 99,
  • "hasNext": true,
  • "hasPrevious": true,
  • "users": [
    ]
}

Get a user

Returns the user specified

path Parameters
userId
required
integer <int64> (AccountId)
Example: 1

The unique identifier of the user, either the user account ID or login

Responses

Response samples

Content type
application/json
{
  • "login": "awesome-user",
  • "email": "awesome-user@example.org",
  • "name": "Awesome User",
  • "status": "approved",
  • "bio": "A great bio",
  • "createdAt": "2017-07-08T16:18:44-04:00",
  • "updatedAt": "2017-07-08T16:18:44-04:00",
  • "type": "User"
}

Delete a user

Deletes the user specified

path Parameters
userId
required
integer <int64> (AccountId)
Example: 1

The unique identifier of the user, either the user account ID or login

Responses

Response samples

Content type
application/json
{ }

ChallengeContribution

List challenge contributions

List challenge contributions

path Parameters
challengeId
required
integer <int64> (ChallengeId)
Example: 1

The unique identifier of the challenge.

Responses

Response samples

Content type
application/json
{
  • "number": 99,
  • "size": 99,
  • "totalElements": 99,
  • "totalPages": 99,
  • "hasNext": true,
  • "hasPrevious": true,
  • "challengeContributions": [
    ]
}