Apps

Apps represent a connection to another system - either external or internal - for example a CRM or HRIS.

Create a new Application

post

Create a new application integration record for the organization.

Body

Payload to create or replace an Application.

typestringRequired
externalIdstringRequired
internalbooleanRequired
namestringRequired
Responses
201
Application created successfully.
application/json
post
POST /api/v1/app HTTP/1.1
Host: api.peoplelogic.dev
Content-Type: application/json
Accept: */*
Content-Length: 164

{
  "type": "Salesforce",
  "externalId": "acme-salesforce",
  "internal": false,
  "name": "Acme Corp Salesforce",
  "appData": {
    "region": "NA"
  },
  "secretData": {
    "apiKey": "SECRET_TOKEN"
  }
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "externalId": "text",
  "internal": true,
  "name": "text",
  "type": "text",
  "active": true,
  "status": {
    "current": "ACTIVE",
    "changedAt": "2025-07-17T11:36:45.150Z",
    "changedBy": "123e4567-e89b-12d3-a456-426614174000"
  },
  "created": {
    "createdAt": "2025-07-17T11:36:45.150Z",
    "createdBy": "123e4567-e89b-12d3-a456-426614174000"
  },
  "organization": "123e4567-e89b-12d3-a456-426614174000",
  "secretData": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "appData": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}

Get Application

get

Retrieve an Application by its ID.

Path parameters
appstring · uuidRequired
Responses
200
Successful response with Application.
application/json
get
GET /api/v1/app/{app} HTTP/1.1
Host: api.peoplelogic.dev
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "externalId": "text",
  "internal": true,
  "name": "text",
  "type": "text",
  "active": true,
  "status": {
    "current": "ACTIVE",
    "changedAt": "2025-07-17T11:36:45.150Z",
    "changedBy": "123e4567-e89b-12d3-a456-426614174000"
  },
  "created": {
    "createdAt": "2025-07-17T11:36:45.150Z",
    "createdBy": "123e4567-e89b-12d3-a456-426614174000"
  },
  "organization": "123e4567-e89b-12d3-a456-426614174000",
  "secretData": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "appData": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}

Update Application (Partial)

patch

Update one or more fields of an existing Application.

Path parameters
appstring · uuidRequired
Body
typestringOptional
externalIdstringOptional
internalbooleanOptional
namestringOptional
Responses
200
Application updated successfully.
application/json
patch
PATCH /api/v1/app/{app} HTTP/1.1
Host: api.peoplelogic.dev
Content-Type: application/json
Accept: */*
Content-Length: 63

{
  "name": "New Application Name",
  "appData": {
    "newKey": "newValue"
  }
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "externalId": "text",
  "internal": true,
  "name": "text",
  "type": "text",
  "active": true,
  "status": {
    "current": "ACTIVE",
    "changedAt": "2025-07-17T11:36:45.150Z",
    "changedBy": "123e4567-e89b-12d3-a456-426614174000"
  },
  "created": {
    "createdAt": "2025-07-17T11:36:45.150Z",
    "createdBy": "123e4567-e89b-12d3-a456-426614174000"
  },
  "organization": "123e4567-e89b-12d3-a456-426614174000",
  "secretData": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "appData": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}

List Applications by Type

get

Get all Applications of a given type for the organization.

Path parameters
typestringRequired
Responses
200
A list of Application records of the specified type.
application/json
get
GET /api/v1/app/by-type/{type} HTTP/1.1
Host: api.peoplelogic.dev
Accept: */*
[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "externalId": "text",
    "internal": true,
    "name": "text",
    "type": "text",
    "active": true,
    "status": {
      "current": "ACTIVE",
      "changedAt": "2025-07-17T11:36:45.150Z",
      "changedBy": "123e4567-e89b-12d3-a456-426614174000"
    },
    "created": {
      "createdAt": "2025-07-17T11:36:45.150Z",
      "createdBy": "123e4567-e89b-12d3-a456-426614174000"
    },
    "organization": "123e4567-e89b-12d3-a456-426614174000",
    "secretData": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "appData": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  }
]

Get Application by Type and External ID

get

Retrieve an Application by its type and external identifier.

Path parameters
typestringRequired
idstringRequired
Responses
200
Application found and returned.
application/json
get
GET /api/v1/app/by-type-id/{type}/{id} HTTP/1.1
Host: api.peoplelogic.dev
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "externalId": "text",
  "internal": true,
  "name": "text",
  "type": "text",
  "active": true,
  "status": {
    "current": "ACTIVE",
    "changedAt": "2025-07-17T11:36:45.150Z",
    "changedBy": "123e4567-e89b-12d3-a456-426614174000"
  },
  "created": {
    "createdAt": "2025-07-17T11:36:45.150Z",
    "createdBy": "123e4567-e89b-12d3-a456-426614174000"
  },
  "organization": "123e4567-e89b-12d3-a456-426614174000",
  "secretData": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "appData": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}

List Application Mappings

get

List all entity mappings for the specified Application.

Path parameters
appstring · uuidRequired
Responses
200
A list of entity mappings for this Application.
application/json
get
GET /api/v1/app/{app}/mappings HTTP/1.1
Host: api.peoplelogic.dev
Accept: */*
[
  {
    "entity": {
      "entityId": "123e4567-e89b-12d3-a456-426614174000",
      "type": "text",
      "organization": "123e4567-e89b-12d3-a456-426614174000"
    },
    "mapping": {
      "app": "123e4567-e89b-12d3-a456-426614174000",
      "namespace": "text",
      "mappedId": "text",
      "reference": "text",
      "mappingData": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "mappingSecrets": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      }
    }
  }
]

Was this helpful?