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
application/json
{
  • "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,
  • "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
}

ChallengeInputDataType

Operations about challenge input data types.

List challenge input data types

List challenge input data types

query Parameters
object (ChallengeInputDataTypeSearchQuery)

The search query used to find challenge input data types.

Responses

Response samples

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

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
{}

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
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": [
    ]
}