Skip to content

Referencia API

API completa del BFF de PROXIMITI — 40 endpoints en 14 grupos de etiquetas. Para pruebas interactivas, usa Swagger UI.

PROXIMITI PUDO ecosystem BFF — API Gateway with JWT validation, center enrichment, and downstream service orchestration.

Contact

Servers

http://localhost:8090Generated server url

Update pricing tier (admin)

PUT
/api/v1/pricing/admin/{id}

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Pricing tier updated

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Delete pricing tier (admin)

DELETE
/api/v1/pricing/admin/{id}

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

Pricing tier deleted

Playground

Authorization
Headers
Variables
Key
Value

Samples


List all pricing tiers (admin)

GET
/api/v1/pricing/admin

Includes inactive tiers. Requires USER_ADMIN role

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

All pricing tiers

*/*
JSON
{
}

Playground

Authorization
Headers

Samples


Create pricing tier (admin)

POST
/api/v1/pricing/admin

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Pricing tier created

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Body

Samples


List active pricing tiers

GET
/api/v1/pricing

Available to all authenticated users

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

Active pricing tiers

*/*
JSON
{
}

Playground

Authorization
Headers

Samples


Estimate shipping cost

GET
/api/v1/pricing/estimate

Calculate price estimate for a given weight

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Query Parameters

weightKg*
Type
number
Required
Format
"double"

Responses

Price estimate

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Get customer profile

GET
/api/v1/customer/profile

Returns profile from users service or JWT defaults if unavailable

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Keycloak-Sub
Type
string
X-Correlation-Id
Type
string

Responses

Customer profile

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers

Samples


Update customer profile

PUT
/api/v1/customer/profile

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Keycloak-Sub
Type
string
X-Correlation-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Profile updated

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Body

Samples


Update address

PUT
/api/v1/customer/addresses/{id}

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Keycloak-Sub
Type
string
X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Address updated

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Delete address

DELETE
/api/v1/customer/addresses/{id}

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Keycloak-Sub
Type
string
X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

Address deleted

Playground

Authorization
Headers
Variables
Key
Value

Samples


List saved addresses

GET
/api/v1/customer/addresses

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Keycloak-Sub
Type
string
X-Correlation-Id
Type
string

Responses

Address list

*/*
JSON
{
}

Playground

Authorization
Headers

Samples


Create address

POST
/api/v1/customer/addresses

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Keycloak-Sub
Type
string
X-Correlation-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Address created

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Body

Samples


List customer shipments

GET
/api/v1/customer/shipments

Paginated shipments scoped to the authenticated customer

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Customer-Id
Type
string
X-Correlation-Id
Type
string

Query Parameters

page
Type
integer
Format
"int32"
Default
0
size
Type
integer
Format
"int32"
Default
20
estado
Type
string

Responses

Paginated shipment list

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Get customer dashboard

GET
/api/v1/customer/dashboard

Aggregated stats — active shipments, delivered count, pending pickups

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Customer-Id
Type
string
X-Correlation-Id
Type
string

Responses

Customer dashboard data

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers

Samples


Update vehicle

PUT
/api/v1/admin/vehicles/{id}

Update vehicle matricula, type, and expiry dates

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Vehicle updated

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Deactivate vehicle

PUT
/api/v1/admin/vehicles/{id}/deactivate

Mark a vehicle as inactive

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

Vehicle deactivated

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Activate vehicle

PUT
/api/v1/admin/vehicles/{id}/activate

Reactivate a previously deactivated vehicle

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

Vehicle activated

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Create vehicle

POST
/api/v1/admin/vehicles

Create a new vehicle and assign it to a carrier

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Vehicle created

*/*
JSON
{
}

Playground

Authorization
Headers
Body

Samples


List vehicles for carrier

GET
/api/v1/admin/vehicles/carrier/{carrierId}

List all vehicles assigned to a carrier

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

carrierId*
Type
integer
Required
Format
"int64"

Responses

Vehicle list

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Admin - Users

Admin user management (requires USER_ADMIN role)


Get user by ID

GET
/api/v1/admin/users/{id}

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

User found

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Update user

PUT
/api/v1/admin/users/{id}

Update a user's role and center assignment

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

User updated

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


List all users

GET
/api/v1/admin/users

Paginated list of all users

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Query Parameters

page
Type
integer
Format
"int32"
Default
0
size
Type
integer
Format
"int32"
Default
20

Responses

Paginated user list

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Update contract template

PUT
/api/v1/admin/templates/contracts/{codPlantilla}

Full replacement update of a contract template

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

codPlantilla*
Type
string
Required

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Template updated

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Delete contract template

DELETE
/api/v1/admin/templates/contracts/{codPlantilla}

Soft-delete a contract template (sets activo=false)

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

codPlantilla*
Type
string
Required

Responses

Template deleted

Playground

Authorization
Headers
Variables
Key
Value

Samples


Get contract

GET
/api/v1/admin/centers/{centerCode}/contracts/{codContrato}

Get a contract by its code

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

centerCode*
Type
string
Required
codContrato*
Type
string
Required

Responses

Contract found

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Update contract

PUT
/api/v1/admin/centers/{centerCode}/contracts/{codContrato}

Update financial terms of a BORRADOR contract. ACTIVO contracts reject updates.

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

centerCode*
Type
string
Required
codContrato*
Type
string
Required

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Contract updated

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Delete contract

DELETE
/api/v1/admin/centers/{centerCode}/contracts/{codContrato}

Soft-delete a BORRADOR contract (transitions to RESCINDIDO). Non-BORRADOR rejected.

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

centerCode*
Type
string
Required
codContrato*
Type
string
Required

Responses

Contract deleted

Playground

Authorization
Headers
Variables
Key
Value

Samples


List contract templates

GET
/api/v1/admin/templates/contracts

List all active contract templates (STANDARD, PREMIUM, ENTERPRISE)

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

Template list

*/*
JSON
{
}

Playground

Authorization
Headers

Samples


Create contract template

POST
/api/v1/admin/templates/contracts

Create a new contract template with default financial terms

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Template created

*/*
JSON
{
}

Playground

Authorization
Headers
Body

Samples


List contracts

GET
/api/v1/admin/centers/{centerCode}/contracts

List all contracts for a PUDO center, newest first

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

centerCode*
Type
string
Required

Responses

Contract list

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Create contract

POST
/api/v1/admin/centers/{centerCode}/contracts

Create a new contract for a PUDO center, optionally pre-filled from a template

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

centerCode*
Type
string
Required

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Contract created

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Transition contract status

PATCH
/api/v1/admin/centers/{centerCode}/contracts/{codContrato}/status

Move contract through state machine: BORRADOR→PENDIENTE_FIRMA→ACTIVO→SUSPENDIDO/VENCIDO/RESCINDIDO

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

centerCode*
Type
string
Required
codContrato*
Type
string
Required

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Status transitioned

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Get contract history

GET
/api/v1/admin/centers/{centerCode}/contracts/{codContrato}/historial

Audit trail of all status transitions, most recent first

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

centerCode*
Type
string
Required
codContrato*
Type
string
Required

Responses

Contract history

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Get active contract

GET
/api/v1/admin/centers/{centerCode}/contracts/active

Get the currently active contract for a PUDO center

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

centerCode*
Type
string
Required

Responses

Active contract

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Get center by code

GET
/api/v1/admin/centers/{centerCode}

Returns center with ETag for optimistic locking

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Id
Type
string

Path Parameters

centerCode*
Type
string
Required

Responses

Center found

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Update center

PUT
/api/v1/admin/centers/{centerCode}

Update center with If-Match ETag for concurrency control

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

If-Match
Type
string
X-Correlation-Id
Type
string

Path Parameters

centerCode*
Type
string
Required

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Center updated

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Delete center

DELETE
/api/v1/admin/centers/{centerCode}

Soft delete a PUDO center

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

centerCode*
Type
string
Required

Responses

Center deleted

Playground

Authorization
Headers
Variables
Key
Value

Samples


List all centers

GET
/api/v1/admin/centers

Paginated list of all PUDO centers with full detail, optionally filtered by lifecycle status

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Query Parameters

page
Type
integer
Format
"int32"
Default
0
size
Type
integer
Format
"int32"
Default
100
status
Type
string

Responses

Paginated center list

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Create center

POST
/api/v1/admin/centers

Create a new PUDO center

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Center created

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Body

Samples


Transition center lifecycle status

PATCH
/api/v1/admin/centers/{centerCode}/lifecycle

Change center status with reason tracking

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

centerCode*
Type
string
Required

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Status transitioned

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Get center lifecycle history

GET
/api/v1/admin/centers/{centerCode}/historial

Audit trail of status transitions

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

centerCode*
Type
string
Required

Responses

Lifecycle history

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


List establishment types

GET
/api/v1/admin/centers/tipos

Catalog of establishment types for center classification

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

Type catalog

*/*
JSON
{
}

Playground

Authorization
Headers

Samples


Get carrier contract

GET
/api/v1/admin/carrier-contracts/{codContrato}

Get a carrier contract by code

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

codContrato*
Type
string
Required

Responses

Contract found

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Update carrier contract

PUT
/api/v1/admin/carrier-contracts/{codContrato}

Update a carrier contract in editable state

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

codContrato*
Type
string
Required

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Contract updated

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Delete carrier contract

DELETE
/api/v1/admin/carrier-contracts/{codContrato}

Hard-delete a BORRADOR carrier contract

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

codContrato*
Type
string
Required

Responses

Contract deleted

Playground

Authorization
Headers
Variables
Key
Value

Samples


List carrier contracts

GET
/api/v1/admin/carrier-contracts

List carrier contracts, optionally filtered by carrierId

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Query Parameters

carrierId
Type
integer
Format
"int64"

Responses

Contract list

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Create carrier contract

POST
/api/v1/admin/carrier-contracts

Create a new carrier contract, optionally pre-filled from a template

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Contract created

*/*
JSON
{
}

Playground

Authorization
Headers
Body

Samples


List carrier contract templates

GET
/api/v1/admin/carrier-contracts/templates

List all carrier contract templates

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

Template list

*/*
JSON
{
}

Playground

Authorization
Headers

Samples


Create carrier contract template

POST
/api/v1/admin/carrier-contracts/templates

Create a new carrier contract template

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Template created

*/*
JSON
{
}

Playground

Authorization
Headers
Body

Samples


Transition carrier contract status

PATCH
/api/v1/admin/carrier-contracts/{codContrato}/status

Move carrier contract through state machine

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

codContrato*
Type
string
Required

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Status transitioned

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Get carrier contract history

GET
/api/v1/admin/carrier-contracts/{codContrato}/history

Audit trail of all status transitions

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

codContrato*
Type
string
Required

Responses

Contract history

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Delete carrier contract template

DELETE
/api/v1/admin/carrier-contracts/templates/{codPlantilla}

Delete a carrier contract template

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

codPlantilla*
Type
string
Required

Responses

Template deleted

Playground

Authorization
Headers
Variables
Key
Value

Samples


Reject carrier candidato

PUT
/api/v1/admin/carrier-candidatos/{id}/reject

Reject carrier candidato — sets RECHAZADO state and records reason

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Carrier candidato rejected

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Update carrier candidato notes

PUT
/api/v1/admin/carrier-candidatos/{id}/notes

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Notes updated

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Advance carrier candidato

PUT
/api/v1/admin/carrier-candidatos/{id}/advance

Move carrier candidato forward one pipeline stage

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Query Parameters

nuevoEstado
Type
string

Responses

Carrier candidato advanced to next stage

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


List carrier candidatos

GET
/api/v1/admin/carrier-candidatos

All carrier candidatos for kanban pipeline view

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

Carrier candidato summary list

*/*
JSON
[
  
{
  
  
"additionalProperties": {
  
  
}
  
}
]

Playground

Authorization
Headers

Samples


Create carrier candidato

POST
/api/v1/admin/carrier-candidatos

Create a new carrier candidato application

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Carrier candidato created

*/*
JSON
{
}

Playground

Authorization
Headers
Body

Samples


Convert carrier candidato to carrier

POST
/api/v1/admin/carrier-candidatos/{id}/convert

Creates carrier entity + draft contract from READY candidato, then provisions Keycloak user. Returns one-time credentials.

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Conversion successful — carrier + contract created, Keycloak user provisioned

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Get carrier candidato detail

GET
/api/v1/admin/carrier-candidatos/{id}

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

Carrier candidato detail

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


T&C Acceptance

PUDO operator and carrier T&C acceptance endpoints


Accept T&C

POST
/api/v1/tc/accept/{idTerminos}

Record T&C acceptance for the authenticated user. Routes to center or carrier acceptance based on JWT role.

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Center-Id
Type
string
X-Carrier-Id
Type
string
X-Correlation-Id
Type
string

Path Parameters

idTerminos*
Type
integer
Required
Format
"int64"

Responses

Acceptance recorded successfully

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


List shipments

GET
/api/v1/shipments

Paginated shipment list with optional filters: estado, date range, centerCode

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Id
Type
string
X-Center-Code
Type
string

Query Parameters

page
Type
integer
Format
"int32"
Default
0
size
Type
integer
Format
"int32"
Default
20
estado
Type
string
fromDate
Type
string
toDate
Type
string
centerCode
Type
string

Responses

Paginated shipment list

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Create shipment

POST
/api/v1/shipments

Create a new parcel shipment with idempotency support

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Idempotency-Key
Type
string
X-Center-Id
Type
string
X-Center-Code
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Shipment created

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Body

Samples


Retrieve expired parcel

POST
/api/v1/shipments/{barcode}/retrieve

Mark an expired parcel as retrieved by the carrier

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Code
Type
string

Path Parameters

barcode*
Type
string
Required

Responses

Parcel retrieved

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Generate POD upload token

POST
/api/v1/shipments/{barcode}/pod/upload-token

Generate a presigned upload URL for POD images

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Id
Type
string
X-Center-Code
Type
string

Path Parameters

barcode*
Type
string
Required

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Upload token generated

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Carrier handshake

POST
/api/v1/shipments/{barcode}/carrier-handshake

Carrier initiates dual-QR handshake for parcel pickup

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Code
Type
string

Path Parameters

barcode*
Type
string
Required

Responses

Handshake initiated

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Validate QR session

POST
/api/v1/shipments/qr-session/{sessionToken}/validate

PUDO operator confirms the dual-QR handshake

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Code
Type
string

Path Parameters

sessionToken*
Type
string
Required

Responses

Session validated

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Batch drop parcels

POST
/api/v1/shipments/batch-drop

Carrier drops multiple parcels at a PUDO center (requires USER_PUDO, USER_CARRIER, or USER_ADMIN)

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Code
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Batch drop result

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Body

Samples


Get shipment by barcode

GET
/api/v1/shipments/{barcode}

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Id
Type
string
X-Center-Code
Type
string

Path Parameters

barcode*
Type
string
Required

Responses

Shipment found

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Get POD metadata

GET
/api/v1/shipments/{barcode}/pod

Retrieve proof-of-delivery metadata for a shipment

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Id
Type
string
X-Center-Code
Type
string

Path Parameters

barcode*
Type
string
Required

Responses

POD metadata

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Stream POD image

GET
/api/v1/shipments/{barcode}/pod/image/{type}

Stream POD image bytes (signature or evidence photo) via BFF proxy

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Id
Type
string
X-Center-Code
Type
string

Path Parameters

barcode*
Type
string
Required
type*
Type
string
Required

Responses

Image bytes

*/*
JSON
[
  
{
  
}
]

Playground

Authorization
Headers
Variables
Key
Value

Samples


Get shipment label

GET
/api/v1/shipments/{barcode}/label

Generate print-ready HTML label for a shipment

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Id
Type
string
X-Center-Code
Type
string

Path Parameters

barcode*
Type
string
Required

Responses

HTML label

text/html
JSON
"string"

Playground

Authorization
Headers
Variables
Key
Value

Samples


Get QR session status

GET
/api/v1/shipments/qr-session/{sessionToken}/status

Poll the status of a dual-QR handshake session

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Code
Type
string

Path Parameters

sessionToken*
Type
string
Required

Responses

Session status

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


List pending shipments

GET
/api/v1/shipments/pending

Zone-filtered pending list for carriers, all pending for non-carriers

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Id
Type
string
X-Center-Code
Type
string
X-Carrier-Id
Type
string

Query Parameters

page
Type
integer
Format
"int32"
Default
0
size
Type
integer
Format
"int32"
Default
20

Responses

Paginated pending shipments

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Public Onboarding

Public PUDO application form — no authentication required


Submit PUDO application

POST
/api/v1/public/onboarding/apply

Public form submission — creates candidato in LEAD state and returns a tracking token. No authentication required.

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Application submitted — includes tokenSolicitud for status tracking

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Body

Samples


Check application status

GET
/api/v1/public/onboarding/status/{token}

Public status check by tracking token — no authentication required

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

token*
Type
string
Required

Responses

Application status with current pipeline state

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Profile Photo

Upload, retrieve, and delete user profile photos


Get profile photo

GET
/api/v1/profile/photo

Stream the authenticated user's profile photo

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Responses

Image bytes

*/*

Playground

Authorization

Samples


Upload profile photo

POST
/api/v1/profile/photo

Upload a profile photo (max 2MB, JPEG/PNG/WebP). Overwrites any existing photo.

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Request Body

multipart/form-data
object
Format"binary"

Responses

Photo uploaded successfully

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Body

Samples


Delete profile photo

DELETE
/api/v1/profile/photo

Delete the authenticated user's profile photo from storage and clear URL

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Responses

Photo deleted

Playground

Authorization

Samples


Operator - Contract

PUDO operator contract view and acceptance endpoints


Accept contract

POST
/api/v1/operator/contract/accept

Digital acceptance of a PENDIENTE_FIRMA contract. Transitions contract to ACTIVO. IP is captured server-side for audit.

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Contract accepted — transitioned to ACTIVO

*/*
JSON
{
}

Playground

Authorization
Headers
Body

Samples


Get my contract

GET
/api/v1/operator/contract

Get the contract for the authenticated operator's center. Returns PENDIENTE_FIRMA if pending signature, otherwise ACTIVO. Returns 404 if no relevant contract.

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

Contract found

*/*
JSON
{
}

Playground

Authorization
Headers

Samples


Issues

Issue and claim tracking — create, list, status transitions, escalation


List issues

GET
/api/v1/issues

Paginated issue list with optional filters: status, issue_type, severity

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Id
Type
string

Query Parameters

page
Type
integer
Format
"int32"
Default
0
size
Type
integer
Format
"int32"
Default
20
status
Type
string
issue_type
Type
string
severity
Type
string

Responses

Paginated issue list

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Create issue

POST
/api/v1/issues

Report a new issue or claim

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Issue created

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Body

Samples


Escalate issue

POST
/api/v1/issues/{id}/escalate

Escalate issue to a higher support tier

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Id
Type
string

Path Parameters

id*
Type
string
Required

Responses

Issue escalated

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Update issue status

PATCH
/api/v1/issues/{id}/status

Transition issue to a new status

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Id
Type
string

Path Parameters

id*
Type
string
Required

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Status updated

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Get issue by ID

GET
/api/v1/issues/{id}

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string
X-Center-Id
Type
string

Path Parameters

id*
Type
string
Required

Responses

Issue found

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Admin - Carriers


Carrier lifecycle transition

POST
/api/v1/carriers/{code}/lifecycle

Transition carrier status (e.g., ACTIVO → SUSPENDIDO)

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

code*
Type
string
Required

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Transition successful

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


List carriers

GET
/api/v1/carriers

List all carrier companies

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

Carrier list

*/*
JSON
{
}

Playground

Authorization
Headers

Samples


Get carrier

GET
/api/v1/carriers/{code}

Get carrier details by code

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

code*
Type
string
Required

Responses

Carrier details

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Carrier history

GET
/api/v1/carriers/{code}/history

Get carrier lifecycle history

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

code*
Type
string
Required

Responses

History entries

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Carrier - Contract

Carrier contract view and acceptance endpoints (requires USER_CARRIER)


Accept carrier contract

POST
/api/v1/carrier/contract/accept

Digital acceptance of a PENDIENTE_FIRMA carrier contract. Transitions to ACTIVO. IP captured server-side for audit.

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Carrier-Id
Type
string
X-Correlation-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Contract accepted -- transitioned to ACTIVO

*/*
JSON
{
}

Playground

Authorization
Headers
Body

Samples


Get my carrier contract

GET
/api/v1/carrier/contract

Get the contract for the authenticated carrier. Returns PENDIENTE_FIRMA if pending, otherwise ACTIVO. Returns 404 if no relevant contract.

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

Contract found

*/*
JSON
{
}

Playground

Authorization
Headers

Samples


List T&C versions

GET
/api/v1/admin/terminos

List all T&C versions ordered by creation date descending

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

T&C version list

*/*
JSON
{
}

Playground

Authorization
Headers

Samples


Create T&C version

POST
/api/v1/admin/terminos

Create a new T&C version in BORRADOR state. Upload PDF via /upload-token first.

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

T&C version created

*/*
JSON
{
}

Playground

Authorization
Headers
Body

Samples


Publish T&C version

POST
/api/v1/admin/terminos/{id}/publish

Publish a BORRADOR T&C version — becomes the active version, previous is auto-deprecated

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

T&C version published

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Deprecate T&C version

POST
/api/v1/admin/terminos/{id}/deprecate

Manually deprecate a T&C version

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

T&C version deprecated

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Get PDF upload token

POST
/api/v1/admin/terminos/upload-token

Generate a presigned MinIO URL for uploading a T&C PDF document

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

Upload token generated

*/*
JSON
{
}

Playground

Authorization
Headers

Samples


Get T&C version

GET
/api/v1/admin/terminos/{id}

Get a specific T&C version by numeric ID

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

T&C version found

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Get acceptance history

GET
/api/v1/admin/terminos/acceptance-history

Get T&C acceptance history for a specific PUDO center

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Query Parameters

centerId*
Type
integer
Required
Format
"int64"

Responses

Acceptance history list

*/*
JSON
{
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Admin - Seed Data

Seed/dummy data management for development (requires USER_ADMIN role)


Load seed data

POST
/api/v1/admin/seed/load

Insert seed data into the database. Use force=true to replace existing data

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Query Parameters

force
Type
boolean
Default
false

Request Body

application/json
JSON
{
  
"datasets": [
  
  
"string"
  
]
}

Responses

Seed data loaded

*/*
JSON
{
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Get seed data status

GET
/api/v1/admin/seed/status

Record counts for all tables grouped by domain

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Responses

Seed status

*/*
JSON
{
  
"tables": [
  
  
{
  
  
  
"name": "string",
  
  
  
"count": 0,
  
  
  
"group": "string"
  
  
}
  
],
  
"totalRecords": 0,
  
"generatedAt": "string"
}

Playground

Authorization

Samples


Unload seed data

DELETE
/api/v1/admin/seed/unload

Delete all seed data from the database

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Responses

Seed data removed

*/*
JSON
{
  
"tablesCleared": 0,
  
"recordsDeleted": 0,
  
"duration": "string"
}

Playground

Authorization

Samples


Convert candidato to center

POST
/api/v1/admin/candidatos/{id}/convert

Creates center + draft contract from READY candidato, then provisions Keycloak user. Returns one-time credentials.

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Conversion successful — center + contract created, Keycloak user provisioned

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Reject candidato

PATCH
/api/v1/admin/candidatos/{id}/reject

Reject candidato — sets RECHAZADO state and records reason

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Request Body

application/json
JSON
{
  
"additionalProperties": {
  
}
}

Responses

Candidato rejected

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value
Body

Samples


Advance candidato

PATCH
/api/v1/admin/candidatos/{id}/advance

Move candidato forward one pipeline stage (LEAD->VETTING->CONTRACTING->READY)

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

Candidato advanced to next stage

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


List candidatos

GET
/api/v1/admin/candidatos

All active candidatos (excluding RECHAZADO) for kanban pipeline view

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

Candidato summary list

*/*
JSON
[
  
{
  
  
"additionalProperties": {
  
  
}
  
}
]

Playground

Authorization
Headers

Samples


Get candidato detail

GET
/api/v1/admin/candidatos/{id}

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

Candidato detail

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Admin - Adapter

Provider catalog sync — Kanguro, Hublocker (requires USER_ADMIN role)


Trigger provider sync

POST
/api/v1/admin/adapter/sync/{provider}

Start catalog synchronization for a specific provider (KANGURO, HUBLOCKER)

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

provider*
Type
string
Required

Responses

Sync result

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


List providers

GET
/api/v1/admin/adapter/providers

Get all providers with center counts and sync status

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

Provider list

*/*
JSON
[
  
{
  
  
"additionalProperties": {
  
  
}
  
}
]

Playground

Authorization
Headers

Samples


Notifications

Notification center — list, unread count, and mark-as-read


Mark notification as read

PATCH
/api/v1/notifications/{id}/read

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Center-Id
Type
string
X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

Marked as read

Playground

Authorization
Headers
Variables
Key
Value

Samples


List notifications

GET
/api/v1/notifications

Paginated notifications scoped by center. Admins see all

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Center-Id
Type
string
X-Correlation-Id
Type
string

Query Parameters

page
Type
integer
Format
"int32"
Default
0
size
Type
integer
Format
"int32"
Default
20

Responses

Paginated notification list

*/*
JSON
"string"

Playground

Authorization
Headers
Variables
Key
Value

Samples


Get unread notification count

GET
/api/v1/notifications/unread-count

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Center-Id
Type
string
X-Correlation-Id
Type
string

Responses

Unread count

*/*
JSON
"string"

Playground

Authorization
Headers

Samples


Public Tracking

Public parcel tracking — no authentication required


Track shipment by barcode

GET
/api/v1/public/track/{barcode}

Public tracking — returns status and event timeline without internal data

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

barcode*
Type
string
Required

Responses

Tracking info

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


External Centers

PUDO center search and detail for the embeddable PUDO Selector Widget


Get center detail

GET
/api/v1/external/centers/{centerCode}/detail

Full center information including schedule, capacity, and photos

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

centerCode*
Type
string
Required

Responses

Center detail

*/*
JSON
{
  
"id": "string",
  
"name": "string",
  
"address": "string",
  
"city": "string",
  
"latitude": 0,
  
"longitude": 0,
  
"availability": "string",
  
"provider": {
  
  
"name": "string",
  
  
"logo_url": "string",
  
  
"is_fallback": true
  
},
  
"schedule": [
  
  
{
  
  
  
"day": "string",
  
  
  
"open": "string",
  
  
  
"close": "string"
  
  
}
  
],
  
"photos": [
  
  
"string"
  
],
  
"center_code": "string",
  
"postal_code": "string",
  
"external_id": "string",
  
"distance_km": 0,
  
"photo_url": "string",
  
"current_capacity": 0,
  
"max_capacity": 0
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Search nearby PUDO centers

GET
/api/v1/external/centers/near

Find centers by postal code or coordinates with Haversine distance sorting

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Query Parameters

postal_code
Type
string
latitude
Type
number
Format
"double"
longitude
Type
number
Format
"double"
max_radius_km
Type
number
Format
"double"
Default
10

Responses

List of matching centers

*/*
JSON
{
  
"centers": [
  
  
{
  
  
  
"id": "string",
  
  
  
"name": "string",
  
  
  
"address": "string",
  
  
  
"city": "string",
  
  
  
"latitude": 0,
  
  
  
"longitude": 0,
  
  
  
"availability": "string",
  
  
  
"provider": {
  
  
  
  
"name": "string",
  
  
  
  
"logo_url": "string",
  
  
  
  
"is_fallback": true
  
  
  
},
  
  
  
"center_code": "string",
  
  
  
"postal_code": "string",
  
  
  
"external_id": "string",
  
  
  
"distance_km": 0,
  
  
  
"photo_url": "string"
  
  
}
  
],
  
"degraded": true
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Dashboard

Aggregated dashboard data for PUDO operators and admins


Get dashboard data

GET
/api/v1/dashboard

Returns aggregated dashboard for the user's center, or admin dashboard if no center is assigned

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Center-Id
Type
integer
Format
"int64"

Responses

Dashboard data

*/*
JSON
{
}

Playground

Authorization
Headers

Samples


Clusters


List all clusters

GET
/api/v1/clusters

Authorizations

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

Cluster list

*/*
JSON
[
  
{
  
  
"additionalProperties": {
  
  
}
  
}
]

Playground

Headers

Samples


List PUDO centers within cluster zone

GET
/api/v1/clusters/{id}/centers

Returns centers whose coordinates fall inside the cluster polygon (PostGIS ST_Within)

Authorizations

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

Centers within zone

*/*
JSON
[
  
{
  
  
"additionalProperties": {
  
  
}
  
}
]

Playground

Headers
Variables
Key
Value

Samples


List carriers assigned to cluster

GET
/api/v1/clusters/{id}/carriers

Authorizations

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

id*
Type
integer
Required
Format
"int64"

Responses

Carrier assignments

*/*
JSON
[
  
{
  
  
"additionalProperties": {
  
  
}
  
}
]

Playground

Headers
Variables
Key
Value

Samples


Centers

PUDO center catalog for operator dropdowns


List all centers

GET
/api/v1/centers

Returns all PUDO centers for the operator center dropdown

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Responses

List of centers

*/*
JSON
[
  
{
  
  
"id": 0,
  
  
"codCentroPudo": "string",
  
  
"nombre": "string",
  
  
"direccion": "string",
  
  
"numEspaciosLibres": 0,
  
  
"numEspaciosTotales": 0,
  
  
"version": 0
  
}
]

Playground

Authorization
Headers

Samples


Carrier KPIs

Carrier performance KPI aggregation (requires USER_ADMIN)


Get carrier KPIs

GET
/api/v1/carriers/{code}/kpis

Aggregated carrier performance metrics: deliveries, on-time rate, avg batch, deliveries/day

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Parameters

Header Parameters

X-Correlation-Id
Type
string

Path Parameters

code*
Type
string
Required

Responses

KPI metrics

*/*
JSON
{
  
"additionalProperties": {
  
}
}

Playground

Authorization
Headers
Variables
Key
Value

Samples


Admin - Schema

Database schema introspection — tables, columns, constraints, FK edges (requires USER_ADMIN role)


Get database schema

GET
/api/v1/admin/schema

Complete metadata about all tp_pprx_* tables including columns, constraints, and foreign key edges

Authorizations

bearer-jwt

Keycloak OAuth2 password flow. Test users: pudo-operator-1, carrier-1, admin-1, customer-1 (password: password)

password Flow
Token URL"http://keycloak:8080/realms/proximiti/protocol/openid-connect/token"

Responses

Schema metadata

*/*
JSON
{
  
"tables": [
  
  
{
  
  
  
"name": "string",
  
  
  
"service": "string",
  
  
  
"isPartitioned": true,
  
  
  
"columns": [
  
  
  
  
{
  
  
  
  
  
"name": "string",
  
  
  
  
  
"type": "string",
  
  
  
  
  
"nullable": true,
  
  
  
  
  
"isPrimaryKey": true,
  
  
  
  
  
"isForeignKey": true,
  
  
  
  
  
"ordinalPosition": 0,
  
  
  
  
  
"defaultValue": "string",
  
  
  
  
  
"comment": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"primaryKey": {
  
  
  
  
"constraintName": "string",
  
  
  
  
"columns": [
  
  
  
  
  
"string"
  
  
  
  
],
  
  
  
  
"targetTable": "string",
  
  
  
  
"targetColumns": [
  
  
  
  
  
"string"
  
  
  
  
],
  
  
  
  
"onDelete": "string",
  
  
  
  
"onUpdate": "string"
  
  
  
},
  
  
  
"foreignKeys": [
  
  
  
  
{
  
  
  
  
  
"constraintName": "string",
  
  
  
  
  
"columns": [
  
  
  
  
  
  
"string"
  
  
  
  
  
],
  
  
  
  
  
"targetTable": "string",
  
  
  
  
  
"targetColumns": [
  
  
  
  
  
  
"string"
  
  
  
  
  
],
  
  
  
  
  
"onDelete": "string",
  
  
  
  
  
"onUpdate": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"checkConstraints": [
  
  
  
  
{
  
  
  
  
  
"constraintName": "string",
  
  
  
  
  
"expression": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"uniqueConstraints": [
  
  
  
  
{
  
  
  
  
  
"constraintName": "string",
  
  
  
  
  
"columns": [
  
  
  
  
  
  
"string"
  
  
  
  
  
]
  
  
  
  
}
  
  
  
],
  
  
  
"indexes": [
  
  
  
  
{
  
  
  
  
  
"indexName": "string",
  
  
  
  
  
"columns": [
  
  
  
  
  
  
"string"
  
  
  
  
  
],
  
  
  
  
  
"isUnique": true,
  
  
  
  
  
"indexDef": "string"
  
  
  
  
}
  
  
  
]
  
  
}
  
],
  
"edges": [
  
  
{
  
  
  
"source": "string",
  
  
  
"sourceColumn": "string",
  
  
  
"target": "string",
  
  
  
"targetColumn": "string",
  
  
  
"constraintName": "string",
  
  
  
"onDelete": "string",
  
  
  
"onUpdate": "string"
  
  
}
  
],
  
"generatedAt": "string",
  
"databaseVersion": "string"
}

Playground

Authorization

Samples


Powered by VitePress OpenAPI