Search trademarks
POST /co/sic-ip/trademarks-search/v1 Dataset
Every trademark case of the register, searchable by sign and owner.
as_of (how current the copy is), the applied filters, total and total_is_exact, page, per_page, total_pages, count and results[], most recently filed first. Every trademark carries file_number (the expediente), certificate_number (once registered), sign (the denominación; null for a purely figurative mark), status as the register words it (Publicada, Registrada, Negada, Caducado…), filing_date, expires_on (the vigencia), owners[] (the titulares, or the applicants while pending), nice_classes[], gazette_number and the label: label_url (Croma’s copy, byte for byte) and source_label_url (the register’s own link).
Search patents
POST /co/sic-ip/patents-search/v1 Dataset
Every patent case of the register, searchable by title and owner.
as_of (how current the copy is), the applied filters, total and total_is_exact, page, per_page, total_pages, count and results[], most recently filed first. Every case carries file_number, certificate_number (the grant, once granted), title, status as the register words it, filing_date, expires_on, owners[] and the characteristic figure: figure_url (Croma’s copy) and source_figure_url.
Search industrial designs
POST /co/sic-ip/designs-search/v1 Dataset
Every industrial design case of the register, searchable by title and owner.
as_of (how current the copy is), the applied filters, total and total_is_exact, page, per_page, total_pages, count and results[], most recently filed first. Every case carries file_number, certificate_number (the grant, once granted), title, status as the register words it, filing_date, expires_on, owners[] and the characteristic figure: figure_url (Croma’s copy) and source_figure_url.
Search resolutions and oficios
POST /co/sic-ip/resolutions-search/v1 Dataset
Every decision and requirement the office sends out, a day at a time, with the document itself.
as_of, the applied filters, the paging fields and results[], most recently sent first. Every document carries document_id, kind, resolution_number, title (the type, e.g. TM179 - Acepta Cancelación), template_code (TM179), act_date, sent_date, file_number, main_file_number, parties[] (name, notified_on, enforced_on), notified_on, enforced_on, document_url (Croma’s copy of the PDF), source_document_url and bytes.
One trademark
POST /co/sic-ip/trademark/v1 Lookup
A trademark case as the register holds it today, with every document of its file.
Answers from Croma’s copy when it holds a recent answer for the key, otherwise reads the source and keeps the answer. Every response says when the source was last asked (
checked_at) and where the answer came from (served_from).found, file_number, checked_at (when the register was last asked), served_from (copy within a day of the last read, upstream when the register was read for this request, stale when it could not be read and the last stored answer stood in) and trademark. The case carries file_number, kind, procedure_type, status, title (the sign or the title), sign_type and sign_nature (trademarks), the dates filing_date, submitted_on, publication_ordered_on, published_on, registered_on and expires_on, gazette_number, certificate_number, classes[] (each Nice class with its goods and services) and nice_classes[], locarno[] (designs), patent_type, technology_sector, technology_subsector and abstract (patents), design_type (designs), parties[] (role: owner, applicant, agent, contact, inventor or designer, with document_number, name and address as the register records them), images[] (the label or the figures), specification[] (a patent’s public description, claims and drawings), history[] (every procedural event, newest first, the gazette entry included), linked_procedures[] (oppositions, transfers, licences, changes of name, corrections), documents[] (every document of the file: resolutions, oficios, filings, certificates, with resolution_number, the dates and the parties notified), documents_total, documents_kept and fields[] (every labelled field of the case as the register prints it). Every file carries document_url (Croma’s copy, byte for byte) and source_document_url (the register’s own link).
Reading a case keeps a copy of every document in its file, which can take a minute or two for a file with many documents. This is an async job: by default the request waits inline and returns
{ data }, or you can poll GET /jobs/{id} or pass a callback_url. A case read within the last day answers from Croma’s copy at once. A number with no case of this kind returns found: false with HTTP 200, not an error.One patent
POST /co/sic-ip/patent/v1 Lookup
A patent case as the register holds it today, with every document of its file.
Answers from Croma’s copy when it holds a recent answer for the key, otherwise reads the source and keeps the answer. Every response says when the source was last asked (
checked_at) and where the answer came from (served_from).found, file_number, checked_at (when the register was last asked), served_from (copy within a day of the last read, upstream when the register was read for this request, stale when it could not be read and the last stored answer stood in) and patent. The case carries file_number, kind, procedure_type, status, title (the sign or the title), sign_type and sign_nature (trademarks), the dates filing_date, submitted_on, publication_ordered_on, published_on, registered_on and expires_on, gazette_number, certificate_number, classes[] (each Nice class with its goods and services) and nice_classes[], locarno[] (designs), patent_type, technology_sector, technology_subsector and abstract (patents), design_type (designs), parties[] (role: owner, applicant, agent, contact, inventor or designer, with document_number, name and address as the register records them), images[] (the label or the figures), specification[] (a patent’s public description, claims and drawings), history[] (every procedural event, newest first, the gazette entry included), linked_procedures[] (oppositions, transfers, licences, changes of name, corrections), documents[] (every document of the file: resolutions, oficios, filings, certificates, with resolution_number, the dates and the parties notified), documents_total, documents_kept and fields[] (every labelled field of the case as the register prints it). Every file carries document_url (Croma’s copy, byte for byte) and source_document_url (the register’s own link).
Reading a case keeps a copy of every document in its file, which can take a minute or two for a file with many documents. This is an async job: by default the request waits inline and returns
{ data }, or you can poll GET /jobs/{id} or pass a callback_url. A case read within the last day answers from Croma’s copy at once. A number with no case of this kind returns found: false with HTTP 200, not an error.One industrial design
POST /co/sic-ip/design/v1 Lookup
An industrial design case as the register holds it today, with every document of its file.
Answers from Croma’s copy when it holds a recent answer for the key, otherwise reads the source and keeps the answer. Every response says when the source was last asked (
checked_at) and where the answer came from (served_from).found, file_number, checked_at (when the register was last asked), served_from (copy within a day of the last read, upstream when the register was read for this request, stale when it could not be read and the last stored answer stood in) and design. The case carries file_number, kind, procedure_type, status, title (the sign or the title), sign_type and sign_nature (trademarks), the dates filing_date, submitted_on, publication_ordered_on, published_on, registered_on and expires_on, gazette_number, certificate_number, classes[] (each Nice class with its goods and services) and nice_classes[], locarno[] (designs), patent_type, technology_sector, technology_subsector and abstract (patents), design_type (designs), parties[] (role: owner, applicant, agent, contact, inventor or designer, with document_number, name and address as the register records them), images[] (the label or the figures), specification[] (a patent’s public description, claims and drawings), history[] (every procedural event, newest first, the gazette entry included), linked_procedures[] (oppositions, transfers, licences, changes of name, corrections), documents[] (every document of the file: resolutions, oficios, filings, certificates, with resolution_number, the dates and the parties notified), documents_total, documents_kept and fields[] (every labelled field of the case as the register prints it). Every file carries document_url (Croma’s copy, byte for byte) and source_document_url (the register’s own link).
Reading a case keeps a copy of every document in its file, which can take a minute or two for a file with many documents. This is an async job: by default the request waits inline and returns
{ data }, or you can poll GET /jobs/{id} or pass a callback_url. A case read within the last day answers from Croma’s copy at once. A number with no case of this kind returns found: false with HTTP 200, not an error.Trademarks by owner
POST /co/sic-ip/trademarks-by-owner/v1 Every trademark case a company or a person owns or applied for, from the register.
document_number, found, parties[] (the register’s party records the number matched, each with document_number and name), total, checked_at and trademarks[], most recently filed first, each shaped like a trademarks search result (label_url is Croma’s copy when the trademarks dataset already holds the case).
A large portfolio is read in several passes and can take up to a minute. This is an async job: by default the request waits inline and returns
{ data }, or you can poll GET /jobs/{id} or pass a callback_url.Full reference
Schemas, all response fields, and an interactive playground.