for Developers
Your Signature Credentials Clear all
Get Started

Get Started

Recruiter's API signature is required for all API requests. This is used for authentication.

Along with your Client ID, you must send a signature hash based on your shared secret (your API key), and a current timestamp. You should include this hash as the value of the signature for every request.

While developing, you can use this tool to test your signature and to verify values created by your implementation.

Generating an API Signature

Request elements

Creating the signature: a string that is signed using your API key. The string must consist of the following concatenated items:

  • HTTP Method used for the request (e.g. GET, POST, PUT)
  • User-agent (e.g. Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0))
  • Full request URL (e.g. https://www.reed.co.uk/recruiter/api/1.0/jobs)
  • Host (always set to www.reed.co.uk)
  • Timestamp (exact same value as the one passed in the X-Timestamp, see below)

Create an HMAC-SHA1 hash of the string using the API key, then Base64 encode the hashed value.

I don't have an API key

If you don't have a API key you need to request one.

First, you'll need an account on reed.co.uk/recruiter . Then contact us to get your API key.

API Signature

Signature

The correct signature(s) is listed below.

It is possible to interpret the API key in different ways (i.e. as a string or as a .NET Guid), hence multiple signatures may be visible.

All signatures displayed below are equally valid. Only one needs to be provided in your request.

Correct Signature(s)

Concatened String (before hash)

Make sure that your implementation is generating the same output presented above.

Troubleshoot

My generated signature is not the same

If you are not achieving the same signature on your implementation, follow the steps below:

  • Check the Concatened String - Check if your generated concatened string contains extra white spaces or anything that differs from the result presented above. This includes the Timestamp which should be in UTC format including the hours offset, e.g. 2017-01-01T14:30:23+00:00
  • Check your API key bytes - If you use a language like C\C++ and Perl, your processor architecture could generate a different arrangement of bits for your API Key. See the section below if your API key bytes are arranged in the same way that we use to validate your signature.
  • Make sure to use HMAC-SHA1 for hashing - Other hash methods will generate results that will not match the correct signature. The hash method for the signature must be HMAC-SHA1.

Checking my API key

If you use a language like C\C++ and Perl, your processor architecture could generate a different arrangement of bits for your API Key.

Check at the section below if your API key bytes are arranged in the same way that we use to validate your signature.

API Token (Hexadecimal Notation)

How can I fix it ?

If the arrangement of bits is not the same, this might be a indication that it is in a little endian format.

You will need to swap the bytes from one little endian to big endian to get achieve the same signature. You can find more about Byte Swapping Libraries searching on Google or Bing .

Errors Summary

Unfortunately we have detected some errors. Please correct the errors below before you continue.

How can I fix it ?

Domain does not has a value

Make sure that your domain is always set to 'www.reed.co.uk'.

Also, check if it does not have any extra white spaces before or after.

Domain should be equal www.reed.co.uk

Make sure that your domain is always set to 'www.reed.co.uk'.

Also, check if it does not have any extra white spaces before or after.

Url address does not has a value

Make sure that your url address always has a value.

Your url request address must be set to a valid reed address (e.g. https://www.reed.co.uk/recruiter/api/1.0/jobs).

Also check if your API requests are using SSL. (use the https:// prefix on every URL).

URL address is too long

Make sure that your url request address is no longer than 2000 characters.

Your url request address must be set to a valid reed address (e.g. https://www.reed.co.uk/recruiter/api/1.0/jobs).

Ensure your API requests use SSL. (use the https:// prefix on every URL).

URL address is invalid

Make sure that your url request address is using a valid address (e.g. https://www.reed.co.uk/recruiter/api/1.0/jobs).

Ensure your API requests use SSL. (use the https:// prefix on every URL).

API key does not has a value

Make sure that your API key always has a value.

Your API key is represented by an unique 16-character key (e.g. '12345678-1234-1234-1234-123456789ABC').

API key is invalid

Make sure that your API key is in the right format.

Your API key is represented by an unique 16-character key (e.g. '12345678-1234-1234-1234-123456789ABC').

Client ID does not has a value

Make sure that your Client ID always has a value.

Your Client ID key is represented by an unique number (e.g. 123).

Also, your Client ID must be the same value that you are sending on the X-ApiClientId header variable.

Client ID is invalid

Make sure that your Client ID is in the right format.

Your Client ID key is represented by an unique number (e.g. 123).

Also, your Client ID must be the same value that you are sending on the X-ApiClientId header variable.

Http Method does not has a value

Make sure that your Http Method always has a value.

Your Http Method must be set with the same verb that you are using on your request (e.g. POST, GET, PUT).

Http Method is too long

Make sure that your Http Method is no longer than 20 characters.

Your Http Method must be set with the same verb that you are using on your request (e.g. POST, GET, PUT).

Http Method is invalid

Make sure that your Http Method contains a valid value (e.g. POST, GET, PUT).

Also, your Http Method must be set with the same verb that you are using on your request.

User Agent does not has a value

Make sure that your User Agent has a value.

Your User Agent must be set with the same agent that you are using on your request.

User Agent is too long

Make sure that your User Agent is no longer than 256 characters.

Your User Agent must be set with the same agent that you are using on your request.

User Agent is invalid

Make sure that your User Agent contains a valid value.

Your User Agent must be set with the same agent that you are using on your request.

Timestamp does not has a value

Make sure that your User Agent has a value.

Your timestamp must be in an Unix Time format (e.g. (2015-07-31T10:16:59Z) and no older than 5 minutes ago.

Also, your timestamp must be the same value that you are sending on the X-Timestamp header variable.

Timestamp is invalid

Make sure that your Timestamp is in the right format.

Your timestamp must be in an Unix Time format (e.g. (2015-07-31T10:16:59Z) and no older than 5 minutes ago.

Also, your timestamp must be the same value that you are sending on the X-Timestamp header variable.

Timestamp is too long

Timestamp has more than 256 chars.

Your timestamp must be in an Unix Time format (e.g. (2015-07-31T10:16:59Z) and no older than 5 minutes ago.

Also, your timestamp must be the same value that you are sending on the X-Timestamp header variable.

  • Jobs
  • |
  • Courses
  • |
  • Career advice
  • |
  • Advertise a job
Copyright © reed.co.uk 2025