Skip to main content

Overview

The PII (Propiedad Industrial e Intelectual) service manages intellectual property and technology transfer:
  • Invenciones - Inventions and innovations
  • Solicitudes de Protección - Protection requests (patents, trademarks)
  • Procedimientos - Legal procedures and applications
  • Repartos - Revenue distribution among inventors
Base URL: /invenciones, /solicitudesproteccion

Authentication

All endpoints require JWT authentication with PII-specific permissions:
  • PII-INV-* - Invencion permissions (C=Create, E=Edit, V=View, B=Delete, R=Reactivate)

Invenciones (Inventions)

List Active Inventions

curl -X GET "http://localhost:4280/invenciones?q=activo==true" \
  -H "Authorization: Bearer {token}"
Returns active inventions.
q
string
RSQL filter query
s
string
Sort specification
content
array
Array of Invencion objects

List All Inventions (Including Inactive)

curl -X GET "http://localhost:4280/invenciones/todos" \
  -H "Authorization: Bearer {token}"
Required Permission: PII-INV-V, PII-INV-C, PII-INV-E, PII-INV-B, PII-INV-R

Get Invention by ID

curl -X GET "http://localhost:4280/invenciones/123" \
  -H "Authorization: Bearer {token}"
id
long
required
Invention identifier

Create Invention

curl -X POST "http://localhost:4280/invenciones" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "titulo": "Novel Biotechnology Process",
    "fechaComunicacion": "2024-01-15",
    "descripcion": "Innovative process for...",
    "tipoProteccion": {"id": 1}
  }'
Required Permission: PII-INV-E

Update Invention

curl -X PUT "http://localhost:4280/invenciones/123" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"titulo": "Updated Title"}'
Required Permission: PII-INV-E

Invention Sub-Resources

Get Invention Inventors

curl -X GET "http://localhost:4280/invenciones/123/invencion-inventores" \
  -H "Authorization: Bearer {token}"
Returns the list of inventors associated with the invention.
content
array

Get Application Sectors

curl -X GET "http://localhost:4280/invenciones/123/sectoresaplicacion" \
  -H "Authorization: Bearer {token}"
Returns application sectors for the invention.

Get Knowledge Areas

curl -X GET "http://localhost:4280/invenciones/123/areasconocimiento" \
  -H "Authorization: Bearer {token}"

Get Patentability Reports

curl -X GET "http://localhost:4280/invenciones/123/informespatentabilidad" \
  -H "Authorization: Bearer {token}"
Returns patentability assessment reports.

Get Invention Expenses

curl -X GET "http://localhost:4280/invenciones/123/gastos" \
  -H "Authorization: Bearer {token}"
Returns expenses related to the invention (e.g., patent fees, legal costs).

Get Invention Income

curl -X GET "http://localhost:4280/invenciones/123/ingresos" \
  -H "Authorization: Bearer {token}"
Returns income generated from the invention (e.g., licensing fees).

Get Ownership Periods

curl -X GET "http://localhost:4280/invenciones/123/periodostitularidad" \
  -H "Authorization: Bearer {token}"
Returns ownership periods and rights holders.

Get Revenue Distribution

curl -X GET "http://localhost:4280/invenciones/123/repartos" \
  -H "Authorization: Bearer {token}"
Returns revenue distribution calculations among inventors.

Solicitudes de Protección (Protection Requests)

Get Protection Request by ID

curl -X GET "http://localhost:4280/solicitudesproteccion/456" \
  -H "Authorization: Bearer {token}"
id
long
required
Protection request identifier
id
long
Protection request ID
titulo
string
Title
fechaPrioridadSolicitud
date
Priority date
numeroSolicitud
string
Application number
invencionId
long
Related invention ID
tipoProteccion
object
Protection type
viaProteccion
object
Protection route (national, PCT, European)

Create Protection Request

curl -X POST "http://localhost:4280/solicitudesproteccion" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "titulo": "Patent Application",
    "invencionId": 123,
    "fechaPrioridadSolicitud": "2024-02-01",
    "tipoProteccion": {"id": 1},
    "viaProteccion": {"id": 2}
  }'
Required Permission: PII-INV-E

Update Protection Request

curl -X PUT "http://localhost:4280/solicitudesproteccion/456" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"numeroSolicitud": "ES2024123456"}'
Required Permission: PII-INV-E

Delete Protection Request

curl -X DELETE "http://localhost:4280/solicitudesproteccion/456" \
  -H "Authorization: Bearer {token}"
Required Permission: PII-INV-E

Protection Request Sub-Resources

Check Validated Countries Exist

curl -I "http://localhost:4280/solicitudesproteccion/456/paisesvalidados" \
  -H "Authorization: Bearer {token}"
Returns HTTP 200 if validated countries exist, 204 otherwise.

Get Validated Countries

curl -X GET "http://localhost:4280/solicitudesproteccion/456/paisesvalidados" \
  -H "Authorization: Bearer {token}"
Returns countries where the patent has been validated.
content
array
curl -X GET "http://localhost:4280/solicitudesproteccion/456/procedimientos" \
  -H "Authorization: Bearer {token}"
Returns legal procedures associated with the protection request.
content
array
curl -X GET "http://localhost:4280/solicitudesproteccion/456/invenciongastos" \
  -H "Authorization: Bearer {token}"
Returns expenses related to the protection request.

Common Patterns

Pagination

page
integer
default:"0"
Page number (zero-based)
size
integer
default:"10"
Items per page
sort
string
Sort field and direction (e.g., fechaComunicacion,desc)

Filtering with RSQL

Examples:
q=activo==true
q=tipoProteccion.id==1
q=fechaComunicacion=ge='2024-01-01'
q=titulo=like='Biotech*'

Error Responses

status
integer
HTTP status code
error
string
Error type
message
string
Error description
timestamp
datetime
Error timestamp

Build docs developers (and LLMs) love