For developers

Build hiring and HR into everything

Every screen Silky has, hiring and HR, is built on the same public REST API. Post a job, run the hire, onboard the new starter, approve leave, offboard a leaver. Headless, well documented, full access. Build your own interface, run it from Slack, or let your AI run it all.

Free plan included. No credit card. Keys ready in minutes.

Build on the API.

Every screen Silky has is built on the same public REST API. Headless. Well documented. Full access. Replace our UI with yours, or skip a UI entirely.

Full access. No restrictions.

API docs →

api.silky.soPOST/v1/jobsAuthorization: Bearer sk_live_••••{"title":"Senior Backend Engineer","location":"Remote, UK","publish":true}201Created · job posted · careers page live

Built for your AI to run.

Magic-link signup, structured endpoints for every action, clear schemas your AI can reason over. Your agent can sign up, post a role, run screens, and send the offer. No UI required.

Give it the URL. Walk away.

API docs →

YOUR AI · TALKING TO SILKYYOUR AGENTPost a Senior Backend Engineer role.sPosted. Careers page live atcareers.acme.soYOUR AGENTShortlist to top 5. Schedule screens.s47 applied · 5 shortlisted · screens booked for Thu.

HR on the same API.

Hiring is only the front half. Read your people directory, add staff who never went through hiring, approve and decline leave, onboard a new starter, offboard a leaver, rehire a boomerang. The whole employee lifecycle, same keys, same engine. Salary and bank details never leave the product.

Hire to retire. One API.

API docs →

api.silky.soGET/v1/employees{"name":"Priya Nair""job_title":"Staff Engineer""status":"active""alumni":false}salary, banknever served · comp stays in-product

Run it from Slack.

Every action routes through one registry, so it is Slack-ready the day it ships. Approve leave, add an employee, post a role, or start offboarding from a channel. The same action runs from the API, Cmd+K, and your AI, with the same permissions and the same audit trail.

One action. Every surface.

API docs →

# peopleMMaya@silky approve Priya's leave for next weeksSilkyApproved. 3 days booked, Mon-Wed.12 days left this year. Manager notified.approve_leavepeople:writeSame action runs from the API, Cmd+K, or your AI.

What you can build.

Full REST API

Every action in the product is an endpoint. Post jobs, read candidates, run screens, send offers, and manage your people. Nothing is held back for the UI.

Hire to retire

The whole employee lifecycle, not just hiring. Read the people directory, add staff, approve leave, onboard a new starter, offboard a leaver, bring a boomerang back.

Run it from Slack

Every action is Slack-ready by default. Approve leave, add an employee, post a role, or start offboarding without leaving the channel. One action, every surface.

Webhooks for every event

Subscribe to pipeline and people changes and get HMAC-signed, replay-protected events the moment a candidate moves, applies, is scored, or a leave request lands.

Built for AI agents

Magic-link signup and clear schemas your agent can reason over. Hand it the URL and it can sign up, post a role, run the hire, and approve next week's leave.

Comp stays private

Salary and bank details are never served by the API and no scope unlocks them. People reads sit behind their own scoped keys. Sensitive data stays in the product.

Build your own UI.

Use our interface, or build your own. The whole product runs on the same public API, so you can create your own recruitment app and run hiring exactly how you want. Build it in Lovable, Claude Code, Replit, or whatever you reach for. It is your front end on our engine.

Lovable

Describe the recruitment app you want and wire it to the Silky API. Your candidates, your screens, your brand.

Claude Code

Point your agent at the API docs and let it build the front end. Every endpoint is documented for an AI to read.

Replit

Spin up a full-stack app and hit the same endpoints our own product runs on. Nothing is held back.

One request. Job posted, or leave approved.

Authenticate with a scoped key and send the role; the careers page goes live. Send a people action and it runs with the same permissions your team has in the product. Every action works the same way, hiring and HR.

Read the API docs →
POST /v1/jobs
curl https://api.silky.so/v1/jobs \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Senior Backend Engineer",
    "location": "Remote, UK",
    "publish": true
  }'
POST /v1/batch · approve_leave
curl https://api.silky.so/v1/batch \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "operations": [
      { "op": "approve_leave",
        "payload": { "request_id": "lvr_8h3k2p" } }
    ]
  }'

Built to a standard.

The same practices you expect from Stripe or Resend. No shared secrets, no manual steps, no surprises.

  • ·Server-generated keys, scoped per permission
  • ·HMAC-SHA256 signatures on every webhook
  • ·Idempotency keys on all mutating requests
  • ·Cursor-based pagination across every list
  • ·Typed external IDs (job_, cnd_, app_, emp_, lvr_)
  • ·Async jobs return 202 with a task ID

Start building.

Free forever. No credit card required.