# Labor

## Professional History (PF10)

Returns a list of companies that the person probably works for or has worked for and the period of each professional experience.

**Section:** `pfOccupationData`

**Required parameter:** `cpf`

**Optional parameter:** `birthDate` _This information is required in some sources to complete the execution of minors_

{% tabs %}
{% tab title="Schema" %}
| Attribute                            | Type    | Description                                                |
| ------------------------------------ | ------- | ---------------------------------------------------------- |
| statusCode                           | String  | Query status ([details](../../data-structure#status-code)) |
| data                                 | Object  | Return data                                                |
| data.professions                     | Array   | List of objects with the details of each job found         |
| data.professions\[x].sector          | String  | Company sector                                             |
| data.professions\[x].companyIdNumber | String  | Company identification number (cnpj)                       |
| data.professions\[x].companyName     | String  | Company name (trade name)                                  |
| data.professions\[x].status          | String  | Employment status (ACTIVE / INACTIVE)                      |
| data.professions\[x].incomeRange     | String  | Salary Range                                               |
| data.professions\[x].startDate       | Date    | Job start or admission date                                |
| data.professions\[x].endDate         | Date    | Job end or dismissal date                                  |
| data.professions\[x].lastUpdateDate  | Date    | Date of last update                                        |
| data.isEmployed                      | Boolean | Indicates whether the person is employed or not            |
{% endtab %}

{% tab title="Example" %}
```json
{
  "statusCode": "01",
  "data": {
    "professions": [
      {
        "sector": "PRIVATE - XXXXXXX - IT",
        "companyIdNumber": "61160438000636",
        "companyName": "COMBATEAFRAUDE TECNOLOGIA DA INFORMACAO S.A.",
        "status": "ACTIVE",
        "incomeRange": "",
        "startDate": "2018-03-13T00:00:00Z",
        "endDate": "9999-12-31T23:59:59.9999999",
        "lastUpdateDate": "2022-08-19T00:00:00Z"
      }
    ],
    "isEmployed": "true"
  }
}
```
{% endtab %}
{% endtabs %}

## Economic Relationships (PF36)

Returns the list of entities related to the queried individual in an economic scope, which includes types of relationships such as equity interests in companies, and employment relationships (for which details can be seen in the Professional Data dataset, among others).

**Section:** `pfBusinessRelationships`

**Required parameter:** `cpf`

{% tabs %}
{% tab title="Schema" %}
| Attribute                                               | Type   | Description                                                |
| ------------------------------------------------------- | ------ | ---------------------------------------------------------- |
| statusCode                                              | String | Query status ([details](../../data-structure#status-code)) |
| data                                                    | Object | Return data                                                |
| data.businessRelationships                              | Array  | Array of objects with economic relationships               |
| data.businessRelationships\[x].relatedEntityTaxIdNumber | String | Number of the Entity relationship                          |
| data.businessRelationships\[x].relatedEntityTaxIdType   | String | Type of Entity relationship                                |
| data.businessRelationships\[x].relatedEntityName        | String | Name                                                       |
| data.businessRelationships\[x].relationshipType         | String | Relationship type                                          |
| data.businessRelationships\[x].relationshipLevel        | String | Relationship Level                                         |
| data.businessRelationships\[x].relationshipStartDate    | String | Relationship Start Date                                    |
| data.businessRelationships\[x].relationshipEndDate      | String | Relationship End                                           |
| data.businessRelationships\[x].lastUpdateDate           | String | Last maintained                                            |
{% endtab %}

{% tab title="Example" %}
```json
{
  "statusCode": "01",
  "data": {
    "businessRelationships": [
      {
        "relatedEntityTaxIdNumber": "6XX60XXX000XXX",
        "relatedEntityTaxIdType": "CNPJ",
        "relatedEntityName": "COMBATEAFRAUDE S.A.",
        "relationshipType": "EMPLOYMENT",
        "relationshipLevel": "DIRECT",
        "relationshipStartDate": "2018-03-13T00:00:00Z",
        "relationshipEndDate": "0001-01-01T00:00:00Z",
        "lastUpdateDate": "2022-08-19T00:00:00Z"
      }
    ],
  }
}
```
{% endtab %}
{% endtabs %}

## Government Social Assistance (PF16)

Returns if the person is part of Bolsa Família or some other government benefit. Along with the value of these benefits.

**Section:** `pfSocialAssistance`

**Required parameter:** `cpf`

{% tabs %}
{% tab title="Schema" %}
| Attribute                                   | Type    | Description                                                        |
| ------------------------------------------- | ------- | ------------------------------------------------------------------ |
| statusCode                                  | String  | Query status ([details](../../data-structure#status-code))         |
| data                                        | Object  | Return data                                                        |
| data.socialAssistances                      | Array   | List of social assistance programs                                 |
| data.socialAssistances\[x].programName      | String  | Program name                                                       |
| data.socialAssistances\[x].programState     | String  | State where the program is applied                                 |
| data.socialAssistances\[x].assistanceAmount | String  | Amount received by the assistance program                          |
| data.totalAssistances                       | String  | Total amount of assistance the person has received                 |
| data.isReceivingAssistance                  | Boolean | Indicates whether the person is currently receiving any assistance |
{% endtab %}

{% tab title="Example" %}
```json
{
  "statusCode": "01",
  "data": {
    "socialAssistances": null,
    "totalAssistances": "0",
    "isReceivingAssistance": false
  }
}
```
{% endtab %}
{% endtabs %}

## Class Councils (PF37)

Returns whether this person is associated with any class council such as: OAB, CREA, CRA, ...

**Section:** `pfClassOrganization`

**Required parameter:** `cpf`

{% tabs %}
{% tab title="Schema" %}
| Attribute                           | Type   | Description                                                |
| ----------------------------------- | ------ | ---------------------------------------------------------- |
| statusCode                          | String | Query status ([details](../../data-structure#status-code)) |
| data                                | Object | Return data                                                |
| memberships                         | Array  | Class Organization data                                    |
| memberships\[x].organizationName    | String | Organization name                                          |
| memberships\[x].organizationCountry | String | Organization country                                       |
| memberships\[x].organizationType    | String | Type of organization                                       |
| memberships\[x].organizationChapter | String | State where the organization operates                      |
| memberships\[x].registrationId      | String | Registration Id                                            |
| memberships\[x].category            | String | Category                                                   |
| memberships\[x].status              | String | Status                                                     |
| memberships\[x].membershipStartDate | String | Date person joined                                         |
| memberships\[x].membershipEndDate   | String | Date membership ended                                      |
{% endtab %}

{% tab title="Example" %}
```json
{
  "statusCode": 0,
  "data": {
    "memberships": [
      {
        "organizationName": "XXXXXXXXXXXX",
        "organizationCountry": "BRAZIL",
        "organizationType": "CLASS ASSOCIATION",
        "organizationChapter": "SP",
        "registrationId": "SP00000",
        "category": "ENGENHEIRO(A) DE COMPUTACAO",
        "status": "INATIVO",
        "membershipStartDate": "0001-01-01T00:00:00Z",
        "membershipEndDate": "9999-12-31T23:59:59.9999999"
      },
    ]
  }
}
```
{% endtab %}

{% tab title="Validations Rules" %}
| Rule                          | Description                                               |
| ----------------------------- | --------------------------------------------------------- |
| has\_no\_class\_organizations | Checks if the CPF has links to professional associations. |
{% endtab %}
{% endtabs %}

## Labor Debts (PF98)

Returns the result of issuing a negative certificate of labor debts for a given CPF

**Section:** `pfLaborDebts`

**Required parameter:** `cpf`

{% tabs %}
{% tab title="Schema" %}
| Attribute                | Type   | Description                                                |
| ------------------------ | ------ | ---------------------------------------------------------- |
| statusCode               | String | Query status ([details](../../data-structure#status-code)) |
| data                     | Object | Return data                                                |
| data.message             | String | Return message                                             |
| data.status              | String | Status (found/not found)                                   |
| data.certificateValidity | String | Certificate validity                                       |
{% endtab %}

{% tab title="Example" %}
```json
{
  "statusCode": "01",
  "data": {
    "message": "Consulta realizada com sucesso.",
    "status": "NADA CONSTA",
    "certificateValidity": "20/06/2023 - 180 (cento e oitenta) dias, contados da data de sua expedição."
  }
}
```
{% endtab %}

{% tab title="Validations Rules" %}
| Rule                  | Description                                        |
| --------------------- | -------------------------------------------------- |
| has\_no\_labor\_debts | The rule will be invalid if there are labor debts. |
{% endtab %}
{% endtabs %}

## Civil Servant (PF34)

Returns aggregated and detailed information of civil servants. This query returns data such as Indicator and Civil Servant details.

**Section:** `pfProfessionData`

**Required parameter:** `cpf`

{% tabs %}
{% tab title="Schema" %}
| Attribute                                            | Type    | Description                                                |
| ---------------------------------------------------- | ------- | ---------------------------------------------------------- |
| statusCode                                           | String  | Query status ([details](../../data-structure#status-code)) |
| data                                                 | Object  | Return data                                                |
| data.professions                                     | Array   | Object list with the details of each job found             |
| data.professions\[x].source                          | String  | Source of information                                      |
| data.professions\[x].sector                          | String  | Company sector                                             |
| data.professions\[x].state                           | String  | Company State                                              |
| data.professions\[x].country                         | String  | Country in which the profession is practiced               |
| data.professions\[x].companyIdNumber                 | String  | Company identification number (CNPJ)                       |
| data.professions\[x].companyName                     | String  | Company Name                                               |
| data.professions\[x].area                            | String  | Area of the company where the person works                 |
| data.professions\[x].level                           | String  | Job or position (when available)                           |
| data.professions\[x].status                          | String  | Employment status.                                         |
| data.professions\[x].incomeRange                     | String  | Estimated salary range for this job                        |
| data.professions\[x].income                          | Number  | Estimated income provided by this work                     |
| data.professions\[x].startDate                       | Date    | Date of start or admission to work                         |
| data.professions\[x].endDate                         | Date    | Date of termination or withdrawal from employment          |
| data.professions\[x].situation                       | String  | Employee status                                            |
| data.professions\[x].isDead                          | String  | Employee is deceased                                       |
| data.professions\[x].companyAdmissionDate            | String  | Date of admission to the company                           |
| data.professions\[x].jobFunction                     | String  | Job Function                                               |
| data.professions\[x].jobRole                         | String  | Position                                                   |
| data.professions\[x].servantType                     | String  | Employee Type                                              |
| data.professions\[x].workload                        | String  | Workload                                                   |
| data.professions\[x].organType                       | String  | Organ Type                                                 |
| data.professions\[x].headBranch                      | String  | Top Rod                                                    |
| data.professions\[x].incomeHistory                   | Array   | Payment History                                            |
| data.professions\[x].incomeHistory\[x].income        | String  | Amount received                                            |
| data.professions\[x].incomeHistory\[x].referenceDate | Date    | Reference Date                                             |
| data.professions\[x].averageIncome                   | Number  | Average salary                                             |
| data.professions\[x].maxIncome                       | Number  | Highest amount received                                    |
| data.professions\[x].minIncome                       | Number  | Lowest amount received                                     |
| data.professions\[x].registrationNumber              | String  | Registration Number                                        |
| data.professions\[x].creationDate                    | Date    | Creation date                                              |
| data.professions\[x].lastUpdateDate                  | Date    | Date of last update                                        |
| data.professions\[x].totalProfessions                | Number  | Total number of occupations held                           |
| data.professions\[x].totalActiveProfessions          | Number  | Total number of active professions                         |
| data.professions\[x].totalIncomeRange                | String  | Income Range                                               |
| data.professions\[x].totalIncome                     | Number  | Total income                                               |
| data.professions\[x].isEmployed                      | Boolean | Indicates whether the person is employed or not            |
{% endtab %}

{% tab title="Example" %}
```json
{
  "statusCode": "01",
  "data": {
    "professions": null,
    "totalProfessions": 0,
    "totalIncomeRange": "SEM INFORMACAO",
    "totalIncome": 0,
    "isEmployed": false
  }
}
```
{% endtab %}
{% endtabs %}
