Applications

Applications are the submissions candidates make in response to your forms. Each application includes the candidate's answers to form fields, such as attachments, responses, and other submitted data. On this page, we'll dive into the different application endpoints you can use to manage applications programmatically. We'll look at how to query, create, update, and delete applications.

The application model

The application model contains all the data submitted by a candidate in response to a form, such as their answers to questions, uploaded documents, and status.

Properties

  • Name
    id
    Type
    string
    Description

    Unique identifier for the application.

  • Name
    form_id
    Type
    string
    Description

    The form to which the application belongs.

  • Name
    candidate_data
    Type
    object
    Description

    The data submitted by the candidate, including their responses and uploaded documents.

  • Name
    status
    Type
    string
    Description

    The current status of the application. Possible values are: "pending", "processing", "finished", "error".

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp of when the application was submitted.


GET/v1/applications

List all applications

This endpoint allows you to retrieve a paginated list of all submitted applications. By default, a maximum of ten applications are shown per page.

Optional query parameters

  • Name
    jobId
    Type
    string
    Description

    The ID of the job for which applications are being retrieved.

  • Name
    candidateId
    Type
    string
    Description

    The ID of the candidate whose applications are being retrieved.

  • Name
    limit
    Type
    integer
    Description

    Limit the number of applications returned (default is 10).

  • Name
    offset
    Type
    integer
    Description

    The offset for pagination (default is 0).

  • Name
    status
    Type
    string
    Description

    Filter applications by their status. Possible values are: "pending", "processing", "finished", "error".

  • Name
    section
    Type
    number
    Description

    Filter applications by section.

  • Name
    agg_created_at
    Type
    string
    Description

    Filter applications by creation date.

  • Name
    agg_modified_at
    Type
    string
    Description

    Filter applications by modification date.

Request

GET
/v1/applications
curl -G https://api.semantikmatch.com/v1/applications \
  -H "Authorization: Bearer {token}" \
  -d limit=10

Response

{
  "has_more": false,
  "data": [
    {
      "section": 1730327909273,
      "agg_id": "9c9d7ce8-d565-4e53-b0a2-cf969ba282c8",
      "agg_created_at": "2024-11-27T15:30:04.396Z",
      "agg_modified_at": "2024-11-27T15:34:09.746Z",
      "agg_candidate_id": "fc4dfa93-aa6c-41a3-a340-5c222958370d",
      "agg_job_id": "50b23f9a-1670-48f8-a666-e64011cb43e2",
      "status": "finished",
      "candidate": {
        "agg_id": "fc4dfa93-aa6c-41a3-a340-5c222958370d",
        "agg_firstname": "Yamin",
        "agg_lastname": "Legzouli",
        "email": "user@example.com"
      }
    }
    // ... other applications ...
  ]
}

POST/v1/applications/submit

Submit an application

This endpoint allows you to submit a new application along with files for a specific job. Applications contain the candidate's data, such as answers to questions and document uploads.

Required attributes

  • Name
    firstname
    Type
    string
    Description

    The first name of the candidate.

  • Name
    lastname
    Type
    string
    Description

    The last name of the candidate.

  • Name
    email
    Type
    string
    Description

    The email address of the candidate.

  • Name
    jobId
    Type
    string
    Description

    The ID of the job for which the application is being submitted.

  • Name
    files
    Type
    array
    Description

    An array of files to be uploaded with the application.

Request

POST
/v1/applications/submit
curl -X POST https://api.semantikmatch.com/v1/applications/submit \
  -H "Authorization: Bearer {token}" \
  -F "firstname=John" \
  -F "lastname=Doe" \
  -F "email=john.doe@example.com" \
  -F "jobId=1" \
  -F "files=@/path/to/file1.pdf" \
  -F "files=@/path/to/file2.pdf"

Response

{
  "firstname": "John",
  "lastname": "Doe",
  "email": "john.doe@example.com",
  "applicationId": "501" // The ID of the created application
}

GET/v1/applications/:id

Retrieve an application

This endpoint allows you to retrieve a specific application by providing its ID. The response includes all the data submitted by the candidate.

Path parameters

  • Name
    id
    Type
    string
    Description

    The ID of the application to retrieve.

Request

GET
/v1/applications/{id}
curl https://api.semantikmatch.com/v1/applications/501 \
  -H "Authorization: Bearer {token}"

Response

{
  "agg_id": "501",
  "agg_candidate_id": "123",
  "agg_job_id": "1",
  "status": "finished",
  "createdAt": "2023-10-01T12:00:00Z",
  "updatedAt": "2023-10-02T12:00:00Z",
  "candidate": {
    "firstname": "John",
    "lastname": "Doe",
    "email": "john.doe@example.com"
  }
}

DELETE/v1/applications/:id

Delete an application

This endpoint allows you to delete a specific application by its ID. Once deleted, all the submitted data will be removed.

Path parameters

  • Name
    id
    Type
    string
    Description

    The ID of the application to delete.

Request

DELETE
/v1/applications/{id}
curl -X DELETE https://api.semantikmatch.com/v1/applications/501 \
  -H "Authorization: Bearer {token}"

Response

{
  "message": "Application deleted successfully"
}

Was this page helpful?