ApplicationsCreate Application

Create Application

Create a Job Application to a Company using the Company's ID.

curl -X POST "https://api.getkini.com/applications/" \
  -H "Content-Type: application/json" \
  -H "Company-Id: 1" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "job": 123456,
  "talent_channel": 1,
  "external_job_id": "EXT-123456",
  "application_url": "https://careers.example.com/jobs/123456/apply",
  "agency_job_id": "EXT-AGENCY-001",
  "partner_job_id": "EXT-JOB-001",
  "partner_company_id": "EXT-COMPANY-001",
  "partner_application_id": "EXT-APPLICATION-001",
  "candidate": {
    "email": "john.doe@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "full_name": "John Doe",
    "gender": "MALE",
    "birthdate": "1990-01-15",
    "language": "de",
    "nationality": "DE",
    "phone": "+49 170 1234567",
    "location": {
      "street": "Example Street 2",
      "city": "Berlin",
      "country": "Germany",
      "postcode": "10117"
    },
    "skills": [
      "Python",
      "Django",
      "React"
    ]
  },
  "applied_at": "2026-08-04T07:41:12.338291Z",
  "notes": "Application received via Quick Apply.",
  "channel": "Indeed",
  "social_links": {
    "LinkedIn": "https://www.linkedin.com/in/johndoe",
    "Website": "https://www.example.com/john-doe",
    "Xing": "https://www.xing.com/profile/John_Doe"
  },
  "screening_questions": [
    {
      "id": "sq-001",
      "question": "Do you have a valid work permit for Germany?",
      "answer_type": "boolean",
      "answer": "true"
    }
  ],
  "custom_fields": {
    "source_campaign": "spring-hiring-2026"
  },
  "attachments": [
    {
      "type": "cv",
      "name": "john-doe-cv.pdf",
      "content_type": "application/pdf",
      "data": "JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50..."
    }
  ]
}'
{
  "id": 1,
  "company": 1,
  "job": 123456,
  "talent_channel": 1,
  "external_job_id": "EXT-123456",
  "application_url": "https://careers.example.com/jobs/123456/apply",
  "agency_job_id": "EXT-AGENCY-001",
  "partner_job_id": "EXT-JOB-001",
  "partner_company_id": "EXT-COMPANY-001",
  "partner_application_id": "EXT-APPLICATION-001",
  "candidate": {
    "email": "john.doe@example.com",
    "first_name": "John",
    "last_name": "Doe",
    "full_name": "John Doe",
    "gender": "MALE",
    "phone": "+49 170 1234567",
    "location": {
      "street": "Example Street 2",
      "city": "Berlin",
      "country": "Germany",
      "postcode": "10117"
    },
    "skills": [
      "Python",
      "Django",
      "React"
    ]
  },
  "applied_at": "2026-08-04T07:41:12.338291Z",
  "notes": "Application received via Quick Apply.",
  "channel": "Indeed",
  "social_links": {
    "LinkedIn": "https://www.linkedin.com/in/johndoe",
    "Website": "https://www.example.com/john-doe",
    "Xing": "https://www.xing.com/profile/John_Doe"
  },
  "screening_questions": [
    {
      "id": "sq-001",
      "question": "Do you have a valid work permit for Germany?",
      "answer_type": "boolean",
      "answer": "true"
    }
  ],
  "custom_fields": {
    "source_campaign": "spring-hiring-2026"
  },
  "attachments": [
    {
      "type": "cv",
      "name": "john-doe-cv.pdf",
      "content_type": "application/pdf"
    }
  ],
  "import_source": "api"
}
POST
/applications/
POST
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer <your_api_key>.

Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer <your_api_key>.
Content-Typestring
Required

The media type of the request body

Options: application/json, application/x-www-form-urlencoded, multipart/form-data
jobinteger

Kini ID of the job applied for (either job or external_job_id is required)

talent_channelinteger

Kini ID of the talent channel the application came from. Resolved from channel when omitted on create.

external_job_idstring

Job's ID in external ATS systems, used for integrations (either job or external_job_id is required)

Min length: 1
application_urlstring

URL the candidate applied through. An alternative to job and external_job_id for identifying the job.

Format: uri • Max length: 2000
agency_job_idstring

External ID of the job in the agency's system

partner_job_idstring

External ID of the job in the partner's system (e.g. Jobboard)

partner_company_idstring

External ID of the company in the partner's system (e.g. ATS)

partner_application_idstring

External ID of the application in the partner's system (e.g. Jobboard)

applied_atstring

Timestamp of when the candidate submitted the application. Defaults to the time of the request.

Format: date-time
notesstring

Internal notes about the application

channelstring

External posting channel from which the application was received

custom_fieldsobject

Additional fields for the application as key-value pairs

attachmentsarray

List of attachments provided by the applicant. The total request body must stay below 27.5 MB — with Base64 overhead this allows roughly 20 MB of raw attachment files per application.

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. Authenticate every request with an API key from the Kini Partner App, sent as Authorization: Bearer \<your_api_key\>.

Headers

Company-Idinteger
Required

ID of the Company

Example:
1

Body

jobinteger

Kini ID of the job applied for (either job or external_job_id is required)

Example:
123456
talent_channelinteger

Kini ID of the talent channel the application came from. Resolved from channel when omitted on create.

Example:
1
external_job_idstring

Job's ID in external ATS systems, used for integrations (either job or external_job_id is required)

Example:
EXT-123456
application_urlstring

URL the candidate applied through. An alternative to job and external_job_id for identifying the job.

Example:
https://careers.example.com/jobs/123456/apply
agency_job_idstring

External ID of the job in the agency's system

Example:
EXT-AGENCY-001
partner_job_idstring

External ID of the job in the partner's system (e.g. Jobboard)

Example:
EXT-JOB-001
partner_company_idstring

External ID of the company in the partner's system (e.g. ATS)

Example:
EXT-COMPANY-001
partner_application_idstring

External ID of the application in the partner's system (e.g. Jobboard)

Example:
EXT-APPLICATION-001
candidateobject
Required
applied_atstring

Timestamp of when the candidate submitted the application. Defaults to the time of the request.

Example:
2026-08-04T07:41:12.338291Z
notesstring

Internal notes about the application

Example:
Application received via Quick Apply.
channelstring

External posting channel from which the application was received

Example:
Indeed
custom_fieldsobject

Additional fields for the application as key-value pairs

Example:
{"source_campaign":"spring-hiring-2026"}
attachmentsarray

List of attachments provided by the applicant. The total request body must stay below 27.5 MB — with Base64 overhead this allows roughly 20 MB of raw attachment files per application.

Responses