APL Scheduler

Public API and Java client

What you will learn

Connect an authorised consumer to the installed public contract.

Worked example

With a test web-service user, list assigned companies and read with companyCode. In Eclipse add the JAR to Build Path and select Java 17.

From data to result

  1. 1Licence
  2. 2Web service
  3. 3Token
  4. 4Request

The technical reference is at `/api-docs` and the contract at `/openapi/v1.json`. Use the installed version’s contract for fields and operations.

  1. 1
    APL Integration and a web-service user with companies and roles are required. Request a token through `/api/v1/auth/service-token`; send it in the Authorization Bearer header.
  2. 2
    Select company with `companyCode` as specified. The server validates companies and permissions; never share tokens across customers or attempt to choose a tenant by an ID.
  3. 3
    Use a generated Java client compatible with the server contract. In Eclipse create a Java project with `java-client/src`, or add the JAR to your Build Path. Configure Java 17; the client uses standard Java libraries without external dependencies.
  4. 4
    The public API excludes APL Assistant, Factory View, help/support and the APL panel. Do not automate internal endpoints or publish credentials or customer examples.

Technical reference

Illustrative example: adapt values to the installed contract and use a secret store.

Java 17 / HTTP→Bearer · companyCode→APL Scheduler
GET /api/v1/companies
Authorization: Bearer <accessToken>

GET /api/v1/materials?companyCode=DEMO&section=articles&page=1&pageSize=25
Authorization: Bearer <accessToken>

// Java 17 · Eclipse: Java Build Path > Libraries
var client = new AplSchedulerClient(baseUrl);
client.authenticate(new ServiceCredentials(
    configuration, serviceUser, passwordFromSecretStore));
ApiResponse response = client.companies();

Before you finish

OpenAPI matches the server; the user has APL Integration, company and role. Handle 401, 403, 409 and 429 without blindly retrying writes.

Common questions

An option is missing or I cannot edit

Check active company, licence, permissions and integration-managed fields. Do not use a direct URL to bypass restrictions.

I cannot find records

Clear filters and check page, dates and company. There may be no accessible data; do not create duplicates to test.

I saved but cannot see the expected effect

Reopen the record and verify. Saving data does not publish a required simulation. Check whether the first write succeeded before repeating it.