Skip to Content
EndpointsApplications

Applications

Student applications and employer access to application records.

Create application

Creates a student application for a job or returns the existing application for the same user and job.

POST/api/applications

Auth: Bearer token or Clerk session.

Request body

{
  "job_id": "22222222-2222-2222-2222-222222222222"
}

Response body

{
  "id": "33333333-3333-3333-3333-333333333333",
  "job_id": "22222222-2222-2222-2222-222222222222",
  "user_id": "00000000-0000-0000-0000-000000000000"
}

Status codes

  • 201 Created
  • 400 Bad Request
  • 401 Unauthorized
  • 403 Forbidden
  • 404 Not Found
  • 500 Internal Server Error

Error format

{
  "error": "Unauthorized",
  "code": "unauthorized"
}

Routes use the shared JSON error envelope; exact `code` values depend on the endpoint.

List current user applications

Lists applications for the authenticated user.

GET/api/applications/user

Auth: Bearer token or Clerk session.

Response body

[
  {
    "id": "33333333-3333-3333-3333-333333333333",
    "job_id": "22222222-2222-2222-2222-222222222222",
    "user_id": "00000000-0000-0000-0000-000000000000"
  }
]

Status codes

  • 200 OK
  • 401 Unauthorized
  • 500 Internal Server Error

Error format

{
  "error": "Unauthorized",
  "code": "unauthorized"
}

Routes use the shared JSON error envelope; exact `code` values depend on the endpoint.

List applications for job

Lists applications for a job owned by the authenticated employer company.

GET/api/applications/job/{jobId}

Auth: Bearer token or Clerk session.

Response body

[
  {
    "id": "33333333-3333-3333-3333-333333333333",
    "job_id": "22222222-2222-2222-2222-222222222222",
    "user_id": "00000000-0000-0000-0000-000000000000"
  }
]

Status codes

  • 200 OK
  • 401 Unauthorized
  • 404 Not Found
  • 500 Internal Server Error

Error format

{
  "error": "Unauthorized",
  "code": "unauthorized"
}

Routes use the shared JSON error envelope; exact `code` values depend on the endpoint.

Get application

Returns one application for its owner or for the employer who owns the related job.

GET/api/applications/{applicationId}

Auth: Bearer token or Clerk session.

Response body

{
  "id": "33333333-3333-3333-3333-333333333333",
  "job_id": "22222222-2222-2222-2222-222222222222",
  "user_id": "00000000-0000-0000-0000-000000000000"
}

Status codes

  • 200 OK
  • 401 Unauthorized
  • 404 Not Found
  • 500 Internal Server Error

Error format

{
  "error": "Unauthorized",
  "code": "unauthorized"
}

Routes use the shared JSON error envelope; exact `code` values depend on the endpoint.

Delete application

Deletes an application owned by the authenticated user.

DELETE/api/applications/{applicationId}

Auth: Bearer token or Clerk session.

Response body

No response body.

Status codes

  • 204 No Content
  • 401 Unauthorized
  • 404 Not Found
  • 500 Internal Server Error

Error format

{
  "error": "Unauthorized",
  "code": "unauthorized"
}

Routes use the shared JSON error envelope; exact `code` values depend on the endpoint.