Skip to content

API endpoints for submission details #2305

Open
@jamesrweb

Description

@jamesrweb

Is your feature request related to a problem? Please describe.
I built a codewars API client and test-users of that client have requested the ability to query for their challenge submissions almost every time they have given feedback but the API currently has no functionality for such a thing.

Describe the solution you'd like
As part of the API client constructor, people provide their username and API key. This means that the requests would be authenticatable on your end via the headers just like the documentation asks. Thus, I would imagine that the challenge submission information would be available at a set of endpoints extending the existing /code-challenges namespace like so:

  1. /code-challenges/:id/solutions/ (all solutions for a challenge, paginated)
  2. /code-challenges/:id/solutions/:user_id (all solutions by a specific user)
  3. /code-challenges/:id/solutions/:user_id/language/:language_id (all solutions by a user in a specific language)

These are just some ideas that come to mind but I am happy to discuss the topic further as things develop. Overall, it seems to me that this should be a pretty quick implementation since all the meta information exists in the API to some degree and the rest (i.e: the submissions themselves) already exist internally so exposure should be easy enough. Correct me if I am wrong on that assumption though.

Describe alternatives you've considered
I could build a crawler to manually go and sync information but to be honest that feels like overkill since there are many edge cases and most importantly of all, I would need to take the users password too for the login part which I don't want to do as I think it is wrong to ask for such information from a user of a 3rd party client like mine. It should just be part of the API in my opinion.

Additional context
None.

┆Issue is synchronized with this Clickup by Unito

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/apikind/feature-requestUse this when the request includes specific feature. Otherwise, use generic enhancement.

    Type

    No type

    Projects

    Status

    Planned

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions