Hirer relationships

Hirer relationships

The SEEK API authorises operations based on a set of relationships between you and your SEEK hirers. Each use case requires a corresponding relationship to allow you to act on behalf of the hirer:
Functionality shared between use cases will accept multiple relationship types. For example, position openings can be managed with either a JobPosting or ProactiveSourcing relationship.
SEEK’s support team must explicitly configure these relationships as part of onboarding a SEEK hirer to your software. GraphQL operations will fail with a FORBIDDEN error if a required relationship hasn’t been configured.

Before you begin

Before you start querying hirer relationships, you will need to request a partner token.
These queries also work with a browser token but will only return the hirer the browser token is scoped to. For the browser token to work, you will need to include the query:organizations scope in your request.

Operations

hiringOrganization

The hiringOrganization query will list your configured relationships with a SEEK hirer. If no relationship has been configured the query will fail with a FORBIDDEN error.
QueryVariablesResult
query($id: String!) {
  hiringOrganization(id: $id) {
    name
    seekApiCapabilities {
      relationshipTypeCodes
    }
  }
}

hiringOrganizations

The hiringOrganizations query will return a paginated list of all SEEK hirers you have a given relationship with.
QueryVariablesResult
query($schemeId: String!, $relationshipTypeCodes: [String!]!, $first: Int) {
  hiringOrganizations(
    schemeId: $schemeId
    filter: { relationshipTypeCodes: $relationshipTypeCodes }
    first: $first
  ) {
    edges {
      node {
        id {
          value
        }
        name
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}

self

When using a browser token, the self query will return the hirer the browser token is scoped to. This can be used to list a hirer’s relationships directly from your frontend without having to explicitly specify the hirer’s ID.
QueryResult
query {
  self {
    hirer {
      id {
        value
      }
      name
      seekApiCapabilities {
        relationshipTypeCodes
      }
    }
  }
}