API

Documentation

Version 1.0

Employers API

The Employers API allows you to programmatically manage employer accounts, job postings, and applicant interactions on the AutoTechJobs platform.

GET

/employers/profile

Retrieve the profile information for the authenticated employer account.

Example Request

curl -X GET   "https://api.autotechjobs.co.uk/v1/employers/profile"   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"

Example Response

{
  "data": {
    "id": "emp_123456",
    "company_name": "Tech Innovations Ltd",
    "company_description": "A leading technology company specializing in...",
    "website": "https://techinnovations.example.com",
    "logo_url": "https://example.com/logos/tech-innovations.png",
    "industry": "Information Technology",
    "company_size": "51-200",
    "founded_year": 2015,
    "headquarters": "London, UK",
    "contact": {
      "email": "[email protected]",
      "phone": "+44 20 1234 5678",
      "address": {
        "line1": "123 Tech Street",
        "line2": "Suite 456",
        "city": "London",
        "postal_code": "EC1A 1BB",
        "country": "United Kingdom"
      }
    },
    "social_media": {
      "linkedin": "https://linkedin.com/company/tech-innovations",
      "twitter": "https://twitter.com/techinnovations",
      "facebook": "https://facebook.com/techinnovations"
    },
    "subscription": {
      "plan": "premium",
      "status": "active",
      "expires_at": "2025-12-31T23:59:59Z"
    },
    "created_at": "2023-01-15T10:30:00Z",
    "updated_at": "2025-03-20T14:45:00Z"
  }
}
PUT

/employers/profile

Update the profile information for the authenticated employer account.

Request Body

FieldTypeRequiredDescription
company_namestringNoName of the company
company_descriptionstringNoDescription of the company
websitestringNoCompany website URL
industrystringNoCompany industry
company_sizestringNoSize of the company (e.g., "1-10", "11-50", "51-200")
contactobjectNoContact information (email, phone, address)
social_mediaobjectNoSocial media links

Example Request

curl -X PUT   "https://api.autotechjobs.co.uk/v1/employers/profile"   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{
    "company_description": "Updated company description with our latest achievements...",
    "website": "https://techinnovations-updated.example.com",
    "contact": {
      "email": "[email protected]",
      "phone": "+44 20 9876 5432"
    },
    "social_media": {
      "linkedin": "https://linkedin.com/company/tech-innovations-updated"
    }
  }'

Example Response

{
  "data": {
    "id": "emp_123456",
    "company_name": "Tech Innovations Ltd",
    "company_description": "Updated company description with our latest achievements...",
    "website": "https://techinnovations-updated.example.com",
    "logo_url": "https://example.com/logos/tech-innovations.png",
    "industry": "Information Technology",
    "company_size": "51-200",
    "founded_year": 2015,
    "headquarters": "London, UK",
    "contact": {
      "email": "[email protected]",
      "phone": "+44 20 9876 5432",
      "address": {
        "line1": "123 Tech Street",
        "line2": "Suite 456",
        "city": "London",
        "postal_code": "EC1A 1BB",
        "country": "United Kingdom"
      }
    },
    "social_media": {
      "linkedin": "https://linkedin.com/company/tech-innovations-updated",
      "twitter": "https://twitter.com/techinnovations",
      "facebook": "https://facebook.com/techinnovations"
    },
    "subscription": {
      "plan": "premium",
      "status": "active",
      "expires_at": "2025-12-31T23:59:59Z"
    },
    "created_at": "2023-01-15T10:30:00Z",
    "updated_at": "2025-04-10T20:32:13Z"
  }
}
GET

/employers/jobs

Retrieve all job listings for the authenticated employer account.

Query Parameters

ParameterTypeDescription
pageintegerPage number for pagination (default: 1)
limitintegerNumber of results per page (default: 20, max: 100)
statusstringFilter by job status: active, inactive, expired, draft (default: all)
sortstringSort by: created_at, expires_at, title (default: created_at)
orderstringSort order: asc or desc (default: desc)

Example Request

curl -X GET   "https://api.autotechjobs.co.uk/v1/employers/jobs?status=active&sort=created_at&order=desc"   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"

Example Response

{
  "data": [
    {
      "id": "job_123456",
      "title": "Senior React Developer",
      "location": "London, UK",
      "category": "software-engineering",
      "type": "full-time",
      "salary": {
        "min": 60000,
        "max": 80000,
        "currency": "GBP",
        "period": "year"
      },
      "status": "active",
      "is_featured": true,
      "is_urgent": false,
      "is_highlighted": true,
      "applications_count": 12,
      "views_count": 345,
      "posted_at": "2025-04-01T10:00:00Z",
      "expires_at": "2025-05-01T10:00:00Z"
    },
    // More job listings...
  ],
  "meta": {
    "pagination": {
      "total": 5,
      "pages": 1,
      "page": 1,
      "limit": 20
    }
  }
}
GET

/employers/jobs/:id/applications

Retrieve all applications for a specific job listing.

Path Parameters

ParameterTypeDescription
idstringJob ID

Query Parameters

ParameterTypeDescription
pageintegerPage number for pagination (default: 1)
limitintegerNumber of results per page (default: 20, max: 100)
statusstringFilter by application status: new, reviewed, contacted, rejected, hired (default: all)

Example Request

curl -X GET   "https://api.autotechjobs.co.uk/v1/employers/jobs/job_123456/applications?status=new"   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"

Example Response

{
  "data": [
    {
      "id": "app_123456",
      "job_id": "job_123456",
      "candidate": {
        "id": "cand_789012",
        "name": "Jane Smith",
        "email": "[email protected]",
        "phone": "+44 7123 456789",
        "location": "Manchester, UK"
      },
      "cover_letter": "I am writing to express my interest in the Senior React Developer position...",
      "resume_url": "https://api.autotechjobs.co.uk/v1/employers/applications/app_123456/resume",
      "status": "new",
      "applied_at": "2025-04-05T14:30:00Z",
      "updated_at": "2025-04-05T14:30:00Z"
    },
    // More applications...
  ],
  "meta": {
    "pagination": {
      "total": 8,
      "pages": 1,
      "page": 1,
      "limit": 20
    }
  }
}

Additional Endpoints

The Employers API also includes the following endpoints:

  • POST /employers/jobs/:id/activate - Activate a job listing (requires payment)
  • PUT /employers/jobs/:id/applications/:app_id/status - Update application status
  • GET /employers/analytics - Get analytics for employer job listings
  • GET /employers/billing - Get billing information and history
  • POST /employers/billing/payment-methods - Add a payment method