Skip to content

Latest commit

 

History

History
227 lines (184 loc) · 7.87 KB

File metadata and controls

227 lines (184 loc) · 7.87 KB

Overview

The MySupply Client APIs provides access to client level information and within MySupply.

You will need CareerBuilder OAuth credentials to use this API, and auth code flow is required as document retrieval must be performed on behalf of a CareerBuilder user.

What is a "Client"?

MyCandidates is a private data store, and we use clients to assign ownership of subsets of myCandidates data. Each client has a unique key. Currently there is one client key for each axiom account with data in myCandidates

Clients have top level information about the client, and they also own Attribute types.

Client API

Resource URI

https://api.careerbuilder.com/corporate/mysupply/client

Actions

GET

Retrieves the list of all active clients and their data.

{
    "data": [
        {
            "client_key": "CK8Q0276KVZS0Z0LYVLM",
            "client_name": "Amerit Consulting Inc.",
            "account_did": "A7A0RX6PY8FX77TQ0RW",
        }
    ]
}

GET

https://api.careerbuilder.com/corporate/mysupply/client/{id}

Returns information for a specific client by providing a ClientKey/AccountDID or PIID

{
    "data": {
        "client_name": "Personified",
        "account_did": "A7F0PT78MTMZ470WBBT",
        "product_instance_id": "",
        "client_key": "CKHT82M6S1Y6DRRBSQLY",
        "default_fields": [
            {
                "name": "application_job_source",
                "is_facetable": true,
                "is_searchable": true
            },
            {
                "name": "application_job_title",
                "is_facetable": true,
                "is_searchable": true
            }
        ],
        "custom_fields": [
            {
                "name": "TESTCUSTOMFIELD",
                "label": "This is a test field",
                "vendor_key": "VK7G3XS5ZJ5JY861L7M0",
                "vendor_name": "TALENTGATHER",
                "vendor_display_name": "Talent Gather",
                "is_facetable": false,
                "is_searchable": true
            }
        ],
        "attribute_fields": [
            {
                "name": "Available_Date",
                "label": "Available Date",
                "vendor_key": "VK7G3XS5ZJ5JY861L7M0",
                "vendor_name": "TALENTGATHER",
                "vendor_display_name": "Talent Gather",
                "is_facetable": true,
                "is_searchable": true
            }
        ]
    }
}

Client Custom Fields API

Resource URI

https://api.careerbuilder.com/corporate/mysupply/candidate/client/{id}/customfields

Custom Fields

GET

returns all the custom fields defined for that ClientKey, AccountDID or ProductInstanceID

{
  "data": {
    "custom_fields": [
        {
            "name": "MyCustomFieldName_HasCDL",
            "label": "Do you possess a CDL?",
            "vendor_key": "VK5K5ZB61ZLSWX5PXKV8",
            "is_facetable": true,
            "is_searchable": true
        },
        {
            "name": "SomeOtherCustomField",
            "label": "Any random question text here",
            "vendor_key": "VK5K5ZB61ZLSWX5PXKV8",
            "is_facetable": false,
            "is_searchable": true
        }
    ]
  }
}

Client Attribute Types API

Attribute types are defined per client. Their values are defined per candidate. See the Attribute API

Resource URI

https://api.careerbuilder.com/corporate/mysupply/candidate/client/{clientkey}/attribute

Actions

GET

returns all the attribute types defined for that client key

{
    "data": {
        "attribute_types": [
            {
                "type": "Available_Date",
                "label": "Available Date",
                "owner_vendor_key": "VK1234567890"
            },
            {
                "type": "CAMPAIGN_DELIVERED",
                "label": "CAMPAIGN_DELIVERED",
                "owner_vendor_key": "VK1234567890"
            },
        ]
    }
 }

POST

Creates a new attribute type for the specified client. This operation is an upsert, meaning if the type already exists, it is not re-created or duplicated.

{
    "type":"yournewtype",
    "label": "Your New Type",
    "owner_vendor_key": "Vendor Key of vendor creating attribute"
}

PUT Multiple Types for a Client

[PUT {accountDID}/attribute/]

An attribute type can only exist for an account once and are currently de-duplicated internally.

This endpoint will create type definitions and update any matching existing types with the new definition.

The request body consists of a JSON array of the following JSON object:

{
    [
        {
            "type": "**type**",
            "label": "**label**"
        }
    ]
}

type is required and is the identifier for the type.

label is required and is the name that will be returned when searching.

vendorkey is a required QSVAR that is used to specify the owning myCandidates vendor. This field is by the Search UI for grouping attributes under their owning vendors. POST {candidate_email}/attribute/{type}

A 200 and the values placed is returned upon success.

{
    "data": {
        "Attributes": [
            {
                "clientkey": "CK1234567890",
                "owner_vendor_key": "VK1234567890",
                "type": "emailcampaign",
                "label": "Email Campaign",
                "is_searchable": true,
                "is_facetable": true
            },
            {
                "clientkey": "CK1234567890",
                "owner_vendor_key": "VK1234567890",
                "type": "Interview",
                "label": "Interview",
                "is_searchable": true,
                "is_facetable": true
            },
            {
                "clientkey": "CK1234567890",
                "owner_vendor_key": "VK1234567890",
                "type": "Favorite_Color",
                "label": "What's Your Favorite Color?",
                "is_searchable": true,
                "is_facetable": true
            },
         ]
    }
}