Registered & Protected by MarkMonitor

No Clocks
API Evangelist by The API Evangelist
Understanding the technology, business, policies, and people of Apis.
Bump CLI
This site contains the Bump.sh documentation, product updates descriptions, examples of how to use Bump.sh, as well as guides to help you build better REST APIs (OpenAPI) and event-driven architectures (AsyncAPI).
Real Estate API documentation
Real Estate API - Focused Specification
> OpenAPI specification for tailored for use with the {landrise.reapi} R package.
Endpoints
Includes specifications for the Real Esta...
Bump.sh Documentation
This site contains the Bump.sh documentation, product updates descriptions, examples of how to use Bump.sh, as well as guides to help you build better REST APIs (OpenAPI) and event-driven architectures (AsyncAPI).
Composing API Models with JSON Schema
Use JSON Schema effectively to build real API request and response bodies
Validating API Requests
Techniques for API Request Validation
A promise of REST APIs is good decoupling of clients and services. This is achieved in part by reducing business logic as much as possible in the client application. For example, a client application may use a form for collecting information used in a POST operation to create an API resource, or to edit an existing resource before updating it with a PUT or PATCH operations. The client then maps the form fields to the properties of the operation’s request body. Clients can use front end frameworks and libraries to perform lots of low-level validation in the front end corresponding to JSON schema constraints
Forms which use required data fields for properties that are required in the JSON schema
using date pickers
checkboxes for selecting Boolean true or false values
drop down lists that allows selection from a list of fixed enum values
constrained numeric text entry
form fields that enforce a regular expression from a pattern constraint
However, this only covers “syntactic” or static field-level validation. Often, an API will also have business rules that the client must follow. Secure API services will enforce those business rules in the API operations
Parse the options and (JSON) request body and return a 400 Bad Request if any of the request data is malformed (i.e. does not satisfy the constraints of the operation (such as required body or required parameters) or all the JSON Schemas associated with the operation’s parameters or request body)
Verify that the caller passes valid Authorization to the API call, and return 401 Unauthorized if not
Verify that the caller is authorized to perform the API operation, and return a 403 Forbidden error if not.
Verify the state of the application and return 409 Conflict if the operation would put the application into an inconsistent state
Verify the semantics of the request body and return a 422 Unprocessable Content error if the request is incomplete, inconsistent, or otherwise invalid
One way to implement a dry run is to create a separate "validation” operation for each API operation. This has the significant disadvantage of greatly increasing the footprint (size) of the API and adding a lot of duplication.
Rather than duplicate operations to add sibling validation operations, another approach is to add a ?dryRun=true query parameter to the operations. When used, the operation can return 204 No Content if the request contains no problems. The dryRun parameter acts as a “short circuit” in the API operation. The implementation performs the full validation it would normally do before executing the desired behavior, but then stops before actually executing anything other than the validation.
This pattern has a small impact on the API footprint compared to making sibling validation operations. A smaller footprint makes the API easier to read and understand. It is also a good use of the DRY principal, since you do not have to duplicate the definition of all the operation request parameters and request bodies, which opens up the chance for them to become out of sync.
Your Guide to The Language of API Design
An overview of the articles in The Language of APIs series
APIwiz | Federated API Management
Unify, simplify, and manage your entire API ecosystem—bringing clarity, consistency, and control to every connection, all in one place.
Capacities – A studio for your mind
A powerful note-taking tool. All your ideas – typed and connected.
OpenTopography - Find Topography Data
OpenPhone
OpenPhone is a modern business phone system for startups and small businesses. Make and receive calls, texts, and voicemails from anywhere.
Putin on the code: DoD reportedly relies on utility written by Russian dev
: Fast-glob is widely used in government, security lab says
moudey/Shell: Powerful context menu manager for Windows File Explorer
Powerful context menu manager for Windows File Explorer - moudey/Shell
Netwideassembler
Learn - OpenAPI Spec
OpenAPI helps speed up API development. You Define, mock, and test REST APIs using a single truth/specification. Ideal for dev and QA teams adopting contract-first workflows.
Deeply nested schemas can become unwieldy and hard to maintain. For instance, a User object containing an Address object, which in turn contains a Location object, can quickly become complex.
Why it matters: Simplifying schemas enhances readability and maintainability, making it easier for both developers and consumers to understand and work with the API.
Defining schemas, parameters, and responses inline repeatedly instead of using the components section leads to redundancy and potential inconsistencies.
Why it matters: Leveraging components promotes reusability and consistency across the API specification.
Logically group your APIs into smaller, domain-specific specs — like auth.yaml, payment.yaml, orders.yaml.
Use tags in OpenAPI to group related endpoints (like Order, Customer, Admin) even within a single file if needed.
/openapi
├── auth.yaml
├── customer.yaml
├── orders.yaml
└── components/
└── common-schemas.yaml
401 Unauthorized vs 403 Forbidden
Find the key differences between HTTP status codes 401 Unauthorized and 403 Forbidden with tabular comparison including when to use each in API development, with practical examples.
401 Unauthorized vs 403 Forbidden
In web development, ensuring access control is essential in safely and efficiently managing APIs. The meanings of 401 Unauthorized and 403 Forbidden are sometimes confused. Nonetheless, both codes have to do with restricted resources, but they serve different purposes. In this article, we will explain the codes and instruct you on which one to use.
401 Unauthorized?
The response is an HTTP error code for a request lacking valid authentication credentials from a client is referred to as the 401 Unauthorized status code. That being said, it means that before accessing the requested resource, it’s necessary for the server to authenticate itself to the client. If no credentials are provided or if wrong ones are given by the client, then what follows is a 401 status code.
When to Use 401 Unauthorized
Use 401 Unauthorized when:
No authentication details have been received yet from the client.
The authentication information supplied – username and password/token – is not valid/has expired.
There is no authorization header present in your requests like “Authorization.”
For instance, if an API demands Bearer token for access but this token has not been included in any request or is incorrect it will issue back a response having HTTP status code 401 Unauthorized (the most common case).
403 Forbidden?
The reason for using a 403 Forbidden status code is when the server recognizes the request, the client has been authenticated, but the client does not have permission to access the requested resource. It means that in this case, a client is known while a server intentionally turns down fulfilling the request because of inadequate privileges.
When to Use 403 Forbidden
Use 403 Forbidden when:
Authenticated clientele lack sufficient permissions to reach given resources.
Server denies resource access irrespective of client’s authentication state.
Client’s access to resources is prohibited by any form of an access control system.
For instance, an authorized user may try accessing an admin only page without having adequate role. Even if one gets logged in, the response will indicate 403 Forbidden if they do not have sufficient rights.
Kiro
The AI IDE for prototype to production
bbox finder
Fast, Dependency-Free Geodesic Distance Calculations
Dependency-free, ultra fast calculation of geodesic distances. Includes the reference nanometre-accuracy geodesic distances of Karney (2013) , as used by the sf package, as well as Haversine and Vincenty distances. Default distance measure is the "Mapbox cheap ruler" which is generally more accurate than Haversine or Vincenty for distances out to a few hundred kilometres, and is considerably faster. The main function accepts one or two inputs in almost any generic rectangular form, and returns either matrices of pairwise distances, or vectors of sequential distances.
Explore Property Data & Land Listings | LandApp - List for Free Today!
LandApp is the only marketplace combining land and property data, empowering buyers, investors, and landowners to explore and evaluate land and real estate listings like never before.
Property Record Search. Contact Us. 24/7 Support. Call 1-866-242-0544
blockr/inst/shinylive/tools.R at main · BristolMyersSquibb/blockr
Composable, extensible no-code UI
How to Easily Capture and Test Code Output in R
Learn methods to capture and test code output in R, including snapshot testing, dput, and constructive package.
Databot is not a flotation device - Posit
Databot is an exciting new LLM tool for exploratory data analysis, but to use it safely and effectively, you still need the critical skills of a data scientist.
Lightweight Object-Relational Mapper for R
oRm is a lightweight Object-Relational Mapper (ORM) for R. It simplifies database interactions by allowing users to define table models, insert and query records, and establish relationships between models without writing raw SQL. oRm uses a combination of DBI, dbplyr, and R6 to provide compatibility with most database dialects.
Create Data Frames for Exchange and Reuse
The dataset package helps create semantically rich, machine-readable, and interoperable datasets in R. It extends tidy data frames with metadata that preserves meaning, improves interoperability, and makes datasets easier to publish, exchange, and reuse in line with ISO and W3C standards.
An Abstracted System for Easily Working with Databases with Large Datasets
Provides object-oriented database management tools for working with large datasets across multiple database systems. Features include robust connection management for PostgreSQL databases, advanced table operations with bulk data loading and upsert functionality, comprehensive data validation through customizable field type and content validators, efficient index management, and cross-database compatibility. Designed for high-performance data operations in surveillance systems and large-scale data processing workflows.