---
title: "Submit"
method: POST
path: "/portals/{portal_id}/jobs/{job_id}"
tags: ["Portals"]
---

# Submit

`POST /portals/{portal_id}/jobs/{job_id}`

## Request

- Base URL: `https://api.catsone.com`
- URL: `https://api.catsone.com/portals/{portal_id}/jobs/{job_id}`
- Auth: none declared

Using this endpoint, you can submit a new application for a specific job on a portal.

The body of this request should have a fields key with an array of job application field objects as its value.
To determine which fields need to be included in a call,
see [job application](#jobs-list-applications) and [job application fields](#jobs-list-application-fields). Each object
can/should have the following keys/values:

* **id**: (integer, required) All fields will have an id.

* **value**: (string|boolean|object|null, required) All fields will also have a value. Text and text-like fields accept
strings.
File fields should be a **base64 encoded string** of your file as the value. Others only accept objects or booleans.
See the examples below for all the different cases. You can find out what type a field is
by fetching that field from [job application fields](#jobs-list-application-fields).

* **filename**: (string) This field is only used/required for file fields. Since files are passed at 64bit encoded
strings with no name, you must pass a filename here.

See below for a full example with all field types.

## Path parameters

- `portal_id` number, required
- `job_id` number, required

## Request body

- object
  - `fields` unknown[]: An example with all fields types: ``` { "fields": [ { /* file */ "id": 523423, "value": "SGVsbG8gV29ybGQ=", "filename": "helloworld.txt" }, { /* text */ "id": 523591, "value": "James" }, { /* multiline */ "id": 524022 "value": "line 1\r\nline 2" }, { /* checkbox */ "id": 524156 "value": true }, { /* checkboxes */ "id": 524221 "value": { "3251": true, "3991": true } }, { /* radio/select */ "id": 524221 "value": { "4126": true } } ], "source": "Google" } ```
    - unknown
  - `source` string: If the applicant is brand new to the system, what you provide in the source field will be set as their source. If they are not new to the system, their existing source will *NOT* be overwritten. If source is not provided it defaults to "Career Portal".

## Response `201`

Created

---

[API](https://skmtc.dev/catsone/apis/cats-api-v3.md) - [All operations](https://skmtc.dev/catsone/apis/cats-api-v3/llms.txt) - [OpenAPI document](https://skmtc.dev/catsone/apis/cats-api-v3/revisions/dedbbade450d?raw)
