{"openapi":"3.1.0","info":{"title":"Divisa.do API","version":"1.0.0","description":"Tasas de cambio en República Dominicana. Lectura pública sin API key. Actualización a las 08:00, 12:00 y 17:00 (America/Santo_Domingo). Referencias oficiales y tasas comerciales se identifican por kind; los rankings excluyen referencias y tasas vencidas. Moneda de cotización: DOP."},"servers":[{"url":"https://api.divisa.do"}],"security":[],"paths":{"/v1/currencies":{"get":{"operationId":"listCurrencies","summary":"Monedas y cobertura","parameters":[],"responses":{"200":{"description":"Consulta satisfactoria. Los importes son cadenas decimales.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurrencyList"}}}},"400":{"description":"Parámetros inválidos.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Límite temporal alcanzado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}},"500":{"description":"Error interno. Conserva el identificador de solicitud.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Datos temporalmente no disponibles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}}}}},"/v1/institutions":{"get":{"operationId":"listInstitutions","summary":"Entidades y cobertura","parameters":[{"name":"currency","in":"query","required":false,"schema":{"type":"string","pattern":"^[A-Z]{3}$"}},{"name":"limit","in":"query","required":false,"schema":{"default":100,"type":"integer","minimum":1,"maximum":200}},{"name":"cursor","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":100000}}],"responses":{"200":{"description":"Consulta satisfactoria. Los importes son cadenas decimales.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstitutionList"}}}},"400":{"description":"Parámetros inválidos.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Límite temporal alcanzado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}},"500":{"description":"Error interno. Conserva el identificador de solicitud.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Datos temporalmente no disponibles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}}}}},"/v1/rates":{"get":{"operationId":"listRates","summary":"Cotizaciones con procedencia","parameters":[{"name":"currency","in":"query","required":false,"schema":{"type":"string","pattern":"^[A-Z]{3}$"}},{"name":"institution","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-z0-9-]+$"}},{"name":"channel","in":"query","required":false,"schema":{"type":"string","enum":["unspecified","branch","digital","cash","transfer"]}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["commercial","reference"]}},{"name":"limit","in":"query","required":false,"schema":{"default":100,"type":"integer","minimum":1,"maximum":200}},{"name":"cursor","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":100000}}],"responses":{"200":{"description":"Consulta satisfactoria. Los importes son cadenas decimales.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatePage"}}}},"400":{"description":"Parámetros inválidos.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Límite temporal alcanzado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}},"500":{"description":"Error interno. Conserva el identificador de solicitud.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Datos temporalmente no disponibles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}}}}},"/v1/rates/best":{"get":{"operationId":"bestRates","summary":"Mejores tasas comerciales vigentes","parameters":[{"name":"currency","in":"query","required":true,"schema":{"type":"string","pattern":"^[A-Z]{3}$"}},{"name":"institution","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-z0-9-]+$"}},{"name":"channel","in":"query","required":false,"schema":{"type":"string","enum":["unspecified","branch","digital","cash","transfer"]}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["commercial","reference"]}},{"name":"limit","in":"query","required":false,"schema":{"default":100,"type":"integer","minimum":1,"maximum":200}},{"name":"cursor","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":100000}},{"name":"operation","in":"query","required":true,"schema":{"type":"string","enum":["buy","sell"]},"description":"buy: el usuario compra divisas; sell: el usuario vende divisas."}],"responses":{"200":{"description":"Consulta satisfactoria. Los importes son cadenas decimales.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BestRates"}}}},"400":{"description":"Parámetros inválidos.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Límite temporal alcanzado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}},"500":{"description":"Error interno. Conserva el identificador de solicitud.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Datos temporalmente no disponibles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}}}}},"/v1/rates/history":{"get":{"operationId":"rateHistory","summary":"Histórico diario de hasta 365 días","parameters":[{"name":"currency","in":"query","required":false,"schema":{"type":"string","pattern":"^[A-Z]{3}$"}},{"name":"institution","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-z0-9-]+$"}},{"name":"channel","in":"query","required":false,"schema":{"type":"string","enum":["unspecified","branch","digital","cash","transfer"]}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["commercial","reference"]}},{"name":"limit","in":"query","required":false,"schema":{"default":100,"type":"integer","minimum":1,"maximum":200}},{"name":"cursor","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":100000}},{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"description":"Fecha dominicana YYYY-MM-DD. Sin rango, se consultan los últimos siete días."},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"description":"Fecha dominicana YYYY-MM-DD. Sin rango, se consultan los últimos siete días."}],"responses":{"200":{"description":"Consulta satisfactoria. Los importes son cadenas decimales.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryPage"}}}},"400":{"description":"Parámetros inválidos.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Límite temporal alcanzado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}},"500":{"description":"Error interno. Conserva el identificador de solicitud.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Datos temporalmente no disponibles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}}}}},"/v1/convert":{"get":{"operationId":"convert","summary":"Comparación por monto en moneda extranjera","parameters":[{"name":"currency","in":"query","required":true,"schema":{"type":"string","pattern":"^[A-Z]{3}$"}},{"name":"institution","in":"query","required":false,"schema":{"type":"string","pattern":"^[a-z0-9-]+$"}},{"name":"channel","in":"query","required":false,"schema":{"type":"string","enum":["unspecified","branch","digital","cash","transfer"]}},{"name":"kind","in":"query","required":false,"schema":{"type":"string","enum":["commercial","reference"]}},{"name":"limit","in":"query","required":false,"schema":{"default":100,"type":"integer","minimum":1,"maximum":200}},{"name":"cursor","in":"query","required":false,"schema":{"default":0,"type":"integer","minimum":0,"maximum":100000}},{"name":"operation","in":"query","required":true,"schema":{"type":"string","enum":["buy","sell"]},"description":"buy: el usuario compra divisas; sell: el usuario vende divisas."},{"name":"amount","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{1,12}(?:\\.\\d{1,2})?$"}}],"responses":{"200":{"description":"Consulta satisfactoria. Los importes son cadenas decimales.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionPage"}}}},"400":{"description":"Parámetros inválidos.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Límite temporal alcanzado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}},"500":{"description":"Error interno. Conserva el identificador de solicitud.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Datos temporalmente no disponibles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}}}}},"/v1/institutions/{id}":{"get":{"operationId":"getInstitution","summary":"Detalle y cotizaciones de una entidad","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Consulta satisfactoria. Los importes son cadenas decimales.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstitutionDetail"}}}},"400":{"description":"Parámetros inválidos.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Entidad desconocida o inactiva.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Límite temporal alcanzado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}},"500":{"description":"Error interno. Conserva el identificador de solicitud.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Datos temporalmente no disponibles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"headers":{"Retry-After":{"description":"Segundos antes del siguiente intento.","schema":{"type":"integer"}}}}}}}},"components":{"schemas":{"RatePage":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"institutionId":{"type":"string","minLength":1,"maxLength":80},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"quoteCurrency":{"default":"DOP","type":"string","const":"DOP"},"buy":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d{1,8})?$"},{"type":"null"}]},"sell":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d{1,8})?$"},{"type":"null"}]},"channel":{"default":"unspecified","type":"string","enum":["unspecified","branch","digital","cash","transfer"]},"kind":{"default":"commercial","type":"string","enum":["commercial","reference"]},"effectiveDate":{"default":null,"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"publishedAt":{"default":null,"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"upstreamSource":{"default":null,"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"id":{"type":"string"},"institutionName":{"type":"string"},"institutionType":{"type":"string"},"website":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"sourceId":{"type":"string"},"sourceName":{"type":"string"},"sourceUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastCheckedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"priority":{"type":"integer","minimum":0,"maximum":9007199254740991},"manual":{"type":"boolean"},"stale":{"type":"boolean"},"datePrecision":{"type":"string","enum":["datetime","day","unknown"]}},"required":["institutionId","currency","quoteCurrency","buy","sell","channel","kind","effectiveDate","publishedAt","upstreamSource","id","institutionName","institutionType","website","sourceId","sourceName","sourceUrl","collectedAt","lastCheckedAt","expiresAt","priority","manual","stale","datePrecision"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextCursor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"quoteCurrency":{"type":"string","const":"DOP"}},"required":["total","nextCursor","generatedAt","quoteCurrency"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false},"BestRates":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"institutionId":{"type":"string","minLength":1,"maxLength":80},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"quoteCurrency":{"default":"DOP","type":"string","const":"DOP"},"buy":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d{1,8})?$"},{"type":"null"}]},"sell":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d{1,8})?$"},{"type":"null"}]},"channel":{"default":"unspecified","type":"string","enum":["unspecified","branch","digital","cash","transfer"]},"kind":{"default":"commercial","type":"string","enum":["commercial","reference"]},"effectiveDate":{"default":null,"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"publishedAt":{"default":null,"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"upstreamSource":{"default":null,"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"id":{"type":"string"},"institutionName":{"type":"string"},"institutionType":{"type":"string"},"website":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"sourceId":{"type":"string"},"sourceName":{"type":"string"},"sourceUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastCheckedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"priority":{"type":"integer","minimum":0,"maximum":9007199254740991},"manual":{"type":"boolean"},"stale":{"type":"boolean"},"datePrecision":{"type":"string","enum":["datetime","day","unknown"]}},"required":["institutionId","currency","quoteCurrency","buy","sell","channel","kind","effectiveDate","publishedAt","upstreamSource","id","institutionName","institutionType","website","sourceId","sourceName","sourceUrl","collectedAt","lastCheckedAt","expiresAt","priority","manual","stale","datePrecision"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextCursor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"quoteCurrency":{"type":"string","const":"DOP"}},"required":["total","nextCursor","generatedAt","quoteCurrency"],"additionalProperties":false},"operation":{"type":"string","enum":["buy","sell"]}},"required":["data","meta","operation"],"additionalProperties":false},"HistoryPage":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"institutionId":{"type":"string"},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"channel":{"type":"string","enum":["unspecified","branch","digital","cash","transfer"]},"kind":{"type":"string","enum":["commercial","reference"]},"buy":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d{1,8})?$"},{"type":"null"}]},"sell":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d{1,8})?$"},{"type":"null"}]},"sourceId":{"type":"string"},"datePrecision":{"type":"string","enum":["datetime","day","unknown"]}},"required":["date","institutionId","currency","channel","kind","buy","sell","sourceId","datePrecision"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextCursor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"quoteCurrency":{"type":"string","const":"DOP"}},"required":["total","nextCursor","generatedAt","quoteCurrency"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false},"ConversionPage":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"quote":{"type":"object","properties":{"institutionId":{"type":"string","minLength":1,"maxLength":80},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"quoteCurrency":{"default":"DOP","type":"string","const":"DOP"},"buy":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d{1,8})?$"},{"type":"null"}]},"sell":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d{1,8})?$"},{"type":"null"}]},"channel":{"default":"unspecified","type":"string","enum":["unspecified","branch","digital","cash","transfer"]},"kind":{"default":"commercial","type":"string","enum":["commercial","reference"]},"effectiveDate":{"default":null,"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"publishedAt":{"default":null,"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"upstreamSource":{"default":null,"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"id":{"type":"string"},"institutionName":{"type":"string"},"institutionType":{"type":"string"},"website":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"sourceId":{"type":"string"},"sourceName":{"type":"string"},"sourceUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastCheckedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"priority":{"type":"integer","minimum":0,"maximum":9007199254740991},"manual":{"type":"boolean"},"stale":{"type":"boolean"},"datePrecision":{"type":"string","enum":["datetime","day","unknown"]}},"required":["institutionId","currency","quoteCurrency","buy","sell","channel","kind","effectiveDate","publishedAt","upstreamSource","id","institutionName","institutionType","website","sourceId","sourceName","sourceUrl","collectedAt","lastCheckedAt","expiresAt","priority","manual","stale","datePrecision"],"additionalProperties":false},"operation":{"type":"string","enum":["buy","sell"]},"foreignAmount":{"type":"string","pattern":"^\\d{1,12}(?:\\.\\d{1,2})?$"},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"amountDop":{"type":"string","pattern":"^\\d+\\.\\d{2}$"},"rate":{"type":"string","pattern":"^\\d+(?:\\.\\d{1,8})?$"},"feesIncluded":{"type":"boolean","const":false},"feeNotice":{"type":"string"}},"required":["quote","operation","foreignAmount","currency","amountDop","rate","feesIncluded","feeNotice"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextCursor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"quoteCurrency":{"type":"string","const":"DOP"}},"required":["total","nextCursor","generatedAt","quoteCurrency"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false},"CurrencyList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","pattern":"^[A-Z]{3}$"},"name":{"type":"string"},"symbol":{"type":"string"},"quoteCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"currentQuoteCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["code","name","symbol","quoteCount","currentQuoteCount"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false},"InstitutionList":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["bank","association","exchange","official","cooperative"]},"website":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"description":{"type":"string"},"contact":{"type":"string"},"active":{"type":"boolean"},"currencies":{"type":"array","items":{"type":"string","pattern":"^[A-Z]{3}$"}},"currentQuoteCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","name","type","website","description","contact","active","currencies","currentQuoteCount"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextCursor":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"generatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"quoteCurrency":{"type":"string","const":"DOP"}},"required":["total","nextCursor","generatedAt","quoteCurrency"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false},"InstitutionDetail":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["bank","association","exchange","official","cooperative"]},"website":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"description":{"type":"string"},"contact":{"type":"string"},"active":{"type":"boolean"},"rates":{"type":"array","items":{"type":"object","properties":{"institutionId":{"type":"string","minLength":1,"maxLength":80},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"quoteCurrency":{"default":"DOP","type":"string","const":"DOP"},"buy":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d{1,8})?$"},{"type":"null"}]},"sell":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d{1,8})?$"},{"type":"null"}]},"channel":{"default":"unspecified","type":"string","enum":["unspecified","branch","digital","cash","transfer"]},"kind":{"default":"commercial","type":"string","enum":["commercial","reference"]},"effectiveDate":{"default":null,"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"publishedAt":{"default":null,"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"upstreamSource":{"default":null,"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"id":{"type":"string"},"institutionName":{"type":"string"},"institutionType":{"type":"string"},"website":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"sourceId":{"type":"string"},"sourceName":{"type":"string"},"sourceUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"lastCheckedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"priority":{"type":"integer","minimum":0,"maximum":9007199254740991},"manual":{"type":"boolean"},"stale":{"type":"boolean"},"datePrecision":{"type":"string","enum":["datetime","day","unknown"]}},"required":["institutionId","currency","quoteCurrency","buy","sell","channel","kind","effectiveDate","publishedAt","upstreamSource","id","institutionName","institutionType","website","sourceId","sourceName","sourceUrl","collectedAt","lastCheckedAt","expiresAt","priority","manual","stale","datePrecision"],"additionalProperties":false}}},"required":["id","name","type","website","description","contact","active","rates"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"ErrorResponse":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"requestId":{"type":"string"},"details":{"type":"array","items":{"type":"object","properties":{"path":{"type":"array","items":{"type":["string","number"]}},"message":{"type":"string"}},"required":["path","message"],"additionalProperties":false}}},"required":["code","message"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}}}}