Skip to main content
StartupJobs Dev
Martina Folkova avatar
Written by Martina Folkova
Updated over 4 months ago

Build your career website using the listings from StartupJobs or import candidates into your own system. You can easily manage both with our API!

  • Public API

1. Authorization

Access to the api endpoints is granted by the Bearer token, the token must be sent in each request. Each company is provided with a unique token.

Authorization: Bearer <token>

2. Offers list

Endpoint returns list of active visible offers.

  • Endpoint URL

    GET

    https://api.startupjobs.cz/company/offers
  • Query Parameters

    none
  • Request example

    https://api.startupjobs.cz/company/offers
  • Response

    200 OK
  • Headers

    Content-type: application/json
  • Body

    [
    {
    "id": "9629f28d-78b5-4194-90f9-996cd6cf2aa9",
    "links": [
    {
    "url": "https://www.startupjobs.cz/nabidka/1234",
    "lang": "cs"
    },
    {
    "url": "https://www.startupjobs.cz/en/job/1234",
    "lang": "en"
    }
    ],
    "names": [
    {
    "name": "StartupJobs PHP žralok",
    "lang": "cs"
    },
    {
    "name": "StartupJobs PHP shark",
    "lang": "en"
    }
    ],
    "internal_name": "PHP programátor",
    "descriptions": [
    {
    "description": "<p>Pojď pracovat s námi! StartupJobs</p>",
    "lang": "cs"
    },
    {
    "description": "<p>Come work with us! StartupJobs</p>",
    "lang": "en"
    }
    ],
    "locations": [
    "Praha, Česko"
    ],
    "shifts": [
    {
    "name": "FULL_TIME",
    "hours": 160
    },
    {
    "name": "PART_TIME",
    "hours": 80
    }
    ],
    "collaborations": [
    {
    "id": 1,
    "collaboration": "external"
    },
    {
    "id": 2,
    "collaboration": "remote"
    },
    {
    "id": 3,
    "collaboration": "internship"
    }
    ],
    "seniorities": [
    {
    "id": 1,
    "seniority": "junior"
    }
    ],
    "areas": [
    {
    "id": 1,
    "area": "Vývoj"
    },
    {
    "id": 2,
    "area": "Back-End"
    },
    {
    "id": 4,
    "area": "PHP"
    }
    ],
    "salary": {
    "min": 50000,
    "max": 80000,
    "measure": "monthly",
    "currency": "CZK"
    },
    "benefits": [
    {
    "id": 1,
    "benefit": "13. a 14. plat"
    },
    {
    "id": 6,
    "benefit": "Čas na inovace"
    },
    {
    "id": 7,
    "benefit": "Čas na vlastní projekt"
    }
    ],
    "created_at": "2020-07-08T13:46:45",
    "updated_at": "2020-07-08T13:59:47",
    "valid_until": "2020-08-07T13:47:24"
    }
    ]


3. Candidates list

Endpoint returns a list of company candidates.

  • Endpoint URL

GET

https://api.startupjobs.cz/company/applications
  • Query Parameters

  • Request example

    https://api.startupjobs.cz/company/applications?offer=1e8c1d7b-673a-42b6-9da9-5eeb2a8ce308&created_at.gt=2020-04-01&createad_at.lt=2020-05-01
  • Response

    200 OK
  • Headers

    Content-type: application/json
  • Body

    [
    {
    "id": "3e51e86d-9562-4611-a8a4-97412569f446",
    "name": "Pan Žralok",
    "created_at": "2020-07-08T13:56:43",
    "offer": {
    "id": "9629f28d-78b5-4194-90f9-996cd6cf2aa9",
    "names": [
    {
    "name": "StartupJobs PHP zralok",
    "lang": "cs"
    },
    {
    "name": "StartupJobs PHP shark",
    "lang": "en"
    }
    ],
    "created_at": "2020-07-08T13:46:45"
    }
    }
    ]

4. Candidate detail

Endpoint returns detailed info about candidate.

  • Endpoint URL

    GET

    https://api.startupjobs.cz/company/applications/{candidate uuid}
  • Query Parameters

    none
  • Request example

    https://api.startupjobs.cz/company/applications/3e51e86d-9562-4611-a8a4-97412569f446
  • Response

    200 OK
  • Headers

    Content-type: application/json
  • Body

    {
    "id": "5bf84a69-3a5c-4ddb-8cea-ae111bd262c5",
    "name": "Pan Žralok",
    "email": "zralok@startupjobs.cz",
    "phone": "123 456 789",
    "linkedin": {
    "url": "https://www.linkedin.com/panzralok"
    },
    "text": "Umím skvěle programovat v PHP!",
    "attachments": [
    {
    "url": "https://www.startupjobs.cz/uploads/panzralok.png"
    }
    ],
    "notes": null,
    "status": "new",
    "offer": {
    "id": "9629f28d-78b5-4194-90f9-996cd6cf2aa9",
    "name": [
    {
    "name": "StartupJobs PHP žralok",
    "lang": "cs"
    },
    {
    "name": "StartupJobs PHP shark",
    "lang": "en"
    }
    ],
    "internal_position_name": "PHP programátor"
    },
    "created_at": "2020-07-08T13:59:47"
    }

5. Watchdog subscription

Endpoint enables the registeration of users' emails to the watchdog newsletter. The newsletter is sent when the company adds a new offer.

Would you like to try this endpoint? Contact .support@startupjobs.com

  • Webhooks

On StartupJobs, you can use webhooks to get information about candidates.

1. How to set up a webhook?

When adding or editing an offer in the Additional Options section, you can enter a URL (webhook) where we'll send you information about interested candidates immediately after they've signed up.

The webhook must return an HTTP response code of 200, 201, 202, 204, or 422; otherwise, we will automatically delete the webhook.

2. JSON payload

We send candidate information in JSON format.

{
"date": "2017-09-11T18:19:15+02:00",
"candidateID": 12345,
"offerID": 1234,
"name": "Pan Žralok",
"position": "Vývojář webhooků",
"why": "<p>Chci se stát vývojářem webhooků na StartupJobs.cz, protože mě to baví!</p>",
"phone": "+420 725 875 752",
"email": "dev@startupjobs.cz",
"details": "https://www.startupjobs.cz/admin/company/zajemce/32437/pan-zralok?oid=1234",
"linkedin": "https://linkedin.com/pan-zralok",
"internalPositionName": "JOB1",
"files": [
"https://www.startupjobs.cz/download/file.pdf"
],
"gdpr_accepted": true
}

3. Test Payload

When setting up a webhook (adding/editing an offer in the "Additional Options" section), you can send a test request (simulating a candidate's application). The payload of the test request includes an additional value ("test": true).

{
"date": "2017-09-11T18:19:15+02:00",
"candidateID": 12345,
"offerID": 1234,
"name": "Mr. Shark",
"position": "Webhook developer",
"why": "<p>Hello from StartupJobs. This is not a real candidate, just testing your webhook.</p>",
"phone": "+420 725 875 752",
"email": "dev@startupjobs.cz",
"details": "https://www.startupjobs.cz/",
"linkedin": "https://linkedin.com/",
"internalPositionName": "JOB1",
"files": [
"https://www.startupjobs.cz/favicon.ico"
],
"gdpr_accepted": true,
"test": true
}

If you have any questions, don't hesitate to contact us at support@startupjobs.com

Did this answer your question?