List all Applications
GET /applications
Environment and operation
Use this endpoint contract with the account and environment assigned to your integration. Values in angle brackets are placeholders. This reference does not execute requests. Documented server https://sandbox.signup.nmi.com/api/v1 https://secure.nmi.com/api/v5/signup Schema reference: field definitions do not include every behavioral rule. Follow the workflow guidance and account prerequisites for this operation before submitting requests.
Request route
This operation returns a list of applications. You can filter applications by: - `status`: Filter by application status (e.g. "draft", "submitted", "approved", etc.) - `updated_from`: Filter applications updated on or after a specific date (YYYY-MM-DD) - `updated_to`: Filter applications updated on or before a specific date (YYYY-MM-DD) - `package`: Filter by package ID - `sort_dir`: Sort by updated_at in ascending or descending order (values: asc, desc, default: desc) Example: `GET /applications?status=submitted&updated_from=2025-01-01&updated_to=2025-03-01&sort_dir=asc` **Required scope:** `applications:read` GET /applications Security scheme Type Credential location Scopes oauth oauth2 applications:read
Request language templates
Original transport templates derived from this endpoint’s documented method, server, authentication and media type. Replace path/query/credential placeholders with authorized sandbox values. These examples print the raw status and response; they do not infer business success or retry a request. Node requires a runtime with fetch; PHP requires cURL. Generated source-based examples have not been executed against provider accounts. curl --request GET \ --url 'https://sandbox.signup.nmi.com/api/v1/applications' \ --header 'Authorization: Bearer <access-token>' const response = await fetch("https://sandbox.signup.nmi.com/api/v1/applications", { method: 'GET', headers: { "Authorization": "Bearer <access-token>" } }); console.log(response.status, await response.text()); from urllib.request import Request, urlopen from urllib.error import HTTPError request = Request('https://sandbox.signup.nmi.com/api/v1/applications', method='GET', headers={'Authorization': 'Bearer <access-token>'}) try: with urlopen(request, timeout=30) as response: print(response.status, response.read().decode()) except HTTPError as error: print(error.code, error.read().decode()) require 'net/http' require 'uri' uri = URI("https://sandbox.signup.nmi.com/api/v1/applications") request = Net::HTTP::Get.new(uri) request["Authorization"] = "Bearer <access-token>" response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https', read_timeout: 30) { |http| http.request(request) } puts response.code puts response.body <?php $curl = curl_init('https://sandbox.signup.nmi.com/api/v1/applications'); curl_setopt_array($curl, [ CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, CURLOPT_HTTPHEADER => ['Authorization: Bearer <access-token>'] ]); $response = curl_exec($curl); if ($response === false) { throw new RuntimeException(curl_error($curl)); } echo curl_getinfo($curl, CURLINFO_HTTP_CODE), PHP_EOL, $response; curl_close($curl);
Path and query parameters
Required flags apply to the parameter itself. Additional limits and enum values appear in the contract below. Parameter Location Required Type Description page query false integer Page number per_page query false integer Number of applications per page package query false See schema Filter by package id status query false See schema Filter by application status updated_from query false string Filter applications updated on or after this date (format: YYYY-MM-DD) updated_to query false string Filter applications updated on or before this date (format: YYYY-MM-DD) sort_dir query false string Sort by updated_at in ascending or descending order [ { "name": "page", "in": "query", "description": "Page number", "required": false, "schema": { "type": "integer", "minimum": 1, "default": 1 } }, { "name": "per_page", "in": "query", "description": "Number of applications per page", "required": false, "schema": { "type": "integer", "enum": [ 10, 20, 50, 100 ], "default": 10 } }, { "name": "package", "in": "query", "description": "Filter by package id", "required": false, "schema": { "$ref": "#/components/schemas/package-id" } }, { "name": "status", "in": "query", "description": "Filter by application status", "required": false, "schema": { "$ref": "#/components/schemas/application-status" } }, { "name": "updated_from", "in": "query", "description": "Filter applications updated on or after this date (format: YYYY-MM-DD)", "required": false, "schema": { "type": "string", "format": "date", "maxLength": 10 } }, { "name": "updated_to", "in": "query", "description": "Filter applications updated on or before this date (format: YYYY-MM-DD)", "required": false, "schema": { "type": "string", "format": "date", "maxLength": 10 } }, { "name": "sort_dir", "in": "query", "description": "Sort by updated_at in ascending or descending order", "required": false, "schema": { "type": "string", "enum": [ "asc", "desc" ], "default": "desc" } } ] true
Responses
Match the HTTP status to its response schema below. For financial operations, also inspect the payment outcome before updating your order or retrying. HTTP status Media type Meaning 200 application/json Successful response 422 application/json Bad request (validation error) response for invalid page size { "200": { "description": "Successful response", "content": { "application/json": { "schema": { "allOf": [ { "type": "object", "required": [ "applications" ], "properties": { "applications": { "type": "array", "maxItems": 100, "items": { "type": "object", "title": "Application", "description": "An application object", "required": [ "id", "package_id", "status", "created_at", "updated_at" ], "properties": { "id": { "$ref": "#/components/schemas/application-id" }, "package_id": { "$ref": "#/components/schemas/package-id" }, "status": { "$ref": "#/components/schemas/application-status" }, "created_at": { "$ref": "#/components/schemas/application-created-at" }, "updated_at": { "$ref": "#/components/schemas/application-updated-at" } } } } } }, { "$ref": "#/components/schemas/pagination" } ] }, "examples": { "applications": { "summary": "Success", "description": "A few applications with different statuses", "value": { "applications": [ { "id": "app_d4b24397ac2e7e6d", "package_id": "pkg_merrick_tsys", "status": "draft", "created_at": "2025-03-03T18:42:42+00:00", "updated_at": "2025-03-03T18:43:01+00:00" }, { "id": "app_4ce586f17e2e82bc", "package_id": "pkg_merrick_tsys", "status": "submitted", "created_at": "2025-03-03T18:36:12+00:00", "updated_at": "2025-03-03T18:36:24+00:00" }, { "id": "app_c001e6d3205f7f35", "package_id": "pkg_merrick_tsys", "status": "draft", "created_at": "2025-03-03T18:33:32+00:00", "updated_at": "2025-03-03T18:33:32+00:00" }, { "id": "app_008b833cbe3a60f9", "package_id": "pkg_merrick_tsys", "status": "submitted", "created_at": "2025-03-03T18:32:25+00:00", "updated_at": "2025-03-03T18:32:39+00:00" }, { "id": "app_1f0790ab56a533dd", "package_id": "pkg_merrick_tsys", "status": "draft", "created_at": "2025-03-03T18:31:26+00:00", "updated_at": "2025-03-03T18:31:26+00:00" }, { "id": "app_86e8d0f06dad389b", "package_id": "pkg_merrick_tsys", "status": "submitted", "created_at": "2025-03-03T18:29:58+00:00", "updated_at": "2025-03-03T18:30:05+00:00" }, { "id": "app_210c577599afe0b6", "package_id": "pkg_merrick_tsys", "status": "draft", "created_at": "2025-03-03T17:17:17+00:00", "updated_at": "2025-03-03T17:17:17+00:00" }, { "id": "app_18dcd5f0f2a7a306", "package_id": "pkg_merrick_tsys", "status": "submitted", "created_at": "2025-03-03T17:15:34+00:00", "updated_at": "2025-03-03T17:15:42+00:00" }, { "id": "app_2aac56be70d4c5ab", "package_id": "pkg_merrick_tsys", "status": "draft", "created_at": "2025-03-03T17:13:38+00:00", "updated_at": "2025-03-03T17:13:38+00:00" }, { "id": "app_38d3aaf0b9ca2441", "package_id": "pkg_merrick_tsys", "status": "draft", "created_at": "2025-03-03T17:03:27+00:00", "updated_at": "2025-03-03T17:03:27+00:00" } ], "current_page": 1, "per_page": 10, "last_page": 3, "total": 22 } } } } } }, "422": { "description": "Bad request (validation error) response for invalid page size", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "description": "Error code", "maxLength": 1000 }, "message": { "type": "string", "description": "Error message", "maxLength": 1000 }, "errors": { "type": "array", "maxItems": 1000, "items": { "type": "string", "description": "The error message", "maxLength": 1000 } } } }, "examples": { "standard": { "summary": "Invalid Page Size", "description": "This response is returned when the page size is invalid", "value": { "code": "VALIDATION_ERROR", "message": "The selected per page is invalid.", "errors": [ "The selected per page is invalid." ] } } } } } } } true
Response fields · 200 · application/json
Field Type Required Description Constraints [allOf 1].applications array yes [allOf 1].applications[].id string yes The unique identifier of the application. minLength: 20; maxLength: 20; pattern: "^app_[a-f0-9]{16}$" [allOf 1].applications[].package_id string yes The unique identifier of the package. minLength: 7; maxLength: 20; pattern: "^pkg_[a-z0-9_]{3,16}$" [allOf 1].applications[].status string yes enum: ["draft", "submitted", "approved", "rejected", "underwriter_requested_information", "requested_information_sent", "boarded"] [allOf 1].applications[].created_at string yes The date and time when the application was created. maxLength: 32; format: "date-time" [allOf 1].applications[].updated_at string yes The date and time when the application was last updated. maxLength: 32; format: "date-time" [allOf 2].current_page integer yes The current page number [allOf 2].last_page integer yes The last page number [allOf 2].per_page integer yes The number of items per page (allowed values: 10, 20, 50, 100) enum: [10, 20, 50, 100] [allOf 2].total integer yes The total number of items
Response fields · 422 · application/json
Field Type Required Description Constraints code string no Error code maxLength: 1000 message string no Error message maxLength: 1000 errors array no
Referenced schema definitions
References beginning with #/components resolve to these definitions. These are field contracts, not example payment values. Use the applicable variant, required fields and constraints. { "securitySchemes": { "oauth": { "type": "oauth2", "flows": { "clientCredentials": { "tokenUrl": "/oauth/token", "scopes": { "*": "Full access", "packages:read": "Read packages information", "applications:read": "Read access to applications", "applications:write": "Write access to applications", "subscriptions:read": "Read access to subscriptions", "subscriptions:write": "Write access to subscriptions (subscribe/updated/delete)" } } } } }, "schemas": { "package-id": { "type": "string", "description": "The unique identifier of the package.", "pattern": "^pkg_[a-z0-9_]{3,16}$", "minLength": 7, "maxLength": 20, "example": "pkg_merrick_tsys" }, "pagination": { "type": "object", "summary": "Pagination information", "required": [ "current_page", "last_page", "per_page", "total" ], "properties": { "current_page": { "type": "integer", "description": "The current page number" }, "last_page": { "type": "integer", "description": "The last page number" }, "per_page": { "type": "integer", "enum": [ 10, 20, 50, 100 ], "description": "The number of items per page (allowed values: 10, 20, 50, 100)" }, "total": { "type": "integer", "description": "The total number of items" } } }, "application-status": { "type": "string", "enum": [ "draft", "submitted", "approved", "rejected", "underwriter_requested_information", "requested_information_sent", "boarded" ] }, "application-id": { "type": "string", "description": "The unique identifier of the application.", "pattern": "^app_[a-f0-9]{16}$", "minLength": 20, "maxLength": 20 }, "application-created-at": { "type": "string", "description": "The date and time when the application was created.\n", "format": "date-time", "maxLength": 32, "example": "2025-01-01T00:00:00Z" }, "application-updated-at": { "type": "string", "description": "The date and time when the application was last updated.\n", "format": "date-time", "maxLength": 32, "example": "2025-01-01T00:00:00Z" }, "event-types": { "type": "string", "enum": [ "application.updated.data.requested", "application.approved", "application.declined", "application.cancelled", "application.merchant.closed", "application.merchant.boarded", "merchant.chargeback.added", "merchant.deposit.new", "merchant.first-batch", "merchant.processing.start", "merchant.processing.stop", "merchant.residuals.published", "merchant.retrieval.added", "merchant.statement.new" ], "example": "application.merchant.boarded" } }, "responses": { "validation-error-page-size": { "description": "Bad request (validation error) response for invalid page size", "content": { "application/json": { "schema": { "type": "object", "properties": { "code": { "type": "string", "description": "Error code", "maxLength": 1000 }, "message": { "type": "string", "description": "Error message", "maxLength": 1000 }, "errors": { "type": "array", "maxItems": 1000, "items": { "type": "string", "description": "The error message", "maxLength": 1000 } } } }, "examples": { "standard": { "summary": "Invalid Page Size", "description": "This response is returned when the page size is invalid", "value": { "code": "VALIDATION_ERROR", "message": "The selected per page is invalid.", "errors": [ "The selected per page is invalid." ] } } } } } } } } true
Integration checks
Validate the request against its selected schema before submission. Keep secrets outside browser code. Test permitted and denied account access, validation failures and interrupted responses in the sandbox. Account-management or messaging operations require the corresponding partner access and intended recipient context.