Skip to content

Support APIs

These endpoints support identity inspection, encryption, publication storage, UI monitoring, and server health. Paths are relative to the API base URL. They do not all use the same authentication dependency.

Identity, certificates, and health

Method Path Credential Success Response
GET /auth/info User API credential 200 UserInfo.
GET /certs/jwk.json None 200 Public RSA JWK JSON.
GET /health/ None 200 {"alive": "true"}.
GET /openapi.json None at application level 200 OpenAPI document for this server version.
GET /docs None at application level 200 Interactive Swagger UI HTML.
GET /redoc None at application level 200 ReDoc HTML.

An ingress or authentication proxy can impose additional access restrictions. The health response uses a string value, not the boolean true. It is a liveliness response, not a check of GitLab, storage, databases, launcher availability, or capacity to execute a workflow.

UserInfo

Fields Type Meaning
iss, sub strings Identity issuer and subject.
name, preferred_username, email strings User identity attributes.
email_verified boolean Provider-supplied verification state.
profile, picture string or null Optional profile links.
groups array of strings Authentication groups.
git_token string or null Repository credential indicator, masked except for its last four characters when present.

The response is not an OAuth token endpoint and does not issue or refresh credentials. A masked GitLab token is not a usable repository credential. See Authentication for the provider-specific credential to send.

Public encryption key

The certificate resource returns the public JWK used to encrypt profile secrets for this AntFlow instance. It must not expose private key material. Unavailable or invalid server key configuration returns 500 with a detail message. This is not the identity provider's signing-key set or an API token. Use the same instance's key and profile configuration; see Manage workflow secrets.

Data access

The user data prefix is /data; the worker prefix is /launchers/{id_launcher}/data. Each exposes these operations:

Method User path Worker path Response
GET /data/{job_id}/{file_path} /launchers/{id_launcher}/data/{job_id}/{file_path} Proxied object bytes or 307 redirect to a presigned S3 GET URL.
PUT /data/{job_id}/{file_path} /launchers/{id_launcher}/data/{job_id}/{file_path} 307 redirect to a presigned S3 PUT URL.
HEAD /data/{job_id}/{file_path} /launchers/{id_launcher}/data/{job_id}/{file_path} 200 empty response; not object metadata.
OPTIONS /data/{job_id}/{file_path} /launchers/{id_launcher}/data/{job_id}/{file_path} 200 capability response with an Allow header.

job_id identifies the published job; file_path is relative to that job's stored publication prefix, not a filesystem path on the server. Use returned data links instead of inferring bucket keys.

User GET/PUT requests resolve a user API credential and enforce job visibility. Worker GET/PUT requests authenticate the launcher token and resolve the server's GitLab token for storage authorization. Configure that server token when using the launcher storage interface; possession of an instance URL alone is insufficient.

The current HEAD/OPTIONS handlers do not read the object or perform the GET/PUT job lookup. Their response does not prove file existence or authorization to read or write it. CORS middleware can also handle browser preflight requests.

GET behavior depends on the configured presigned-path regex: matching paths redirect; others are proxied with the upstream status and content type. PUT prepares a redirect rather than persisting the object itself; the client must perform the signed upload. Uploads can create or overwrite stored job data and are not a user job-submission mechanism.

Keep presigned URLs secret until they expire. Never forward an AntFlow Bearer token to a different storage host using --location-trusted. Follow Download files for safe user downloads and Store and serve workflow results for bucket and result-delivery settings.

Monitoring

These endpoints use user API credentials and expose UI-oriented summaries, not another job-execution protocol.

Method Path Success Response
GET /monitor 200 MonitorData.
GET /monitor/process-info 200 MonitorProcessInfo.

Monitor parameters

Query parameter Type Default Meaning
idlauncher string Omitted Launcher filter; differs from the job list's id_launcher spelling.
page integer 1 Page of grouped process summaries.
limit integer 5 Process groups per page; use a positive value.
runs integer 40 Maximum recent runs included per group.
query string Omitted Job search text.

MonitorData contains pagination and processes. Pagination is serialized with page, limit, total, total-pages, prev-page, and next-page. total counts jobs while page counts and limits concern grouped processes; do not treat it as the number of process groups.

Each process group includes id, link, project, project_path, commit_ref, total, counts for each user-facing status, and runs. Run summaries include a job link, status, progress, timestamps, reference, commit, optional user, comment, and tags. Ordinary-user visibility is filtered; administrator summaries can cover more jobs.

Process metadata parameters

Supply process_id, project_path, and project_ref as query strings. The handler can use the project's default branch for descriptive metadata and fall back to the supplied reference; this endpoint is not a guarantee of immutable metadata for the execution commit.

MonitorProcessInfo contains process_id, optional process_title and process_description, project_name, the resolved project_ref, and an optional project link. For exact process inputs and execution choices, use the project process description, not this monitoring summary.